LVM パーティション をrescue モードから操作する

LVMを使っていない場合はrescueモードで起動したあとに

# mount /dev/sda1 /mnt/sysimage

などとするだけで良いけど、lvmを使っているとそのままではパーティションが見えないのでmount出来ない。
rescue モード起動時にはlvmパーティション領域が有効になってないので、有効にしてからmountする。

パーティション確認

# fdisk -l /dev/vda

Disk /dev/vda: 31.5 GB, 31457280000 bytes
16 heads, 63 sectors/track, 60952 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00037ac3

	 Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *           3        1018      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/vda2            1018       60953    30206976   8e  Linux LVM
Partition 2 does not end on cylinder boundary.

/dev/vda1 は/boot、それ以外がlvm パーティションになってる。

lvm パーティションを有効にする

# lvdisplay
# lvdisplay | grep "LV Status"
  LV Status              NOT available
  LV Status              NOT available

logical volumeが使えない状態なので、vgchange -ay でvolume group を有効化する。それ以外のコマンドは確認しているだけなので必須ではない。

# vgscan 
# vgscan -v
    Wiping cache of LVM-capable devices
    Wiping internal VG cache
  Reading all physical volumes.  This may take a while...
    Finding all volume groups
    Finding volume group "vg00"
  Found volume group "vg00" using metadata type lvm2
# vgchange -a y

# lvscan -v
    Finding all logical volumes
  ACTIVE            '/dev/vg00/lv_root' [26.84 GiB] inherit
  ACTIVE            '/dev/vg00/lv_swap' [1.97 GiB] inherit
# lvs --all
  LV      VG       Attr     LSize   Pool Origin Data%  Move Log Copy%  Convert
  lv_root vg_svxxx -wi-ao--  26.84g                                           
  lv_swap vg_svxxx -wi-ao--   1.97g        
# lvdisplay | grep "LV Status"
  LV Status              available
  LV Status              available

これでlogical volume が使えるようになった。

復旧する

あとはmountして適当にほげほげする。

# mkdir /mnt/sysimage
# mount /dev/vg00/lv_root /mnt/sysimage
# mount /dev/vda1         /mnt/sysimage/boot
# chroot /mnt/sysimage
### ファイル編集したり何か色々する

### 終わったらchrootから抜ける
# exit
	
### 復旧作業等が終わったら再起動する
# reboot