LVMのディスク追加
手順の流れ
- 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/sda、/dev/sdbと増えていく。 /dev/sda1と末尾に数字が付く場合はパーティション。 新規に追加したディスクならば数字のついていないデバイスファイルが候補になる。
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
)はここで指定する。
- /etc/fstab
... /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