====== 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]]