我該如何讀取這個raid資訊輸出?

我該如何讀取這個raid資訊輸出?

我目前正在遠端 ubuntu 18.04 伺服器上工作,我需要設定一個新的 raid 陣列 (raid1),然後將其作為可用分割區安裝到活動檔案系統。對我來說,第一步是了解目前正在發生的事情。我知道活動系統中有 2 個硬碟連接在 raid 1 陣列中。我使用該lsblk命令來收集一些資訊。輸出如下:

NAME        MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
nvme0n1     259:0    0 894,3G  0 disk  
├─nvme0n1p1 259:1    0     4G  0 part  
│ └─md0       9:0    0     4G  0 raid1 [SWAP]
├─nvme0n1p2 259:2    0   512M  0 part  
│ └─md1       9:1    0 511,4M  0 raid1 /boot
└─nvme0n1p3 259:3    0 889,8G  0 part  
  └─md2       9:2    0 889,6G  0 raid1 /

那麼這是否意味著我的實體設備就是所謂的設備nvme0n1?它被分為 3 個部分(交換區、引導區和 /)。如果它是同一個實體設備(nvme0n1),為什麼分區(nvme0n1p1,nvme0n1p2,nvme0n1p3)還被分成md0,md1,md2nvme0n1p1和 和有什麼差別md0

如果我cat /proc/mdstat進一步得到以下輸出:

md2 : active raid1 nvme0n1p3[1]
      932840768 blocks super 1.2 [2/1] [_U]
      bitmap: 7/7 pages [28KB], 65536KB chunk

md1 : active raid1 nvme0n1p2[1]
      523712 blocks super 1.2 [2/1] [_U]
      
md0 : active raid1 nvme0n1p1[1]
      4190208 blocks super 1.2 [2/1] [_U]

這顯示了 3 個活躍的 raidblock。我只有一個 raid 陣列正在運行。我無法解釋輸出...我需要一些幫助。

謝謝

答案1

如果這是完整的lsblk輸出,那麼恐怕它只顯示一個實體儲存設備,nvme0n1.

您的nvme0n1分割區分為三個分割區,每個分割區都單獨設定為軟體 RAID1 鏡像。這為您提供了三個軟體 RAID 設備:md0md1md2。其中每一個都對應到一個軟體 RAID 分割區,而不是整個磁碟。

像這樣為每個分割區設定 RAID 使得 BIOS 可以將磁碟識別為分割磁碟,即使 BIOS 根本不支援 Linux 軟體 RAID。這可以使啟動和某些恢復場景更易於處理,並且可以在需要時輕鬆恢復到非 RAID 配置。

在正常的鏡像狀態下,將引用+md0nvme0n1p1鏡像集nvme1n1p1、+md1的集等。獨佔訪問,要求在RAID 處於活動狀態時對分區的所有訪問都必須經過RAID 層。nvme0n1p2nvme1n1p2md0md1md2

然而,每個軟體 RAID 集合都缺少 RAID1 對的後半部。這可能意味著系統在兩個相同的 NVMe 設備上使用軟體 RAID 設置,但其中一個(可能nvme1n1)已經發生故障。或者係統可能是在單一 NVMe 磁碟上設定為 RAID1 集的一半,以便在獲得第二個 NVMe 裝置後可以輕鬆過渡到真正的 RAID1...但由於某種原因,這種情況從未發生過或其他。

您的首要任務可能應該是更換故障的 NVMe(或新增遺失的 NVMe),然後恢復現有的 RAID 對:

  • 將分割區表從現有磁碟複製到新磁碟
  • 將新磁碟上的分割區初始化為對應mdN裝置的備用分割區
  • 在每對上啟動 RAID1 恢復
  • 將引導程式的第二個副本安裝到第二個磁碟,因為 MBR 和部分 GRUB 位於映像分割區之外。
  • 設定對 RAID 設備的監控,以便其中一個實體設備的故障不會再次被忽略。

完成後,您可以考慮設定新 RAID 陣列的原始任務。為此,您將需要更多的物理存儲,因為現有的物理存儲似乎nvme0n1已完全使用(一旦當前的半反射鏡完全恢復,其鏡像同伴也會如此)。

答案2

是的,輸出僅顯示一個實體設備 (nvme0n1)。

是的,輸出顯示它有 3 個分割區。

有趣的部分是來自的訊息/proc/mdstat,它顯示了3配置好的raid設備,所有這些都顯示[_U]。在一個健康的系統中應該這樣說[UU]。 3 個 raid 設備配置為 raid1(鏡像),因此第二個驅動器的(假定)故障尚未導致您任何資料遺失。當然,第二個驅動器可能無法檢測到,因為它已被刪除。

啟動日誌的研究可能會提示您是否有第二個驅動器。

nvme0n1p1 是一個分割區。它在開始時會有一個 raid 標頭。分區中的其餘扇區用作 md0 設備的資料。如果連接了第二個磁碟機(可能是傳統spinning rust硬碟),則預期它至少有 3 個分割區,其中一個(按照慣例,您將擁有第一個分割區,因此 /dev/hda1)也會有一個 raid頭,然後其餘磁區將用於保存/dev/md0 裝置的資料的第二個副本。

相關內容