LVM(logical volume manager)とは、複数のハードディスクやパーティションにまたがった記憶領域をひとつボリュームグループにまとめ、
単一の論理ボリューム(LV)として扱うことのできるディスク管理機能です。
主にLinuxをはじめとしたUNIX系のOSで利用できる機能の1つです。
LVMを利用することで、複数の物理ディスクからなるボリュームグループをの上に、
1つの物理ディスクを超える巨大な論理ボリューム として利用でき、自由度の高い設定が可能です。
また、論理ボリュームの動的拡大・縮小や、物理的なディスクの追加作業にもシステムを
停止せずに行えるなど運用面において利点もあります。
LVMを実際に利用するためには、まずストレージの中にLVM専用のパーティションを作成します。
その後、各パーティション内部は数メガバイト単位の物理エクステント(Physical Extent)に区分され、
必要な量に応じてこの物理エクステントを単一のボリュームとして構成することができます。
また、ボリュームの容量自体は後からでも任意で加減することができるため、
新たに別のストレージを追加したりして活用することも可能です。
LVM構築におけるこれらの必須作業は、一度認識させることによって、以後はすべて自動で管理が行われるため、
そのシステムを利用するユーザーはLVMの取り扱いを意識することなく通常のパーティションと同様の形で取り扱うことができるほか、
必要ではなくなった特定のファイルシステムを物理フォーマットで消去することも可能です。
# pvdisplay --- Physical volume --- PV Name /dev/sdb1 VG Name VolGroup01 PV Size 1024.00 GiB / not usable 3.00 MiB Allocatable yes (but full) PE Size 4.00 MiB Total PE 262143 Free PE 0 Allocated PE 262143 PV UUID IXpGy3-snBt-pHLP-NhXe-yBlq-xKAz-ViX42N --- Physical volume --- PV Name /dev/sda2 VG Name VolGroup00 PV Size 1023.71 GiB / not usable 3.00 MiB Allocatable yes (but full) PE Size 4.00 MiB Total PE 262068 Free PE 0 Allocated PE 262068 PV UUID JgClZI-mOX0-A9QS-dCfJ-GLcv-FoC8-M0UoLv --- Physical volume --- PV Name /dev/sdc1 VG Name VolGroup00 PV Size 2.00 TiB / not usable 3.97 MiB Allocatable yes (but full) PE Size 4.00 MiB Total PE 524287 Free PE 0 Allocated PE 524287 PV UUID zlSF0v-GzRZ-qr1X-COY0-Ekz5-lz4C-ygSbR3
# vgdisplay --- Volume group --- VG Name VolGroup01 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 1024.00 GiB PE Size 4.00 MiB Total PE 262143 Alloc PE / Size 262143 / 1024.00 GiB Free PE / Size 0 / 0 VG UUID gb9gmc-9dVH-e1eD-4ZAP-IQSZ-Ryx6-y3yeCm --- Volume group --- VG Name VolGroup00 System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 11 VG Access read/write VG Status resizable MAX LV 0 Cur LV 8 Open LV 8 Max PV 0 Cur PV 2 Act PV 2 VG Size 3.00 TiB PE Size 4.00 MiB Total PE 786355 Alloc PE / Size 786355 / 3.00 TiB Free PE / Size 0 / 0 VG UUID ID5kmT-hOw3-yPa1-HMsO-qYUU-eezA-zuV6bS #
# lvdisplay --- Logical volume --- LV Path /dev/VolGroup01/LogVol01 LV Name LogVol01 VG Name VolGroup01 LV UUID ZmJifY-1qns-EUBK-BvMD-Jwxa-MzbQ-grKB8y LV Write Access read/write LV Creation host, time hoge01, 2014-05-11 15:21:44 +0900 LV Status available # open 1 LV Size 242.75 GiB Current LE 62143 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:2 --- Logical volume --- LV Path /dev/VolGroup01/LogVol00 LV Name LogVol00 VG Name VolGroup01 LV UUID 4c9L0p-HTXZ-9JuU-tMGb-7Idc-Umsk-L1WYGo LV Write Access read/write LV Creation host, time hoge01, 2014-05-11 15:23:28 +0900 LV Status available # open 1 LV Size 781.25 GiB Current LE 200000 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:3 --- Logical volume --- LV Path /dev/VolGroup00/LogVol05 LV Name LogVol05 VG Name VolGroup00 LV UUID CxbxQt-EHkw-DZIt-vV5n-ZMZK-iHCF-9h2kQQ LV Write Access read/write LV Creation host, time hoge01, 2014-05-11 15:14:15 +0900 LV Status available # open 1 LV Size 10.00 GiB Current LE 2560 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:4 --- Logical volume --- LV Path /dev/VolGroup00/LogVol04 LV Name LogVol04 VG Name VolGroup00 LV UUID FDoUmW-2H7L-sIKD-e1xE-QGWW-9Yd2-reTMeZ LV Write Access read/write LV Creation host, time hoge01, 2014-05-11 15:14:25 +0900 LV Status available # open 1 LV Size 10.00 GiB Current LE 2560 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:5 --- Logical volume --- LV Path /dev/VolGroup00/LogVol07 LV Name LogVol07 VG Name VolGroup00 LV UUID JT8trh-FE6K-APC6-0ftq-oqLU-7i2q-F2HEWy LV Write Access read/write LV Creation host, time hoge01, 2014-05-11 15:14:33 +0900 LV Status available # open 1 LV Size 2.89 TiB Current LE 758195 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:6 --- Logical volume --- LV Path /dev/VolGroup00/LogVol06 LV Name LogVol06 VG Name VolGroup00 LV UUID Q1ywIg-gF0R-2Xjk-PUoI-UxPE-4QGf-rcwtf8 LV Write Access read/write LV Creation host, time hoge01, 2014-05-11 15:20:36 +0900 LV Status available # open 1 LV Size 50.00 GiB Current LE 12800 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:7 --- Logical volume --- LV Path /dev/VolGroup00/LogVol01 LV Name LogVol01 VG Name VolGroup00 LV UUID lQ4TjF-XVy0-RztI-t8LN-pO2e-GZpE-1V1MAn LV Write Access read/write LV Creation host, time hoge01, 2014-05-11 15:21:04 +0900 LV Status available # open 1 LV Size 10.00 GiB Current LE 2560 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0 --- Logical volume --- LV Path /dev/VolGroup00/LogVol00 LV Name LogVol00 VG Name VolGroup00 LV UUID azH9gL-r9Nx-4khw-AoO9-reKs-6DKW-6EvM72 LV Write Access read/write LV Creation host, time hoge01, 2014-05-11 15:21:06 +0900 LV Status available # open 1 LV Size 10.00 GiB Current LE 2560 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:1 --- Logical volume --- LV Path /dev/VolGroup00/LogVol03 LV Name LogVol03 VG Name VolGroup00 LV UUID RBXDNf-mySp-5HgI-eusR-FEIj-VKQo-8J5OBQ LV Write Access read/write LV Creation host, time hoge01, 2014-05-11 15:21:17 +0900 LV Status available # open 1 LV Size 10.00 GiB Current LE 2560 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:8 --- Logical volume --- LV Path /dev/VolGroup00/LogVol02 LV Name LogVol02 VG Name VolGroup00 LV UUID HdlhdS-IMaQ-TUPr-zd36-NK1q-k8uE-hfBKAe LV Write Access read/write LV Creation host, time hoge01, 2014-05-11 15:21:30 +0900 LV Status available # open 1 LV Size 10.00 GiB Current LE 2560 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:9 #
# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00 9.9G 596M 8.8G 7% / tmpfs 940M 232K 939M 1% /dev/shm /dev/mapper/VolGroup01-LogVol00 769G 454G 277G 63% /backup /dev/sda1 291M 39M 237M 15% /boot /dev/mapper/VolGroup01-LogVol01 239G 188M 227G 1% /data /dev/mapper/VolGroup00-LogVol07 2.9T 1.6T 1.2T 58% /home /dev/mapper/VolGroup00-LogVol04 9.9G 151M 9.2G 2% /opt /dev/mapper/VolGroup00-LogVol05 9.9G 215M 9.2G 3% /tmp /dev/mapper/VolGroup00-LogVol02 9.9G 3.2G 6.2G 35% /usr /dev/mapper/VolGroup00-LogVol06 50G 180M 47G 1% /usr/local /dev/mapper/VolGroup00-LogVol03 9.9G 593M 8.8G 7% /var
# fdisk -l ディスク /dev/sda: 1099.5 GB, 1099511627776 バイト ヘッド 255, セクタ 63, シリンダ 133674 Units = シリンダ数 of 16065 * 512 = 8225280 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x000b0b16 デバイス ブート 始点 終点 ブロック Id システム /dev/sda1 * 1 39 307200 83 Linux パーティション 1 は、シリンダ境界で終わっていません。 /dev/sda2 39 133675 1073433600 8e Linux LVM ディスク /dev/sdb: 1099.5 GB, 1099511627776 バイト ヘッド 255, セクタ 63, シリンダ 133674 Units = シリンダ数 of 16065 * 512 = 8225280 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x000152cc デバイス ブート 始点 終点 ブロック Id システム /dev/sdb1 1 133675 1073740800 8e Linux LVM 警告: GPT (GUID パーティションテーブル) が '/dev/sdc' に検出されました! この fdisk ユーティリティは GPT をサポートしません。GNU Parted を使ってください。 ディスク /dev/sdc: 2199.0 GB, 2199023255552 バイト ヘッド 255, セクタ 63, シリンダ 267349 Units = シリンダ数 of 16065 * 512 = 8225280 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x00000000 デバイス ブート 始点 終点 ブロック Id システム /dev/sdc1 1 267350 2147483647+ ee GPT ディスク /dev/mapper/VolGroup00-LogVol01: 10.7 GB, 10737418240 バイト ヘッド 255, セクタ 63, シリンダ 1305 Units = シリンダ数 of 16065 * 512 = 8225280 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x00000000 ディスク /dev/mapper/VolGroup00-LogVol00: 10.7 GB, 10737418240 バイト ヘッド 255, セクタ 63, シリンダ 1305 Units = シリンダ数 of 16065 * 512 = 8225280 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x00000000 ディスク /dev/mapper/VolGroup01-LogVol01: 260.6 GB, 260646633472 バイト ヘッド 255, セクタ 63, シリンダ 31688 Units = シリンダ数 of 16065 * 512 = 8225280 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x00000000 ディスク /dev/mapper/VolGroup01-LogVol00: 838.9 GB, 838860800000 バイト ヘッド 255, セクタ 63, シリンダ 101985 Units = シリンダ数 of 16065 * 512 = 8225280 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x00000000 ディスク /dev/mapper/VolGroup00-LogVol05: 10.7 GB, 10737418240 バイト ヘッド 255, セクタ 63, シリンダ 1305 Units = シリンダ数 of 16065 * 512 = 8225280 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x00000000 ディスク /dev/mapper/VolGroup00-LogVol04: 10.7 GB, 10737418240 バイト ヘッド 255, セクタ 63, シリンダ 1305 Units = シリンダ数 of 16065 * 512 = 8225280 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x00000000 ディスク /dev/mapper/VolGroup00-LogVol07: 3180.1 GB, 3180100321280 バイト ヘッド 255, セクタ 63, シリンダ 386625 Units = シリンダ数 of 16065 * 512 = 8225280 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x00000000 ディスク /dev/mapper/VolGroup00-LogVol06: 53.7 GB, 53687091200 バイト ヘッド 255, セクタ 63, シリンダ 6527 Units = シリンダ数 of 16065 * 512 = 8225280 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x00000000 ディスク /dev/mapper/VolGroup00-LogVol03: 10.7 GB, 10737418240 バイト ヘッド 255, セクタ 63, シリンダ 1305 Units = シリンダ数 of 16065 * 512 = 8225280 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x00000000 ディスク /dev/mapper/VolGroup00-LogVol02: 10.7 GB, 10737418240 バイト ヘッド 255, セクタ 63, シリンダ 1305 Units = シリンダ数 of 16065 * 512 = 8225280 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x00000000 #