takashi kono's blog

コーヒーとキーボードと共に何かを記録していくブログ

LVM に disk を追加する備忘録 [ext4]

目的

Ubuntu Server 22.04 で LVM に Disk を追加する備忘録

条件

  • /dev/sdb を追加する
  • VG名は ubuntu-vg
  • LV 名は ubuntu-lv

流れ

  1. 各種確認
  2. PV 作成
  3. VG 拡張 (既存 VG に 作成した PV を追加)
  4. LV 拡張
  5. 各種確認

コマンドのみ欲しい人用

# 確認
sudo fdisk -l
sudo lsblk
dh -hT
# 変数作成して拡張
_pv='/dev/sdb' # 追加するデバイスの PATH
_lv='/dev/ubuntu-vg/ubuntu-lv' # 拡張したい LV の PATH
sudo pvcreate  ${_pv}
sudo vgextend ubuntu-vg ${_pv}
sudo lvextend --resizefs --extents +100%FREE ${_lv}
# 確認
sudo fdisk -l
sudo lsblk
dh -hT

各種確認

df -hT
df -hT --type=ext4 # 拡張したい LV が  ext4 の場合
sudo lsblk
sudo lsblk /dev/sd*

# 追加したディスクを確認する
sudo fdisk -l
# 例
.. 省略
Disk /dev/sdb: 30 GiB, 32212254720 bytes, 62914560 sectors
.. 省略

/dev/sdb を PV にする

sudo pvcreate  /dev/sdb
# 確認 (どれかでいい)
sudo pvs # 簡易表示
sudo pvdisplay # 詳細表示 (全 PV を表示する)
sudo pvdisplay /dev/sdb # 詳細表示 (/dev/sdb のみを表示する)

既存の VG に /dev/sdb PV を追加する

sudo vgextend ubuntu-vg /dev/sdb
# 確認 (どれかでいい)
sudo vgdisplay -v ubuntu-vg
sudo pvdisplay /dev/sdb
sudo pvs

既存の LV を拡張する

FREE の領域を 100% 拡張し、全て使用する設定にする

# -l (--extents) オプションで増やす論理ボリュームのサイズに応じて
# エクステントの数を指定できる
# --resizefs でファイルシステムも含めて拡張してくれる
sudo lvextend --resizefs --extents +100%FREE /dev/ubuntu-vg/ubuntu-lv

sample output

$ sudo lvextend --resizefs --extents +100%FREE /dev/ubuntu-vg/ubuntu-lv
  Size of logical volume ubuntu-vg/ubuntu-lv changed from <18.50 GiB (4735 extents) to 48.49 GiB (12414 extents).
  Logical volume ubuntu-vg/ubuntu-lv successfully resized.
resize2fs 1.46.5 (30-Dec-2021)
Filesystem at /dev/mapper/ubuntu--vg-ubuntu--lv is mounted on /; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 7
The filesystem on /dev/mapper/ubuntu--vg-ubuntu--lv is now 12711936 (4k) blocks long.

$

確認

sudo lsblk /dev/sd[ab]
df -hT --type=ext4
sudo lvdisplay
# 以下は任意
sudo lvs
sudo vgs # VFree が 0 になっていること
sudo pvs # PFree が 0 になっていること

感想

lvextend --resizefs が個人的にとてもうれしい。ファイルシステムの拡張の手間が減った