====== LVMのディスク追加 ======
{{tag>centos7}}
===== 手順の流れ =====
- LVM用のディスクパーティション作成
- PVの作成
- VGへの追加
- LVへ追加して既存のファイルシステムのサイズを拡張する
- または、新しいLVを作成してマウントする
===== コマンド =====
* fdisk - ディスクパーティションの作成、表示
* pvdisplay, vgdisplay, lvdisplay - LVMオブジェクトの表示
* pvcreate, vgcreate, lvcreate - LVMオブジェクトの作成
* vgextend, lvextend - LVMオブジェクトへの追加
* xfs_info, dumpe2fs - ファイルシステムの情報表示
* xfs_grow, resize2fs - ファイルシステムのサイズ変更
===== 1) LVM用ディスクパーティションの作成 =====
追加したディスクのデバイスファイルを検索する。
ls /dev/sd* /dev/hd*
SCSI接続の場合、基本的にディスクは/dev/sd**//a//**、/dev/sd**//b//**と増えていく。
/dev/sda**//1//**と末尾に数字が付く場合はパーティション。
新規に追加したディスクならば数字のついていないデバイスファイルが候補になる。
''fdisk''で新しいディスクにパーティションを作成する。
ここでは追加されたディスク''/dev/sdb''にパーティションを一つだけ作成する。
**fdisk /dev/sdb**
Command: **n**
Partition type: **[enter]**(default: p)
Partition number: **[enter]**(default: 1)
First sector: **[enter]**(default: 2048)
Last sector: **[enter]**(default: ディスクサイズによる)
Command: **t**
Hex code: **8e**
Command: **p**
Device Boot Start End Blocks Id System
/dev/sdb1 2048 167772159 83885056 8e Linux LVM
Command: **v**
Remaining 2047 unallocated 512-byte sectors
Command: **w**
===== 2) PVの作成 =====
''pvcreate''で作成したパーティションからPVを作成する。
pvcreate /dev/sdb1
===== 3) VGへの追加 =====
''vgdisplay''で追加先のVG名を取得する。
**vgdisplay**
%%---%% Volume group %%---%%
VG Name centos_test
...
''vgexend''でVGにPVを追加する。
vgextend centos_test /dev/sdb1
新しいVGを作成する場合は''vgcreate''を使用する。
===== 4) LVへ追加して既存のファイルシステムのサイズを拡張する =====
''df''コマンドで追加先のLVを取得する。
df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 956M 0 956M 0% /dev
tmpfs 968M 0 968M 0% /dev/shm
tmpfs 968M 8.4M 959M 1% /run
tmpfs 968M 0 968M 0% /sys/fs/cgroup
/dev/mapper/centos_test-root 79G 1.4G 78G 2% /
/dev/sda2 1014M 129M 886M 13% /boot
/dev/sda1 200M 12M 189M 6% /boot/efi
''lvextend''でLV(''/dev/mapper/centos_test-root'')にPV(''/dev/sdb1'')を追加する。
lvextend /dev/mapper/centos_test-root /dev/sdb1
ファイルシステムのサイズを拡張する。
''/etc/fstab''または''/etc/mtab''からLVを検索してファイルシステムの種別を特定する。
ファイルシステムの種別が''xfs''の場合は''xfs_growfs''を使用する。
xfs_growfs /dev/mapper/centos_test-root
ファイルシステムの種別が''ext4''の場合は''resize2fs''を使用する。
resize2fs /dev/mapper/centos_test-root
意図した通りにサイズが拡張されたかを''df''コマンドで確認する。
===== 5) または、新しいLVを作成してマウントする =====
''lvcreate''でVG(''centos_test'')にPV(''/dev/sdb1'')を含むLVを''data''という名前で作成する。
lvcreate -n data -l 100%PVS centos_test /dev/sdb1
LVは''/dev/mapper/VG名-LV名''にマッピングされる。
この場合は''/dev/mapper/centos_test-data''。
''/mnt/data''にマウントするよう''/etc/fstab''にエントリを追加する。
使用するファイルシステムの種別(''xfs''や''ext4'')はここで指定する。
...
/dev/mapper/centos_test-root / xfs defaults 0 0
/dev/mapper/centos_test-data /mnt/data xfs defaults 0 0
...
''mkfs''でファイルシステムを作成する。''-t''オプションで''/etc/fstab''で指定したファイルシステムの種別を指定する。
mkfs -t xfs /dev/mapper/centos_test-data
マウントポイントを作成しマウントする。
mkdir -p /mnt/data
mount /mnt/data