Windwosの方の空き容量が100GB以上あったので、とりあえず8GBから20GBに拡張してみた。
手順は以下の通り。
1.まず現状を確認する。
使用率が76%になっていてあまり空き容量に余裕がないことが確認できる。
確認したらVMWareを落とす。
# df -h
Filesystem サイズ 使用 残り 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
7.2G 5.1G 1.7G 76% /
/dev/hda1 99M 12M 82M 13% /boot
tmpfs 506M 0 506M 0% /dev/shm
2.VMWare-Serverに付属している「vmware-vdiskmanager.exe」を探す。
VMWareのインストールディレクトリ内にある。
通常であれば
「C:\Program Files\VMWare\VMware Server」の中にあります。
3.vmdkファイルの場所を探す。
基本的には「C:\Virtual Machines\[OS名]\[OS名].vmdk」になります。
似たような名前で「[OS名]-flat.vmdk」というファイル名があり、仮想HDD容量分のファイルがありますが、
使用するのはこちらではなく、「[OS名].vmdk」というファイルになります。
3.コマンドプロンプトを立ち上げて、「vmware-vdiskmanager.exe」があるディレクトリへ移動します。
cd C:\Program Files\VMWare\VMware Server
4.vmdkファイルを拡張します
vmware-vdiskmanager.exe -x 20GB C:\Virtual Machines\[OS名]\[OS名].vmdk
5.拡張が終わると以下のようなメッセージが出ます。
なにかWARNINGが出てますが、問題ありません。
Grow: 100% done.
The old geometry C/H/S of the disk is: 7281/16/63
The new geometry C/H/S of the disk is: 10402/16/63
Disk expansion completed successfully.
WARNING: If the virtual disk is partitioned, you must use a third-party
utility in the virtual machine to expand the size of the
partitions. For more information, see:
http://www.vmware.com/support/kb/enduser/std_adp.php?p_faqid=1647
6.VMWareを立ち上げて状態を確認
容量が増えていることを確認する
# fdisk -l
Disk /dev/hda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
デバイス Boot Start End Blocks Id System
/dev/hda1 * 1 13 104391 83 Linux
/dev/hda2 14 1044 8281507+ 8e Linux LVM
7.パーティションを作成する
# fdisk /dev/hda
このディスクのシリンダ数は 2610 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
(例. DOS FDISK, OS/2 FDISK)
コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本領域 (1-4)
p
領域番号 (1-4): 3
最初 シリンダ (1045-2610, default 1045):Enter
Using default value 1045
終点 シリンダ または +サイズ または +サイズM または +サイズK (1045-2610, default 2610):Enter
Using default value 2610
コマンド (m でヘルプ): t
領域番号 (1-4): 3
16進数コード (L コマンドでコードリスト表示): 8e
領域のシステムタイプを 3 から 8e (Linux LVM) に変更しました
コマンド (m でヘルプ): wq
領域テーブルは交換されました!
ioctl() を呼び出して領域テーブルを再読込みします。
警告: 領域テーブルの再読込みがエラー 16 で失敗しました: デバイスもしくはリソースがビジー状態です。
カーネルはまだ古いテーブルを使っています。
新しいテーブルは次回リブート時に使えるようになるでしょう。
ディスクを同期させます。
8.状態を再び確認
/dev/hda3が追加され、そこに空き容量が割り当てられていることを確認する
# fdisk -l
Disk /dev/hda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
デバイス Boot Start End Blocks Id System
/dev/hda1 * 1 13 104391 83 Linux
/dev/hda2 14 1044 8281507+ 8e Linux LVM
/dev/hda3 1045 2610 12578895 8e Linux LVM
9.リブートもしくはpartprobeを実行する。今回はpartprobeで即時反映させる。
# partprobe
10.物理ボリュームを作成する
# pvcreate /dev/hda3
Physical volume "/dev/hda3" successfully created
11.既存のボリュームグループ(VG) に新しいパーティションを追加する
# vgextend VolGroup00 /dev/hda3
/dev/hdc: open failed: メディアが見つかりません
Volume group "VolGroup00" successfully extended
12.既存の論理ボリューム(LV) を追加したパーティションの分、拡張する。既存のLV は lvdisplay で確認。たぶん 「LogVol00」
# lvdisplay -C
/dev/hdc: open failed: メディアが見つかりません
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
LogVol00 VolGroup00 -wi-ao 7.38G
LogVol01 VolGroup00 -wi-ao 512.00M
13.vgdisplay で拡張できるサイズを確認する
# vgdisplay
/dev/hdc: open failed: メディアが見つかりません
--- Volume group ---
VG Name VolGroup00
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 19.84 GB
PE Size 32.00 MB
Total PE 635
Alloc PE / Size 252 / 7.88 GB
Free PE / Size 383 / 11.97 GB
VG UUID pvKmW5-rMWe-K7gi-IMhr-xaBy-GPDZ-xs14kc
14.[PE Size] * [Free PE] の値が拡張できるサイズとなるので、32MB * 383 = 12256MB を拡張する。
# lvextend -L +12256MB /dev/VolGroup00/LogVol00
/dev/hdc: open failed: メディアが見つかりません
Extending logical volume LogVol00 to 19.34 GB
Logical volume LogVol00 successfully resized
15.ファイルシステムを拡張する。
# resize2fs /dev/VolGroup00/LogVol00
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/VolGroup00/LogVol00 is mounted on /; on-line resizing required
Performing an on-line resize of /dev/VolGroup00/LogVol00 to 5070848 (4k) blocks.
The filesystem on /dev/VolGroup00/LogVol00 is now 5070848 blocks long.
16.容量が増えていることを確認する
# df -h
Filesystem サイズ 使用 残り 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
19G 5.1G 13G 29% /
/dev/hda1 99M 12M 82M 13% /boot
tmpfs 506M 0 506M 0% /dev/shm