從 RAID 1 陣列安裝磁碟以進行資料復原

從 RAID 1 陣列安裝磁碟以進行資料復原

我遇到一些問題Debian 7.5 穩定版 (Wheezy)伺服器.它目前正在救援模式下運作。

它有一個2 x 2000 GB HDD 在 RAID 1 陣列中運行

我的首要任務是能夠存取和備份特定目錄 ( /home/servers/)。

問題是我很難安裝磁碟。我更喜歡使用 RAID 陣列以乾淨的方式執行此操作,但只要我可以存取數據,一切都可以,因為我稍後將重新安裝所有內容並更改為 Ubuntu。

root@rescue:~# fdisk -l

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sda: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1  3907029167  1953514583+  ee  GPT
Partition 1 does not start on physical sector boundary.

WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1  3907029167  1953514583+  ee  GPT
Partition 1 does not start on physical sector boundary.

Disk /dev/md2: 1978.4 GB, 1978380779520 bytes
2 heads, 4 sectors/track, 483003120 cylinders, total 3864024960 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md2 doesn't contain a valid partition table

Disk /dev/md1: 21.5 GB, 21474770944 bytes
2 heads, 4 sectors/track, 5242864 cylinders, total 41942912 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md1 doesn't contain a valid partition table

首先我嘗試了簡單的方法:

root@rescue:~# mount /dev/sda1 sda1
mount: unknown filesystem type 'linux_raid_member'

然後我嘗試遵循這個指南@http://blog.sleeplessbeastie.eu/2012/05/08/how-to-mount-software-raid1-member-using-mdadm/

root@rescue:~# mdadm -A -R /dev/md9 /dev/sda1
mdadm: /dev/sda1 is busy - skipping

我重新啟動了伺服器,但 /dev/sda1 仍然很忙。現在我陷入困境,這是一個生產伺服器!請幫幫我,我不知道如何從這裡繼續。


更新:

root@rescue:~# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty]
md1 : active raid1 sda1[0] sdb1[1]
      20971456 blocks [2/2] [UU]

md2 : active raid1 sda2[0] sdb2[1]
      1932012480 blocks [2/2] [UU]

unused devices: <none>

root@rescue:~# cat /etc/fstab
# /etc/fstab: Information sur les systèmes de fichiers.
#
# <sys.fichiers><pt de montage><type> <options>  <dump> <pass>
proc    /proc   proc    defaults        0       0

答案1

如果您嘗試以下操作會發生什麼:

mkdir /mnt/md1
mount /dev/md1 /mnt/md1

mkdir /mnt/md2
mount /dev/md2 /mnt/md2

這將創建空資料夾用作掛載點,並嘗試掛載raid 檔案系統(如果它可以乾淨地掛載它們)(如果在嘗試掛載它們時遇到任何問題,那麼它將報告錯誤並保持驅動器不變)。

如果這些命令有效,那麼您的檔案將位於或/mnt/md1/servers//mnt/md2/servers/很可能是第二個)


備查:

/proc/mdstat轉儲所有活動和非活動 RAID 陣列的清單。對於您來說,它顯示您有一個基於和md1構建的 21.5GiB 數組 ( ) ,以及基於和構建的第二個 1.9TiB 數組 ( ) 。這是一種相當常見的分區方案,其中作業系統/應用程式駐留在一個小分區 ( ) 上,所有使用者資料 ( ) 儲存在一個單獨的較大分區 ( ) 上。這樣可以輕鬆擦除作業系統分割區並重新安裝,而無需移動大量使用者資料。/dev/sda1/dev/sdb1md2/dev/sda2/dev/sdb2md1/home/*md2

/etc/fstab列出系統中所有預設掛載點。這裡不是很有幫助,因為您正在救援系統上運行,但在非救援系統上,我們會看到類似於/dev/md1to//dev/md2to的映射/home/(如果上一段中有關分區的假設為真)。

當系統啟動時,它會自動偵測 RAID 陣列,如果找到所有磁碟機,就會啟動它們(這就是它們已經在運行的原因,以及mdadm當您嘗試手動組裝陣列時因繁忙錯誤而失敗的原因/dev/md9-md1陣列已經在使用它了)。然而,由於這是一個救援系統,因此沒有安裝資訊來/etc/fstab告訴系統要安裝/dev/md1/dev/md2某個地方 - 這就是上面的命令塊嘗試手動執行的操作。

相關內容