MacでVagrantを動かしてみる。食わず嫌いな人に送る、Vagrantで出来ること。@ayurinaそこはかとない日常を綴るブログです。主にはゲーム、ガジェットレビュー、ドライブ記録です。Linux»MacでVagrantを動かしてみる。食わず嫌いな人に送る、Vagrantで出来ること。コンピューターtwitterfacebookhatenabookmarklineVagrant+VirtualBoxをMacに入れてみました。感がありますが、これはとても便利というか、楽しいです。実は食わず嫌いだったんです。なんか流行ってるみたいだけど、よく使われているVMがVirtualBoxということもあり、ちょっとお手軽、オモチャ感があって、これで何が出来るんだろう、と思い込んでいた。そこで、何事もやってみないといけないなぁと思い立って、MacにVagrant+VirtualBoxを入れてみました。結論から言うと、これは超便利というか、超楽しいです。そこで、私みたいな、Vagrant使ったことない人向けに、Vagrantで出来ること(出来そうなこと)をまとめておきます。Vagrantは是非みんなに触れて欲しいと思いますので。実は・・・Vagrantに関するページを見ると、VMを1個作って使っているパターンが多くて、複数VM作ってクラスタ系の検証しているページが少なかったので、自分でやってみた、と。linkVagrantって何。Vagrantについて説明するのもあれですが、要するに仮想マシンをお手軽、簡単にデプロイするための追加ツールと考えれば良いと思います。Vagrant自体は仮想マシンでもなんでもなくて、VirtualBox等のデプロイを管理するためのツールです。いろんなVMに対応していて、VirtualBoxがメジャーです。どちらかと言うとサーバーというより、デスクトップ側で開発環境作るような用途に向いていると思います。MacにVagrantとVirtualBoxを入れる。MacでVagrantを動かすには、Vagrant本体と、VMとしてVirtualBoxが必要になります。いずれも各々のホームーページからアーカイブをダウンロードしてインストールパッケージを実行すればインストールされます。オプション等はありません。VirtualBox仮想マシンを作ってみる早速仮想マシンを動かしてみます。VMのテンプレートを指定してimageをインストールします。テンプレート集は以下が良いかなと。Vagrantbox.esこの中から欲しいイメージのURLを指定してイメージを追加します。「centos6」のところはイメージ名になりますので、識別しやすいものにしておくと良いです。http://dl.dropbox.com/u/9227672/CentOS-6.0-x86_64-netboot-4.1.6.boxしばらくするとダウンロードが完了して、準備完了となります。イメージリストで確認できます。0)ちなみにイメージは「~/.vagrant.d」に保存されています。VMの作成に際しては、Vagrant用のフォルダを作ることをオススメします。その中に、各VM用のフォルダを作ることで、複数のVMを管理することが可能になります。~/Vagrant/machine0ダウンロードされたイメージを元に、Vagrantを初期化します。centos6カレントディレクトリにVagrantfileができます。ここでいろいろ編集できるんですが、とりあえずは起動してみます。upしばらくするとVMが起動されます。~]$これでもうVMができています。VMの状態は、VirtualBoxのManagerアプリでも見れます。VagrantはVirtualBoxのVMを作っただけってことなんですが、ここまで数行のコマンドで辿りつけてしまうところがやっぱり便利です。destroy」で環境を破壊できます。init直後の状態に戻りますので、ここから再構築が可能です。VagrantでできたVMじゃぁどんなVMができて、どんなことができるのかを確認してみます。このIFを経由してVMからは外部接続が可能です。sshすると、uid=vagrantでログインされます。メッセージにも出ていますが、RSA鍵によるSSHログインです。ホスト名はlocalhost、完全仮想化ホストとは、Vagrantfileのあるフォルダが「/vargrant」に共有されています。ファイルのやり取りには困らない設定です。いう訳で、至って普通なVMです。なんでも出来そうですが、他の仮想インフラと同じく、ネットワークだけ要注意。peerのみですので、複数VMを上げて相互に通信させるようなことはできません。peer(デフォルト)からホスト側のブリッジ共有まで様々な設定が可能で、これらはVagrantfileで指定できます。この辺を踏まえて、実用的なVMを作ってみます。Vagrantで複数サーバーを作ってみる今回の目標は、マルチノードでクラスタ環境の運転試験が出来る環境を作ることですので、複数ノードを、各々のノード情報をVagrantfileで指定して、相互通信できる状態で作り上げてみます。仮で作ったVMはdestroyして、5台ほど、ノードを作ってみます。up」することで、マシンを作っていきます。xxx」した後、Vagrantfileを編集します。Vagrantfileでは各々のノードに合わせて、VM名、ホスト名、ネットワーク設定を別々に指定していきます。7のイメージを別途ダウンロードした「centos7」を指定しています。VM同士が相互に通信できるよう、private_networkを定義し、個別にIPを付与します。upすると、設定された通りのマシンが出来上がります。peerネットワークに加えて、別インターフェースで相互ネットワークが構成されています。peerネットワークにアサインされるアドレスは全マシン同じになっています)。VirtualBoxマネージャーで見ると、こんな感じになっています。これで複数マシンで連携するようなマシンの動作検証もできそうです。