VMware上のUbuntuサーバでDockerのイメージを色々作っていたら、ディスク容量がいつのまにか少なくなっていたので、ディスク容量の拡張を行いました。
VMware
サーバを停止
サーバのハードウェアを追加するため、サーバをシャットダウンしておきます。
$ sudo shutdown -h now
仮想ディスクを拡張する
- 対象の仮想サーバを右クリックし、「設定の編集」をクリックします。
- ハードウェアタブ>追加ボタンをクリックします。
- ハードウェアの追加>ハードディスクを選択し、次へをクリックします。
- 新規仮想ディスクを作成を選択し、次へをクリックします。
- 追加するディスク容量とディスクプロビジョニングを入力し、次へをクリックします。
- 詳細オプションはなにも変更せず、次へをクリックします。
- 設定内容を確認し、終了をクリックする。
- 対象の仮想サーバを右クリックし、電源>パワーオンをクリックします。
※仮想ディスクの容量拡張がなぜかできなかったため、新たな仮想ディスクを追加しています。
ディスク容量の拡張
Ubuntuサーバのパーティション構成は、OSインストール時のデフォルト設定であるため、LVM(Logical Volume Manager)を使用しています。追加した仮想ディスクを既存のボリュームグループに追加することで、ディスク容量の拡張を行います。
物理ボリュームの作成
追加した仮想ディスクのパーティションを作成します。
$ sudo parted /dev/sdb GNU Parted 2.3 /dev/sdb を使用 GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。 # パーティションテーブルを設定(printが実行できないので) (parted) mklabel msdos (parted) print モデル: VMware Virtual disk (scsi) ディスク /dev/sdb: 21.5GB セクタサイズ (論理/物理): 512B/512B パーティションテーブル: msdos # 追加したディスクの全容量を新たなパーティションに (parted) unit GB (parted) mkpart extended 0 -1 (parted) mkpart logical 0 -1 (parted) print モデル: VMware Virtual disk (scsi) ディスク /dev/sdb: 21.5GB セクタサイズ (論理/物理): 512B/512B パーティションテーブル: msdos 番号 開始 終了 サイズ タイプ ファイルシステム フラグ 1 0.00GB 21.5GB 21.5GB extended lba 5 0.00GB 21.5GB 21.5GB logical # パーティションフラグをlvmに変更 (parted) set 5 lvm on (parted) print モデル: VMware Virtual disk (scsi) ディスク /dev/sdb: 21.5GB セクタサイズ (論理/物理): 512B/512B パーティションテーブル: msdos 番号 開始 終了 サイズ タイプ ファイルシステム フラグ 1 0.00GB 21.5GB 21.5GB extended lba 5 0.00GB 21.5GB 21.5GB logical lvm (parted) quit
サーバをリブートします。
$ sudo shutdown -r now
物理ボリュームを作成します。
$ sudo ls -la /dev/sdb5 brw-rw---- 1 root disk 8, 21 6月 22 12:58 /dev/sdb5 $ sudo pvcreate /dev/sdb5 Physical volume "/dev/sdb5" successfully created
ボリュームグループの拡張
現在のボリュームグループのサイズを確認します。
$ sudo vgdisplay -v <ボリュームグループ名> --- Volume group --- VG Size 19.76 GiB
ボリュームグループを拡張します。
$ sudo vgextend <ボリュームグループ名> /dev/sdb5
ボリュームグループが拡張されたことを確認します。
$ sudo vgdisplay -v <ボリュームグループ名> --- Volume group --- VG Size 39.75 GiB
論理ボリュームの拡張
現在の論理ボリュームのサイズを確認します。
$ sudo lvdisplay <論理ボリューム名> --- Logical volume --- LV Size 15.74 GiB
論理ボリュームを拡張します。
論理ボリュームのサイズは、エクステント数による指定を行い、無駄がないように調整します。
$ sudo lvresize -L 36616 <論理ボリューム名> Extending logical volume root to 35.76 GiB Logical volume root successfully resized
論理ボリュームが拡張されたことを確認します。
$ sudo lvdisplay <論理ボリューム名> --- Logical volume --- LV Size 35.76 GiB
ファイルシステムの拡張
現在のファイルシステムのサイズを確認します。
$ df -h Filesystem Size Used Avail Use% Mounted on <論理ボリューム名> 15G 14G 1G 90% /
ファイルシステムを拡張します。
$ sudo resize2fs <論理ボリューム名> resize2fs 1.42 (29-Nov-2011) Filesystem at <論理ボリューム名> is mounted on /; on-line resizing required old desc_blocks = 1, new_desc_blocks = 2 Performing an on-line resize of <論理ボリューム名> to 5046272 (4k) blocks. The filesystem on <論理ボリューム名> is now 5046272 blocks long.
ファイルシステムが拡張されたことを確認します。
$ df -h Filesystem Size Used Avail Use% Mounted on <論理ボリューム名> 36G 14G 21G 40% /
これでディスク容量を拡張することができました。