====== LVM ====== * PV:物理ボリューム………HDDと同じ * VG:ボリュームグループ…..PVの集合 * LV:論理ボリューム………VGからマウント可能なボリューム(VGから切り出す) ===== ハードディスク追加手順 ===== - ハードディスクの取り付け - [[os:centos:lvm#LVMパーティション作成|]] - [[os:centos:lvm#PV作成|]] - [[os:centos:lvm#PVをVGへ登録|]]、またはVG作成 - 論理ボリュームを追加(mount)、または[[os:centos:lvm#論理ボリュームサイズを拡大|]] - 論理ボリュームを追加(mount)の場合はLVへファイルシステム作成 ==== LVMパーティション作成 ==== === HDDパーティション確認 === # fdisk -l ← HDDパーティション確認 Disk /dev/xvdb: ##.5 GB, ############ bytes ← 追加したHDDを/dev/xvdbとして認識 255 heads, 63 sectors/track, #### cylinders Units = cylinders of ###### * 512 = ######## bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 === パーティション設定 === # fdisk /dev/xvdb ...... Command (m for help): n ← n(新規パーティション作成) Command action e extended p primary partition (1-4) p ← p(基本パーティション) Partition number (1-4): 1 ← 1(パーティション番号) First cylinder (1-####, default 1):  ← enter Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-####, default ####):  ← enter Using default value #### Command (m for help): t ← t(システムID設定) Selected partition 1 Hex code (type L to list codes): 8e ← 8e(LVMシステムID) Changed system type of partition 1 to 8e (Linux LVM) Command (m for help): p ← p(パーティション表示) Disk /dev/xvdb: ##.5 GB, ######### bytes 255 heads, 63 sectors/track, #### cylinders Units = cylinders of ##### * 512 = ######### bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xea##### Device Boot Start End Blocks Id System /dev/xvdb1 1 #### ########+ 8e Linux LVM パーティションが一つでIdが8e、SystemがLinux LVMとなっていることを確認 Command (m for help): w ← w(パーティションをディスクへ書き込み)応答 The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. ==== PV(Physical volume)作成 ==== # pvcreate /dev/xvdb1 ← 作成したLVMパーティションでPV作成 Physical volume "/dev/xvdb1" successfully created # pvdisplay ← 確認 --- Physical volume --- PV Name /dev/xvda# VG Name VolGroup00 PV Size ##.90 GiB / not usable ##.00 MiB Allocatable yes (but full) ......... "/dev/xvdb1" is a new physical volume of "##.## GiB" --- NEW Physical volume --- PV Name /dev/xvdb1 VG Name PV Size ##.## GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID AX9M24-XXXXXXXXXXXXXXXXXXXXXXXXX ==== PVをVGへ登録 ==== # vgextend VolGroup00 /dev/xvdb1 ← 作成したPVを既存VGへ登録 Volume group "VolGroup00" successfully extended [root@host ~]# vgdisplay ← 確認 --- Volume group --- VG Name VolGroup00 System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 4 VG Access read/write VG Status resizable ......... VG Size ##.84 GiB PE Size ##.00 MiB Total PE 891 Alloc PE / Size 252 / ##.88 GiB Free PE / Size 639 / ###.97 GiB ← VGに空きができたのを確認 VG UUID ZoDZsE-LWRR-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 新たにVGを作成する場合 # vgcreate VolData /dev/xvdb1 Volume group "VolData" successfully created # vgdisplay --- Volume group --- VG Name VolData System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 1.95 TiB PE Size 4.00 MiB Total PE 511999 Alloc PE / Size 0 / 0 Free PE / Size 511999 / 1.95 TiB VG UUID XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ==== 論理ボリュームサイズを拡大 ==== === LVの拡大 === # lvdisplay /dev/VolGroup00/LogVol00 ← 拡大する前のLV状況確認 --- Logical volume --- LV Name /dev/VolGroup00/LogVol00 VG Name VolGroup00 LV UUID D36jZ6-e6si-jiXXXXXXXXXXXXXXXXXXXXXXXX LV Write Access read/write LV Status available # open 1 LV Size #.## GB ← 拡大前LVサイズ Current LE 108 Segments 1 Allocation inherit ......... # vgdisplay ← 拡大する前のVG状況確認 --- Volume group --- VG Name VolGroup00 System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 35 VG Access read/write VG Status resizable ......... PE Size 32.00 MB Total PE #### Alloc PE / Size ## / #.## GB Free PE / Size ## / ##.00 GB ← VGに空きあり VG UUID 9fGKL1-4ki1-XXXXXXXXXXXXXXXXXXXXXXXXX # lvextend -L +##G /dev/VolGroup00/LogVol00  ← VGの空きすべて(PE Size×Free PE=##.00 GB)を使用してLVサイズ拡大 Extending logical volume LogVol00 to ##.## GB Logical volume LogVol00 successfully resized [root@centos ~]# lvdisplay /dev/VolGroup00/LogVol00 ← 拡大後LV --- Logical volume --- LV Name /dev/VolGroup00/LogVol00 VG Name VolGroup00 LV UUID D36jZ6-e6si-jiXXXXXXXXXXXXXXXXXXXXXXXX LV Write Access read/write LV Status available # open 1 LV Size ##.## GB ← 拡大後LVサイズ ......... [root@centos ~]# vgdisplay ← 拡大後VG --- Volume group --- VG Name VolGroup00 System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 36 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 ......... Free PE / Size 0 / 0 ← VGに空きなし VG UUID 9fGKL1-4ki1-XXXXXXXXXXXXXXXXXXXXXXXXX === ファイルシステムサイズ拡大 === # df ← 拡大前ファイルシステムサイズ Filesystem 1K-ブロック 使用 使用可 使用% マウント位置 /dev/mapper/VolGroup00-LogVol00 ####8080 #####572 ####344 51% / ← 拡大前ファイルシステムサイズ /dev/sda1 101000 23800 72000 25% /boot tmpfs 127000 0 127000 0% /dev/shm [root@centos ~]# resize2fs /dev/VolGroup00/LogVol00 ← LVファイルシステムサイズ拡大(LVサイズに合わせる) resize2fs 1.xx.xx (dd-mm-20##) Filesystem at /dev/VolGroup00/LogVol00 is mounted on /; on-line resizing required Performing an on-line resize of /dev/VolGroup00/LogVol00 to ######## (4k) blocks. The filesystem on /dev/VolGroup00/LogVol00 is now ######## blocks long. [root@centos ~]# df ← 拡大後ファイルシステムサイズ照会 Filesystem 1K-ブロック 使用 使用可 使用% マウント位置 /dev/mapper/VolGroup00-LogVol00 ####1604 ####432 ####980 20% / ← 拡大後ファイルシステムサイズ /dev/sda1 101000 23800 72000 25% /boot tmpfs 127000 0 127000 0% /dev/shm ==== 論理ボリュームを追加する場合 ==== ===== ハードディスク取り外し手順 ===== * VGからPV削除 * PV削除 * パーティション削除 * ハードディスク取り外し ===== メモ ===== pvscan lvscan lvdisplay vgrename ===== 参考 ===== [[http://abcmark2010.hatenablog.com/entry/2016/01/10/170809]] [[https://qiita.com/TsutomuNakamura/items/93c6333c8dd32aeb197a#%E8%A3%9C%E8%B6%B3%E8%AB%96%E7%90%86%E3%83%9C%E3%83%AA%E3%83%A5%E3%83%BC%E3%83%A0%E3%82%92%E7%B8%AE%E5%B0%8F%E3%81%99%E3%82%8B]]