LoginSignup
0
0

【2023年06月版】物理ボリューム・ボリュームグループ・論理ボリューム操作メモ

Last updated at Posted at 2023-06-13

はじめに

物理ボリューム・ボリュームグループ・論理ボリュームの操作忘れがち
メモ

  • 環境は 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/sdbdev/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
  :
  :

さいごに

かんたんでしたね

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0