こんにちは。小川です。
前回はクライアント環境で必要なソフトウェアをインストールしました。

今回は仮想マシンの設定から作成まで自動的に行う Vagrant の設定の紹介です。 LifeKeeper を導入するうえで意識すべきポイントも見ていきましょう。

Vagrant設定

1. 任意のディレクトリで Vagrant の初期化をする

vagrant init chef/centos-6.6 https://atlas.hashicorp.com/search

実行したディレクトリに Vagrant の設定ファイル Vagrantfile ができます。

[補足]
 * 第1引数: init  Vagrantを初期化します。カレントディレクトリに Vagrant の設定 を定義するVagrantfile が作成されます。

 * 第2引数: chef/centos-6.6  Vagrant が使用する box を指定します。  指定した box 名を後述Vagrantfile に「config.vm.box = "box名"」を自動  的に追記してくれます。他の box を使用する場合は別の box 名に変更します。

 * 第3引数: https://atlas.hashicorp.com/search  Vagrant で使用する box を参照する URL を指定します。  指定すると後述の Vagrantfile に自動的に「config.vm.box_url = "サイトURL"」  を追記してくれます。他のサイトを参照させる場合は別の URL に変更します。

今回指定した URL は Vagrant がデフォルトで box を参照する URL の為、特に入力する必要は無いですが、どのサイトを参照するか分かるように明示的に入れました。

2. Vagrant の設定をする

Rubyの構文で書くことができます。 下記は今回使用するVagrantfileです。


Vagrant.configure(2) do |config|
  config.vm.box = "chef/centos-6.6"
  config.ssh.forward_x11 = "true"

  config.vm.define "lk-node01" do |node|
    node.vm.hostname = "lk01"
    node.vm.network "private_network", ip: "192.168.33.11"
  end

  config.vm.define "lk-node02" do |node|
    node.vm.hostname = "lk02"
    node.vm.network "private_network", ip: "192.168.33.12"
  end

  config.vm.provider "virtualbox" do |v|
    v.memory = "1024"
    v.gui = "true"
  end
end

設定内容について以下に説明します。
※本設定でオブジェクト名にnodeやvを使っていますが名称は変更できます。

  • Vagrant.configure
    Vagrant で使用する API バージョンを定義します。最新バージョンの 2 系を使用します。

  • config.vm.box
    使用する box 名を定義します。今回 atlas.hashicorp.com で提供されている CentOS6.6 の box を使います。

  • config.ssh.forward_x11
    LifeKeeper では、GUI が必須です。sshでGUIを使いたい場合は、X11 forwardingを有効にしておくと良いでしょう。

  • config.vm.box_url
    使用する box を参照するサイト URl を指定します。
    デフォルトで https://atlas.hashicorp.com/boxes/search を検索しますが、今回どこを参照するのか分かり易いように明示的に記述しました。boxを他のサイトから参照する場合は URL を変更します。

  • config.vm.define
    Vagrant のマルチマシン機能を使う為の定義です。仮想マシンを複数起動する場合は、ここで定義します。

今回稼働系/待機系1台ずつのクラスタ構成の為、2ノード分定義します。ノード数を増やす場合は定義を増やします。

  • node.vm.hostname
    ゲストOSのホスト名を定義してます。
    LifeKeeper ではインストール時にホスト名を保持するので、後から変更するのは手間です。LifeKeeper インストール前に正しい名前にしておきましょう。

  • node.vm.network
    ゲストOSが使うネットワークを定義してます。
    private_network を使うと、ホストOSとゲストOS間、ゲストOSとゲストOS間の通信ができます。LifeKeeper ではゲストOS間での通信があるので、設定しておきましょう。

  • config.vm.provider
    Vagrant で使う仮想化基盤となるソフトウェアを定義します。今回は VirtualBox を使用するので、"virtualbox" を指定します。

使えるプロバイダは以下のURLに書いてありますので、興味のある方は見て  みてください。

VAGRANT DOCS -> PROVIDERS
http://docs.vagrantup.com/v2/providers/index.html

  • v.memory
    仮想マシンのメモリサイズを定義します。
    LifeKeeper がサポートするシステムの最小メモリ要件は 512MB です。ここでメモリサイズを指定しないとデフォルト 480MB が割り当てられ動きません。要件を満たすように指定しておきましょう。

SIOS Protection Suite for Linux リリースノート バージョン 8.4.0
http://jpdocs.us.sios.com/Linux/8.4.0/LK4L/ReleaseNotes/index.htm

また、CentOS6.6 の場合、メモリが 632MB未満だとテキストモード(CUI)になりますので要注意です。LifeKeeper の操作は GUI が必須です。今回は1GBを指定しています。

  • Known Issues
    http://wiki.centos.org/Manuals/ReleaseNotes/CentOS6.6#head-aa1d1d1c4e306596f8ae129e016ef1f95fc7c36e

  • v.gui
    デフォルトでは仮想マシンはヘッドレスモードで起動します。
    GUI を使用する場合は有効にします。LifeKeeper は GUI が必須ですので、有効にしておくと良いでしょう。
    http://docs.vagrantup.com/v2/virtualbox/configuration.html

Vagrant起動

設定が終わったら、以下のコマンドを実行し仮想マシンをVagrantから起動します。

vagrant up

ゲストOSにログイン

GUI を有効にした場合は仮想マシンのウインドウが自動的に起動します。コンソールや ssh で node.vm.network で設定した IP アドレスに接続してログインしてみましょう。ユーザーIDとパスワードはデフォルト vagrant です。ログインしたら、ping コマンドで相互に通信できるか確認してみましょう。

以上です。

本記事は[「SIOS LifeKeeperブログ」](http://sios-lk.blogspot.jp/)の転載です。著作権は提供各社に帰属します。