writeup — 再起動せずにUbuntuのディスクを拡張する
この記事は英語の原文から機械翻訳されたものです。誤りが含まれている可能性があります。

稼働時間が重要な場合、Ubuntuを動かしたままディスクを拡張できると非常に便利です。

このガイドでは2つのケースを扱います。LVM(ボリュームグループ)を使うディスクと、LVMを使わない素のext4パーティションです。どちらの場合もファイルシステムはEXT4を前提とし、ディスク自体への容量追加(ハイパーバイザー側での拡張など)はすでに済んでいるものとします。

LVMあり(ボリュームグループ)

LVMが新しい容量を使えるようにするには、まずパーティションと物理ボリュームにその存在を認識させる必要があります。

パーティションを確認する:

fdisk -l

Disk /dev/vda: 10.86 TiB, 11940009082880 bytes, 23320330240 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt

Device       Start         End     Sectors  Size Type
/dev/vda1     2048        4095        2048    1M BIOS boot
/dev/vda2     4096     2101247     2097152    1G Linux filesystem
/dev/vda3  2101248 19025360895 19023259648  8.9T Linux filesystem


Disk /dev/mapper/ubuntu--vg-ubuntu--lv: 8.86 TiB, 9739907891200 bytes, 19023257600 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

拡張したい対象のパーティションは /dev/vda3 です。

まずパーティションを拡張し、その上の物理ボリューム(PV)を拡張します:

sudo growpart /dev/vda 3
# CHANGED: partition=3 start=2101248 old: size=19023259648 end=19025360896 new: size=23318228959 end=23320330207

sudo pvresize /dev/vda3
# Physical volume "/dev/vda3" changed
# 1 physical volume(s) resized or updated / 0 physical volume(s) not resized

次に論理ボリュームを拡張し、ファイルシステムをリサイズします:

sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

これで完了です。再起動は不要です。

LVMなし(素のext4)

ディスクにLVMがなく、パーティションが直接ext4でフォーマットされているだけの場合は、手順はもっと簡単です。次のような構成は、LVMなしで用意されたVMでよく見られます:

Device       Start        End    Sectors   Size Type
/dev/sda1     2048    2203647    2201600     1G EFI System
/dev/sda2  2203648 1048575966 1046372319 498.9G Linux filesystem

ハイパーバイザーでディスクを拡張したら、カーネルが新しいサイズを認識できるようにSCSIバスを再スキャンします:

echo 1 > /sys/class/block/sda/device/rescan

カーネルが拡張後のディスクを認識しているか確認します:

fdisk -l /dev/sda

パーティションを拡張し、続けてファイルシステムを直接リサイズします:

sudo growpart /dev/sda 2
sudo resize2fs /dev/sda2

resize2fs はマウント済みのext4ファイルシステムのオンラインリサイズに対応しているため、アンマウントも再起動も不要です。結果を確認します:

df -h /

これで完了です。再起動は不要です。

← Back
Comments
×