トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

Linux LVM

  • 確認バージョン lvm2-2.02.100-8.el6.x86_64

LVM の状況把握

# vgs
# lvs
# pvs
# vgdisplay
# lvdisplay
# pvdisplay

LVM の拡張

  • オンラインで可能
  • LV の拡張
lvextend --size +100G vg_name/lv_name
  • ファイルシステムの拡張
resize2fs /dev/mapper/vg_name-lv_name
  • サイズ指定がない場合は利用できる最大を使う。

LVM の縮小

  • ファイルシステムのアンマウント
umount /dir/to/mount
  • ファイルシステムの強制チェック
e2fsck -f /dev/mapper/vg_name-lv_name
  • ファイルシステムの縮小
resize2fs /dev/mapper/vg_name-lv_name 1600G (縮小後サイズ指定)
  • LV の縮小
lvresize --size 1620G (縮小後サイズ+余白分) vg_name/lv_name
  • ファイルシステムの余白分の拡大
resize2fs /dev/mapper/vg_name-lv_name
  • ファイルシステムのマウント
mount /dir/to/mount /dev/mapper/vg_name-lv_name
  • ファイルシステムの縮小はチェックが終わってからでないと実行できない。
  • ファイルシステムはLVの中にあることに注意して、サイズを縮小する。
  • 最初にファイルシステムを縮小してから次にLVを縮小する。
  • ファイルシステムが破損するとデータが失われる。
  • ファイルシステムの管理データ分を考慮して余白を持たせた縮小を行う。(要検証)

PV の利用状況の把握

  • 空き領域
pvs
  • PV での LV の配置確認
pvs --segments -o +lv_name
pvs --segments --units G -o +lv_name,seg_start,seg_size

PV の移動

  • 指定デバイスの利用停止
pvmove /dev/sda1
  • 移動先の指定
pvmove /dev/sda1 /dev/sdb1
  • 移動先の指定と配置制限の解除
pvmove --alloc anywhere /dev/sda1 /dev/sdb1

pvmove のキャンセル

pvmove --abort

20160501 LVMミラー復旧手順

  • LVMトリプルミラー運用中に物理ディスク1台が破損
  • トリプルミラー-->ミラー-->トリプルミラーに構成変更して復旧
  • 物理ディスクの状況確認
pvs --segments -o +lv_name
  • 物理ディスクをVGから除去(失敗)
[root@c2q nonaka]# vgreduce --removemissing vg_data
 Couldn't find device with uuid tfafqM-v2t3-6n27-pVkR-qX38-RwbF-p8v1yi.
 WARNING: Partial LV lv_data needs to be repaired or removed.
 WARNING: Partial LV lv_data_mimage_0 needs to be repaired or removed.
 There are still partial LVs in VG vg_data.
 To remove them unconditionally use: vgreduce --removemissing --force.
 Proceeding to remove empty missing PVs.
  • 物理ディスクをVGから除去(強制)
[root@c2q nonaka]# vgreduce --removemissing --force vg_data
 Couldn't find device with uuid tfafqM-v2t3-6n27-pVkR-qX38-RwbF-p8v1yi.
 Unable to determine mirror sync status of vg_data/lv_data.
 Wrote out consistent volume group vg_data
  • LVのミラー数を3から2に変更、破損ミラーを除去
[root@c2q nonaka]# lvconvert --mirrors 1 --mirrorlog disk vg_data/lv_data
 Logical volume lv_data converted.
  • LVのミラー数を2から3に変更、正常ディスク上に再構築
lvconvert --mirrors 2 --mirrorlog mirrored --alloc anywhere vg_data/lv_data
  • 物理ディスクの状況確認
pvs --segments -o +lv_name
  • 再構築の状況確認
lvs