Ubuntu 20.04を仮想環境で動かしているのだが、システム領域のディスク容量はデフォルトの16GBで運用していた。しかし、Linuxとはいえ、各種GUIのソフトウェアをインストールすることで、残り容量が心もとなくなってきた。
そこで、ディスク容量を拡張をすることにしたのだが、UbuntuではRHEL系のLinuxとはパーティションの切り方が異なっており、手順にも差異があった。Ubuntuにおけるディスク容量の拡張手順を本記事にて記載することにする。
環境
- Ubuntu 20.04 LTS
ディスク容量拡張手順
UbuntuはRHEL系のLinuxとは異なり、LVMが使用されていない。以下、df
コマンドの結果となるが、マウントポイント「/」には「/dev/sda5」が直接マウントされていることがわかる(★箇所)。今回は、この領域を16GBから18GBに拡張することにする。
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 1.9G 0 1.9G 0% /dev
tmpfs 394M 1.8M 392M 1% /run
/dev/sda5 16G 10G 4.5G 70% / ★
tmpfs 2.0G 274M 1.7G 14% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/loop1 55M 55M 0 100% /snap/core18/1754
/dev/loop0 243M 243M 0 100% /snap/gnome-3-34-1804/27
/dev/loop2 63M 63M 0 100% /snap/gtk-common-themes/1506
/dev/loop3 50M 50M 0 100% /snap/snap-store/433
/dev/loop4 28M 28M 0 100% /snap/snapd/7264
/dev/sda1 511M 4.0K 511M 1% /boot/efi
tmpfs 394M 36K 394M 1% /run/user/125
tmpfs 394M 48K 394M 1% /run/user/1000
1. 拡張したディスクを認識
仮想ディスクを拡張しても容量を自動認識しなかったため、拡張したディスクをコマンドにて認識させる。コマンド自体はRHEL系のLinuxと同様のコマンドとなるが、Ubuntuでは、原則sudo
を使って実行する必要があるため、sudo sh -c <command>
といった形で実行する。このように実行しないと、リダイレクトやパイプを含むコマンドが正常に実行できない。
$ sudo sh -c "echo 1 > /sys/class/block/sda/device/rescan"
2. パーティションを拡張
パーティションの拡張はparted
コマンドで行う。
Ubuntu 20.04では、2番目のパーティションが拡張パーティション (extended) となっており、5番目のパーティションが論理パーティション (logical) として作成されている。
$ sudo parted /dev/sda
GNU Parted 3.3
/dev/sda を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) p free
モデル: VMware Virtual disk (scsi)
ディスク /dev/sda: 19.3GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos
ディスクフラグ:
番号 開始 終了 サイズ タイプ ファイルシステム フラグ
1024B 1049kB 1048kB 空き容量
1 1049kB 538MB 537MB primary fat32 boot
538MB 539MB 1048kB 空き容量
2 539MB 17.2GB 16.6GB extended
5 539MB 17.2GB 16.6GB logical ext4
17.2GB 19.3GB 2149MB 空き容量
まずは、拡張パーティションから拡張する。「使用中です。それでも実行しますか?」というメッセージが表示されるが、パーティションの拡張はオンラインで実行可能であるため、「y」を選択し続行すれば問題ない。
(parted) resizepart 2
警告: パーティション /dev/sda2 は使用中です。それでも実行しますか?
はい(Y)/Yes/いいえ(N)/No? y
終了? [17.2GB]? 100%
(parted) p free
モデル: VMware Virtual disk (scsi)
ディスク /dev/sda: 19.3GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos
ディスクフラグ:
番号 開始 終了 サイズ タイプ ファイルシステム フラグ
1024B 1049kB 1048kB 空き容量
1 1049kB 538MB 537MB primary fat32 boot
538MB 539MB 1048kB 空き容量
2 539MB 19.3GB 18.8GB extended
5 539MB 17.2GB 16.6GB logical ext4
17.2GB 19.3GB 2149MB 空き容量
拡張パーティションの容量が拡張された後、論理パーティションを拡張する。
(parted) resizepart 5
警告: パーティション /dev/sda5 は使用中です。それでも実行しますか?
はい(Y)/Yes/いいえ(N)/No? y
終了? [17.2GB]? 100%
(parted) p free
モデル: VMware Virtual disk (scsi)
ディスク /dev/sda: 19.3GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos
ディスクフラグ:
番号 開始 終了 サイズ タイプ ファイルシステム フラグ
1024B 1049kB 1048kB 空き容量
1 1049kB 538MB 537MB primary fat32 boot
538MB 539MB 1048kB 空き容量
2 539MB 19.3GB 18.8GB extended
5 539MB 19.3GB 18.8GB logical ext4
以上でパーティション拡張が完了となるので、parted
コマンドを終了する。
(parted) q
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。
3. ファイルシステムを拡張
Ubuntu 20.04のファイルシステムはext4を使用しているので、resize2fs
を使って拡張する。拡張する対象は、論理パーティションの「/dev/sda5」となる。
$ sudo resize2fs /dev/sda5
resize2fs 1.45.5 (07-Jan-2020)
Filesystem at /dev/sda5 is mounted on /; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 3
The filesystem on /dev/sda5 is now 4587008 (4k) blocks long.
4. 拡張後の確認
最後にdf
コマンドで確認すると、★箇所の「/dev/sda5」の容量が16GBから18GBに拡張されていることがわかる。
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 1.9G 0 1.9G 0% /dev
tmpfs 394M 1.8M 392M 1% /run
/dev/sda5 18G 10G 6.4G 62% / ★
tmpfs 2.0G 222M 1.8G 12% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/loop1 55M 55M 0 100% /snap/core18/1754
/dev/loop0 243M 243M 0 100% /snap/gnome-3-34-1804/27
/dev/loop2 63M 63M 0 100% /snap/gtk-common-themes/1506
/dev/loop3 50M 50M 0 100% /snap/snap-store/433
/dev/loop4 28M 28M 0 100% /snap/snapd/7264
/dev/sda1 511M 4.0K 511M 1% /boot/efi
tmpfs 394M 36K 394M 1% /run/user/125
tmpfs 394M 48K 394M 1% /run/user/1000
以上で、Ubuntu 20.04におけるディスク容量の拡張作業は完了となる。
【注意事項】「エラー: 重なりのあるパーティションは持てません。」のエラーについて
拡張パーティションの前に論理パーティションを拡張しようとすると、「エラー: 重なりのあるパーティションは持てません。」と表示され失敗する。手順で説明したとおり、必ず拡張パーティションを拡張してから論理パーティションを拡張するようにしよう。
$ sudo parted /dev//sda
GNU Parted 3.3
/dev/sda を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) p free
モデル: VMware Virtual disk (scsi)
ディスク /dev/sda: 19.3GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos
ディスクフラグ:
番号 開始 終了 サイズ タイプ ファイルシステム フラグ
1024B 1049kB 1048kB 空き容量
1 1049kB 538MB 537MB primary fat32 boot
538MB 539MB 1048kB 空き容量
2 539MB 17.2GB 16.6GB extended
5 539MB 17.2GB 16.6GB logical ext4
17.2GB 19.3GB 2149MB 空き容量
(parted) resizepart 5
警告: パーティション /dev/sda5 は使用中です。それでも実行しますか?
はい(Y)/Yes/いいえ(N)/No? y
終了? [17.2GB]? 100%
エラー: 重なりのあるパーティションは持てません。
有用な情報、ありがとうございます。
返信削除非常に分かりやすく、参考にさせていただきました。
返信削除ありがとうございました。
お役に立ててよかったです!
削除Gpartedが使用できない状態だったので、非常に助かりました。
返信削除お役に立てて良かったです!
削除とても的確な操作例でしたので、確実にできました。とても助かりました。
返信削除お役に立ててよかったです!
削除困っていた時にこのページのおかげで問題解決できました。良い情報、ありがとうございました。
返信削除お役に立ててよかったです!
削除ありがとうございます。しかし問題があります。作業完了し、p free で確認すると拡張されているのですが、df -h の結果に反映されず、ディスク容量エラーが止まりません。どこを確認したらよいでしょうか?
返信削除困ったいた時にこのページのおかげで解決出来ました。有難うご座いました。
返信削除