Linux

Linux RAID 陣列在重新啟動後未組裝

  • February 21, 2017

我遇到了 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但不是 as linux_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)

這些似乎不太好。:-)

經過幾個小時的相同問題,我解決了它。

我推薦的是:

  1. 如果可能的話,把所有東西都移出突襲
  2. 如果陣列目前處於活動狀態,請執行 mdadm –stop /dev/md0
  3. 將這些磁碟清零: dd if=/dev/zero of=/dev/sd$$ abce $$bs=1M 計數=100
  4. 在 sda、sdb、sdc 和 sde 上創建跨越 99% 磁碟的分區$$ 0 $$
  5. 永遠不要用任何類型的文件系統格式化這些分區
  6. 使用 mdadm 創建一個新的 RAID –create your parameters here
  7. 更新 /etc/mdadm.conf
  8. 用 mkfs.ext4 /dev/md0 格式化你的數組
  9. 檢查 cat /proc/mdstat 的進度

您可以在恢復時重新啟動,只是為了測試它是否仍然存在。你不必等到它完成。它將從中斷的地方重新開始。

我不確定是什麼原因造成的,但是您不能直接在磁碟上創建 RAID 陣列,它需要位於分區之上。

引用自:https://unix.stackexchange.com/questions/319520