我正在運行 manjaro,我剛剛使用 mdadm 設定了一個額外的 RAID 0 並將其格式化為 ext4。我開始使用它,一切都很好。然而,在我重新啟動後,該陣列消失了。我認為它只是沒有自動重新組裝,但它似乎已經完全消失了:
sudo mdadm --assemble --force /dev/md0 /dev/nvme0 /dev/nvme1 /dev/nvme2
mdadm: cannot open device /dev/nvme0: Invalid argument
mdadm: /dev/nvme0 has no superblock - assembly aborted
cat /proc/mdstat
cat: /proc/mdstat: No such file or directory
cat /etc/mdstat/mdstat.conf
cat: /etc/mdstat/mdstat.conf: No such file or directory
sudo mdadm --assemble --scan --force
mdadm: No arrays found in config file or automatically
sudo mdadm --assemble --force /dev/md0 /dev/nvme0n1 /dev/nvme1n1 /dev/nvme2n1
mdadm: Cannot assemble mbr metadata on /dev/nvme0n1
mdadm: /dev/nvme0n1 has no superblock - assembly aborted
看來連那個陣列的配置都消失了?和超級街區?現在,我們假設驅動器在重新啟動期間不會隨機發生故障,儘管這並非不可能。當然,我沒有在該數組上儲存任何關鍵數據,但我必須了解哪裡出了問題。當然,恢復陣列會很棒,並且可以節省我幾個小時的設定時間。
一些額外信息
mdadm: Cannot assemble mbr metadata on /dev/nvme0n1"
據我所知,磁碟應該使用 GPT。我需要設定一些參數才能嘗試使用 GPT 嗎?
我發現在不格式化的情況下重新建立陣列將恢復對其上所有資料的存取:
sudo mdadm --create --verbose --level=0 --metadata=1.2 --raid-devices=3 /dev/md/hpa /dev/nvme0n1 /dev/nvme1n1 /dev/nvme2n1
但每次我重新啟動它都會再次消失,我必須重新創建它。
sudo mdadm --detail --scan
ARRAY /dev/md/hpa metadata=1.2 name=Mnemosyne:hpa UUID=02f959b6:f432e82a:108e8b0d:8df6f2bf
cat /proc/mdstat
Personalities : [raid0]
md127 : active raid0 nvme2n1[2] nvme1n1[1] nvme0n1[0]
1464763392 blocks super 1.2 512k chunks
unused devices: <none>
我還能嘗試什麼來分析這個問題?
答案1
基本上,對我有用的解決方案是使用單一 fd00 linux raid 分割區格式化我的 nvme 磁碟機,然後將其用於 RAID。
gdisk /dev/nvme[0-2]n1
指令 n,然後按 Enter 鍵,直到提示輸入十六進位代碼分割區類型。輸入fd00,按回車鍵。命令 w 並確認。對所有磁碟機重複此操作,然後像以前一樣繼續建立陣列,但這次使用您建立的區塊裝置分割區,例如:
mdadm --create --verbose --level=0 --metadata=1.2 --raid-devices=3 /dev/md/hpa /dev/nvme0n1p1 /dev/nvme1n1p1 /dev/nvme2n1p1