Linux
Linux RAID 陣列在重新啟動後未組裝
我遇到了 RAID 問題。
我在 4 個驅動器上有一個 RAID6 陣列 -
/dev/sd[bcde]
. 工作正常。然後我添加了第 5 個成員 -/dev/sda
。工作正常。請注意:我在驅動器上沒有分區,只是使用“裸機”來創建 RAID。然後我意外重啟,RAID 卷根本沒有組裝。
我已經嘗試過通常的(
mdadm assemble
等),但驅動器根本沒有作為 RAID 成員出現。來自具有類似設置的朋友的範例:
$$ WORKING $$
cemil@nas ~ $ sudo blkid /dev/sda1: UUID="F6D2-282A" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="98d0708a-596c-4466-960a-05f75201c5ea" /dev/sda2: UUID="dcc0c278-a345-426a-b308-a939c2810c7f" TYPE="ext4" PARTUUID="5385706c-e22c-4730-8328-0e4f645a4d9a" /dev/sda3: UUID="5aa684cc-7c41-4bbf-819b-389649c02b59" TYPE="swap" PARTUUID="75c3d9d3-7786-4aed-8017-3e5d582c5c98" /dev/sdb: UUID="599ce008-859c-f8b6-ee29-e7e6c75e77c5" UUID_SUB="00177490-172b-32f9-773a-b87f4d87ee4c" LABEL="nas:1" TYPE="linux_raid_member" /dev/sdc: UUID="599ce008-859c-f8b6-ee29-e7e6c75e77c5" UUID_SUB="deff4c59-2590-b5d3-118d-ce1c60599794" LABEL="nas:1" TYPE="linux_raid_member" /dev/sdd: UUID="599ce008-859c-f8b6-ee29-e7e6c75e77c5" UUID_SUB="e540534b-cf80-37b0-c638-166a7fed7c28" LABEL="nas:1" TYPE="linux_raid_member" /dev/sde: UUID="599ce008-859c-f8b6-ee29-e7e6c75e77c5" UUID_SUB="f62c46ef-6909-84a0-b4c6-60d3250e669f" LABEL="nas:1" TYPE="linux_raid_member" /dev/md1: LABEL="data" UUID="dbc084a8-9e79-47a6-9b76-43652bb52727" TYPE="ext4" /dev/sdf: UUID="599ce008-859c-f8b6-ee29-e7e6c75e77c5" UUID_SUB="b2ad6574-9ca5-624f-7a28-30ac28c6c1ec" LABEL="nas:1" TYPE="linux_raid_member" /dev/sdg: UUID="599ce008-859c-f8b6-ee29-e7e6c75e77c5" UUID_SUB="36c33f7c-973c-4f58-2485-7fea7c894793" LABEL="nas:1" TYPE="linux_raid_member"
顯然他的分區是 TYPE=“linux_raid_member”
他的 gdisk -l 沒有給出分區。
cemil@nas ~ $ sudo gdisk -l /dev/sdg GPT fdisk (gdisk) version 1.0.1 Partition table scan: MBR: not present BSD: not present APM: not present GPT: not present Creating new GPT entries. Disk /dev/sdg: 7814037168 sectors, 3.6 TiB Logical sector size: 512 bytes Disk identifier (GUID): 73292DAF-ACFD-4705-B9E9-FD2A3EEDDD21 Partition table holds up to 128 entries First usable sector is 34, last usable sector is 7814037134 Partitions will be aligned on 2048-sector boundaries Total free space is 7814037101 sectors (3.6 TiB) Number Start (sector) End (sector) Size Code Name
$$ NOT WORKING $$
mamba proc # blkid /dev/nvme0n1p1: UUID="BB15-8E88" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="a8bbf31a-bebf-4ceb-91ad-f3b75a64c7b7" /dev/nvme0n1p2: UUID="8c0efdcc-817e-432f-871b-fa9420830e79" TYPE="ext4" PARTUUID="ed5c675a-5f82-4ce9-847e-f7dc31db2e6f" /dev/nvme0n1p3: UUID="cfbc85ae-da1a-46ed-8cca-6f548387ed14" TYPE="swap" PARTUUID="4055b238-b1e1-44fe-8bfe-90d3c93a712a" /dev/nvme0n1: PTUUID="0e306ff3-c7bd-4ac5-a47c-dead00f17738" PTTYPE="gpt" /dev/sda: PTUUID="4af97682-efc8-4743-8880-5324adfac329" PTTYPE="gpt" /dev/sdb: PTUUID="772aced1-d34d-43bf-aeab-388052e5e5b2" PTTYPE="gpt" /dev/sdc: PTUUID="8d9a8dc6-29af-4f90-84b1-f4b5e885f3f1" PTTYPE="gpt" /dev/sdd: PTUUID="c0fc34af-3bff-47b1-acbb-e9692e003aa4" PTTYPE="gpt" /dev/sde: PTUUID="848e2d60-94e3-450f-aba4-d35c30ed9561" PTTYPE="gpt"
請注意區別 -
/dev/sd[abcde]
都出現 asPTTTYPE=gpt
但不是 aslinux_raid_member
。mamba proc # gdisk -l /dev/sda GPT fdisk (gdisk) version 1.0.1 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Disk /dev/sda: 7814037168 sectors, 3.6 TiB Logical sector size: 512 bytes Disk identifier (GUID): 4AF97682-EFC8-4743-8880-5324ADFAC329 Partition table holds up to 128 entries First usable sector is 2048, last usable sector is 7814037134 Partitions will be aligned on 2048-sector boundaries Total free space is 7814035087 sectors (3.6 TiB) Number Start (sector) End (sector) Size Code Name
注意區別 - 我似乎有一個 GPT 和 MBR =“保護”。
關於如何將這些驅動器辨識為 RAID 成員的任何提示?作為記錄:
mamba proc # mdadm --assemble --force /dev/md0 /dev/sda /dev/sdb /dev/sdc /dev/sde mdadm: Cannot assemble mbr metadata on /dev/sda mdadm: /dev/sda has no superblock - assembly aborted mamba proc # mdadm -D /dev/sda mdadm: /dev/sda does not appear to be an md device mamba proc # mdadm -E /dev/sda /dev/sda: MBR Magic : aa55 Partition[0] : 4294967295 sectors at 1 (type ee)
這些似乎不太好。:-)
經過幾個小時的相同問題,我解決了它。
我推薦的是:
- 如果可能的話,把所有東西都移出突襲
- 如果陣列目前處於活動狀態,請執行 mdadm –stop /dev/md0
- 將這些磁碟清零: dd if=/dev/zero of=/dev/sd$$ abce $$bs=1M 計數=100
- 在 sda、sdb、sdc 和 sde 上創建跨越 99% 磁碟的分區$$ 0 $$
- 永遠不要用任何類型的文件系統格式化這些分區
- 使用 mdadm 創建一個新的 RAID –create your parameters here
- 更新 /etc/mdadm.conf
- 用 mkfs.ext4 /dev/md0 格式化你的數組
- 檢查 cat /proc/mdstat 的進度
您可以在恢復時重新啟動,只是為了測試它是否仍然存在。你不必等到它完成。它將從中斷的地方重新開始。
我不確定是什麼原因造成的,但是您不能直接在磁碟上創建 RAID 陣列,它需要位於分區之上。