Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
HowTo: Transfer old software RAID1 to new disks
#1

Hi,

my goal is to substitute two mirrored IDE disks, 160GB each, for 2x 500GB SATA drives - keeping the /dev/md0 layout for rootfs (Suse 10.1) and the Data partition /dev/md1 will just have more space.

 

I'm failing in making the new drives bootable.

(see below, end of the post:

mdadm: no devices found for /dev/md0.)

 

Here's what I did:

 

 

Connect the new disks additionally (sda und sdb)

 

## 1st is to backup the drive partition tables:

 



Code:
mkdir /raidinfo sfdisk -d /dev/hda > /raidinfo/partitions.hda sfdisk -d /dev/hdb > /raidinfo/partitions.hdb # fdisk -l /dev/hda Disk /dev/hda: 160.0 GB, 160041885696 bytes 255 heads, 63 sectors/track, 19457 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hda1 1 131 1052226 82 Linux swap / Solaris /dev/hda2 * 132 4048 31463302+ fd Linux raid autodetect /dev/hda3 4049 19456 123764760 fd Linux raid autodetect #(hdb is identical to hda)




 

## With "fdisk":

- create sda1 and sdb1 (swap)

- create sda2 and sdb2 (for / type: fd)

- create sda3 and sdb3 (/fileshares type: fd)

- set active partitions sda2 und sdb2.

 



Code:
## fdisk -l /dev/sda Disk /dev/sda: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 1 131 1052226 82 Linux swap / Solaris /dev/sda2 * 132 4048 31463302+ fd Linux raid autodetect /dev/sda3 4049 60801 455868472+ fd Linux raid autodetect #(sdb is identical to sda)




 

## Create both new RAID:



Code:
mdadm --create /dev/md2 --level=1 --raid-devices=2 /dev/sda2 /dev/sdb2 mdadm --create /dev/md3 --level=1 --raid-devices=2 /dev/sda3 /dev/sdb3 watch cat /proc/mdstat ## Just to check progress. mkfs.reiserfs /dev/md2 ## Format can be started mkfs.reiserfs /dev/md3 ## during creation of array. mkdir /mnt/md2 mkdir /mnt/md3




 

mcedit /etc/fstab (add md2 + md3 lines)



Code:
/dev/md0 / reiserfs acl,user_xattr 1 1 /dev/md1 /fileshares reiserfs acl,user_xattr 1 1 /dev/md2 /mnt/md2 reiserfs acl,user_xattr 1 1 /dev/md3 /mnt/md3 reiserfs acl,user_xattr 1 1 /dev/hda1 swap swap defaults 0 0 /dev/hdb1 swap swap defaults 0 0




 

## Mount new Arrays:



Code:
mount /dev/md2 /mnt/md2 -o acl -o user_xattr mount /dev/md3 /mnt/md3 -o acl -o user_xattr




 

## rsync copies also ACLs:



Code:
rsync -v --recursive --times --perms --links --exclude "/mnt/" --exclude \ "/proc/" --exclude "/fileshares/" --exclude "/sys/" -a /* /mnt/md2/ cd /mnt/md2/ %% mkdir mnt %% mkdir proc %% mkdir fileshares %% mkdir sys




 

# Copy Data partition:



Code:
rsync -v --recursive --times --perms --links -a /fileshares/* /mnt/md3/




 

## Set new UUIDs in new mdadm.conf:



Code:
mdadm --detail --scan >> /mnt/md2/etc/mdadm.conf




 

## Install GRUB onto both new disks:



Code:
chroot /mnt/md2 grub device (hd0) /dev/sda root (hd0,1) ## 0,0 = swap, 0,1 = / incl /boot setup (hd0) device (hd1) /dev/sdb root (hd1,1) ## 1,0 = swap, 1,1 = / incl /boot setup (hd1) quit




 

mcedit /mnt/md2/etc/fstab



Code:
/dev/md0 / reiserfs acl,user_xattr 1 1 /dev/md1 /fileshares reiserfs acl,user_xattr 1 1 /dev/sda1 swap swap defaults 0 0 /dev/sdb1 swap swap defaults 0 0




 

mcedit /mnt/md2/boot/grub/device.map



Code:
(hd0) /dev/sda (hd1) /dev/sdb




 

mcedit /mnt/md2/boot/grub/menu.lst



Code:
###Don't change this comment - YaST2 identifier: Original name: linux### title SUSE Linux 10.1 root (hd0,1) kernel /boot/vmlinuz root=/dev/md0 vga=0x31a resume=/dev/sda1 splash=silent showopts initrd /boot/initrd




 

 

poweroff

 

Remove hda and hdb.

 

Boot from new hard disks:



Code:
... Loading raid1 md: personality registered for level 1 Loading reiserfs md: md0 stopped. mdadm: no devices found for /dev/md0. resume /dev/sda1 not founf (ignoring) md: md0 stopped. mdadm: no devices found for /dev/md0. md: md1 stopped. mdadm: no devices found for /dev/md1. Waiting for device /dev/md0 to appear: ok. rootfs: major=9 minor=0 devn=2304 /dev/md0: unknown volume type invalid root filesystem -- exiting to /bin/sh $_




 

Any suggestions will be appreciated!

 

One thing that might be the problem is that I swapped the SATA cables from sda and sdb by mistake:



Code:
# mdadm --detail /dev/md2 /dev/md2: Version : 00.90.03 Creation Time : Sat Oct 4 02:38:41 2008 Raid Level : raid1 Array Size : 31463232 (30.01 GiB 32.22 GB) Device Size : 31463232 (30.01 GiB 32.22 GB) Raid Devices : 2 Total Devices : 2 Preferred Minor : 2 Persistence : Superblock is persistent Update Time : Sun Oct 12 21:24:25 2008 State : clean Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 UUID : ba1944d9:4539b5bb:0fa8b8d3:3798154c Events : 0.1722 Number Major Minor RaidDevice State 0 8 18 0 active sync /dev/sdb2 1 8 2 1 active sync /dev/sda2




 

If that's the whole problem, how can I fix it now that the users are already writing stuff on /dev/md3 (mounted on: /fileshares)?

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)