#contents
*セットアップ [#z2b5b8d8]
wget ftp://ftp.sistina.com/pub/LVM/1.0/lvm_1.0.8.tar.gz
cd LVM/1.0.8
./configure
make
sudo make install
vgscan
//ディスクごとに必要
//8eでフォーマット
fdisk /dev/hde
pvcreate /dev/hde1
//ディスクグループに追加
vgcreate jp_vg /dev/hde1
//容量を確認
vgdisplay
順番が違うかも
//パーティションを作成
lvcreate -l ??? jp_vg
mkfs.ext3 /dev/hde1
起動時に必要なコマンドがあるので起動スクリプトを作成
vgchange -a y jp_vg
起動用スクリプト作成(/etc/init.d/lvm)
#!/bin/bash
RETVAL=0
start()
{
/sbin/vgchange -a y jp_vg
/bin/mount /dev/jp_vg/lvol1 /mnt1
}
stop()
{
/bin/umount /mnt1
/sbin/vgchange -a n jp_vg
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|restart|reload|condrestart|status}"
RETVAL=1
esac
exit $RETVAL
ln -s ../init.d/lvm S99lvm
*Tips [#b6353e93]
**LVMディスクの移動 [#t770d0ac]
マシン No 1 で、
vgchange -a n vg01
vgexport vg01
マシン No 2 で、
vgimport vg01 /dev/sda1 /dev/sdb1
vgchange -a y vg01
**ディスクの増加 [#d469d931]
# fdisk /dev/hde
8eでフォーマット
# pvcreate /dev/hde1
-ff
オプションが必要なときもあり
# vgchange -a y storage_vg
# vgextend storage_vg /dev/hde1
# umount /dev/storage_vg/lvol1 // umountしてなければいらない?
そうでもない
# lvextend -l+size /dev/storage_vg/...
Vineのlvextendはバグ持ちで駄目なのでどこからか修正ソースを持ってきてrpm再インストール~
具体的には下記の話
http://search.luky.org/vine-users.7/msg07261.html
# e2fsadm -l+624 /dev/storage_vg/lvol1
Fedora Core 6 では最後
# resize2fs /dev/storage_vg/lvol1
もしくはオンラインなら
# ext2online /dev/storage_vg/lvol1
となる
**ディスク間データ移動 [#dc867577]
pvmoveの前はその上のvgとかを全部アンマウントしておくこと。pv吹っ飛ぶ可能性あり。
umount /dev/.../vg
vgchange -a n vg
pvmove /dev/hde1 /dev/hdi1
pvmove /dev/hde1
で hde1のPVを他に追い出す
***失敗したときには(戻せているかどうかは未確認) [#p33383c6]
pvmove中に [[ここ:http://groups.google.co.jp/group/linux.debian.bugs.dist/browse_thread/thread/8fc9588a93e0089c]] のような状態になって失敗した場合。
device-mapper: create ioctl failed: Peripherique ou ressource occupe
Loading aya-kvms table
device-mapper: reload ioctl failed: Argument invalide
Checking progress every 10 seconds
WARNING: dev_open(/dev/sdd1) called while suspended
WARNING: dev_open(/dev/sda2) called while suspended
WARNING: dev_open(/dev/hdb3) called while suspended
WARNING: dev_open(/dev/sdd1) called while suspended
WARNING: dev_open(/dev/sda2) called while suspended
WARNING: dev_open(/dev/hdb3) called while suspended
WARNING: dev_open(/dev/sdd1) called while suspended
WARNING: dev_open(/dev/sda2) called while suspended
WARNING: dev_open(/dev/hdb3) called while suspended
/dev/sdd1: Moved: 100,0%
Found volume group "aya"
Found volume group "aya"
Found volume group "aya"
Found volume group "aya"
Suspending aya-pvmove0 (253:6) with device flush
Found volume group "aya"
Creating aya-pvmove0
device-mapper: create ioctl failed: Peripherique ou ressource occupe
Unable to reactivate logical volume "pvmove0"
この場合メタデータの更新だけ行われてしまったと思われるのでメタデータを戻せば復活できる(はず、というかそうでないと自分のストレージもダメージ受けてるorz)
/etc/lvm/backup or /etc/lvm/archive に設定ファイル(storage_vg)が残っているか確認して残っていれば可能性あり。
pvmoveの場合、メタデータの segmentxx って処の stripes って処が書き換えられてかつ中身も移動するという作りだと思う。なので今回の失敗のようにメタデータだけ書き換えられた場合はその部分を修復してみる。
segment11 {
start_extent = 47095
extent_count = 3726 # 232.875 Gigabytes
type = "striped"
stripe_count = 1 # linear
stripes = [
"pv7", 0 <- ここを修正 "pv指定", 開始extent みたいなもんだと思う
]
}
pvmoveなので start_extent, extent_count 等は修正されないはずなのでほっておく(同じ数のextentを消費するはずだから)。archiveに過去のものが入っていればその設定ファイルをそのまま利用した方が無難だしよいと思います(自分はそのあとにLVM操作してたので無理でしたがorz)。
修正が終わったらその設定ファイルでメタデータを書き換える。
vgcfgrestore storage_vg -f storage_vg_rec
storage_vg_rec は修正した設定ファイル
あとはpvmoveをやり直す。
ちなみにこれはURL先の記述を見る限りバグらしい。
**pvの削除 [#ebb926b3]
vgreduce vg_name /dev/hdp1
pvremove /dev/hdp1
間違って消してしまったら
vgreduce --removemissing VG_XenStorage-xxxx
**LVMディスクのPC間移動 [#nddb642c]
同バージョンのLVMを導入さえすればすべてのHDDをもってきて vgscan をすれば使えるみたいである
# /sbin/vgscan
*環境 [#m494c8d2]
-Vine 2.6CR
*参考 [#e7919dbf]
-[[Logical Volume Manager HOWTO:http://www.linux.or.jp/JF/JFdocs/LVM-HOWTO.html]]
-[[特集:LVMによるディスクパーティションの動的化(前編):http://www.itmedia.co.jp/enterprise/0307/11/epn01.html]]
-[[特集:LVMによるディスクパーティションの動的化(後編):http://www.itmedia.co.jp/enterprise/0308/08/epn01.html]]
-[[LVM + reiserfs 適用時のスナップショットマウント不具合:http://murashima.net/rio/lvm_snap/]]
-[[Software RAID & LVM on Vine linux:http://beer.dip.jp/unix/lvm.html]]
-[[LVM (Logical Volume Manager):http://memo.blogdns.net/lvm.html]]
この参考ページの方が役に立つような気がする(ぉ
RIGHT:LVM