はじめに
物理ボリューム・ボリュームグループ・論理ボリュームの操作忘れがち
メモ
- 環境は Ubuntu22.04
含まれる内容
- 作成
- 削除
- サイズの縮小
- サイズの拡張
- 物理ディスクを追加してサイズの拡張
- 物理ディスクを削除してサイズの縮小
作成
- 論理ボリュームを作成するデバイスは サイズ
2G
の/dev/sdb
-
/dev/sdb
全体の物理ボリュームを作成して、ボリュームグループvg0
、論理ボリュームlv0
を作成 -
/dev/vg0/lv0
を/export
へマウントする
物理ボリュームの作成
$ sudo pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created.
$ sudo pvs
PV VG Fmt Attr PSize PFree
:
:
/dev/sdb lvm2 --- 2.00g 2.00g
:
:
ボリュームグループの作成
$ sudo vgcreate vg0 /dev/sdb
Volume group "vg0" successfully created
$ sudo vgs
VG #PV #LV #SN Attr VSize VFree
:
:
vg0 1 0 0 wz--n- <2.00g <2.00g
:
:
$ sudo pvs
PV VG Fmt Attr PSize PFree
:
:
/dev/sdb vg0 lvm2 a-- <2.00g <2.00g
:
:
論理ボリュームの作成
$ sudo lvcreate -l100%FREE -n lv0 vg0
Logical volume "lv0" created.
$ sudo lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
:
:
lv0 vg0 -wi-a----- <2.00g
:
:
$ sudo vgs
VG #PV #LV #SN Attr VSize VFree
:
:
vg0 1 1 0 wz--n- <2.00g 0
:
:
$ sudo pvs
PV VG Fmt Attr PSize PFree
:
:
/dev/sdb vg0 lvm2 a-- <2.00g 0
:
:
論理ボリュームのフォーマット
$ lsblk -f
:
:
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sdb LVM2_member LVM2 001 ******-****-****-****-****-****-******
└─vg0-lv0
:
:
$ sudo mkfs.ext4 /dev/vg0/lv0
mke2fs 1.46.5 (30-Dec-2021)
Discarding device blocks: done
Creating filesystem with 523264 4k blocks and 130816 inodes
Filesystem UUID: 71ec8fd6-57b0-4f73-9489-0133772a83ec
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Allocating group tables: done
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
$ lsblk -f
:
:
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sdb LVM2_member LVM2 001 ******-****-****-****-****-****-******
└─vg0-lv0 ext4 1.0 ********-****-****-****-************
:
:
論理ボリュームのマウント
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
:
:
sdb 8:16 0 2G 0 disk
└─vg0-lv0 253:0 0 2G 0 lvm
:
:
$ sudo mount /dev/vg0/lv0 /export
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
:
:
sdb 8:16 0 2G 0 disk
└─vg0-lv0 253:0 0 2G 0 lvm /export
:
:
$ df -h
Filesystem Size Used Avail Use% Mounted on
:
:
/dev/mapper/vg0-lv0 2.0G 24K 1.9G 1% /export
:
:
削除
- 論理ボリュームが存在するデバイスは サイズ
2G
の/dev/sdb
-
/dev/sdb
全体の物理ボリューム上に、ボリュームグループvg0
、論理ボリュームlv0
が存在する -
/export
へマウントしている論理ボリューム、ボリュームグループ、物理ボリュームを削除
論理ボリュームのマウント解除
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
:
:
sdb 8:16 0 2G 0 disk
└─vg0-lv0 253:0 0 2G 0 lvm /mnt/export
:
:
$ df -h
Filesystem Size Used Avail Use% Mounted on
:
:
/dev/mapper/vg0-lv0 2.0G 24K 1.9G 1% /mnt/test
:
:
$ sudo umount /dev/vg0/lv0
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
:
:
sdb 8:16 0 2G 0 disk
└─vg0-lv0 253:0 0 2G 0 lvm
:
:
論理ボリュームの削除
$ sudo lvremove /dev/vg0/lv0
Do you really want to remove and DISCARD active logical volume vg0/lv0? [y/n]: y
Logical volume "lv0" successfully removed
ボリュームグループの削除
$ sudo vgremove /dev/vg0
Volume group "vg0" successfully removed
物理ボリュームの削除
$ $ sudo pvremove /dev/sdb
Labels on physical volume "/dev/sdb" successfully wiped.
サイズの縮小
- 論理ボリュームが存在するデバイスは サイズ
2G
の/dev/sdb
-
/dev/sdb
全体の物理ボリューム上に、ボリュームグループvg0
、論理ボリュームlv0
が存在する - ファイルシステムは、サイズ変更が可能な、ext4 を利用
-
/export
へマウントしている論理ボリュームを1G
へ縮小
縮小前の状態の確認
$ df -h
Filesystem Size Used Avail Use% Mounted on
:
:
/dev/mapper/vg0-lv0 2.0G 24K 1.9G 1% /export
:
:
$ lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
:
:
sdb LVM2_member LVM2 001 ******-****-****-****-****-****-******
└─vg0-lv0 ext4 1.0 ********-****-****-****-************ 1.8G 0% /export
:
:
論理ボリュームのマウント解除
$ sudo umount /dev/vg0/lv0
ファイルシステムのサイズの縮小
$ sudo e2fsck -f /dev/vg0/lv0
e2fsck 1.46.5 (30-Dec-2021)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vg0/lv0: 11/130816 files (0.0% non-contiguous), 17948/523264 blocks
$ sudo resize2fs /dev/vg0/lv0 1G
resize2fs 1.46.5 (30-Dec-2021)
Resizing the filesystem on /dev/vg0/lv0 to 262144 (4k) blocks.
The filesystem on /dev/vg0/lv0 is now 262144 (4k) blocks long.
論理ボリュームのサイズの縮小
- 2G を 1G に縮小
$ sudo lvreduce -L 1G /dev/vg0/lv0
WARNING: Reducing active logical volume to 1.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg0/lv0? [y/n]: y
Size of logical volume vg0/lv0 changed from <2.00 GiB (511 extents) to 1.00 GiB (256 extents).
Logical volume vg0/lv0 successfully resized.
論理ボリュームの再マウント
$ sudo mount /dev/vg0/lv0 /export
縮小後の状態の確認
$ df -h
Filesystem Size Used Avail Use% Mounted on
:
:
/dev/mapper/vg0-lv0 971M 24K 904M 1% /export
:
:
$ lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
:
:
sdb LVM2_member LVM2 001 ******-****-****-****-****-****-******
└─vg0-lv0 ext4 1.0 ********-****-****-****-************ 903.7M 0% /export
:
:
サイズの拡張
- 論理ボリュームが存在するデバイスは サイズ
1G
の/dev/sdb
-
/dev/sdb
全体の物理ボリューム上に、ボリュームグループvg0
、論理ボリュームlv0
が存在する - ファイルシステムは、サイズ変更が可能な、ext4 を利用
-
/export
へマウントしている論理ボリュームを2G
へ拡張
拡張前の状態の確認
$ df -h
Filesystem Size Used Avail Use% Mounted on
:
:
/dev/mapper/vg0-lv0 971M 24K 904M 1% /export
:
:
$ lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
:
:
sdb LVM2_member LVM2 001 ******-****-****-****-****-****-******
└─vg0-lv0 ext4 1.0 ********-****-****-****-************ 903.7M 0% /export
:
:
論理ボリュームのマウント解除
$ sudo umount /dev/vg0/lv0
論理ボリュームのサイズの拡張
- 1G を 2G に拡張
$ sudo lvextend -l+100%FREE /dev/vg0/lv0
Size of logical volume vg0/lv0 changed from 1.00 GiB (256 extents) to <2.00 GiB (511 extents).
Logical volume vg0/lv0 successfully resized.
ファイルシステムのサイズの縮小
$ sudo e2fsck -f /dev/vg0/lv0
e2fsck 1.46.5 (30-Dec-2021)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vg0/lv0: 11/65408 files (0.0% non-contiguous), 13587/262144 blocks
$ sudo resize2fs /dev/vg0/lv0
resize2fs 1.46.5 (30-Dec-2021)
Resizing the filesystem on /dev/vg0/lv0 to 523264 (4k) blocks.
The filesystem on /dev/vg0/lv0 is now 523264 (4k) blocks long.
論理ボリュームの再マウント
$ sudo mount /dev/vg0/lv0 /export
拡張後の状態の確認
$ df -h
Filesystem Size Used Avail Use% Mounted on
:
:
/dev/mapper/vg0-lv0 2.0G 24K 1.9G 1% /export
:
:
$ lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
:
:
sdb LVM2_member LVM2 001 ******-****-****-****-****-****-******
└─vg0-lv0 ext4 1.0 ********-****-****-****-************ 1.8G 0% /export
:
:
物理ディスクを追加してサイズの拡張
- 既存の論理ボリュームが存在するデバイスは サイズ
2G
の/dev/sdb
- 追加するデバイスは サイズ
2G
の/dev/sdc
-
/dev/sdb
全体の物理ボリューム上に、ボリュームグループvg0
、論理ボリュームlv0
が存在する - ファイルシステムは、サイズ変更が可能な、ext4 を利用
-
/export
へマウントしている論理ボリュームを4G
へ拡張
拡張前の状態の確認
$ df -h
Filesystem Size Used Avail Use% Mounted on
:
:
/dev/mapper/vg0-lv0 2.0G 24K 1.9G 1% /export
:
:
$ lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
:
:
sdb LVM2_member LVM2 001 ******-****-****-****-****-****-******
└─vg0-lv0 ext4 1.0 ********-****-****-****-************ 1.8G 0% /export
sdc
:
:
論理ボリュームのマウント解除
$ sudo umount /dev/vg0/lv0
物理ボリュームの作成
$ sudo pvcreate /dev/sdc
Physical volume "/dev/sdc" successfully created.
$ sudo pvs
PV VG Fmt Attr PSize PFree
:
:
/dev/sdb vg0 lvm2 a-- <2.00g 0
/dev/sdc lvm2 --- 2.00g 2.00g
:
:
既存のボリュームグループに、物理ボリュームの追加
$ sudo vgextend /dev/vg0 /dev/sdc
Volume group "vg0" successfully extended
論理ボリュームの拡張
$ sudo lvextend -l+100%FREE /dev/vg0/lv0
Size of logical volume vg0/lv0 changed from <2.00 GiB (511 extents) to 3.99 GiB (1022 extents).
Logical volume vg0/lv0 successfully resized.
$ sudo lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
:
:
lv0 vg0 -wi-a----- 3.99g
:
:
ファイルシステムのサイズの拡張
$ sudo e2fsck -f /dev/vg0/lv0
e2fsck 1.46.5 (30-Dec-2021)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vg0/lv0: 13/130816 files (0.0% non-contiguous), 17950/523264 blocks
$ sudo resize2fs /dev/vg0/lv0
resize2fs 1.46.5 (30-Dec-2021)
Resizing the filesystem on /dev/vg0/lv0 to 1046528 (4k) blocks.
The filesystem on /dev/vg0/lv0 is now 1046528 (4k) blocks long.
論理ボリュームの再マウント
$ sudo mount /dev/vg0/lv0 /export
拡張後の状態の確認
$ df -h
Filesystem Size Used Avail Use% Mounted on
:
:
/dev/mapper/vg0-lv0 3.9G 24K 3.7G 1% /export
:
:
$ lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
:
:
sdb LVM2_member LVM2 001 ******-****-****-****-****-****-******
└─vg0-lv0 ext4 1.0 ********-****-****-****-************ 3.6G 0% /export
sdc LVM2_member LVM2 001 ******-****-****-****-****-****-******
└─vg0-lv0 ext4 1.0 ********-****-****-****-************ 3.6G 0% /export
:
:
物理ディスクを削除してサイズの縮小
- 既存の論理ボリュームが存在するデバイスは サイズ
2G
の/dev/sdb
と/dev/sdc
- 削除するデバイスは サイズ
2G
の/dev/sdc
-
/dev/sdb
とdev/sdc
全体の物理ボリューム上に、ボリュームグループvg0
、論理ボリュームlv0
が存在する - ファイルシステムは、サイズ変更が可能な、ext4 を利用
-
/export
へマウントしている論理ボリュームを2G
へ拡張
縮小前の状態の確認
$ df -h
Filesystem Size Used Avail Use% Mounted on
:
:
/dev/mapper/vg0-lv0 3.9G 24K 3.7G 1% /export
:
:
$ lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
:
:
sdb LVM2_member LVM2 001 ******-****-****-****-****-****-******
└─vg0-lv0 ext4 1.0 ********-****-****-****-************ 3.6G 0% /export
sdc LVM2_member LVM2 001 ******-****-****-****-****-****-******
└─vg0-lv0 ext4 1.0 ********-****-****-****-************ 3.6G 0% /export
:
:
論理ボリュームのマウント解除
$ sudo umount /dev/vg0/lv0
ファイルシステムのサイズの縮小
$ sudo e2fsck -f /dev/vg0/lv0
e2fsck 1.46.5 (30-Dec-2021)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vg0/lv0: 11/261632 files (0.0% non-contiguous), 36902/1046528 blocks
$ sudo resize2fs /dev/vg0/lv0 1G
resize2fs 1.46.5 (30-Dec-2021)
Resizing the filesystem on /dev/vg0/lv0 to 262144 (4k) blocks.
The filesystem on /dev/vg0/lv0 is now 262144 (4k) blocks long.
論理ボリュームの縮小
$ sudo lvreduce -L 1G /dev/vg0/lv0
WARNING: Reducing active logical volume to 1.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg0/lv0? [y/n]: y
Size of logical volume vg0/lv0 changed from 3.99 GiB (1022 extents) to 1.00 GiB (256 extents).
Logical volume vg0/lv0 successfully resized.
$ sudo lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
:
:
lv0 vg0 -wi-a----- 1.00g
:
:
既存のボリュームグループから、物理ボリュームの削除
$ sudo vgreduce /dev/vg0 /dev/sdc
Removed "/dev/sdc" from volume group "vg0"
物理ボリュームの削除
$ sudo pvremove /dev/sdc
Labels on physical volume "/dev/sdc" successfully wiped.
$ sudo pvs
PV VG Fmt Attr PSize PFree
:
:
/dev/sdb vg0 lvm2 a-- <2.00g 1020.00m
:
:
論理ボリュームの拡張
$ sudo lvextend -l+100%FREE /dev/vg0/lv0
Size of logical volume vg0/lv0 changed from 1.00 GiB (256 extents) to <2.00 GiB (511 extents).
Logical volume vg0/lv0 successfully resized.
$ sudo lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
:
:
lv0 vg0 -wi-a----- <2.00g
:
:
ファイルシステムのサイズの拡張
$ sudo e2fsck -f /dev/vg0/lv0
e2fsck 1.46.5 (30-Dec-2021)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vg0/lv0: 11/65408 files (0.0% non-contiguous), 23054/262144 blocks
$ sudo resize2fs /dev/vg0/lv0
resize2fs 1.46.5 (30-Dec-2021)
Resizing the filesystem on /dev/vg0/lv0 to 523264 (4k) blocks.
The filesystem on /dev/vg0/lv0 is now 523264 (4k) blocks long.
論理ボリュームの再マウント
$ sudo mount /dev/vg0/lv0 /export
拡張後の状態の確認
$ df -h
Filesystem Size Used Avail Use% Mounted on
:
:
/dev/mapper/vg0-lv0 1.9G 24K 1.8G 1% /export
:
:
$ lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
:
:
sdb LVM2_member LVM2 001 ******-****-****-****-****-****-******
└─vg0-lv0 ext4 1.0 ********-****-****-****-************ 1.8G 0% /export
:
:
さいごに
かんたんでしたね