2015年4月22日水曜日

【トピックス】Chef / Vagrant でローカル開発環境に LifeKeeper を手早く構築する (1) – 準備編

はじめまして。今年から LifeKeeper SI を担当してます小川です。
よろしくお願いします。

昨年、ある案件の検証環境構築で Vagrant、Chef を使う機会があり大変便利だったので LifeKeeper の構築でも活用できないかと思い blog に書いてみました。

Vagrant × Chef の組み合わせは書籍や多くの方が blog を執筆されているので既にご存知の方は多いのではないかと思いますが、同じ SI をされている方や、現在 LifeKeeper を評価されている方に何かヒントや手助けになる情報をお届けできたらと思います。

なお、今回は大規模なクラスタを構築するというわけではなく、手元の開発環境でちょっとした LifeKeeper の動作確認や検証をしたい時に、さくっと環境を構築することを目的としています。

今回は、準備編です。

本記事では以下の環境を使用します。

■環境

[クライアント]

  * Windows 8 64bit (ホストOS)
  * Virtual Box 4.3.26
  * Ruby 2.1.5
  * Chef 12.0.3
  * Chef Development Kit(chef-dk) 0.4.0

[サーバー]

  * CentOS 6.6 64bit (ゲストOS)
  * LifeKeeper 8.4.0
  * httpd 2.2.15 (保護対象リソース)

 

まずはじめに Chef Vagrant とは何か?を簡単に紹介します。

* Chef

https://www.chef.io/chef/

Chef の特徴は、サーバーが本来あるべき姿、状態を保つことができるように、スクリプト (Ruby) を使って、設定・構築を自動化できる事です。それにより誰がサーバーを構築しても設定に一貫性を保つことができるメリットがあります。

"あるべき姿" とは、例えば LifeKeeper であれば導入の前提条件として、SELinux をサポートしていないので無効にする、保護対象サービスは LifeKeeper が起動するため、該当サービスの自動起動設定はオフにする必要がある、等のOS設定上の考慮事項があります。

Chef ではこのような設定情報を定義したものを "レシピ" 呼んでいます。また、"レシピ" をサーバに適用する為に使用するノード情報や設定ファイルのテンプレート等をまとめて "クックブック" と呼びます。更に "クックブック"まとめたものを"リポジトリ" といいます。
これらは Chef の用語として出てくるので覚えておくと良いでしょう。

Chef の構成は 1. Chef Server / Client 形式、 2.スタンドアロンの 2 種類があります。


管理対象ノード数が多い場合は 1. で、小規模の場合は 2. の構成を選択します。今回は LifeKeeper では一般的な稼働系/待機系の 2 台構成とし、小規模の為、2.のスタンドアロン形式をとります。

スタンドアロン形式では、Chef Solo を使いますが、将来的に廃止される事が決まっています。
そのため、今後は代替として Chef-Zero, Knife-Zero を使う等検討する必要がありそうです。

今回は、上記を考慮してローカル環境に LifeKeeper のクラスタを構築してみます。


* Vagrant


Vagrant VirutalBox 等の仮想マシンの設定や作成を自動化できるツールです。
Vagrantfile に仮想マシンの設定を定義し、コマンドラインでスピーディに OS を立ち上げることができます。

仮想マシンの作成には box と呼ばれるイメージを使うことができることが特徴です。予め定義しておくことで、OS インストールの度に ISO 等のイメージを毎回手動で読み込ませる必要が無く、手間がかからないメリットがあります。

■準備


それでは、クライアント端末で必要なパッケージをインストールしていきます。
コマンドラインでの操作は Windows の場合、コマンドプロンプトや Cygwin 等ご利用環境に合わせて実施ください。
なお、本記事ではインストーラでインストールするソフトウェアに関しては、全てデフォルトを選択しています。


1. Ruby


下記サイトの「RubyInstallers」より Ruby 2.1.5 インストーラをダウンロードして実行
使用インストーラ: rubyinstaller-2.1.5-x64.exe
http://rubyinstaller.org/downloads

2. DevKit


2.1. 下記サイトの「DEVELOPMENT KIT」より DevKit をダウンロードし任意の場所で展開
使用パッケージ: DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe
http://rubyinstaller.org/downloads

2.2.  展開したディレクトリに移動し、DevKit インストール

# ruby dk.rb init
# ruby dk.rb install 

3. chef-dk

下記サイトの「Windows -> ダウンロード」より chef-dk をダウンロードし実行
使用インストーラ:chefdk-0.4.0-1.msi
https://downloads.chef.io/chef-dk/

4. Knife-Zero


Chefコマンドで Knife-Zero インストール

# chef gem install knife-zero

knife コマンドでヘルプを見てみると、新たにサブコマンドに zero が追加されていることを確認できます。

# knife -h
------------------------------------------------


** ZERO COMMANDS **
knife zero bootstrap FQDN (options)
knife zero chef_client QUERY (options)
knife zero diagnose # show configuration from file
------------------------------------------------

5. Virtual Box


下記サイトの「VirtualBox 4.3.26 for Windows hosts」よりダウンロードし実行

使用インストーラ: VirtualBox-4.3.26-98988-Win.exe
https://www.virtualbox.org/wiki/Downloads


6. Vagrant


以下のサイトの「Windows」より Vagrant をダウンロードし実行

使用インストーラ: vagrant_1.7.2.msi
https://www.vagrantup.com/downloads.html

Vagrant インストール後、OS が再起動されます。

以上です。

2015年4月17日金曜日

【アップデート情報】Tomcat Generic ARK で Tomcat7 を保護できるようになりました

Red Hat Enterprise Linux 7(以下RHEL7)で提供されている Tomcat7 を保護できるよう Tomcat Generic ARK のスクリプトを改修しました。

主な変更点は次のとおりです。


  1. Tomcat のサービス名を パラメータ "TOMCAT_APP_VERSION" で設定するように変更しました。
  2. Tomcat 7 を起動 / 再起動するときに、pid ファイル を再生成するようにしました。
  3. /etc/default/LifeKeeper Tomcat のスクリプト内で、同一のパラメータが設定されている場合には、/etc/default/LifeKeeper の値を使用するように変更しました。


その他の設定、仕様については、Tomcat Generic ARK に同梱されておりますドキュメント
"Tomcat_Generic_ARKスクリプト仕様書.pdf" をご確認ください。
また、RHEL7 で利用するには、LifeKeeper for Linux v8.4.0 をご利用ください。
GenericARK 公開
LifeKeeper/Single Server Protection for Linux v8.4 リリースのお知らせ

2015年4月16日木曜日

【アップデート情報】WebSphere MQ 8.0のサポートを追加しました

LifeKeeper for Linux v8.4.0に、WebSphere MQ 8.0のサポートを追加しました。



このサポートに関する情報は、下記のリンクに記載があります。

v8.4.0 リリースノート
 
このリリース (8.4.0) の新機能
http://jpdocs.us.sios.com/Linux/8.4.0/LK4L/ReleaseNotes/index.htm

v8.4.0
サポートマトリクス
 
サポート対象のアプリケーション
http://jpdocs.us.sios.com/Linux/8.4.0/LK4L/SupportMatrix/index.htm

2015年4月10日金曜日

【アップデート情報】LifeKeeper for Windows v8.2.1/DataKeeper for Windows v8.2.1をリリースしました

今回はマイナーアップデートのため、追加機能や新たにサポートされるOSや環境はありません。


一番大きな変更としては、IPRKの処理が1部変更となりました。


詳細は以下のURLをご参照ください。

[Windows]v8.2.1以降のIPARKの処理動作概要について


また、ターゲットスナップショットに改良が加えられ、ターゲットボリュームが2TB以上でもスナップショットが可能となりました。

その他、主な変更点をまとめたドキュメントをユーザサイトで公開しております。合わせてご確認ください。
LifeKeeper / DataKeeper for Windows v8.2.1 Technical Update Information

2015年4月6日月曜日

【アップデート情報】Red Hat Enterprise Linux 7でDovecotの動作確認しました

GenericARKで公開しているDovecot Generic ARKスクリプトをアップデートしました。

Red Hat Enterprise Linux 7(以下RHEL7)上のDovecotリソースが保護できます。

RHEL7対応として大きな修正が必要と想定していましたが、修正は不要でした。
また、今までリソースタグ名に"dovecot"の文字が使えませんでしたが、使えるように修正しました。

RHEL7
で利用するには、LifeKeeper for Linux v8.4.0をご利用ください。

GenericARK
公開
http://lk.sios.com/?page_id=28
LifeKeeper/Single Server Protection for Linux v8.4
リリースのお知らせ
http://i.sios.com/products/bcp/lkdk/info/lksspv8.4_2015302.html

2015年4月2日木曜日

【Linux情報】Samba v4に関する留意点

Samba v4からは、smb.confにpid directoryの記載が無いと、Sambaのプロセスを複数起動できなくなります。


Red Hat Enterprise Linux 7からSambaのバージョンがv3からv4にアップデートされました。

注意点として、Samba v3では、smb.confpid directoryの記載がなくてもSambaのプロセスを複数起動できましたが、Samba v4からは、smb.confpid directoryの記載が無いと、Sambaのプロセスを複数起動できなくなっています。
 
そこで、LifeKeeper for Linux v8.4.0 Samba Recovery Kit管理ガイドには、Samba v4Active/Active構成を利用する場合の記述例を追加しました。

詳細は、Samba Recovery Kit管理ガイド v8.4.0 P12P13"アクティブ/アクティブ設定"をご参照ください。

Samba Recovery Kit 管理ガイド

http://jpdocs.us.sios.com/Linux/8.4.0/LK4L/RKPDFs/Content/Resources/pdfs/lksamba.pdf