VirtualBox 上の CentOS 6.9 のハードディスク容量を増やす

このページでは、VirtualBox (5.1.22) 上の CentOS 6.9 (64bit, デスクトップ版) のハードディスク容量を増やす方法を説明します。

  1. vdi (VirtualBox ディスクイメージ) ファイルの容量を拡張する
  2. 拡張した領域を使用してパーティションを作成する
  3. 作成したパーティションの領域をデフォルトのボリュームグループに追加する
  4. デフォルトの論理ボリュームを拡張する
  5. 論理ボリューム上のファイルシステムをリサイズする
  6. 確認
  • 「ボリュームグループ」 (Volume Group, VG) は、物理的な複数のディスクなど (物理ボリューム) をまとめたグループのことを指します。
  • 「論理ボリューム」(Logical Volume, LV) は、ボリュームグループをもとにした仮想的なボリューム (ディスク) のことを指します。

1. vdi (VirtualBox ディスクイメージ) ファイルの容量を拡張する

1.コマンドプロンプトを使用して、仮想マシンのファイル(.vdi)のある場所で「"c:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyhd --resize 拡張後の容量(MB) .vdiファイルの名前」と入力して実行します。(30GBの場合は1024×30 = 30720です)。

コマンドプロンプトでの実行例

2.ストレージ容量が増えていることを確認し、CentOSの仮想マシンを起動します。

ディスク容量を30GBに増やした例

2. 拡張した領域を使用してパーティションを作成する

前述の方法でディスク容量を拡張した段階では、拡張した部分はまだ割り当てがされていない状態です。 パーティションを作成して、割り当てを行っていきます。

1.「su -」で root 権限にします。(rootのパスワードを入力してください)

「su -」

2.「fdisk /dev/sda」を実行します。

「fdisk /dev/sda」

3.「m」でコマンドの一覧が表示されます。

「m」

4.「n」(新たに領域を作成する)を選択します。

「n」

5.「p」(基本パーティション)を選択します。

「p」

6.「3」を選択します。
※「利用可能な空きセクタがありません」のようなメッセージが出る場合は、拡張した容量が認識されていません。もしスナップショット機能を使用している場合は、スナップショットのvdiファイルの容量も拡張してください。
※「3」をすでに使用している場合は、「4」にします。

「3」

7.最初のシリンダを選択する項目になりますが、そのままEnterしてください。

そのままEnter

8.最後のシリンダを選択する項目に移ります。これもそのままEnterしてください。

そのままEnter

9.「t」(領域のシステムIDを変更する)を選択します。

「t」

10.「3」を選択します。

「3」

11.「8e」(Linux LVM) を選択します。

「8e」

12.「w」(テーブルをディスクに書き込み、終了)を選択し、変更内容を書き込みます。

「w」

13.「reboot」でOSを再起動します。

「reboot」

3. 作成したパーティションの領域をデフォルトのボリュームグループに追加する

作成したパーティション (3の場合、/dev/sda3) の領域を、デフォルトのボリュームグループに登録します。

  • デフォルトのボリュームグループ名は「VolGroup」です。「vgdisplay」コマンドで、ボリュームグループ名などの情報を確認することができます。

1.再度「su -」でroot権限にします。

「su -」

2.「vgextend VolGroup /dev/sda3」で、作成したパーティションをボリュームグループに追加します。

「vgextend VolGroup /dev/sda3」
  • pvscan コマンドで、/dev/sda3 が物理ボリュームとなっていることが確認できます。
  • vgdisplay コマンドで、未割り当ての領域が増えていることが確認できます。(FREE PE / SIZE)

4. デフォルトの論理ボリュームを拡張する

ボリュームグループに追加された未割り当ての領域 (/dev/sda3) を、デフォルトの論理ボリュームがすべて使用できるようにします。

1.「lvextend -l +100%FREE /dev/mapper/VolGroup-lv_root」で、ボリュームグループ内の未割り当ての領域すべて(+100%FREE)を使用するようにします。

「lvextend -l +100%FREE /dev/mapper/VolGroup-lv_root」

5. 論理ボリューム上のファイルシステムをリサイズする

1.「resize2fs /dev/mapper/VolGroup-lv_root」でファイルシステムをリサイズし、容量を拡張します。

「resize2fs /dev/mapper/VolGroup-lv_root」
  • CentOS 6の場合デフォルトのファイルシステムの種類が ext4 のため resize2fs コマンドを使用しますが、CentOS 7の場合はデフォルトのファイルシステムの種類が xfs のため xfs_growfs コマンドを使用します。(ファイルシステムの種類は「df -T」コマンドで確認できます)

6. 確認

1.「df -h」で容量が指定したサイズの近くまで増えていることを確認します。

「df -h」

以上で終了です。

参考