Hyper-V上のLVMボリュームを空き領域まで広げる

Hyper-Vで論理ボリュームのサイズが、仮想ディスクの半分しかないということがあります。Hyper-Vの仮想マシン上にUbuntuサーバーをインストールしたのですが、ルートボリュームが半分しかないということに気が付きました。仮想ディスクを作るときに指定したサイズは256GBなのですが、Ubuntu Serverのウィザードに任せておいたら128GBだけ使われている状態になっていました。

現在の状態の確認

dfを使ってマシンの現在の状態を確認します。

$ df -h
Filesystem                         Size  Used Avail Use% Mounted on
udev                               3.9G     0  3.9G   0% /dev
tmpfs                              791M  1.1M  790M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv  125G   11G  109G   9% /
tmpfs                              3.9G     0  3.9G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
tmpfs                              3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/loop1                          62M   62M     0 100% /snap/core20/1242
/dev/loop2                          56M   56M     0 100% /snap/core18/2246
/dev/loop7                          62M   62M     0 100% /snap/core20/1270
/dev/loop4                          43M   43M     0 100% /snap/snapd/14066
/dev/loop5                          44M   44M     0 100% /snap/snapd/14295
/dev/loop6                          68M   68M     0 100% /snap/lxd/21835
/dev/loop3                          68M   68M     0 100% /snap/lxd/21803
/dev/loop0                          56M   56M     0 100% /snap/core18/2253
/dev/sda2                          976M  204M  706M  23% /boot
/dev/sda1                          511M  5.3M  506M   2% /boot/efi
tmpfs                              791M     0  791M   0% /run/user/1000

ルートボリュームのサイズは125GBです。

空き領域を埋める

LVMの論理ボリュームを拡張するには、論理ボリュームへのパスが必要になります。パスを調べるためlvdisplayを使用します。

$ sudo lvdisplay
  --- Logical volume ---
  LV Path                /dev/ubuntu-vg/ubuntu-lv
  LV Name                ubuntu-lv
  VG Name                ubuntu-vg
  LV UUID                jOhKhn-FPg7-ZtyK-tK10-fF2g-pPUL-Vt4Yaa
  LV Write Access        read/write
  LV Creation host, time ubuntu-server, 2021-05-27 03:29:41 +0000
  LV Status              available
  # open                 1
  LV Size                127.25 GiB
  Current LE             32576
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

lvdisplayは論理ボリュームの情報を出力します。出力された情報からパスは/dev/ubuntu-vg/ubuntu-lvであることが分かります。

論理ボリュームを拡張するには lvextend を使用します。

$ sudo lvextend -l+100%FREE /dev/ubuntu-vg/ubuntu-lv
  Size of logical volume ubuntu-vg/ubuntu-lv changed from 127.25 GiB (32576 extents) to <254.50 GiB (65151 extents).
  Logical volume ubuntu-vg/ubuntu-lv successfully resized.

コマンドライン引数の先頭で拡張する容量を指定します。-l+100%FREEは空き領域を全て使うという意味です。2番目の引数にはパスを指定します。

次に実際のファイルシステムに変更を反映するため、resize2fsを使用します。

$ sudo resize2fs /dev/ubuntu-vg/ubuntu-lv

resize2fs 1.45.5 (07-Jan-2020)
Filesystem at /dev/ubuntu-vg/ubuntu-lv is mounted on /; on-line resizing required
old_desc_blocks = 16, new_desc_blocks = 32
The filesystem on /dev/ubuntu-vg/ubuntu-lv is now 66714624 (4k) blocks long.

resize2fsは少し時間がかかることがあります。

成功したかどうかdfを使って確認します。

$ df -h
Filesystem                         Size  Used Avail Use% Mounted on
udev                               3.9G     0  3.9G   0% /dev
tmpfs                              791M  1.1M  790M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv  251G   11G  229G   5% /
tmpfs                              3.9G     0  3.9G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
tmpfs                              3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/loop1                          62M   62M     0 100% /snap/core20/1242
/dev/loop2                          56M   56M     0 100% /snap/core18/2246
/dev/loop7                          62M   62M     0 100% /snap/core20/1270
/dev/loop4                          43M   43M     0 100% /snap/snapd/14066
/dev/loop5                          44M   44M     0 100% /snap/snapd/14295
/dev/loop6                          68M   68M     0 100% /snap/lxd/21835
/dev/loop3                          68M   68M     0 100% /snap/lxd/21803
/dev/loop0                          56M   56M     0 100% /snap/core18/2253
/dev/sda2                          976M  204M  706M  23% /boot
/dev/sda1                          511M  5.3M  506M   2% /boot/efi
tmpfs                              791M     0  791M   0% /run/user/1000

成功しました。ルートボリュームの容量は251GBになりました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

林 晃のアバター 林 晃 代表・ソフトウェアエンジニア

アールケー開発代表。Appleプラットフォーム向けのアプリ開発が好きなアプリ開発者。アプリの受託開発、技術書執筆、技術指導・セミナー講師。3DCGコンテンツ作成にも取組中です。

目次