----- Original Message -----
From: "Les Mikesell" lesmikesell@gmail.com To: "CentOS mailing list" centos@centos.org Sent: Thursday, September 29, 2011 2:16:16 PM Subject: Re: [CentOS] add on sata card relabeling drives, installation
On Thu, Sep 29, 2011 at 4:09 PM, David C. Miller millerdc@fusion.gat.com wrote:
This type of issue is why relying on /dev/sdX is bad. Mounting based on uuid or label when available is best. Unfortunately, there are controller cards that present all disks as the same uuid. It makes using mdadm that can only see /dev/sdX a pain to use.
So how do you propose getting a uuid or label on a disk in the first place if you can't identify which is which physically? And how do you know which to move when you want the content in some other box?
-- Les Mikesell lesmikesell@gmail.com
I just had to come up with a solution for this recently. Here is what I did.
I create a small 2 block partition on each disk and gave them labels that is the drives serial number when I format them as ext3/4. I dedicate the rest of the disk to Linux auto RAID. Something like this to create a label.
mkfs.ext3 -L $DRIVE_SN /dev/sd1
I then have a script that mounts the small partitions by label to a directory with the same name as the label.
mount LABEL=$DRIVE_SN /mnt/drive-check/$DRIVE_SN
So if you do a df it will show something like.
Filesystem Size Used Avail Use% Mounted on /dev/md0 71G 3.9G 63G 6% / tmpfs 12G 0 12G 0% /dev/shm /dev/sdc1 16M 1.2M 14M 8% /mnt/drive-check/WD-WMAY03208723 /dev/sdd1 16M 1.2M 14M 8% /mnt/drive-check/WD-WMAY03287844 /dev/sde1 16M 1.2M 14M 8% /mnt/drive-check/WD-WMAY03247298 /dev/sdf1 16M 1.2M 14M 8% /mnt/drive-check/WD-WMAY03247844 /dev/sdg1 16M 1.2M 14M 8% /mnt/drive-check/WD-WMAY03674888 /dev/sdh1 16M 1.2M 14M 8% /mnt/drive-check/WD-WMAY03678644 /dev/sdi1 16M 1.2M 14M 8% /mnt/drive-check/WD-WMAY03674814 /dev/sdj1 16M 1.2M 14M 8% /mnt/drive-check/WD-WMAY03675850 /dev/sdk1 16M 1.2M 14M 8% /mnt/drive-check/WD-WMAY03675194 /dev/sdl1 16M 1.2M 14M 8% /mnt/drive-check/WD-WMAY03288196 /dev/sdm1 16M 1.2M 14M 8% /mnt/drive-check/WD-WMAY03672314 /dev/sdn1 16M 1.2M 14M 8% /mnt/drive-check/WD-WMAY03287843 /dev/sdo1 16M 1.2M 14M 8% /mnt/drive-check/WD-WMAY03674460 /dev/sdp1 16M 1.2M 14M 8% /mnt/drive-check/WD-WMAY03585344 /dev/sdq1 16M 1.2M 14M 8% /mnt/drive-check/WD-WMAY03508896 /dev/sdr1 16M 1.2M 14M 8% /mnt/drive-check/WD-WMAY03209984
Now if I'm using mdadm to make a software RAID and it is complaining /dev/sdf2 is missing. I can run my script to mount all the small partitions and the one that complains it can't mount is easily identified by the serial number. Sure I can just let the hardware RAID card handle everything but I don't trust them from past experiences seeing failed cards and corrupted arrays. With the disks seen by linux as raw block devices I can put these disks on any JBOD controller and mount my raid using mdadm. I'm not tied to a particular controller if it fails.
David.