2015年9月10日木曜日

【トピックス】ChefによるLifeKeeperクラスタ構築 ~ cookbook準備




はじめまして、LifeKeeperの開発を担当している松嶋です。



前回の佐藤よりバトンタッチし、ChefによるLifeKeeperインストールからクラスタの構築までの説明を致します。よろしくお願いします。



前回、Chef環境構築 を行いました。


無事設定は出来ましたか?


今回はChefで使用するCookbookファイルを準備します。



cookbookの作成


workstationcookbookの準備をします。

lkinstall,commpath,resourcecookbookを作成するため、ひな形を作成します。

まず、作成したリポジトリディレクトリchef-repoに移動します。



$cd ~/chef-repo


次に下記のコマンドを実行してひな形を作成します。



$ knife cookbook create lkinstall -o site-cookbooks/

$ knife cookbook create commpath -o site-cookbooks/

$ knife cookbook create resource -o site-cookbooks/


cookbookssite-cookbooksの違いですが、cookbooksBokkshelfからとってきたcookbooksite-cookbooksはユーザー定義のcookbooksを運用します。

その他のcookbookを追加したい場合もここでひな形を作成してください。


filemodifyというcookbookのひな形を作成


$ knife cookbook create filemodify -o site-cookbooks/


Chefで使うファイルをChef Workstationにコピーする

LifeKeeperrpmファイルなどのコピーを行います。

sps_900.imgをマウントします。


$ sudo mount sps_900.img -t iso9660 -o loop /mnt

※インストールイメージのファイル名はLifeKeeperのバージョンにより異なります。

v9.0.0ではsps_900.imgになります。それ以降のバージョンについては製品付属のREADMEファイルをご覧になってください。


LifeKeeper rpmファイル

LifeKeeper Chef Support Documentの「3-4 新規クラスタ生成の準備」を参考にして必要なファイルを下記のcookbookディレクトリにコピーします。

~/chef-repo/site-cookbooks/lkinstall/files/default


手動でファイルコピーをするのは大変ですので、sampleスクリプトを作りました。

以下のリンクからダウンロードして、お客様の環境に合うように修正してお使いください。




=============================================

例 お客様の環境がRHEL7user idchefuserApacheDRを使用する場合


変更前

#!/bin/sh

#variable setting

OS=Cent                     #RHEL/Cent/OEL

VER=6                        #6/7/(other)

HOME=/home/XXXX                   #your home path

------------------------------------(中略)------------------------------------

#####ARK files

#please remove unnecessary ARK name

ARKFILES=(lkAPA lkDR lkPGSQL lkSQL)

------------------------------------(後略)------------------------------------


変更後

#!/bin/sh

#variable setting

OS=RHEL                    #RHEL/Cent/OEL

VER=7                        #6/7/(other)

HOME=/home/chefuser               #your home path

------------------------------------(中略)------------------------------------

#####ARK files

#please remove unnecessary ARK name

ARKFILES=(lkAPA lkDR)

------------------------------------(後略)------------------------------------


=============================================


ライセンスキーファイルは別途お客様で用意していただき、cookbookディレクトリ「~/chef-repo/site-cookbooks/lkinstall/files/default」にコピーしてください。


XML変換スクリプト

次回のブログで紹介するXML変換スクリプトをコピーしておきます。

~/ 配下にChefディレクトリを作成してコピーする。


$ mkdir ~/Chef

$ cp /mnt/Chef/exp2chef.pl ~/Chef


XML::Simpleインストール

上記のAttribute変換スクリプトが使用しているPerlモジュールをインストールする必要がございます。 すでにインストール済みの場合は不要です。


$ sudo yum install perl-XML-Simple

※インストールはroot権限で行ってください。


インストールされているかチェックするには、下記のコマンドを実行します。


$ perl -MXML::Simple -e 1


インストールされている場合は何も出力されません。


$<空白>


インストールされていない場合はエラーが出力されます。


$ perl -MXML::Simple -e 1

Can't locate XML/Simple.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /
usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .).

BEGIN failed--compilation aborted.

以上でcookbookファイルなどの準備は完了です。


次回はいよいよ実際に既存クラスタからリソース情報を抽出して、展開先クラスタにリソースを展開する説明をします。




 
 

0 件のコメント:

コメントを投稿