Help us understand the problem. What is going on with this article?

Vagrant(Virtualbox)のディスク(ストレージ)容量を増やす方法

More than 3 years have passed since last update.

経緯

vagrantでのデータの同期にnfsを使用していましたが、途中でフリーズしてしまう現象が頻繁に起き、仕事になんねーということで、rsyncを使用してデータの同期を行うこととしました。
すると、作業途中でディスクいっぱいになってエラーが起きました。
じゃーディスク増やすかということでググりました。どうせVagrantファイル書き換えるだけの簡単なお仕事だろーなと思ってましたが。
どこ探しても長ったらしい手順ばかり。
バカじゃねーの、もとい、頭の病気にかかっているのではないかと思いましたが、そんな手順しかないので仕方なく手順通りにやりましたが上手くいかない...
どうにかディスク容量増やすところまではできたがそこからのパーティションを増やす作業がムズイ、激ムズいエンジニア辞めよう。

でも嫁も子供もいる、最近マンションも買ったばかり、他に何もできない。
踏みとどまりました。

そうしてこの手順が出来上がりました。

手順

今のディスク容量を確認

sshでvagrantにログインしディスク容量を確認します。
99%使っていますね。
これではすぐに動かなくなります。

[vagrant@vagrant-centos65] ~
% df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       7.9G  7.4G  122M  99% /
tmpfs           1.9G     0  1.9G   0% /dev/shm

ディスク容量を増やそう

  1. 一度vagrantから抜けて[vagrant halt]とかでサーバー落としてください。
  2. VirtubalBoxマネージャーを開いてディスク容量を増やしいサーバーを選択し[設定]を開いてください。 Oracle_VM_VirtualBox_マネージャー.png

3.ディスクのパスを調べ、コンソールで開く

$ cd /Users/yamasakitomohiro/VirtualBox\ VMs/FC_default_1457173043946_65450/

FC_default_1457173043946_65450_-_ストレージ_と_Oracle_VM_VirtualBox_マネージャー.png

ディスクを増やす

box-disk1.vmdkのディスクを増やせばいいのですが、vmdk形式ではディスクの拡張ができません。
なので一旦拡張できるvdi形式のファイルに移して拡張後に再度vmdk形式に移す作業をします。

$ ls
FC_default_1457173043946_65450.vbox     box-disk1.vmdk
FC_default_1457173043946_65450.vbox-prev    box-disk2.vmdk
Logs

⑴.まずvdi形式にクローンする
$ VBoxManage clonehd "box-disk1.vmdk" "clone-disk1.vdi" --format vdi

$ VBoxManage clonehd "box-disk1.vmdk" "clone-disk1.vdi" --format vdi
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone medium created in format 'vdi'. UUID: e569add3-42e1-497a-b689-0dea365ffbfb

(2).[Capacity]8Gしかないなー
$ VBoxManage showhdinfo clone-disk1.vdi

$ VBoxManage showhdinfo clone-disk1.vdi
UUID:           e569add3-42e1-497a-b689-0dea365ffbfb
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       /Users/yamasakitomohiro/VirtualBox VMs/FC_default_1457173043946_65450/clone-disk1.vdi
Storage format: vdi
Format variant: dynamic default
Capacity:       8192 MBytes
Size on disk:   4376 MBytes
Encryption:     disabled

(3).今回は20Gに増やしてます。
$ VBoxManage modifyhd clone-disk1.vdi --resize 20480

$ VBoxManage modifyhd clone-disk1.vdi --resize 20480
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

(4).確認
無事[Capacity]増えてますね

$ VBoxManage showhdinfo clone-disk1.vdi
UUID:           e569add3-42e1-497a-b689-0dea365ffbfb
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       /Users/yamasakitomohiro/VirtualBox VMs/FC_default_1457173043946_65450/clone-disk1.vdi
Storage format: vdi
Format variant: dynamic default
Capacity:       20480 MBytes
Size on disk:   4376 MBytes
Encryption:     disabled

(5).vidからvmdkに変換
$ VBoxManage clonehd "clone-disk1.vdi" "box-disk3.vmdk" --format vmdk

$ VBoxManage clonehd "clone-disk1.vdi" "box-disk3.vmdk" --format vmdk
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone medium created in format 'vmdk'. UUID: 8a22778d-4403-49f3-aee2-dc33b91ad76d

ディスクを差し替える

容量を増やしたディスクを作っただけなので、ディスクの差し替え作業を行います。

  1. 差し替えもとのディスクを削除します。
    FC_default_1457173043946_65450_-_ストレージ_と_Oracle_VM_VirtualBox_マネージャー_と_Kobito.png

  2. 追加します
    FC_default_1457173043946_65450_-_ストレージ_と_Oracle_VM_VirtualBox_マネージャー_と__Users_yamasakitomohiro_VirtualBox_VMs_FC_default_.png

  3. 既存のディスク選択
    FC_default_1457173043946_65450_-_ストレージ.png

  4. 上で新たに作った「box-disk3.vmdk」を選択してください。
    FC_default_1457173043946_65450_-_ストレージ.png

  5. こんな感じになります
    FC_default_1457173043946_65450_-_ストレージ_と_Oracle_VM_VirtualBox_マネージャー_と_ホーム_-_Qiita.png

パーティションの変更

ディスク容量は増えましたがパーティションはそのままなのでまだ実際には使えません。
パーティションも増やしてやっと使えるようになります。
サーバーからコマンドで増やすことも出来るみたいですが、ヘタレエンジニアは黙ってツールを使いましょう。

GPartedを使ってリサイズ

こいつを使えばGUIでパーティションをいじれます。

  1. http://gparted.sourceforge.net/download.php から gparted-live-xxx.iso をダウンロード
  2. ディスクを追加します
    FC_default_1457173043946_65450_-_ストレージ_と_Oracle_VM_VirtualBox_マネージャー_と_Vagrant_Virtualbox_のディスク_ストレージ_容量を増やす方法.png

  3. 上でダウンロードしたisoファイルを選択
    FC_default_1457173043946_65450_-_ストレージ_と_Oracle_VM_VirtualBox_マネージャー.png

  4. CDから起動させる
    光学にチェックを付けて一番上に移動させる
    FC_default_1457173043946_65450_-_システム_と_Oracle_VM_VirtualBox_マネージャー_と_Vagrant_Virtualbox_のディスク_ストレージ_容量を増やす方法.png

  5. 起動させよう
    Oracle_VM_VirtualBox_マネージャー.png

  6. [Other modes of GParted Live]を選択
    [GParted Live (Default settings)]では動きませんでした。動けばどれでもいいです。
    FC_default_1457173043946_65450__Running__と_Oracle_VM_VirtualBox_マネージャー_と_Vagrant_Virtualbox_のディスク_ストレージ_容量を増やす方法.png

  7. [GParted Live (Default settings, KMS)]を選択
    FC_default_1457173043946_65450__Running_.png

  8. こんな画面が出るのでそのままOK
    FC_default_1457173043946_65450__Running_ 2.png

  9. 日本語が良ければ[15]でエンター
    FC_default_1457173043946_65450__Running__と_Vagrant_Virtualbox_のディスク_ストレージ_容量を増やす方法.png

  10. エンター
    FC_default_1457173043946_65450__Running_.png

  11. リサイズ/移動を選択
    FC_default_1457173043946_65450__Running__と_Vagrant_Virtualbox_のディスク_ストレージ_容量を増やす方法.png

  12. 好きなだけ増やす
    FC_default_1457173043946_65450__Running_.png

  13. 無事増えそうです
    FC_default_1457173043946_65450__Running__と_Oracle_VM_VirtualBox_マネージャー.png

  14. 適用忘れずに
    FC_default_1457173043946_65450__Running__と_Oracle_VM_VirtualBox_マネージャー.png

  15. シャットダウンして、上で設定した起動順序を[光学]から[ハードディスク]に切り替えよう

Vagrantから起動して容量確認

sshでvagrantにログインしディスク容量を確認します。
99%使ってたのが40%になってますね。
これで最強ダーーー

[vagrant@vagrant-centos65] ~
% df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        20G  7.3G   12G  40% /
tmpfs           1.9G     0  1.9G   0% /dev/shm

以上何かあればご質問ください

koitaro
ITエンジニアです。スマホアプリ、Webサービス開発幅広くやっております。 最近は、「人は何によって動かされるのか」に興味があり、コーチングなどを学んでおります。 スピーチも大好きです。
i-standard
五反田バレーを牽引するスタートアップ
http://www.i-standard.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away