自動掛載 MDADM 創建的 RAID 陣列和創建 RAID 設備的問題
我正在編寫一個腳本,該腳本會自動檢測已添加的新驅動器,以便將它們格式化並轉換為 RAID-5 陣列。我已經能夠檢測到驅動器並輕鬆格式化它們,但是在創建(以及後來破壞)RAID 設備時遇到了問題。
一旦檢測到並格式化,我將檢測到的驅動器傳遞給以下命令,如下所示:
mdadm --create ${RAID_DEVICE} --level=5 --raid-devices=${COUNT} ${DEVICES} mkfs.ext4 ${RAID_DEVICE} mdadm --detail --scan >> /etc/mdadm.conf UUID=$(cat /etc/mdadm.conf | grep ${RAID_DEVICE} | awk '{print $6}') UUID=$(echo ${UUID:5}) echo "UUID=${UUID} ${MOUNT_LOCATION} ext4 defaults 0 0" >> /etc/fstab mount -a
現在,出於測試目的,因為我目前還沒有將用於該項目的 SATA 驅動器,所以我已將其設置為專門檢測 USB 設備,並且正在使用 3 個 USB 設備。該腳本從 mdadm.conf 中正確辨識設備的 UUID,但從
mount -a
腳本執行時,它表示 UUID 未被辨識為設備。${RAID_DEVICE}
但是,當我用, 通常替換 UUID 時/dev/md0
,它可以正確安裝設備。此外,安裝腳本(在多次測試腳本並手動解構和解除安裝 RAID 設備後)表示 USB 設備已經是 RAID 設備的一部分。我通過執行以下命令手動嘗試在測試之間撤消設備:
umount ${MOUNT_LOCATION} mdadm ${RAID_DEVICE} --fail ${DEVICES} mdadm ${RAID_DEVICE} --remove ${DEVICES} mdadm --stop ${RAID_DEVICE} mdadm --zero-superblock ${DEVICES}
但是,在重新創建 RAID 設備時,似乎仍將這些設備視為 md0 RAID 設備的一部分。我錯過了一步嗎?
--remove
在停止它後嘗試呼叫/dev/md0
會導致它說沒有這樣的目錄。那麼為什麼 UUID 不能作為 RAID 設備的標識符正常工作呢?為什麼之後我似乎無法從驅動器中正確刪除 RAID 資訊?這與它們是 USB 設備有什麼關係嗎?
我感謝任何有關正確使用該
mdadm
工具的指導。
您要放入 fstab 的 UUID 不是陣列的 UUID,而是您在陣列上創建的文件系統的 UUID。您可以使用該
blkid
實用程序來查找其值。如果您有與我相同的 udev 規則,您可能會發現有一個條目/dev/disk/by-id
可以通過使用數組的 uuid 來間接實現,例如:$ sudo blkid /dev/disk/by-id/md-uuid-${UUID} /dev/disk/by-id/md-uuid-c6a65df0:6df343e6:bd3d6cfc:1349c37c: UUID="901e8907-8f74-4300-8410-654a9410b236" TYPE="xfs"
否則,您可以執行
blkid ${RAID_DEVICE}
.