Misc/LVMの使い方 の変更点


#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

注意)このバージョンのsafariではjavascriptがうまく動作しないので、recaptchaはページ切り替え版を利用しています。
リロード   新規 編集 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS