i have some trouble with my system. I have PowerEdge 8450, which i want to upgrade from SCSI to RAID PERC3/DC. On Microsoft based O/S, i didn't have any difficulty. Just install the driver, and clone (symantec ghost or acronis true image) to new RAID disk storage. Everything done well.
The problem is in Linux. ES 3 and Linux 7.2. I have simulate in Desktop PC. it work well when i clone the original disk to new RAID disk. But, when i trying to do that on PowerEdge 8450, i have message GRUB Read Error, Kernel Panic, and any other error message.
Can somebody help me? How to upgrade system from SCSI to RAID in PowerEdge 8450, without reinstall O/S??
There is a good chance that it has to due with your grub.conf configuation. What I would do is get both the SCSI and PERC installed and seeing file systems when booting from SCSI. Then copy the contents of your root volume from the SCSI file system to the RAID file system. Do the same for all other file systems that are on the SCSI device. Determine the new root volume device name, ie /dev/sdb2. Then add a grub.conf stanza entry to match that new device name and reboot. I would keep a copy of the old grub stanza just to ensure you have a bootable system.
Once your system boots, you can remove the old SCSI controller, and update your grub.conf kernel SCSI device again if needed.
I have tried the way you said, but didn't success. Do you think it is possibly because of something protection from the server such as ESCD(Extended System Configuration Data Area)?? Because when i tried to cloning the entire Linux system in another PC, i have no problem with it. All the problem appear when i cloning the system in DELL PowerEdge 8450.
Which one is better, Cloning Drive (Norton Ghost, Acronis True Image) or manual copy the content?
May let me tell you the procedure i have done, so you can get clearly :
1. Cloning the original disk to new drive, with the same capacity.(to make sure the original disk is safe. i don't want to take any risk). The clone success, but when i start the new drive that has cloned, the GRUB cannot appear. So i get the rescue disk to start the system and overwrite the GRUB loader. The system start normally.
FYI, i didn't find this kind of error when i simulate on another system (non-branded server).
2. Install MegaRAID PERC3/DC to the server. Linux can detect the driver automatically.
3. Make a RAID-1 drive from 2 new HDD, and the copy the Drive(on step 2) to the new RAID partition. I got message "GRUB READ ERROR". I also didn't find this error when i simulate on another server.
For this error, i also have rescue disk and edit grub.conf to start for RAID disk. But didn't success. Some times i got message "kernel panic"
I still believe the problem is with grub. Either by cloning or manually coping the data should result in successful migration to the RAID controller. The trick is the procedure of doing so.
If you can successfully boot the system using a rescue floppy disk and recognize the boot and root partitions, then you can probably bring up the system quickly.
I would first start by recreating the MBR using grub-install. This will remake the stage 1 and stage 2 boot loaders that Grub will use on the new disk.
I would then ensure that the kernel stanza has the correct root partition declared. If you are using a Label in grub, I would change it to reflect the actual SCSI device the root partition is on. i.e. /dev/sda2
Lastly I would double check the modules.conf to ensure the RAID controller module is listed as the first SCSI controller, and then remake the initrd.
1. I have three harddrive . The first harddrive is source disk and the second and the third as destination disk cause i want to upgrade my system to raid
I use AMI MEGARAID CARD. The old system use sym53c as scsi card. I want upgrade my server without reinstall linux so
I create mirror from bios megaraid card. and then I clone the source disk to megarid disk that have set as mirror disk .
My Old system use Redhat AS 3 with kernel 2.4.21-4.ELsmp
My machine Dell PowerEdge 8450
2. All hardisk have the same size .
3. After I clone I remove the source disk and try to boot from megaraid harddrive
4. The grub only appear sign " GRUB _"
5. So I try rewrite grub
6. first I reboot
7. And then input the cdrom disk I redhat installation
8. I type linux rescue noprobe and then enter
9. And then I give the disket driver for megaraid2
10. The console bash appear after cdrom recognize and found thE REDHAT installation partition.
11. I try rewrite grub three times
The first time
1. I type chroot /mnt/sysimage
2. I type grub-install --root-directory=/ '(hd0)'
3. reboot
The second time
1. I type chroot /mnt/sysimage
2. Edit /boot/grub/grub.conf
I unremark #boot=/dev/sda
I save
3. I type
grub --device-map=/boot/grub/device-map --config-file=/boot/grub/grub.conf --no-floppy
The third time
1. I boot from floopy disk bootloader that I have created before
2. I boot and chose the kernel load to the hardisk
3. After load into the system normally
4. I type grub
5. grub > device (hd0) /dev/sda
6. grub > root (hd0,0)
7. grub > install (hd0,0)/boot/grub/stage1 d (hd0) (hd0,0)/boot/grub/stage2 0x8000 p (hd0,0)/boot/grub/menu.lst
8. grub > quit
9. reboot
All of that get result "GRUB READ ERROR" when boot from hardisk after I tried three attempt above.
Please can you help me . How to solve it
Can you give the way to rewrite grub that could succeed solve it...
Right now I'm only seeing 1 hard disk in the system, and it looks like it is connected to the SCSI controller, which is SCSI Bus 1. The MegaRAID driver is configured so that it would be SCSI Bus 0, but I don't see any drives listed in /proc/scsi/scsi from the MegaRAID Controller.
To verify if the SCSI BIOS is enabled on the MegaRAID, monitor the POST of your server, and when the MegaRAID BIOS appears, the last thing it should report is the BIOS is Enabled.
You can also go into the RAID Controller itself and verify. Did you configure your container on the RAID controller?
may you tell me detail, how to ensure bios is enabled?
The result of :
fdisk -l
Disk /dev/sda: 73.4 GB, 73407820800 bytes
255 heads, 63 sectors/track, 8924 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 1323 10626966 83 Linux
/dev/sda2 1324 8669 59006745 83 Linux
/dev/sda3 8670 8924 2048287+ 82 Linux swap
/etc/modules.conf
alias eth0 e100
alias scsi_hostadapter megaraid2
alias scsi_hostadapter1 sym53c8xx
alias scsi_hostadapter2 qla2200
alias usb-controller usb-uhci
Do you see any problem with these? i'm very confused, i can't find any solution. As i try in another PC, i never have any problem. The problem only appear with PowerEdge server.
I'm so thanksfully for your kindness to help me solve the problem. Thanks.
i'm so sorry for this mistake. the last report i sent to you is from the original disk, not the megaraid.
I've make sure that RAID Bios is enabled. What do you mean by configure the container in RAID controller?
Here's the correct :
fdisk -l
Disk /dev/sda: 36.3 GB, 36364615680 bytes
255 heads, 63 sectors/track, 4421 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 637 5116671 83 Linux
/dev/sda2 638 4167 28354725 83 Linux
/dev/sda3 4168 4421 2040255 82 Linux swap
/etc/modules.conf
alias eth0 e100
alias scsi_hostadapter megaraid2
alias scsi_hostadapter1 sym53c8xx
alias scsi_hostadapter2 qla2200
alias usb-controller usb-uhci
I can loading GRUB using this drive in another PC, but it show "GRUB READ ERROR" when attached to PowerEdge server. Do you have any idea?
Btw, do you have any messeger like YM, MSN, or ICQ? May i reach you by messeger? And may i know the TimeZone of your location? Because i don't want to disturb you in the wrong time. Thanks a lot.
Very your grub.conf looks similar to this: Kernel versions may differ.
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/sda2
# initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title Red Hat Enterprise Linux AS (2.4.21-37.ELsmp)
root (hd0,0)
kernel /vmlinuz-2.4.21-37.ELsmp ro root=/dev/sda2
initrd /initrd-2.4.21-37.ELsmp.img
title Red Hat Enterprise Linux AS-up (2.4.21-37.EL)
root (hd0,0)
kernel /vmlinuz-2.4.21-37.EL ro root=/dev/sda2
initrd /initrd-2.4.21-37.EL.img
Then type
grub-install /dev/sda
It should respond back with something like:
Installation finished. No error reported.
This is the contents of the device map /boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.
# this device map was generated by anaconda
(fd0) /dev/fd0
(hd0) /dev/sda
i've always tried the way as u told me. But it really didn't works in PowerEdge8450. After reboot, system only displaying "GRUB READ ERROR".
Then i try another way, by removing GRUB from MBR, and then reinstall GRUB in SDA1 sector 0. And... it works. But then i wanna know, can you tell me the difference for the two way? Does it have any pros and cons to install GRUB in MBR or sector 0? Do you prefer in MBR or sector 0?
Other question, can you give me suggestion where to find the PERC3/DC driver for RedHat 7.2 kernel 2.4.7-10smp and FreeBSD 4.11? i need it for other PowerEdge 8450 server.
Eric BY
2 Intern
•
815 Posts
435
0
Posted December 28th, 2005 13:00
There is a good chance that it has to due with your grub.conf configuation. What I would do is get both the SCSI and PERC installed and seeing file systems when booting from SCSI. Then copy the contents of your root volume from the SCSI file system to the RAID file system. Do the same for all other file systems that are on the SCSI device. Determine the new root volume device name, ie /dev/sdb2. Then add a grub.conf stanza entry to match that new device name and reboot. I would keep a copy of the old grub stanza just to ensure you have a bootable system.
Once your system boots, you can remove the old SCSI controller, and update your grub.conf kernel SCSI device again if needed.