LVM(Logical volumeの操作)

やりたいこと~論理ボリュームの操作に慣れる~

今回はLVMの、Logical volumeをいじってみます。
やること。まずは(CentOS7インストール時に)50GiBディスクを下記のようにパーティションを切ります。

/boot standerd 250MiB
/ LVM 10GiB
/data LVM 39.75GiB

これで50GiBを目いっぱい使いきりました。
このあと/dataをつぶし、
/data1, /data2, /data3に分割します。それぞれ10GiB。
余った9.75GiBのうち、2GiBをSwapに回し、残り7.75GiBは温存する、というシナリオ。
LVMならではの拡張性を味わっていきます。
ではやっていきます。

作業記録

df -h
-----
Filesystem                               Size  Used Avail Use% Mounted on
devtmpfs                                 483M     0  483M   0% /dev
tmpfs                                    496M     0  496M   0% /dev/shm
tmpfs                                    496M  6.7M  489M   2% /run
tmpfs                                    496M     0  496M   0% /sys/fs/cgroup
/dev/mapper/centos_ik1--425--44556-root   10G  1.6G  8.5G  16% /
/dev/mapper/centos_ik1--425--44556-data   40G   33M   40G   1% /data
/dev/vda1                                247M  120M  127M  49% /boot
tmpfs                                    100M     0  100M   0% /run/user/0
-----

・ブロックデバイスを一覧表示
lsblk
-----
NAME                            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0                              11:0    1 1024M  0 rom  
vda                             252:0    0   50G  0 disk 
├─vda1                          252:1    0  250M  0 part /boot
└─vda2                          252:2    0 49.8G  0 part 
  ├─centos_ik1--425--44556-root 253:0    0   10G  0 lvm  /
  └─centos_ik1--425--44556-data 253:1    0 39.8G  0 lvm  /data
-----

・物理ボリューム情報
pvdisplay
-----
  --- Physical volume ---
  PV Name               /dev/vda2
  VG Name               centos_ik1-425-44556
  PV Size               49.75 GiB / not usable 0   
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              12737
  Free PE               1
  Allocated PE          12736
  PV UUID               jHbSgp-Cqt2-T1j7-lMbs-TDVd-BEBO-RjPmoJ
-----

・ボリュームグループ情報
vgdisplay
-----
  --- Volume group ---
  VG Name               centos_ik1-425-44556
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               49.75 GiB
  PE Size               4.00 MiB
  Total PE              12737
  Alloc PE / Size       12736 / 49.75 GiB
  Free  PE / Size       1 / 4.00 MiB
  VG UUID               Z5Ds2v-2mDS-j9K7-99VS-pLju-FgdH-cUBAyz
-----

・論理ボリューム情報
lvdisplay
-----
  --- Logical volume ---
  LV Path                /dev/centos_ik1-425-44556/root
  LV Name                root
  VG Name                centos_ik1-425-44556
  LV UUID                lyCoG2-woS4-DcuA-rvIx-p0Dw-DmBD-0Q4A7C
  LV Write Access        read/write
  LV Creation host, time ik1-425-44556.vs.sakura.ne.jp, 2020-08-16 22:40:44 +0900
  LV Status              available
  # open                 1
  LV Size                10.00 GiB
  Current LE             2560
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
   
  --- Logical volume ---
  LV Path                /dev/centos_ik1-425-44556/data
  LV Name                data
  VG Name                centos_ik1-425-44556
  LV UUID                0E6AWc-VPKc-ew3x-nJbb-qIo0-foIP-HfxqAY
  LV Write Access        read/write
  LV Creation host, time ik1-425-44556.vs.sakura.ne.jp, 2020-08-16 22:40:45 +0900
  LV Status              available
  # open                 1
  LV Size                39.75 GiB
  Current LE             10176
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1
-----

・論理ボリューム情報
lvs
-----
  LV   VG                   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  data centos_ik1-425-44556 -wi-ao---- 39.75g                                                    
  root centos_ik1-425-44556 -wi-ao---- 10.00g  
-----

・論理ボリュームを削除する為、アンマウント
umount /data

・論理ボリューム(/data)削除
lvremove /dev/centos_ik1-425-44556/data
-----
Do you really want to remove active logical volume centos_ik1-425-44556/data? [y/n]: y
  Logical volume "data" successfully removed
-----

lvdisplay
-----
  --- Logical volume ---
  LV Path                /dev/centos_ik1-425-44556/root
  LV Name                root
  VG Name                centos_ik1-425-44556
  LV UUID                lyCoG2-woS4-DcuA-rvIx-p0Dw-DmBD-0Q4A7C
  LV Write Access        read/write
  LV Creation host, time ik1-425-44556.vs.sakura.ne.jp, 2020-08-16 22:40:44 +0900
  LV Status              available
  # open                 1
  LV Size                10.00 GiB
  Current LE             2560
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
-----

lsblk
-----
NAME                            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0                              11:0    1 1024M  0 rom  
vda                             252:0    0   50G  0 disk 
├─vda1                          252:1    0  250M  0 part /boot
└─vda2                          252:2    0 49.8G  0 part 
  └─centos_ik1--425--44556-root 253:0    0   10G  0 lvm  /
-----

・論理ボリューム(data1, data2, data3)作成
lvcreate -n data1 -L 10G centos_ik1-425-44556
lvcreate -n data2 -L 10G centos_ik1-425-44556
lvcreate -n data3 -L 10G centos_ik1-425-44556

・マウント用のディレクトリ準備
mkdir /data1
mkdir /data2
mkdir /data3

・ファイルシステム作成
sudo mkfs.xfs /dev/centos_ik1-425-44556/data1
-----
meta-data=/dev/centos_ik1-425-44556/data1 isize=512    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=2621440, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
-----

sudo mkfs.xfs /dev/centos_ik1-425-44556/data2
-----
meta-data=/dev/centos_ik1-425-44556/data2 isize=512    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=2621440, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
sudo mkfs.xfs /dev/centos_ik1-425-44556/data3
meta-data=/dev/centos_ik1-425-44556/data3 isize=512    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=2621440, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
-----

・論理ボリュームをマウント
mount /dev/centos_ik1-425-44556/data1 /data1
mount /dev/centos_ik1-425-44556/data2 /data2
mount /dev/centos_ik1-425-44556/data3 /data3

・確認
df -h
-----
Filesystem                                Size  Used Avail Use% Mounted on
devtmpfs                                  483M     0  483M   0% /dev
tmpfs                                     496M     0  496M   0% /dev/shm
tmpfs                                     496M  6.8M  489M   2% /run
tmpfs                                     496M     0  496M   0% /sys/fs/cgroup
/dev/mapper/centos_ik1--425--44556-root    10G  1.6G  8.5G  16% /
/dev/vda1                                 247M  120M  127M  49% /boot
tmpfs                                     100M     0  100M   0% /run/user/0
/dev/mapper/centos_ik1--425--44556-data1   10G   33M   10G   1% /data1
/dev/mapper/centos_ik1--425--44556-data2   10G   33M   10G   1% /data2
/dev/mapper/centos_ik1--425--44556-data3   10G   33M   10G   1% /data3
-----

vi /etc/fstab 
-----
#
# /etc/fstab
# Created by anaconda on Sun Aug 16 22:40:45 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos_ik1--425--44556-root /                       xfs     defaults        0 0
UUID=61d123e3-2f02-4f37-b20a-92170aa3a539 /boot                   xfs     defaults        0 0
#/dev/mapper/centos_ik1--425--44556-data /data                   xfs     defaults        0 0
/dev/mapper/centos_ik1--425--44556-data1 /data1                   xfs     defaults        0 0
/dev/mapper/centos_ik1--425--44556-data2 /data2                   xfs     defaults        0 0
/dev/mapper/centos_ik1--425--44556-data3 /data3                   xfs     defaults        0 0
-----

・残容量は9.75G(想定通り)
vgs -o +vg_free_count,vg_extent_count
-----
  VG                   #PV #LV #SN Attr   VSize  VFree Free #Ext 
  centos_ik1-425-44556   1   4   0 wz--n- 49.75g 9.75g 2497 12737
-----

https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/storage_administration_guide/swap-creating-lvm2

・swap用論理ボリューム作成
lvcreate centos_ik1-425-44556 -n swap -L 2G
mkswap /dev/centos_ik1-425-44556/swap
/dev/centos_ik1-425-44556/swap swap swap defaults 0 0
swapon -v /dev/centos_ik1-425-44556/swap

swapon -v /dev/centos_ik1-425-44556/swap
swapon /dev/centos_ik1-425-44556/swap
swapon: /dev/mapper/centos_ik1--425--44556-swap: found swap signature: version 1, page-size 4, same byte order
swapon: /dev/mapper/centos_ik1--425--44556-swap: pagesize=4096, swapsize=2147483648, devsize=2147483648

lsblk
-----
NAME                             MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0                               11:0    1 1024M  0 rom  
vda                              252:0    0   50G  0 disk 
├─vda1                           252:1    0  250M  0 part /boot
└─vda2                           252:2    0 49.8G  0 part 
  ├─centos_ik1--425--44556-root  253:0    0   10G  0 lvm  /
  ├─centos_ik1--425--44556-data1 253:1    0   10G  0 lvm  /data1
  ├─centos_ik1--425--44556-data2 253:2    0   10G  0 lvm  /data2
  ├─centos_ik1--425--44556-data3 253:3    0   10G  0 lvm  /data3
  └─centos_ik1--425--44556-swap  253:4    0    2G  0 lvm  [SWAP]
-----

lvs
-----
  LV    VG                   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  data1 centos_ik1-425-44556 -wi-ao---- 10.00g                                                    
  data2 centos_ik1-425-44556 -wi-ao---- 10.00g                                                    
  data3 centos_ik1-425-44556 -wi-ao---- 10.00g                                                    
  root  centos_ik1-425-44556 -wi-ao---- 10.00g                                                    
  swap  centos_ik1-425-44556 -wi-ao----  2.00g                                                    
-----

vgs -o +vg_free_count,vg_extent_count
-----
  VG                   #PV #LV #SN Attr   VSize  VFree Free #Ext 
  centos_ik1-425-44556   1   5   0 wz--n- 49.75g 7.75g 1985 12737
-----