2016/08/03

Linux ubuntu 的 soft raid 1 及 LVM 磁區的資料救援

圖不相關於此文


這幾天停電,發生剛好有一台老 server power 卦掉了。
想說就順便把資料轉移到新的機器上面, 他在還沒死掉前使用的是 ubuntu linux 系統
硬碟使用 soft raid 1 的架構。

硬碟我使用 usb 硬碟外接座,把裝置接到系統上面。可以使用 blkid 看看裝置代號。

epost mnt # blkid 
/dev/sda1: UUID="96d81952-2c1b-4963-98e7-b203f0197686" TYPE="ext4" 
/dev/sda5: UUID="8987b099-e672-4486-ae9c-7ccb12264b7f" TYPE="swap" 
/dev/sdb1: UUID="08cd466a-fdd1-43ea-9f4d-97d12fbed8ae" TYPE="ext4" 
/dev/sde1: UUID="6f575859-37a1-ff61-530b-09d8a1b789b6" UUID_SUB="c601821d-4bf7-0728-83ae-682c29864775" LABEL="bm:0" TYPE="linux_raid_member" 

* 可以看到 type 為 linux_raid_member 的 type 型態,可以使用 mdadm 指令,把這裝置賦予到一個 raid 裝置。

mdadm --assemble --run /dev/md3 /dev/sde1

* 然後再用 mount 將它掛載到目錄就可以存取。
* 但是發現檔案系統竟然是 LVM2_member 的檔案架構, 所以需要用 LVM 的方式操作它。

epost mnt # mount /dev/md3 /mnt/sde
mount: unknown filesystem type 'LVM2_member'

* 看看這個系統的分割區, 是不是有其他裝置。結果竟然全部都沒有合法的分割表。
epost mnt # fdisk /dev/md3 -l

Disk /dev/md3: 1000.2 GB, 1000201904128 bytes
2 heads, 4 sectors/track, 244189918 cylinders, total 1953519344 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

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

* 使用  lvmdiskscan 掃描一下系統的裝置
epost mnt # lvmdiskscan 
  /dev/ram0         [      64.00 MiB] 
  /dev/vg-root/root [     931.51 GiB] 
  /dev/ram1         [      64.00 MiB] 
  /dev/sda1         [     461.87 GiB] 
  /dev/ram2         [      64.00 MiB] 
  /dev/ram3         [      64.00 MiB] 
  /dev/md3          [     931.51 GiB] LVM physical volume
  /dev/ram4         [      64.00 MiB] 
  /dev/ram5         [      64.00 MiB] 
  /dev/sda5         [       3.89 GiB] 
  /dev/ram6         [      64.00 MiB] 
  /dev/ram7         [      64.00 MiB] 
  /dev/ram8         [      64.00 MiB] 
  /dev/ram9         [      64.00 MiB] 
  /dev/ram10        [      64.00 MiB] 
  /dev/ram11        [      64.00 MiB] 
  /dev/ram12        [      64.00 MiB] 
  /dev/ram13        [      64.00 MiB] 
  /dev/ram14        [      64.00 MiB] 
  /dev/ram15        [      64.00 MiB] 
  /dev/sdb1         [     465.76 GiB] 
  1 disk
  19 partitions
  0 LVM physical volume whole disks
  1 LVM physical volume

* 用 lvdisplay 觀看系統內的 logical volume 分割表
  epost mnt # lvdisplay 
  --- Logical volume ---
  LV Path                /dev/vg-root/root
  LV Name                root
  VG Name                vg-root
  LV UUID                WWG1Yp-qoIs-HjVd-nJlE-v8H0-PVz1-YvG151
  LV Write Access        read/write
  LV Creation host, time , 
  LV Status              available
  # open                 0
  LV Size                931.51 GiB
  Current LE             238466
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0


* 掃描一下 , lvm 到底掛載那個表上。 看來 /dev/vg-root/root 是可以使用的裝置代碼
epost mnt # lvscan 
  ACTIVE            '/dev/vg-root/root' [931.51 GiB] inherit

* 所以把這個裝置,掛載到目錄 /mnt/sde/ 使用。就可以把資料挖回來了
mount /dev/vg-root/root /mnt/sde


ref: http://cms.35g.tw/coding/synology-unknown-filesystem-type-linux_raid_member/
ref: http://pissedoffadmins.com/os/mount-unknown-filesystem-type-lvm2_member.html

沒有留言: