Linux

我如何閱讀這個突襲資訊輸出?

  • June 17, 2021

我目前在遠端 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 個活躍的 raidblocks。我只執行了一個 RAID 陣列。我無法解釋輸出…我需要一些幫助。

謝謝

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

nvme0n1被劃分為三個分區,每個分區都單獨設置為軟體 RAID1 鏡像。這為您提供了三個軟體 RAID 設備md0md1md2. 其中每一個都對應於一個軟體 RAID 分區,而不是整個磁碟。

像這樣設置每個分區的 RAID 可以使 BIOS 將磁碟辨識為分區磁碟,即使 BIOS 根本不知道 Linux 軟體 RAID。這可以使引導和一些恢復方案更易於處理,並且可以在需要時輕鬆恢復到非 RAID 配置。

在正常的鏡像狀態下,md0將引用鏡像的nvme0n1p1+集nvme1n1p1、+md1集等。您將使用,和設備安裝文件系統並啟動交換:一旦打開這些設備以供使用,軟體 RAID 子系統將鎖定底層物理分區以進行獨占訪問,要求在 RAID 處於活動狀態時對分區的所有訪問都通過 RAID 層。nvme0n1p2``nvme1n1p2``md0``md1``md2

但是,這些軟體 RAID 集中的每一個都缺少 RAID1 對的後半部分。**這可能意味著系統在兩個相同的 NVMe 設備上設置了軟體 RAID,但其中一個(可能nvme1n1)已經失敗。**或者,系統可能是在單個 NVMe 磁碟上設置為 RAID1 集的一半,以便在獲得第二個 NVMe 設備後立即輕鬆過渡到真正的 RAID1……但這從未發生過,出於某種原因或其他。

您的首要任務可能應該是更換發生故障的 NVMe(或添加缺少的 NVMe),然後恢復現有的 RAID 對:

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

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

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