まっさらなATDEの仮想ディスクには10ギガバイト以上の空き領域がありますが、Debianパッケージを追加したり開発コンポーネントや作業ファイルが増えていくにつれて不足することがあります。実際のハードディスクに余裕があるならば、ATDEのディスク容量を大きくして解決することができます。
動作確認に使用した環境
VMware | VMware Workstation 7.1.5/8.0.1, VMware Player 4.0.1 |
---|---|
ATDE | v4(atde4-20111228-i386.zip, atde4-20111228-amd64.zip), v3(atde3-20100309.zip) |
手順を誤った場合、ATDEが起動できなくなる可能性があります。ご使用中のATDEに適用する場合、必ずバックアップを取ってから作業を行ってください。
作業の前に
標準でATDEに割り当てられているディスクサイズ16ギガバイトを、64ギガバイトに増やすものとして説明します。
ATDEのディスクは、Logical Volume Manager(LVM)というものを使って構築されています。目的は単純ですが、このLVMのために実際の作業はやや面倒です。以下のような流れで手順を追っていきます。
- VMwareで割り当てるディスク容量を拡張する
- LVMパーティションを作成する
- 物理ボリュームを作成する
- 物理ボリュームをボリュームグループに登録する
- 論理ボリュームに割り当てる物理拡張領域を増やす
- ルートファイルシステムの容量を増やす
1. VMwareで割り当てるディスク容量を拡張する
まず、VMwareがATDEに割り当てているディスク容量そのものを拡張します。この手順については、VMware製品のドキュメントに詳しく記されています。
ここでは例として、Workstation ユーザーマニュアルを参照しながらVMware Workstation 7.1.5で作業を行ってみます。
- VMware Workstationを起動し、サイドバーからディスク容量を変更するATDEを選択する。
- 「状態」を見て、パワーオフになっていることを確認する。(パワーオフされていない場合、ATDEを操作してシャットダウン後、メニューの「VM(M)」→「パワー(P)」から「パワーオフ(O)」してください)
- メニューから「VM(M)」から「設定(S)」を開く
- 「ハードウェア」タブの「ハードディスク(SCSI)」をクリックする
- 右側にある「ユーティリティ(U)」をクリックして「拡張(E)」を選択する
- 「ディスク最大サイズ(GB)」に"64.0"を指定する
- 「拡張(E)」ボタンをクリックする
- ディスク容量の拡張処理が完了を待ち「OK」ボタンをクリックする
2. LVMパーティションを作成する
ここからはATDE上からの操作になります。ATDEを起動してログインし、ターミナルを開いてください。
ディスク容量が拡張されていることを確認します。
[ATDE ~]$ sudo fdisk -l /dev/sda
Disk /dev/sda: 68.7 GB, 68719476736 bytes
255 heads, 63 sectors/track, 8354 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0009d632
Device Boot Start End Blocks Id System
/dev/sda1 * 1 32 248832 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 32 2089 16525313 5 Extended
/dev/sda5 32 2089 16525312 8e Linux LVM
「/dev/sda」のサイズが68.7GB[1]として認識されています。ここで、「Linux LVM」として表示されている「/dev/sda5」が、現在ATDEで使用中のパーティションです。
[1]VMwareで設定した64.0GBとの差は、補助単位計算である1キロを1024とするか1000とするかの違いです。
増えた分の容量すべてを使ったパーティション「/dev/sda3」を、パーティションタイプを0x8e (Linux LVM)として作成します。
[ATDE ~]$ sudo fdisk /dev/sda
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (2089-8354, default 2089):
Using default value 2089
Last cylinder, +cylinders or +size{K,M,G} (2089-8354, default 8354):
Using default value 8354
Command (m for help): t
Partition number (1-5): 3
Hex code (type L to list codes): 8e
Changed system type of partition 3 to 8e (Linux LVM)
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: デバイスもしくはリソースがビジー状態です.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
再びディスク状態を確認してみます。
[ATDE ~]$ sudo fdisk -l /dev/sda
Disk /dev/sda: 68.7 GB, 68719476736 bytes
255 heads, 63 sectors/track, 8354 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0009d632
Device Boot Start End Blocks Id System
/dev/sda1 * 1 32 248832 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 32 2089 16525313 5 Extended
/dev/sda3 2089 8354 50327313 8e Linux LVM
/dev/sda5 32 2089 16525312 8e Linux LVM
新たにLVMパーティション「/dev/sda3」が追加されています。
しかし、この時点ではまだOSに新パーティションが認識されていません。状態を反映するために、一旦ATDEを再起動します。
3. 物理ボリュームを作成する
作成したLVMパーティション「/dev/sda3」内に、物理ボリュームを作成します。
[ATDE ~]$ sudo pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created
物理ボリュームの状態を表示します。初めからあった「/dev/sda5」に加え、新たに「/dev/sda3」に物理ボリュームが作られたことが確認できます。
[ATDE ~]$ sudo pvdisplay
--- Physical volume ---
PV Name /dev/sda5
VG Name atde4
PV Size 15.76 GiB / not usable 2.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 4034
Free PE 0
Allocated PE 4034
PV UUID D3nytk-NhpO-g3qX-PWwz-5aFa-W6YV-2AM9eA
"/dev/sda3" is a new physical volume of "48.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sda3
VG Name
PV Size 48.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID bbscfR-G4B5-wvsg-jpEo-cvjR-NqLz-NvchRp
4. 物理ボリュームをボリュームグループに登録する
初めからあった「/dev/sda5」の物理ボリュームを表示します。
[ATDE ~]$ sudo pvdisplay /dev/sda5
--- Physical volume ---
PV Name /dev/sda5
VG Name atde4
PV Size 15.76 GiB / not usable 2.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 4034
Free PE 0
Allocated PE 4034
PV UUID D3nytk-NhpO-g3qX-PWwz-5aFa-W6YV-2AM9eA
「VG Name」がボリュームグループ名です。先ほど新たに「/dev/sda3」に作成した物理ボリュームを、同じボリュームグループ「atde4」に登録します。
[ATDE ~]$ sudo vgextend atde4 /dev/sda3
Volume group "atde4" successfully extended
「/dev/sda3」の物理ボリュームを表示して、「VG Name」が「atde4」になったことを確認します。
[ATDE ~]$ sudo pvdisplay /dev/sda3
--- Physical volume ---
PV Name /dev/sda3
VG Name atde4
PV Size 48.00 GiB / not usable 3.77 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 12286
Free PE 12286
Allocated PE 0
PV UUID bbscfR-G4B5-wvsg-jpEo-cvjR-NqLz-NvchRp
5. 論理ボリュームに割り当てる物理拡張領域を増やす
現在の論理ボリュームの状態を表示します。
[ATDE ~]$ sudo lvscan
ACTIVE '/dev/atde4/root' [15.07 GiB] inherit
ACTIVE '/dev/atde4/swap_1' [708.00 MiB] inherit
「ACTIVE '/dev/atde4/root'」と表示された15.07ギガバイト分が、今までルートファイルシステムが使用していたディスクサイズです。
現在のボリュームグループを表示します。
[ATDE ~]$ sudo vgdisplay
--- Volume group ---
VG Name atde4
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 63.75 GiB
PE Size 4.00 MiB
Total PE 16320
Alloc PE / Size 4034 / 15.76 GiB
Free PE / Size 12286 / 47.99 GiB
VG UUID DCEly0-CQaj-Xo4Q-VmuD-tf4A-AEZC-CkRJ0S
下の方に「Free PE / Size」として表示された47.99ギガバイトが、先ほどまでの手順で追加したディスクサイズになります。この追加分すべてを、「/dev/atde4/root」に割り当てます。
[ATDE ~]$ sudo lvresize -L +47.99G /dev/atde4/root
Rounding up size to full physical extent 47.99 GiB
Extending logical volume root to 63.06 GiB
Logical volume root successfully resized
再び論理ボリュームの状態を表示します。
[ATDE ~]$ sudo lvscan
ACTIVE '/dev/atde4/root' [63.06 GiB] inherit
ACTIVE '/dev/atde4/swap_1' [708.00 MiB] inherit
「ACTIVE '/dev/atde4/root'」への割り当てが、63.06ギガバイトに増えたことがわかります。
6. ルートファイルシステムの容量を増やす
最後に、LVMで追加したディスク増量分を使って、ルートファイルシステムの容量を増やします。resize2fsコマンドを実行するだけで、新たなディスク容量に合わせて自動的にサイズ変更されます。
[ATDE ~]$ sudo resize2fs /dev/atde4/root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/atde4/root is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 4
Performing an on-line resize of /dev/atde4/root to 16530432 (4k) blocks.
The filesystem on /dev/atde4/root is now 16530432 blocks long.
dfコマンドを実行してみると、ルートファイルシステムの容量が増えたことが確認できます。
[ATDE ~]$ df -hl
Filesystem Size Used Avail Use% マウント位置
/dev/mapper/atde4-root 63G 2.4G 57G 4% /
tmpfs 1007M 0 1007M 0% /lib/init/rw
udev 1002M 124K 1002M 1% /dev
tmpfs 1007M 4.0K 1007M 1% /dev/shm
/dev/sda1 236M 20M 204M 9% /boot