它有45个3TB驱动器,当我第一次设置时,它们通过/ dev / sdz标记为/ dev / sda,通过/ dev / sdas标记为/ dev / sdaa.
我使用mdadm来设置三个非常大的15驱动器RAID6阵列.
但是,自从几周前首次安装以来,我有几个硬盘驱动器失败了.我已经更换了它们,但现在阵列正在抱怨,因为它们找不到丢失的驱动器.当我列出磁盘时……
ls -l /dev/sd*
我看到
/dev/sda /dev/sdf /dev/sdk /dev/sdp
不再出现,现在有4个新的……
/dev/sdau /dev/sdav /dev/sdaw /dev/sdax
我也发现我能做到这一点……
ls -l /dev/disk/by-path/ total 0 lrwxrwxrwx 1 root root 10 Sep 19 18:08 pci-0000:02:04.0-scsi-0:0:0:0 -> ../../sdau lrwxrwxrwx 1 root root 9 Sep 19 18:08 pci-0000:02:04.0-scsi-0:1:0:0 -> ../../sdb lrwxrwxrwx 1 root root 9 Sep 19 18:08 pci-0000:02:04.0-scsi-0:2:0:0 -> ../../sdc lrwxrwxrwx 1 root root 9 Sep 19 18:08 pci-0000:02:04.0-scsi-0:3:0:0 -> ../../sdd lrwxrwxrwx 1 root root 9 Sep 19 18:08 pci-0000:02:04.0-scsi-0:4:0:0 -> ../../sde lrwxrwxrwx 1 root root 10 Sep 19 18:08 pci-0000:02:04.0-scsi-2:0:0:0 -> ../../sdae lrwxrwxrwx 1 root root 9 Sep 19 18:08 pci-0000:02:04.0-scsi-2:1:0:0 -> ../../sdg lrwxrwxrwx 1 root root 9 Sep 19 18:08 pci-0000:02:04.0-scsi-2:2:0:0 -> ../../sdh lrwxrwxrwx 1 root root 9 Sep 19 18:08 pci-0000:02:04.0-scsi-2:3:0:0 -> ../../sdi lrwxrwxrwx 1 root root 9 Sep 19 18:08 pci-0000:02:04.0-scsi-2:4:0:0 -> ../../sdj lrwxrwxrwx 1 root root 10 Sep 19 18:08 pci-0000:02:04.0-scsi-3:0:0:0 -> ../../sdav lrwxrwxrwx 1 root root 9 Sep 19 18:08 pci-0000:02:04.0-scsi-3:1:0:0 -> ../../sdl lrwxrwxrwx 1 root root 9 Sep 19 18:08 pci-0000:02:04.0-scsi-3:2:0:0 -> ../../sdm lrwxrwxrwx 1 root root 9 Sep 19 18:08 pci-0000:02:04.0-scsi-3:3:0:0 -> ../../sdn lrwxrwxrwx 1 root root 9 Sep 19 18:08 pci-0000:02:04.0-scsi-3:4:0:0 -> ../../sdo lrwxrwxrwx 1 root root 10 Sep 19 18:08 pci-0000:04:04.0-scsi-0:0:0:0 -> ../../sdax lrwxrwxrwx 1 root root 9 Sep 19 18:08 pci-0000:04:04.0-scsi-0:1:0:0 -> ../../sdq lrwxrwxrwx 1 root root 9 Sep 19 18:08 pci-0000:04:04.0-scsi-0:2:0:0 -> ../../sdr lrwxrwxrwx 1 root root 9 Sep 19 18:08 pci-0000:04:04.0-scsi-0:3:0:0 -> ../../sds lrwxrwxrwx 1 root root 9 Sep 19 18:08 pci-0000:04:04.0-scsi-0:4:0:0 -> ../../sdt lrwxrwxrwx 1 root root 9 Sep 19 18:08 pci-0000:04:04.0-scsi-2:0:0:0 -> ../../sdu lrwxrwxrwx 1 root root 9 Sep 19 18:08 pci-0000:04:04.0-scsi-2:1:0:0 -> ../../sdv lrwxrwxrwx 1 root root 9 Sep 19 18:08 pci-0000:04:04.0-scsi-2:2:0:0 -> ../../sdw lrwxrwxrwx 1 root root 9 Sep 19 18:08 pci-0000:04:04.0-scsi-2:3:0:0 -> ../../sdx lrwxrwxrwx 1 root root 9 Sep 19 18:08 pci-0000:04:04.0-scsi-2:4:0:0 -> ../../sdy lrwxrwxrwx 1 root root 9 Sep 19 18:08 pci-0000:04:04.0-scsi-3:0:0:0 -> ../../sdz
我没有列出所有….你可以看到上面的问题.它们按scsi id排序,但是sda丢失了……取而代之的是sdau ……等等……
很明显阵列在抱怨.是否有可能让Linux以正确的顺序重新读取驱动器标签或者我搞砸了?
我最初设计的15个驱动器阵列并不理想.使用3TB驱动器,重建时间需要3或4天……或许更多.我正在废弃整个设计,我想我将使用6 x 7 RAID5磁盘阵列和3个热备件来使阵列更容易管理并缩短重建时间.但我想清理驱动器标签,以免它们出现故障.我还没弄明白怎么做.
有谁知道如何理顺这一点?
谢谢,
马特
解决方法
我不确定这是最好的解决方案,我仍然对其他答案感兴趣,但这就是我所做的.
我无法弄清楚如何根据SCSI路径强制它映射(例如pci-0000:02:04.0-scsi-0:0:0:0).所以我改为基于UUID进行映射,UUID是驱动器型号和序列号.我只需要记住,当我交换驱动器时,我必须更新UDEV条目.
寻找UUID
使用以下命令中的条目来标识当前驱动器名称,它们映射到的SCSI PATH以及它们的UUID.
# ls -l /dev/disk/by-path # /lib/udev/scsi-id -gu /dev/sdX
创建了UDEV条目
我将这样的条目放入一个名为/etc/udev/rules.d/59-persistent-disk.rules的新文件中.有三排三个背板,所以我做了这样的事情.
# ROW 1 BACKPLANE 1 KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/lib/udev/scsi_id --whitelisted --replace-whitespace /dev/$name",RESULT=="1ATA_WDC_WD30EFRX-68AX9N0_WD-WMC1T0076306",SYMLINK+="pci24scsi00" KERNEL=="sd*",RESULT=="1ATA_WDC_WD30EFRX-68AX9N0_WD-WMC1T0073437",SYMLINK+="pci24scsi01" KERNEL=="sd*",RESULT=="1ATA_WDC_WD30EFRX-68AX9N0_WD-WMC1T0073085",SYMLINK+="pci24scsi02" KERNEL=="sd*",RESULT=="1ATA_WDC_WD30EFRX-68AX9N0_WD-WMC1T0072374",SYMLINK+="pci24scsi03" KERNEL=="sd*",RESULT=="1ATA_WDC_WD30EFRX-68AX9N0_WD-WMC1T0071564",SYMLINK+="pci24scsi04" # ROW 1 BACKPLANE 2 KERNEL=="sd*",RESULT=="1ATA_WDC_WD30EFRX-68AX9N0_WD-WMC1T0077571",SYMLINK+="pci24scsi20" KERNEL=="sd*",RESULT=="1ATA_WDC_WD30EFRX-68AX9N0_WD-WMC1T0077346",SYMLINK+="pci24scsi21" KERNEL=="sd*",RESULT=="1ATA_WDC_WD30EFRX-68AX9N0_WD-WMC1T0074773",SYMLINK+="pci24scsi22" KERNEL=="sd*",RESULT=="1ATA_WDC_WD30EFRX-68AX9N0_WD-WMC1T0071238",SYMLINK+="pci24scsi23" KERNEL=="sd*",RESULT=="1ATA_WDC_WD30EFRX-68AX9N0_WD-WMC1T0076264",SYMLINK+="pci24scsi24" .......etc
创建数组
现在我有持久的设备名称,我创建了五个9驱动器阵列(带有一个备用的RAID5),如下所示.我在每个阵列中使用了每个背板1个驱动器,因此我可能会丢失整个背板(甚至两个),并且阵列将保持运行.这样做可能会影响性能,但我购买了这个用于归档和异地备份,因此性能不是主要考虑因素.
mdadm --create --verbose /dev/md0 --level=5 --raid-devices=8 --spare-devices=1 /dev/pci24scsi00 /dev/pci24scsi20 /dev/pci24scsi30 /dev/pci44scsi00 /dev/pci44scsi20 /dev/pci44scsi30 /dev/pci64scsi00 /dev/pci64scsi20 /dev/pci64scsi30 mdadm --create --verbose /dev/md1 --level=5 --raid-devices=8 --spare-devices=1 /dev/pci24scsi01 /dev/pci24scsi21 /dev/pci24scsi31 /dev/pci44scsi01 /dev/pci44scsi21 /dev/pci44scsi31 /dev/pci64scsi01 /dev/pci64scsi21 /dev/pci64scsi31 mdadm --create --verbose /dev/md2 --level=5 --raid-devices=8 --spare-devices=1 /dev/pci24scsi02 /dev/pci24scsi22 /dev/pci24scsi32 /dev/pci44scsi02 /dev/pci44scsi22 /dev/pci44scsi32 /dev/pci64scsi02 /dev/pci64scsi22 /dev/pci64scsi32 mdadm --create --verbose /dev/md3 --level=5 --raid-devices=8 --spare-devices=1 /dev/pci24scsi03 /dev/pci24scsi23 /dev/pci24scsi33 /dev/pci44scsi03 /dev/pci44scsi23 /dev/pci44scsi33 /dev/pci64scsi03 /dev/pci64scsi23 /dev/pci64scsi33 mdadm --create --verbose /dev/md4 --level=5 --raid-devices=8 --spare-devices=1 /dev/pci24scsi04 /dev/pci24scsi24 /dev/pci24scsi34 /dev/pci44scsi04 /dev/pci44scsi24 /dev/pci44scsi34 /dev/pci64scsi04 /dev/pci64scsi24 /dev/pci64scsi34
使用LVM创建VG和LV
这些是我创建卷的LVM步骤,因此可以远程安装iSCSI.
pvcreate将
pvcreate /dev/md0 pvcreate /dev/md1 pvcreate /dev/md2 pvcreate /dev/md3 pvcreate /dev/md4
运行vgcreate
vgcreate VgArr0 /dev/md0 vgcreate VgArr1 /dev/md1 vgcreate VgArr2 /dev/md2 vgcreate VgArr3 /dev/md3 vgcreate VgArr4 /dev/md4 vgcreate VgArr5 /dev/md5
LVCREATE用于iSCSI
创建LV但不格式化或装载卷.它们被远程格式化/安装
lvcreate -L100%FREE VgArr0 -n LvISCSI0
iSCSI的
编辑/etc/iet/ietd.conf和/etc/iet/initiators.conf
在另一台主机上远程映射iSCSI LUN