CentOS LVMをSSMで100%容量拡張する

いつも便利なSSM。

(以前の記事) CentOS7でLVM管理 SSM (System Storage Manager) - かぼちゃ日記

Volumeの容量が足りなくなってきた場合、HDDを追加してLVMで容量拡張をします。

容量を追加するときにsizeオプションで追加するのですが+300Gとしてもサイズが大きすぎます!
と毎回怒られて+299G追加して+20M追加して・・・とちまちまやっていたのですがいい加減面倒なので全部使い切る方法を調べました。(man ssm しただけ・・・)

CentOS 8だと以前のように認識をさせないでも起動中に自動的に新しいHDDを認識しました。(偶然かも知れない)
Vmware仮想マシンにおいて再起動せずにHDDを追加する - かぼちゃ日記

あと、下の例は記録を取ってなかったので容量表示は適当です。(実際は299.98Gとか表示される)

HDDを追加した後、現状を確認(rootになるかsudoつけて実行してね)

$ssm list
----------------------------------------------------------------
Device        Free       Used      Total  Pool       Mount point
----------------------------------------------------------------
/dev/sda                        16.00 GB             PARTITIONED
/dev/sda1                      600.00 MB             /boot/efi
/dev/sda2                        1.00 GB             /boot
/dev/sda3  0.00 KB   14.41 GB   14.41 GB  cl_centos8
/dev/sdb   0.00 KB  300.00 GB  300.00 GB  datapool
/dev/sdc   0.00 KB  300.00 GB  300.00 GB  datapool    <= 追加されたHDD
----------------------------------------------------------------
---------------------------------------------------------
Pool       Type  Devices     Free       Used      Total
---------------------------------------------------------
cl_centos8  lvm   1        0.00 KB   14.41 GB   14.41 GB
datapool   lvm   2        0.00KB  300.00 GB  300.00 GB
---------------------------------------------------------
-----------------------------------------------------------------------------------------------
Volume               Pool       Volume size  FS      FS size       Free  Type    Mount point
-----------------------------------------------------------------------------------------------
/dev/cl_centos8/root  cl_centos8     12.81 GB  xfs    12.80 GB    4.77 GB  linear  /
/dev/cl_centos8/swap  cl_centos8      1.60 GB                              linear
/dev/datapool/data   datapool     300.00 GB  xfs   300.00 GB  63.51 GB  linear  /var/lib/mysql
/dev/sda1                         600.00 MB  vfat                        part    /boot/efi
/dev/sda2                           1.00 GB  ext4    1.00 GB  780.77 MB  part    /boot
-----------------------------------------------------------------------------------------------


HDDが追加されていることを確認したらPoolにHDDを追加します

$ssm add -p datapool /dev/sdc
$ssm list
----------------------------------------------------------------
Device        Free       Used      Total  Pool       Mount point
----------------------------------------------------------------
/dev/sda                        16.00 GB             PARTITIONED
/dev/sda1                      600.00 MB             /boot/efi
/dev/sda2                        1.00 GB             /boot
/dev/sda3  0.00 KB   14.41 GB   14.41 GB  cl_centos8
/dev/sdb   0.00 KB  300.00 GB  300.00 GB  datapool
/dev/sdc   0.00 KB  300.00 GB  300.00 GB  datapool
----------------------------------------------------------------
---------------------------------------------------------
Pool       Type  Devices     Free       Used      Total
---------------------------------------------------------
cl_centos8  lvm   1        0.00 KB   14.41 GB   14.41 GB
datapool   lvm   2        300.00GB  300.00 GB  600.00 GB   <= 使える容量が増えている
---------------------------------------------------------
-----------------------------------------------------------------------------------------------
Volume               Pool       Volume size  FS      FS size       Free  Type    Mount point
-----------------------------------------------------------------------------------------------
/dev/cl_centos8/root  cl_centos8     12.81 GB  xfs    12.80 GB    4.77 GB  linear  /
/dev/cl_centos8/swap  cl_centos8      1.60 GB                              linear
/dev/datapool/data   datapool     300.00 GB  xfs   300.00 GB  63.51 GB  linear  /var/lib/mysql
/dev/sda1                         600.00 MB  vfat                        part    /boot/efi
/dev/sda2                           1.00 GB  ext4    1.00 GB  780.77 MB  part    /boot
-----------------------------------------------------------------------------------------------


Poolの使える容量が増えていることを確認したらVolumeに容量を全部追加します

$ssm resize -s+100%USED /dev/datapool/data
$ssm list
----------------------------------------------------------------
Device        Free       Used      Total  Pool       Mount point
----------------------------------------------------------------
/dev/sda                        16.00 GB             PARTITIONED
/dev/sda1                      600.00 MB             /boot/efi
/dev/sda2                        1.00 GB             /boot
/dev/sda3  0.00 KB   14.41 GB   14.41 GB  cl_db1-11
/dev/sdb   0.00 KB  300.00 GB  300.00 GB  datapool
/dev/sdc   0.00 KB  300.00 GB  300.00 GB  datapool
----------------------------------------------------------------
---------------------------------------------------------
Pool       Type  Devices     Free       Used      Total
---------------------------------------------------------
cl_centos8  lvm   1        0.00 KB   14.41 GB   14.41 GB
datapool   lvm   2        0.00 KB  599.99 GB  599.99 GB
---------------------------------------------------------
-----------------------------------------------------------------------------------------------
Volume               Pool       Volume size  FS      FS size       Free  Type    Mount point
-----------------------------------------------------------------------------------------------
/dev/cl_centos8/root  cl_centos8     12.81 GB  xfs    12.80 GB    4.77 GB  linear  /
/dev/cl_centos8/swap  cl_centos8      1.60 GB                              linear
/dev/datapool/data   datapool     599.99 GB  xfs   599.85 GB  363.51 GB  linear  /var/lib/mysql
/dev/sda1                         600.00 MB  vfat                        part    /boot/efi
/dev/sda2                           1.00 GB  ext4    1.00 GB  780.77 MB  part    /boot
-----------------------------------------------------------------------------------------------


これで容量が追加されました。

resizeの-sオプションには、下記が使えます(この備忘録はこれが言いたかっただけ)
-s100G //容量を100Gにする
-s+100G //容量を100G増やす
-s-100G //容量を100G減らす(いろいろ制限有り)
-s+80%USED //容量を80%使う
-s+20%FREE //容量を20%残す

もう-s+100%USEDしか使わないと思う。