Archive for the ‘VM’ Category

vagrant rsync-auto で rsync__exclude を変更しても反映されない場合

murave@歯医者さんから定期チェックの電話がかかってきたのでチャッチャと書かねば、です。

Vagrantで開発環境を整えていたのですが Synced Folder での権限周りで引っかかってしまいました。
それで、今頃、Rsync Synced Folder に気づいたのですが、いいですねコレ。

rsyncで同期されるので、開発機のパワー不足でクラウド環境にサーバーを建てて開発してる方も使えるはず。オススメです。

こちらの詳細は検索していただくと『Vagrant 1.5 で追加された Rsync Synced Folder が良い – Shin x blog』やQiitaの記事など良い情報がみつかるかと思います。

さて、本題です。Rsync Synced Folder で開発を始めると vagrant rsync-auto コマンドで自動でのrsync同期を行うのですが、rsync__excludeで指定した同期対象外設定を変更してもなぜか反映されないという現象に遭遇しました。

これに関する情報が日本語では見つからなかったのでメモを残しておきます。

Previous Rsync Exclude setting caused duplicate rsync on rsync-auto #4567

ここに同様の現象に遭遇している方々がいらっしゃいます。そしてthePanzさんが以下の解決策を提示しておられます。

vagrant halt
rm .vagrant/machines/default/virtualbox/synched_folders
vagrant up

同様の現象にあったらお試し下さい(Vagrantのバージョンアップも忘れずに!)

Facebooktwitterlinkedintumblrmail

一つのVagrantfileで複数VMを管理する際のメモ

下記のようなVagrantfileで複数VMを管理している際に「vagrant halt」を行うと…

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.define :first do |first|
    first.vm.box = "centos6.5.3"
    first.vm.network :forwarded_port, guest: 80, host: 8080
    first.vm.network :private_network, ip: "192.168.33.10"
  end
  
  config.vm.define :second do |second|
    second.vm.box = "centos6.5.3"
    second.vm.network :forwarded_port, guest: 80, host: 8181
    second.vm.network :private_network, ip: "192.168.33.11"
  end
end

2つとも停止します。

~/w/vagrantTest ❯❯❯ vagrant halt
 second: Attempting graceful shutdown of VM...
 first: Attempting graceful shutdown of VM...

片方だけ停止したい場合には「vagrant halt first」のように引数にマシン名を指定すれば良いのですが
停止したくないマシンまで誤って停止させるのを避けたかったので、何か良い方法はないか調べました。

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|

  if ARGV[1] == "first" # 追加
  config.vm.define :first do |first|
    first.vm.box = "centos6.5.3"
    first.vm.network :forwarded_port, guest: 80, host: 8080
    first.vm.network :private_network, ip: "192.168.33.10"
  end
  end # 追加
  if ARGV[1] == "second" # 追加
  config.vm.define :second do |second|
    second.vm.box = "centos6.5.3"
    second.vm.network :forwarded_port, guest: 80, host: 8181
    second.vm.network :private_network, ip: "192.168.33.11"
  end
  end # 追加
end

このようにすると「vagrant halt」だけでは停止しなくなり、マシン名を指定することで停止出来るようになります。

Facebooktwitterlinkedintumblrmail

VMware Fusion が入っている Mac での 仮想ディスク(vmdk)縮小

放置していたら仮想マシンが肥大してディスクを超圧迫していました、夏。

そして、ディスクの残容量0と言われた立秋。

Vagrant で使用している Virtual Box の VM がいつの間にか60GBを超えており放置できなくなりました。

検索したところ Virtual Box のツールで .vmdk なファイルを .vdi に変換して縮小する素敵な記事が見つかりました。

Bureimono stdio.h: Vagrant とストレージ容量

でも考えたら、ボクのマシンには VMware Fusion が入っています。vmdkファイルを直接縮小できるよね、たぶん。前にやった気もするし。

ということで、調べて作業した際のメモです。 VMware Fusion は 5.0.5 です。

ゲストOSでゼロクリアを行います(root権限で作業)。

# dd if=/dev/zero of=zero bs=4k
# sync
# rm zero

vmdkファイルの縮小(defragment -> shrink)

$ /Applications/VMware\ Fusion.app/Contents/Library/vmware-vdiskmanager -d target.vmdk
$ /Applications/VMware\ Fusion.app/Contents/Library/vmware-vdiskmanager -k target.vmdk

60GB位あったvmdkファイルが10GB位になりました。

今回はディスクの残容量が少なくなりすぎていて vmware-vdiskmanager を動かすのに苦労しました。そんな状況になる前に対処するようにしないとですね。

Facebooktwitterlinkedintumblrmail

『ぺちぱな。∞(えいと)』で Vagrant、HHVM、Hackして来た

muraveです。ご無沙汰しております。

もんきー(さる) 2014年5月17日(土)、

ぺちぱな。∞(えいと)〜Hackするのに悪いヤツはいない。HackとCrackを間違えるのに碌なヤツはいない〜

に参加いたしました。

Vagrant環境から構築して、HHVM(HipHopVM)用にPackegeしたBoxファイルを配布、PHPとFacebookがOSSとしてリリースした新言語Hackの比較までやってしまおうという意欲的な勉強会でした。

環境構築でのひっかかり(原因は使用ポートの衝突、CPUの仮想化支援がONになっていなかった等)はありましたが全員完走でした!

この勉強会の資料がすばらしくて(もちろん資料だけではないですけど)、懇親会でも@hideAki76氏を褒めちぎっていたのですが、この資料が公開されましたよ!ということをみなさまにも強くお伝えしたい。

自習するにはHHVM用Boxの問題がありますが、HHVM用環境構築のプロビジョニングについても書いてあるのでどうになるんじゃないでしょうか。すばらしい。

HHVM、はやくdebian系じゃなくても気軽に動かせるようになるといいな。

Facebooktwitterlinkedintumblrmail

VirtualBoxのスナップショットを使おう

開発をしていると、インストール後に有る程度の設定をした状態で色々と試して、駄目だったらその時の状態に戻したい事が有ります。
VirtualBoxで、割と簡単に出来るので使い方を。

保存しておきたい状態にした仮想マシンを一度シャットダウンします。

対象となる仮想マシンを選んで、VirtualBoxメニューにあるスナップショットをクリック。

スナップショットの状態が表示されます。

左上にあるカメラアイコンをクリックしてスナップショットを作成。

名前と説明へ、状態や内容を書いてOKボタンを押します。

今回は名前を変えなかったので、スナップショット 1と表示されています。

色々と試した後、マシンを終了してスナップショットから戻したい場所を右クリックして、スナップショットに復元を選びます。

これで起動すれば、スナップショットを撮った状態まで戻っています。

Facebooktwitterlinkedintumblrmail