Linux > Software >
The Chain of Trust >
Linux software raid.
Deprecated. As I understand, mdadm is what's used these days.
--
- 2006-09-03 - (version not recorded) on PCLinuxOS .92
-
I had experimented with it previously.
2006-09-03 - (version not recorded) ∞
So I got raidtools
working again. It gave me flashbacks from my experimentation with it back in its alpha days, when I was using Slackware.
As it turns out, my backup script is adaptable to these drives, except that it's not smart enough to fsck the source drives.
With PCLinuxOS .92, I installed this with:
\apt-get install raidtools
Creating a RAID-1 array (mirroring):
First, set up /dev/raidtab
like so:
raiddev /dev/md0 raid-level 0 nr-raid-disks 2 persistent-superblock 1 chunk-size 4 device /dev/sdc1 raid-disk 0 device /dev/sdd1 raid-disk 1
Then run mdadm
:
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdc1 /dev/sdd1
raidstop /dev/md0 raidstart /dev/md0 mkdir mnt # Creating a file on the array: mount /dev/md0 mnt echo test>mnt/test_file umount mnt raidstop /dev/md0 # Proof that the file exists on the first drive: mount /dev/sdc1 mnt ls mnt umount mnt # Proof that the file was also mirrored over to the other drive: mount /dev/sdd1 mnt ls mnt umount mnt # Cleaning up raidstart /dev/md0 mount /dev/md0 mnt rm -f mnt/test_file umount mnt raidstop /dev/md0
My setup ∞
raidtab ∞
/dev/raidtab
raiddev /dev/md1 raid-level 0 nr-raid-disks 2 persistent-superblock 1 chunk-size 4 device /dev/sdc1 raid-disk 0 device /dev/sdd1 raid-disk 1 raiddev /dev/md2 raid-level 0 nr-raid-disks 2 persistent-superblock 1 chunk-size 4 device /dev/sdc2 raid-disk 0 device /dev/sdd2 raid-disk 1 raiddev /dev/md3 raid-level 0 nr-raid-disks 2 persistent-superblock 1 chunk-size 4 device /dev/sdc3 raid-disk 0 device /dev/sdd3 raid-disk 1 raiddev /dev/md5 raid-level 0 nr-raid-disks 2 persistent-superblock 1 chunk-size 4 device /dev/sdc5 raid-disk 0 device /dev/sdd5 raid-disk 1 raiddev /dev/md6 raid-level 0 nr-raid-disks 2 persistent-superblock 1 chunk-size 4 device /dev/sdc6 raid-disk 0 device /dev/sdd6 raid-disk 1 raiddev /dev/md7 raid-level 0 nr-raid-disks 2 persistent-superblock 1 chunk-size 4 device /dev/sdc7 raid-disk 0 device /dev/sdd7 raid-disk 1 raiddev /dev/md8 raid-level 0 nr-raid-disks 2 persistent-superblock 1 chunk-size 4 device /dev/sdc8 raid-disk 0 device /dev/sdd8 raid-disk 1 raiddev /dev/md9 raid-level 0 nr-raid-disks 2 persistent-superblock 1 chunk-size 4 device /dev/sdc9 raid-disk 0 device /dev/sdd9 raid-disk 1
fstab ∞
(fstab)
fstab with raidtools ∞
This includes settings for raidtools.
# This file is edited by fstab-sync - see 'man fstab-sync' for details ## Livecd-install Automatically added by livecd-install none /proc proc defaults 0 0 none /dev/pts devpts mode=0620 0 0 none /proc/bus/usb usbfs defaults 0 0 # /dev/hda1, size=16002, type=130: Linux swap (primary) #/dev/hda1 swap swap defaults 0 0 # /dev/hda2, size=1959930, type=130: Linux swap (primary) #/dev/hda2 swap swap defaults 0 0 # could be: #/dev/hda2 swap swap sw 0 0 # /dev/hda3, size=19535040, type=131: Journalised FS: ext3 (primary) #/dev/hda3 / ext3 defaults 0 0 /dev/hda3 / ext3 errors=remount-ro,noatime 0 1 # /dev/hda5, size=19534977, type=131: Journalised FS: ext3 (extended) #/dev/hda5 /home ext3 defaults 0 2 #/dev/hda5 /home ext3 rw,suid,dev,exec,auto,nouser,async,noatime 0 2 # /dev/hda6, size=3903732, type=131: Journalised FS: ext3 (extended) #/dev/hda6 /var ext3 defaults 0 2 /dev/hda6 /var ext3 nosuid,noexec,noatime 0 2 # /dev/hda7, size=3903732, type=131: Journalised FS: ext3 (extended) #/dev/hda7 /tmp ext3 defaults 0 3 /dev/hda7 /tmp ext3 rw,suid,dev,exec,auto,nouser,async,noatime 0 3 # /dev/hda8, size=439538337, type=131: Journalised FS: ext3 (extended) #/dev/hda8 /mnt/hda8 ext3 user,exec,rw,noauto 0 5 /dev/hda8 /mnt/hda8 ext3 rw,suid,dev,exec,auto,nouser,async,noatime 0 5 # /dev/hdb1, size=16002, type=130: Linux swap (primary) /dev/hdb1 swap swap defaults 0 0 /dev/md1 swap swap defaults 0 0 # /dev/hdb2, size=1959930, type=130: Linux swap (primary) /dev/hdb2 swap swap defaults 0 0 /dev/md2 swap swap defaults 0 0 # /dev/hdb3, size=19535040, type=131: Journalised FS: ext3 (primary) /dev/hdb3 /mnt/hdb3 ext3 user,exec,rw,noauto 0 0 /dev/md3 /mnt/md3 ext3 user,exec,rw,noauto 0 0 # /dev/hdb5, size=19534977, type=131: Journalised FS: ext3 (extended) /dev/hdb5 /mnt/hdb5 ext3 user,exec,rw,noauto 0 0 /dev/md5 /mnt/md5 ext3 user,exec,rw,noauto 0 0 # /dev/hdb6, size=3903732, type=131: Journalised FS: ext3 (extended) /dev/hdb6 /mnt/hdb6 ext3 user,exec,rw,noauto 0 0 /dev/md6 /mnt/md6 ext3 user,exec,rw,noauto 0 0 # /dev/hdb7, size=3903732, type=131: Journalised FS: ext3 (extended) /dev/hdb7 /mnt/hdb7 ext3 user,exec,rw,noauto 0 0 /dev/md7 /mnt/md7 ext3 user,exec,rw,noauto 0 0 # /dev/hdb8, size=439538337, type=131: Journalised FS: ext3 (extended) /dev/hdb8 /mnt/hdb8 ext3 user,exec,rw,noauto 0 0 /dev/md8 /mnt/md8 ext3 user,exec,rw,noauto 0 0 /dev/md9 /mnt/md9 ext3 user,exec,rw,noauto 0 0 # cdrom: LITE-ON LTR-52246S /dev/hdc /mnt/cdrom auto user,exec,ro,noauto,iocharset=iso8859-1,codepage=850,umask=0 0 0 # cdrom: HL-DT-STDVD-ROM GDR8163B /dev/hdd /mnt/cdrom2 auto user,exec,ro,noauto,iocharset=iso8859-1,codepage=850,umask=0 0 0
/dev/fstab
mknod /dev/md1 b 9 1 mknod /dev/md2 b 9 2 mknod /dev/md3 b 9 3 mknod /dev/md5 b 9 5 mknod /dev/md6 b 9 6 mknod /dev/md7 b 9 7 mknod /dev/md8 b 9 8 mknod /dev/md9 b 9 9 mkraid /dev/md1 mkraid /dev/md2 mkraid /dev/md3 mkraid /dev/md5 mkraid /dev/md6 mkraid /dev/md7 mkraid /dev/md8 mkraid /dev/md9 reboot
mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdc1 /dev/sdd1 mdadm --create /dev/md2 --level=1 --raid-devices=2 /dev/sdc2 /dev/sdd2 mdadm --create /dev/md3 --level=1 --raid-devices=2 /dev/sdc3 /dev/sdd3 mdadm --create /dev/md5 --level=1 --raid-devices=2 /dev/sdc5 /dev/sdd5 mdadm --create /dev/md6 --level=1 --raid-devices=2 /dev/sdc6 /dev/sdd6 mdadm --create /dev/md7 --level=1 --raid-devices=2 /dev/sdc7 /dev/sdd7 mdadm --create /dev/md8 --level=1 --raid-devices=2 /dev/sdc8 /dev/sdd8 mdadm --create /dev/md9 --level=1 --raid-devices=2 /dev/sdc9 /dev/sdd9
fstab without raidtools ∞
here for reference
# This file is edited by fstab-sync - see 'man fstab-sync' for details ## Livecd-install Automatically added by livecd-install none /proc proc defaults 0 0 none /dev/pts devpts mode=0620 0 0 none /proc/bus/usb usbfs defaults 0 0 # /dev/hda1, size=16002, type=130: Linux swap (primary) #/dev/hda1 swap swap defaults 0 0 # /dev/hda2, size=1959930, type=130: Linux swap (primary) #/dev/hda2 swap swap defaults 0 0 # could be: #/dev/hda2 swap swap sw 0 0 # /dev/hda3, size=19535040, type=131: Journalised FS: ext3 (primary) #/dev/hda3 / ext3 defaults 0 0 /dev/hda3 / ext3 errors=remount-ro,noatime 0 1 # /dev/hda5, size=19534977, type=131: Journalised FS: ext3 (extended) #/dev/hda5 /home ext3 defaults 0 2 /dev/hda5 /home ext3 rw,suid,dev,exec,auto,nouser,async,noatime 0 2 # /dev/hda6, size=3903732, type=131: Journalised FS: ext3 (extended) #/dev/hda6 /var ext3 defaults 0 2 /dev/hda6 /var ext3 nosuid,noexec,noatime 0 2 # /dev/hda7, size=3903732, type=131: Journalised FS: ext3 (extended) #/dev/hda7 /tmp ext3 defaults 0 3 /dev/hda7 /tmp ext3 rw,suid,dev,exec,auto,nouser,async,noatime 0 3 # /dev/hda8, size=439538337, type=131: Journalised FS: ext3 (extended) #/dev/hda8 /mnt/hda8 ext3 user,exec,rw,noauto 0 5 /dev/hda8 /mnt/hda8 ext3 rw,suid,dev,exec,auto,nouser,async,noatime 0 5 # /dev/hdb1, size=16002, type=130: Linux swap (primary) /dev/hdb1 swap swap defaults 0 0 # /dev/hdb2, size=1959930, type=130: Linux swap (primary) /dev/hdb2 swap swap defaults 0 0 # /dev/hdb3, size=19535040, type=131: Journalised FS: ext3 (primary) /dev/hdb3 /mnt/hdb3 ext3 user,exec,rw,noauto 0 0 # /dev/hdb5, size=19534977, type=131: Journalised FS: ext3 (extended) /dev/hdb5 /mnt/hdb5 ext3 user,exec,rw,noauto 0 0 # /dev/hdb6, size=3903732, type=131: Journalised FS: ext3 (extended) /dev/hdb6 /mnt/hdb6 ext3 user,exec,rw,noauto 0 0 # /dev/hdb7, size=3903732, type=131: Journalised FS: ext3 (extended) /dev/hdb7 /mnt/hdb7 ext3 user,exec,rw,noauto 0 0 # /dev/hdb8, size=439538337, type=131: Journalised FS: ext3 (extended) /dev/hdb8 /mnt/hdb8 ext3 user,exec,rw,noauto 0 0 # cdrom: LITE-ON LTR-52246S /dev/hdc /mnt/cdrom auto user,exec,ro,noauto,iocharset=iso8859-1,codepage=850,umask=0 0 0 # cdrom: HL-DT-STDVD-ROM GDR8163B /dev/hdd /mnt/cdrom2 auto user,exec,ro,noauto,iocharset=iso8859-1,codepage=850,umask=0 0 0
raidtools troubleshooting ∞
mdadm: SET_ARRAY_INFO failed for /dev/md0: Invalid argument
∞
Example:
mdadm --create /dev/md2 --level=1 --raid-devices=2 /dev/sdc2 /dev/sdd2
mdadm: /dev/sdc2 appears to be part of a raid array: level=1 devices=2 ctime=Sun Sep 3 20:24:44 2006 mdadm: /dev/sdd2 appears to be part of a raid array: level=1 devices=2 ctime=Sun Sep 3 20:24:44 2006 Continue creating array? y mdadm: SET_ARRAY_INFO failed for /dev/md2: Invalid argument
Solutions:
- You've probably already run this command.
-
Maybe you just ran
mknod
and you still need toreboot
.
/dev/md0: Invalid argument
∞
Example:
raidstart --all
/dev/md0: Invalid argument
Solution:
Something which participates in /dev/md0
might already be mounted in the traditional way. Unmount the device and then you can raidstart the md device.
fsck gives: Either the superblock or the partition table is likely to be corrupt!
∞
fsck /dev/md0
fsck 1.39 (29-May-2006) e2fsck 1.39 (29-May-2006) The filesystem size (according to the superblock) is 17101184 blocks The physical size of the device is 17101168 blocks Either the superblock or the partition table is likely to be corrupt! Abort<y>?
Don't fsck
an md
device. Use it on the original source drives which combine into the md
device.
Last updated 2020-05-28 at 19:04:34
added notes for stab without raidtools