VMwareで使っているゲストOSのハード容量がいっぱいになったので拡張することにしました。その時の作業メモです。ゲストOSはFedora23を使用しています。作業はコマンド操作が中心になります。コマンド操作に慣れていない人は、ゲストOSをコピーした上で作業してください。もし失敗しても、コピーしたOSからやり直すことができます。

VMwareでの作業(ホストOS)

 ホストOS上のVMwareでの操作です。VMwareのバージョンによっては、操作画面が若干違うので注意してください。

VMwareの起動

 VMwareのコンソールを開きハードディスクを拡張したいOSを選択してください。
「Edit vitural machine settings」をクリックします。
VMwarで使用しているのゲストOS(Fedora)のハードディスク容量を拡張する。VMwarでの操作1

設定画面

①左上の「Hardware」のタブを選択(デフォルトで選択されています)
②「Hard Disk」を選択
③「Expand Diks・・」をクリックします。
操作③でエラーがでる場合は、二つ上の「Mount Disk・・」でマウントしてから再度、操作③を行ってください。
VMwarで使用しているのゲストOS(Fedora)のハードディスク容量を拡張する。VMwarでの操作2

設定変更

①増やしたい容量に数値を変更します。
②「Expand」で確定し、「Save」して完了です。
ここまでの作業が、ホストOSでの作業です。この続きはゲストOSでの作業になります。
VMwarで使用しているのゲストOS(Fedora)のハードディスク容量を拡張する。VMwarでの操作3

Fedora(ゲストOS)のハードディスク拡張

 ここからは、ゲストOSでの作業です。コマンドでの操作になります。コマンド操作に慣れていない人は慎重に作業してください。

現在の状況確認

 現在のハードの状態を確認します。「/dev/mapper/VolGroup-lv_root」容量を増やすことが最終目的になります。
今回は、現在の容量43Gに30Gを追加し、73Gに変更します。
失敗した場合は、「Ctrl + C」でやり直すことができます。
VMwarで使用しているのゲストOS(Fedora)のハードディスク容量を拡張する。ゲストOSでのコマンド操作1

コマンド操作

[root@localhost ~]# df -h

(結果)
ファイルシス サイズ 使用 残り 使用% マウント位置
devtmpfs 2.4G 0 2.4G 0% /dev
tmpfs 2.4G 1.1M 2.4G 1% /dev/shm
tmpfs 2.4G 1.5M 2.4G 1% /run
tmpfs 2.4G 0 2.4G 0% /sys/fs/cgroup
/dev/mapper/VolGroup-lv_root 43G 35G 6.7G 84% /
tmpfs 2.4G 112K 2.4G 1% /tmp
/dev/sda2 477M 162M 286M 30% /boot

パーティションの拡張

 fdiskコマンド(pを入力)でパーティション情報を表示します。「/dev/sda3」のタイプが重要になります。
今回は「Linux LVM」でした。新しくパーティションを作るとき、同じタイプにする必要があるので覚えておいてください。
fdiskコマンドの入力値を赤字、ポイントとなる重要な部分を青字で記載してます。
VMwarで使用しているのゲストOS(Fedora)のハードディスク容量を拡張する。ゲストOSでのコマンド操作2

コマンド操作

[root@localhost ~]# fdisk -l
GPT PMBR size mismatch (104857599 != 167772159) will be corrected by w(rite).
ディスク /dev/sda: 80 GiB, 85899345920 バイト, 167772160 セクタ
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: gpt
ディスク識別子: 25E456FE-77A8-41FA-9F67-5B4DA922C2BB

デバイス 開始位置 最後から セクタ サイズ タイプ
/dev/sda1 2048 4095 2048 1M BIOS 起動
/dev/sda2 4096 1028095 1024000 500M EFI システム
/dev/sda3 1028096 104855551 103827456 49.5G Linux LVM

パーティションの拡張(其の2)

新規パーティションを作成します。fdiskコマンド(nを入力)を入力します。今回は100%のサイズを作るので、エンターを押していくだけです。作成が完了したらfdiskコマンド(pを入力)で状態を確認します。
「/dev/sda4 104855552 167772126 62916575 30G Linux ファイルシステム」が作成されていたらOKです。次のステップで「/dev/sda4 」のタイプ(Linux ファイルシステム)を「Linux LVM」に変更します。

VMwarで使用しているのゲストOS(Fedora)のハードディスク容量を拡張する。ゲストOSでのコマンド操作3

コマンド操作

コマンド (m でヘルプ): n エンター
パーティション番号 (4-128, 既定値 4): エンター
最初のセクタ (104855552-167772126, 既定値 104855552): エンター
最終セクタ, +セクタ番号 または +サイズ{K,M,G,T,P} (104855552-167772126, 既定値 167772126): エンター
新しいパーティション 4 をタイプ Linux filesystem、サイズ 30 GiB で作成しました

コマンド (m でヘルプ): p
ディスク /dev/sda: 80 GiB, 85899345920 バイト, 167772160 セクタ
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: gpt
ディスク識別子: 25E456FE-77A8-41FA-9F67-5B4DA922C2BB

デバイス 開始位置 最後から セクタ サイズ タイプ
/dev/sda1 2048 4095 2048 1M BIOS 起動
/dev/sda2 4096 1028095 1024000 500M EFI システム
/dev/sda3 1028096 104855551 103827456 49.5G Linux LVM
/dev/sda4 104855552 167772126 62916575 30G Linux ファイルシステム 

パーティションの拡張(其の3)

 fdiskコマンド(tを入力)でタイプの変更をします。変更したいパーティションの番号を指定します。パーティション番号は「p」で確認したとき、上から順に1番となります。「/dev/sda4」は4番めなので「4」を入力します。
タイプを調べるには、fdiskコマンド(Lを入力)を使います。タイプの一覧が表示されるので、目的のタイプ番号を探します。今回は31番でした。

VMwarで使用しているのゲストOS(Fedora)のハードディスク容量を拡張する。ゲストOSでのコマンド操作5

コマンド操作

コマンド (m でヘルプ): t
パーティション番号 (1-4, 既定値 4): 4
16 進数コード (L で利用可能なコードを一覧表示します): L
(結果)
31 Linux LVM E6D6D379-F507-44C2-A23C-238F2A3DF928

16 進数コード (L で利用可能なコードを一覧表示します): 31
パーティションのタイプを ‘Linux filesystem’ から ‘Linux LVM’ に変更しました。

コマンド (m でヘルプ): p
ディスク /dev/sda: 80 GiB, 85899345920 バイト, 167772160 セクタ
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: gpt
ディスク識別子: 25E456FE-77A8-41FA-9F67-5B4DA922C2BB

デバイス 開始位置 最後から セクタ サイズ タイプ
/dev/sda1 2048 4095 2048 1M BIOS 起動
/dev/sda2 4096 1028095 1024000 500M EFI システム
/dev/sda3 1028096 104855551 103827456 49.5G Linux LVM
/dev/sda4 104855552 167772126 62916575 30G Linux LVM

パーティションの拡張(其の4)

 ここまでの作業を保存します。fdiskコマンド(wを入力)します。そしてOSを再起動します。これでfdiskコマンドの作業は完了です。次は、理論ボリュームへの追加作業です。

コマンド操作

コマンド (m でヘルプ): w
GPT PMBR size mismatch (104857599 != 167772159) will be corrected by w(rite).

パーティション情報が変更されました。
ioctl() を呼び出してパーティション情報を再読み込みします。
パーティション情報の再読み込みに失敗しました。: デバイスもしくはリソースがビジー状態です

カーネルは古い情報を使用しています。新しい情報を利用するには、システムを再起動するか、もしくは partprobe(8) または kpartx(8) を実行してください。

[root@localhost ~]# reboot

理論ボリュームの設定

物理ボリュームの初期化

 pvcreateコマンドで「/dev/sda4」を初期化します。

コマンド操作

物理ボリュームの初期化
[root@localhost ~]# pvcreate /dev/sda4
Physical volume “/dev/sda4” successfully created.

ボリュームグループの確認

 ボリュームグループの確認です。
VSizeが0になっています。ここがポイントです。

コマンド操作

[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
VolGroup 1 2 0 wz–n- 49.50g 0

ボリュームグループへの物理ボリュームの追加

 vgextendコマンドで「/dev/sda4」を物理ボリュームの追に追加します。
VFreeの領域が29.97g増えています。

コマンド操作

[root@localhost ~]# vgextend VolGroup /dev/sda4
Volume group “VolGroup” successfully extended

[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
VolGroup 2 2 0 wz–n- 79.47g 29.97g

論理ボリュームの拡張

 lvextendコマンドで論理ボリュームの拡張を拡張します。今回は、作成した領域を全部拡張するので「+100%FREE」とします。
vgsコマンドで理論ボリュームを確認すると、VSizeが79.47g、VFreeが0となったらOKです。
VMwarで使用しているのゲストOS(Fedora)のハードディスク容量を拡張する。ゲストOSでのコマンド操作4

コマンド操作

[root@localhost ~]# lvextend -l +100%FREE /dev/mapper/VolGroup-lv_root
Size of logical volume VolGroup/lv_root changed from 43.72 GiB (1399 extents) to 73.69 GiB (2358 extents).
Logical volume lv_root successfully resized.

[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
VolGroup 2 2 0 wz–n- 79.47g 0

[root@localhost ~]# df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/mapper/VolGroup-lv_root 43G 35G 6.7G 84% /

ファイルシステムサイズの変更

 最後にresize2fsコマンドで「VolGroup-lv_root」の領域を拡張すると完了です。
dfコマンドで「/dev/mapper/VolGroup-lv_root」の容量を確認してください。サイズが拡張されたら完了です。

コマンド操作

[root@localhost ~]# resize2fs /dev/mapper/VolGroup-lv_root
resize2fs 1.42.13 (17-May-2015)
Filesystem at /dev/mapper/VolGroup-lv_root is mounted on /; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 5
The filesystem on /dev/mapper/VolGroup-lv_root is now 19316736 (4k) blocks long.

[root@localhost ~]# df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/mapper/VolGroup-lv_root 73G 35G 35G 50% /


(感想)
 作業する前にゲストOSをコピーしてください。
失敗した場合はコピーしたOSで再チャレンジ。失敗を恐れず何度でも挑戦してね。