Linux

RAID分區無法掛載,未分配分區號,重啟後

  • July 13, 2019

問題:

我有一個 CentOS 7.5 伺服器,在硬體 RAID 5 中有一個 4x 3TB WD Reds 陣列。RAID 卷上有一個 EXT4 分區。最近重新啟動伺服器後,伺服器無法再掛載該分區。

我正在尋找安裝驅動器並從中複製數據的建議。無論如何,這台伺服器計劃在幾個月內退役,因此根本原因分析不是問題,但數據恢復是問題。我也接受那些只是建議我可以做更多研究的答案。我不介意說我什至不知道如何處理這個問題,而且我可以用Google搜尋“未分配分區號”的方法只有這麼多。

故事:

最初,當伺服器重新啟動時,系統在出現“dracut timeout: failed to initialize the filesystem”錯誤後被放入Dracut 緊急恢復 shell 。調試最終讓我發現它無法掛載 RAID 卷。從/etc/fstab系統中刪除 mount 命令後,引導到正常的 shell 沒有問題,但當然沒有掛載 RAID 卷。

啟動後我跑了sudo mount /dev/sda1 /data,得到了錯誤mount: special device /dev/sda1 does not exist。我再次sudo partprobe執行mount命令,這次是mount: /dev/sda1 is already mounted or /data busy. (完整的工作流程如下)

我已經確認 RAID 控制器 (Dell PERC H310) 仍然可以看到捲和所有四個驅動器。控制器的一致性檢查報告卷沒有錯誤,並且沒有一個驅動器給出 SMART 錯誤(根據控制器),所以我相對有信心可以排除硬體故障。

調試工作流程:

  1. sudo mount /dev/sda1 /data
mount: special device /dev/sda1 does not exist
  1. lsblk
NAME                                    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                                       8:0    0   8.2T  0 disk  
└─36c81f660da98ae001fa50c8c162434f8     253:2    0   8.2T  0 mpath 
 └─36c81f660da98ae001fa50c8c162434f8p1 253:3    0   8.2T  0 part  
sdb                                       8:16   0 111.8G  0 disk  
├─sdb1                                    8:17   0     1G  0 part  /boot
└─sdb2                                    8:18   0 110.8G  0 part  
 ├─centos-root                         253:0    0    50G  0 lvm   /
 ├─centos-swap                         253:1    0  11.2G  0 lvm   [SWAP]
 └─centos-home
  1. sudo partprobe && sudo mount /dev/sda1 /data
mount: /dev/sda1 is already mounted or /data busy
  1. lsblk(再次執行,之後partprobe
NAME                                    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                                       8:0    0   8.2T  0 disk  
├─sda1                                    8:1    0   8.2T  0 part  
└─36c81f660da98ae001fa50c8c162434f8     253:2    0   8.2T  0 mpath 
 └─36c81f660da98ae001fa50c8c162434f8p1 253:3    0   8.2T  0 part  
sdb                                       8:16   0 111.8G  0 disk  
├─sdb1                                    8:17   0     1G  0 part  /boot
└─sdb2                                    8:18   0 110.8G  0 part  
 ├─centos-root                         253:0    0    50G  0 lvm   /
 ├─centos-swap                         253:1    0  11.2G  0 lvm   [SWAP]
 └─centos-home
  1. ls -la /data
total 0
0 drwxr-xr-x.  2 root root   6 2018-12-16 22:20 ./
0 dr-xr-xr-x. 19 root root 280 2019-07-10 00:20 ../
  1. lsblk --fs(執行後sudo partprobe):
NAME                                    FSTYPE       LABEL UUID                                   MOUNTPOINT
sda                                     mpath_member                                              
├─sda1                                  none               6bad545d-5dee-4699-bb9b-93b526fb5b40   
└─36c81f660da98ae001fa50c8c162434f8                                                               
 └─36c81f660da98ae001fa50c8c162434f8p1 ext4               6bad545d-5dee-4699-bb9b-93b526fb5b40   
sdb                                                                                               
├─sdb1                                  xfs                2302e5fd-d894-49c9-9394-81f148ebe487   /boot
└─sdb2                                  LVM2_member        KbRczx-pSnU-71M1-bZBf-2k80-rFSX-FLdOwx 
 ├─centos-root                         xfs                71becc19-5d85-4801-890c-26da15c7c486   /
 ├─centos-swap                         swap               327d8c5a-d274-4d26-b1eb-d1fae0c2c9fa   [SWAP]
 └─centos-home                         xfs                e988468b-2ce3-4e14-b4de-4a1346b987b7   /home

我認為我的問題在於 ext4 分區實際上不是sda1,我只是不知道如何解決這個問題。

這個問題的最佳答案解決了這個問題。

感謝@Micheal Hampton 指出多路徑問題!

引用自:https://serverfault.com/questions/975087