Posted at

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


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