LVM簡易メモ
今まであまり手を出してこなかったので、LVMを少し触ってみる事にしました。
自分自身の備忘録としてまとめておきます。
LVM
なんだかんだでWikipediaの記述をメモ
wikipedia:論理ボリュームマネージャ
触りだす
まずはディスクの状況。
# df -k Filesystem 1K-ブロック 使用 使用可 使用% マウント位置 /dev/mapper/VolGroup00-LogVol00 5713496 1069312 4349272 20% / /dev/sda1 101086 12181 83686 13% /boot tmpfs 127708 0 127708 0% /dev/shm # fdisk /dev/sda コマンド (m でヘルプ): p Disk /dev/sda: 6442 MB, 6442450944 bytes 255 heads, 63 sectors/track, 783 cylinders Units = シリンダ数 of 16065 * 512 = 8225280 bytes デバイス Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 783 6185025 8e Linux LVM コマンド (m でヘルプ): q # fdisk /dev/sdb コマンド (m でヘルプ): p Disk /dev/sdb: 6442 MB, 6442450944 bytes 255 heads, 63 sectors/track, 783 cylinders Units = シリンダ数 of 16065 * 512 = 8225280 bytes デバイス Boot Start End Blocks Id System コマンド (m でヘルプ): q
今の状態を「pvdisplay」「vgdisplay」「lvdisplay」コマンドで確認
# pvdisplay --- Physical volume --- PV Name /dev/sda2 VG Name VolGroup00 PV Size 5.90 GB / not usable 24.06 MB Allocatable yes (but full) PE Size (KByte) 32768 Total PE 188 Free PE 0 Allocated PE 188 PV UUID 5imoca-Vjqo-o0T7-nps3-FSFg-bq5W-fRDAMO # vgdisplay --- Volume group --- VG Name VolGroup00 System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 1 Act PV 1 VG Size 5.88 GB PE Size 32.00 MB Total PE 188 Alloc PE / Size 188 / 5.88 GB Free PE / Size 0 / 0 VG UUID YosyTo-mMb5-EuRk-QmrS-zaxA-vPKw-0pyUdQ # lvdisplay --- Logical volume --- LV Name /dev/VolGroup00/LogVol00 VG Name VolGroup00 LV UUID 2kFcxN-1XnZ-CAe3-hCSM-ocbA-3H2i-s8zISL LV Write Access read/write LV Status available # open 1 LV Size 5.62 GB Current LE 180 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0 --- Logical volume --- LV Name /dev/VolGroup00/LogVol01 VG Name VolGroup00 LV UUID qZpPrE-SBGQ-NU4W-rVQ0-H2KI-Iy1A-crh112 LV Write Access read/write LV Status available # open 1 LV Size 256.00 MB Current LE 8 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:1
PVを作成しておく
準備という事で、「/dev/sdb」を利用。
# fdisk -l /dev/sdb Disk /dev/sdb: 6442 MB, 6442450944 bytes 255 heads, 63 sectors/track, 783 cylinders Units = シリンダ数 of 16065 * 512 = 8225280 bytes デバイス Boot Start End Blocks Id System /dev/sdb1 1 400 3212968+ 83 Linux /dev/sdb2 401 783 3076447+ 83 Linux # pvcreate -v /dev/sdb1 /dev/sdb2 Wiping cache of LVM-capable devices Set up physical volume for "/dev/sdb1" with 6425937 available sectors Zeroing start of device /dev/sdb1 Physical volume "/dev/sdb1" successfully created Set up physical volume for "/dev/sdb2" with 6152895 available sectors Zeroing start of device /dev/sdb2 Physical volume "/dev/sdb2" successfully created
VGにパーティションを追加する
すでに存在するVG「VolGroup00」に「/dev/sdb1」を追加してみます。
「vgextend」コマンドで対象を指定すればOKです。
# vgdisplay --- Volume group --- VG Name VolGroup00 System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 1 Act PV 1 VG Size 5.88 GB PE Size 32.00 MB Total PE 188 Alloc PE / Size 188 / 5.88 GB Free PE / Size 0 / 0 VG UUID YosyTo-mMb5-EuRk-QmrS-zaxA-vPKw-0pyUdQ # vgextend VolGroup00 /dev/sdb1 Volume group "VolGroup00" successfully extended # vgdisplay --- Volume group --- VG Name VolGroup00 System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 4 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 2 Act PV 2 VG Size 8.94 GB PE Size 32.00 MB Total PE 286 Alloc PE / Size 188 / 5.88 GB Free PE / Size 98 / 3.06 GB VG UUID YosyTo-mMb5-EuRk-QmrS-zaxA-vPKw-0pyUdQ
LVを拡張する
ということで拡張します。「lvextend」コマンドで容量を指定して、
「resize2fs」コマンドで領域を拡張します。
# df -k Filesystem 1K-ブロック 使用 使用可 使用% マウント位置 /dev/mapper/VolGroup00-LogVol00 5713496 1069404 4349180 20% / /dev/sda1 101086 12181 83686 13% /boot tmpfs 127708 0 127708 0% /dev/shm # lvextend -l+50 /dev/VolGroup00/LogVol00 Extending logical volume LogVol00 to 7.19 GB Logical volume LogVol00 successfully resized # resize2fs /dev/VolGroup00/LogVol00 resize2fs 1.39 (29-May-2006) Filesystem at /dev/VolGroup00/LogVol00 is mounted on /; on-line resizing required Performing an on-line resize of /dev/VolGroup00/LogVol00 to 1884160 (4k) blocks. The filesystem on /dev/VolGroup00/LogVol00 is now 1884160 blocks long. # df -k Filesystem 1K-ブロック 使用 使用可 使用% マウント位置 /dev/mapper/VolGroup00-LogVol00 7298536 1070844 5850880 16% / /dev/sda1 101086 12181 83686 13% /boot tmpfs 127708 0 127708 0% /dev/shm
無事拡張できました。
PV移動とVGの取り外し
一旦先ほど作っておいた「/dev/sdb2」をVGに追加します。
今度は「/dev/sdb1」を取り外します。
# pvmove -v /dev/sdb1 Finding volume group "VolGroup00" Archiving volume group "VolGroup00" metadata (seqno 12). Creating logical volume pvmove0 Moving 50 extents of logical volume VolGroup00/LogVol00 Found volume group "VolGroup00" activation/volume_list configuration setting not defined, checking only host tags for VolGroup00/LogVol00 Updating volume group metadata Found volume group "VolGroup00" Found volume group "VolGroup00" Suspending VolGroup00-LogVol00 (253:0) with device flush Found volume group "VolGroup00" activation/volume_list configuration setting not defined, checking only host tags for VolGroup00/pvmove0 Creating VolGroup00-pvmove0 Loading VolGroup00-pvmove0 table (253:2) Resuming VolGroup00-pvmove0 (253:2) Found volume group "VolGroup00" Loading VolGroup00-pvmove0 table (253:2) Suppressed VolGroup00-pvmove0 identical table reload. Loading VolGroup00-LogVol00 table (253:0) Resuming VolGroup00-LogVol00 (253:0) Creating volume group backup "/etc/lvm/backup/VolGroup00" (seqno 13). Checking progress before waiting every 15 seconds /dev/sdb1: Moved: 0.0% /dev/sdb1: Moved: 12.0% /dev/sdb1: Moved: 24.0% /dev/sdb1: Moved: 30.0% /dev/sdb1: Moved: 38.0% /dev/sdb1: Moved: 52.0% /dev/sdb1: Moved: 74.0% /dev/sdb1: Moved: 100.0% Found volume group "VolGroup00" Found volume group "VolGroup00" Loading VolGroup00-LogVol00 table (253:0) Suspending VolGroup00-LogVol00 (253:0) with device flush Suspending VolGroup00-pvmove0 (253:2) with device flush Found volume group "VolGroup00" Found volume group "VolGroup00" Found volume group "VolGroup00" Resuming VolGroup00-pvmove0 (253:2) Found volume group "VolGroup00" Resuming VolGroup00-LogVol00 (253:0) Found volume group "VolGroup00" Removing VolGroup00-pvmove0 (253:2) Found volume group "VolGroup00" Removing temporary pvmove LV Writing out final volume group after pvmove Creating volume group backup "/etc/lvm/backup/VolGroup00" (seqno 15). # vgdisplay -v Finding all volume groups Finding volume group "VolGroup00" --- Volume group --- VG Name VolGroup00 System ID Format lvm2 Metadata Areas 3 Metadata Sequence No 15 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 3 Act PV 3 VG Size 11.84 GB PE Size 32.00 MB Total PE 379 Alloc PE / Size 238 / 7.44 GB Free PE / Size 141 / 4.41 GB VG UUID YosyTo-mMb5-EuRk-QmrS-zaxA-vPKw-0pyUdQ --- Logical volume --- LV Name /dev/VolGroup00/LogVol00 VG Name VolGroup00 LV UUID 2kFcxN-1XnZ-CAe3-hCSM-ocbA-3H2i-s8zISL LV Write Access read/write LV Status available # open 1 LV Size 7.19 GB Current LE 230 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0 --- Logical volume --- LV Name /dev/VolGroup00/LogVol01 VG Name VolGroup00 LV UUID qZpPrE-SBGQ-NU4W-rVQ0-H2KI-Iy1A-crh112 LV Write Access read/write LV Status available # open 1 LV Size 256.00 MB Current LE 8 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:1 --- Physical volumes --- PV Name /dev/sda2 PV UUID 5imoca-Vjqo-o0T7-nps3-FSFg-bq5W-fRDAMO PV Status allocatable Total PE / Free PE 188 / 0 PV Name /dev/sdb1 PV UUID bj7HVH-0JIb-zp9t-7IKH-H22C-RXDl-9nV6HS PV Status allocatable Total PE / Free PE 98 / 98 PV Name /dev/sdb2 PV UUID ARSOIX-7g90-OJpK-wyy8-rKEP-y0yH-oZWpn7 PV Status allocatable Total PE / Free PE 93 / 43 # vgreduce -v VolGroup00 /dev/sdb1 Finding volume group "VolGroup00" Using physical volume(s) on command line Archiving volume group "VolGroup00" metadata (seqno 15). Removing "/dev/sdb1" from volume group "VolGroup00" Creating volume group backup "/etc/lvm/backup/VolGroup00" (seqno 16). Removed "/dev/sdb1" from volume group "VolGroup00"
練習という事で、いくつかやってみました。
まだ分かっていない事が多いから、実践を意識したケースを想定してまた色々やってみたいと思います。
今日はこんな所で。