まっさらなATDEの仮想ディスクには20GB以上の空き領域がありますが、Debianパッケージを追加したり開発コンポーネントや作業ファイルが増えていくにつれて不足することがあります。実際のハードディスクに余裕がある場合は、ATDEのディスクを増設して解決できます。
動作確認に使用した環境
VirtualBox | Oracle VM VirtualBox 7.0.18 |
---|---|
ATDE | ATDE9(atde9-amd64-20240925.ova)、ATDE10(atde10-amd64-20241030.ova) |
手順を誤った場合、ATDEを起動できなくなる可能性があります。ご使用中のATDEに適用する場合、必ずバックアップやスナップショットを取ってから作業を行ってください。
作業の前に
標準でATDEに割り当てられている32GiBのディスクのサイズを変更すると、ATDEを起動できなくなる場合があります。 このため、割り当てられているディスクのサイズを変更するのではなく、新たにディスクを割り当てるという方法でディスク容量を大きくします。 ここでは、64GiBのディスクを新たに割り当てる(計96GiB)ものとして説明します。
ATDEのディスクは、Logical Volume Manager(LVM)というものを使って構築されています。目的は単純ですが、このLVMのために実際の作業はやや面倒です。以下のような流れで手順を追っていきます。
1. VirtualBoxでディスクを新たに割り当てる
まず、VirtualBoxがATDEに割り当てているディスクを新たに追加します。
- Oracle VM VirtualBox マネージャーで目的のATDEを選択し、パワーオフになっていることを確認する。
- [設定]-[ストレージ]-[コントローラー: SATA]から[ハードディスクの追加]を選択する。
- ハードディスク選択のダイアログで[作成]をクリックする。
- [VMDK (Virtual Machine Disk)]を選択して[次へ]をクリックする。
- 「ファイルの場所とサイズ」で、所望のサイズ(ここでは64.00 GB)を指定して[完了]をクリックする。
- 新たに作成したディスクを[選択]して[OK]をクリックする。
2. 追加したディスクをボリュームグループに登録する
ここからはATDE上からの操作になります。ATDEを起動してログインし、ターミナルを開いてください。
新たにディスク(/dev/sdb
)が追加されていることを確認します。
[ATDE ~]$ ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2 /dev/sda5 /dev/sdb
[ATDE ~]$ sudo fdisk -l /dev/sdb
Disk /dev/sdb: 64 GiB, 68719476736 bytes, 134217728 sectors
Disk model: VBOX HARDDISK
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/sdb
のサイズが64GiBとして認識されています。
初めからあった/dev/sda5
が属するボリュームグループ名(下記出力のVG
に記載されています)を確認します。ここではatde9-vg
になります。
[ATDE ~]$ sudo pvs
PV VG Fmt Attr PSize PFree
/dev/sda5 atde9-vg lvm2 a-- <31.52g 44.00m
先ほど新たに作成したディスク(/dev/sdb
)を、同じボリュームグループatde9-vg
に登録します。
[ATDE ~]$ sudo vgextend atde9-vg /dev/sdb
Physical volume "/dev/sdb" successfully created.
Volume group "atde9-vg" successfully extended
このボリュームグループの中に/dev/sdb
が追加されたことを確認します。
[ATDE ~]$ sudo pvs
PV VG Fmt Attr PSize PFree
/dev/sda5 atde9-vg lvm2 a-- <31.52g 44.00m
/dev/sdb atde9-vg lvm2 a-- <64.00g <64.00g
3. 論理ボリュームに割り当てる物理拡張領域を増やす
現在の論理ボリュームの状態を表示します。
[ATDE ~]$ sudo lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root atde9-vg -wi-ao---- 30.52g
swap_1 atde9-vg -wi-ao---- 976.00m
root atde9-vg
と表示された30.52GiBが、今までルートファイルシステムが使用していたディスクサイズです。
現在のボリュームグループを表示します。
[ATDE ~]$ sudo vgs
VG #PV #LV #SN Attr VSize VFree
atde9-vg 2 2 0 wz--n- <95.52g <64.04g
VFree
として表示された約64GiBが、先ほどまでの手順で追加したディスクサイズになります。この追加分すべてを、/dev/atde9-vg/root
に割り当てます。
[ATDE ~]$ sudo lvresize -L +64GiB /dev/atde9-vg/root
Size of logical volume atde9-vg/root changed from 30.52 GiB (7814 extents) to 94.52 GiB (24198 extents).
Logical volume atde9-vg/root successfully resized.
再び論理ボリュームの状態を表示します。
[ATDE ~]$ sudo lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root atde9-vg -wi-ao---- 94.52g
swap_1 atde9-vg -wi-ao---- 976.00m
root atde9-vg
への割り当てが、94.52GiBに増えたことがわかります。
4. ルートファイルシステムの容量を増やす
最後に、LVMで追加したディスク増量分を使って、ルートファイルシステムの容量を増やします。resize2fsコマンドを実行するだけで、新たなディスク容量に合わせて自動的にサイズ変更されます。
[ATDE ~]$ sudo resize2fs /dev/atde9-vg/root
resize2fs 1.46.2 (28-Feb-2021)
Filesystem at /dev/atde9-vg/root is mounted on /; on-line resizing required
old_desc_blocks = 4, new_desc_blocks = 12
The filesystem on /dev/atde9-vg/root is now 24778752 (4k) blocks long.
dfコマンドを実行してみると、ルートファイルシステムの容量が増えたことが確認できます。
[ATDE ~]$ df -hl
ファイルシス サイズ 使用 残り 使用% マウント位置
udev 1.9G 0 1.9G 0% /dev
tmpfs 392M 1.2M 391M 1% /run
/dev/mapper/atde9--vg-root 93G 12G 78G 13% /
tmpfs 2.0G 84K 2.0G 1% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
/dev/sda1 470M 231M 215M 52% /boot
tmpfs 392M 96K 392M 1% /run/user/1000