vine/LVM

目的

HDDのトラブルに見舞われて大量のデータを紛失しました.バックアップの大切さを改めて実感しました.RAIDにあるようにRAID5からRAID1にして信頼性をあげるとともに,別途バックアップをとることにしました.
もう一台のPCにHDDを寄せ集めLVMで大きなボリュームをつくり,そこにrsyncでコピーをしています.

参考

LVM構築について
特集:LVMによるディスクパーティションの動的化(後編)

LVMの構築

  • LVMのインストール

VineのkernelはLVMのパッチが当たっているようですが,LVMのツールがインストールされていませんでした.
redhatからlvm_1.0.8.tar.gzをダウンロードしてインストールしました.

# tar zxvf lvm_1.0.8.tar.gz
# cd LVM/1.0.8
# ./configure
# make
# make install
  • パーティションIDの変更

パーティションIDを Linux LVM(8e) に変更する

# fdisk /dev/hdb
コマンド (m でヘルプ): t
領域番号 (1-5): 1
16進数コード (L コマンドでコードリスト表示): 8e
コマンド (m でヘルプ): w

同様にしてhdc1のパーティションIDも変更

  • PVとして構築
# pvcreate /dev/hdb1
# pvcreate /dev/hdc1
  • VGの構築
# vgcreate vg01 /dev/hdb1
# vgextend vg01 /dev/hdc1
  • LVの構築
# lvcreate -L160G vg01
  • ファイルシステムの作成
# mkfs.ext3 /dev/vg01/lvol1
  • mount

fstabへの記述追加

/dev/vg01/lvol1         /home                   ext3    user,auto,exec  0 0

vineの場合LVMを起動時に作成してくれないので,/etc/rc.d/rc.sysinitを編集

# Mount all other filesystems (except for NFS and /proc, which is already
# mounted). Contrary to standard usage,
# filesystems are NOT unmounted in single user mode.
/sbin/vgscan             ←追加
/sbin/vgchange -a y   ←追加

LVMの拡張

LVMで作成したパーティションも手狭になってきたので,HDDを追加しました.

  • パーティションIDの変更

作成じと同じです./dev/hde1と/dev/hdf1を作成

  • PVの構築
# pvcreate /dev/hde1
# pvcreate /dev/hdf1
  • VGの構築
# vgextend vg01 /dev/hde1
# vgextend vg01 /dev/hdf1
  • LVの拡張

lvol1をアンマウント

# umount /home

拡張

# lvextend -L+150G /dev/vg01/lvol1
# lventend -L+96B /dev/vg01/lvol1

-L+150.96Gと一度に拡張しようとすると失敗しました.

ファイルシステムの拡張
ディスクをチェック

# fsck -f /dev/vg01/lvol1

サイズ変更

# resize2fs /dev/vg01/lvol1

ディスクの取り外し

  • 対象をアンマウント
# umount /home
  • LVの使用容量を減らす
# lvreduce -L-80G /dev/vg01/lvol1
  • 外したいディスク内容を移動
# pvmove /dev/hdf1
  • 対象ディスクをVGから外す
# vgreduce vg01 /dev/hdf1