為什麼我創建時的 /dev/md1 現在顯然稱為 /dev/md127 或 /dev/md127p1?
我最近安裝了一台新的 Debian 9(“stretch”)機器。
最初它有 2 個驅動器。我使用 Debian 安裝程序將它們配置為 RAID1,它給了我一個
/dev/md0
with/etc/mdadm/mdadm.conf:
包含
# definitions of existing MD arrays ARRAY /dev/md/0 metadata=1.2 UUID=3d21d0e0:2758c58e:962b5191:98e225c1 name=MYHOSTNAME:0
並
/proc/mdstat
顯示:md0 : active raid1 sda1[0] sdb1[1] 488253440 blocks super 1.2 [2/2] [UU] bitmap: 0/4 pages [0KB], 65536KB chunk
我格式化為
ext4
UUID 並安裝為 ‘/’ in 的那個設備/etc/fstab
。一切正常,正如預期的那樣。後來我添加了幾個更大的驅動器。對它們進行分區(每個第一個都有一個小的交換分區)並使用它們配置它們
mdadm -C -n 2 -l raid1 /dev/md1 /dev/sdc2 /dev/sdd2
(這絕對是我所做的,因為它仍然在我的 root 的 shell 歷史中,以及隨後的幾個mdadm --examine /dev/md1
andmdadm --detail --verbose /dev/md1
)。我還添加了一行
/etc/mdadm/mdadm.conf
(僅遵循初始設備的模式):ARRAY /dev/md/1 metadata=1.2 UUID=47492bd7:08d1fd1c:418dad41:2aa7d77f name=MYHOSTNAME:1
當然,我
ext4
格式化了設備並添加了一個 UUID 條目以/etc/fstab
將其安裝在我選擇的/data
安裝點。這一切似乎都執行良好,並且在多次重新啟動機器之後,我很高興地對新磁碟進行了大量的 rsync。
但是今天我碰巧看了 etc/mtab 和 /proc/mdstat,我注意到我的 /dev/md1 似乎已經消失並變成了 /dev/md127(在 /proc/mdstat 中)和/或 /dev/md127p1在 /etc/mtab 中:
/proc/mdstat:
顯示:
md127 : active raid1 sdc2[0] sdd2[1] 3904788480 blocks super 1.2 [2/2] [UU] bitmap: 2/30 pages [8KB], 65536KB chunk md0 : active raid1 sda1[0] sdb1[1] 488253440 blocks super 1.2 [2/2] [UU] bitmap: 0/4 pages [0KB], 65536KB chunk
和
/etc/mtab:
顯示:
/dev/md0 / ext4 rw,relatime,errors=remount-ro,data=ordered 0 0 /dev/md127p1 /data ext4 rw,relatime,errors=remount-ro,data=ordered 0 0
這一切似乎仍然執行良好,但到底發生了什麼?我之前(誠然很多年前)在其他幾台機器上以幾乎相同的方式配置 RAID1,並且 RAID 陣列最終被稱為
/dev/md0
and/dev/md1
. 這是從哪裡來的?和127
有什麼區別?有什麼方法可以將它們重命名為,或者這是我堅持的東西?/dev/md127``/dev/md127p1``/dev/md1
- 使用以下命令確保您處理的是正確的 UUID:
mdadm --detail /dev/md* | grep -e /dev/md -e UUID
- 編輯您的數組列表,如果不確定,您可以使用 nano:
nano /etc/mdadm/mdadm.conf
讓它包含你想要的數組的 UUID;或仔細檢查:
ARRAY /dev/md/0 metadata=1.2 name=MYHOSTNAME:0 UUID=3d21d0e0:2758c58e:962b5191:98e225c1 ARRAY /dev/md/1 metadata=1.2 name=MYHOSTNAME:1 UUID=47492bd7:08d1fd1c:418dad41:2aa7d77f
根據您的喜好命名您的陣列。 3. 使用以下命令確保安裝正確的文件系統:
blkid /dev/md*
以
/etc/fstab
這種方式包含這些:UUID=...
- 我懷疑,您可能錯過的最重要的一步是更新您的
initramfs
:update-initramfs -u
應該是這樣的。我自己在同一個系統上遇到了確切的問題。如果我錯過了一步或忘記了什麼,請發表評論,我將在明天早上編輯這個答案。
問答:
這個 127 是從哪裡來的?
由於您忘記更新
initramfs
,在引導期間系統不知道您的新陣列,預設情況下從末尾開始命名 (127)。
/dev/md127
和有什麼區別/dev/md127p1
?
/dev/md127
是數組的名稱/dev/md127p1
是陣列上分區的名稱OP的補充資訊:
如上所述,這
update-initramfs -u
確實似乎是至關重要的!但是,事實證明可以進行更多調整,我將在此處進行編輯,而不是在其他答案或評論中進行編輯:完成上述步驟後,我有了
/dev/md0
和/dev/md1p1
。奇怪的是,看著 /proc/partitions 我可以同時看到 a/dev/md1
和a/dev/md1p1
。一些Google搜尋讓我懷疑這與 /proc/mdstat.conf 中描述的預設行為有關:# by default (built-in), scan all partitions (/proc/partitions) and all # containers for MD superblocks. alternatively, specify devices to scan, using # wildcards if desired. #DEVICE partitions containers
並且確實添加了一個非註釋行
DEVICE partitions
意味著我剛剛
/dev/md0
和/dev/md1
下一次重新啟動之後。(查看一些帶有 mdadm raid 的舊 Debian 機器,我發現它們也都有明確的
DEVICE partitions
線路,而且我從來沒有故意使用或想要使用 mdadm 的“容器”概念)