Sheepdogではクラスタ管理にcorosync / zookeeperが選択できるが、今後はzookeeperを使ってスケールするような風潮が見られるため(管理上限の制限などもふくめて)、zookeeperを使ってインストールする方が望ましいです。
しかし、標準的なインストールだとcorosyncのみをサポートしていること、またzookeeperを一緒にインストールしようとするとかなり面倒くさい。
そこで、簡単に試そうとするならば、私が作成したel7用のrpmがダウンロード可能なので、使うことをお勧めします。
※これからの手順はこのblogからリンクされているパッケージインストールを元に説明します。
インストール
1.必要なパッケージをダウンロードする。一箇所にまとめて保存してください。md5sumを確認することをお忘れなく。
2. 全てのパッケージをインストールする。
sheepfsを使いたい場合はsheepfsパッケージもインストールしてください。
※環境によってはfuse関連のパッケージのインストールが必要かもしれません。
またzookeepkerがすでに入っている環境の場合は競合するかもしれません。
インストールは以上です。rpmインストールができると非常に簡単ですネ。
設定
大きく分けて、zookeeperの設定とsheepdogの設定があります。
zookeeperの設定
zookeeperの設定は2箇所あります。1. /etc/zookeeper/zoo.cfg の設定
クラスタを組むサーバの設定をします。既存のzoo.cfgに追加します。書式は次の通りです。 ※後ろのポート番号の説明は省略します。
server.<サーバid>=<サーバIP address>:2888:3888これをクラスタ分を登録します。
server.1=172.17.29.4:2888:3888 server.2=172.17.29.5:2888:3888 server.3=172.17.29.6:2888:3888
2. /var/lib/zookeeper/data/myid の設定
myidは自サーバの番号を記述します。例えば、zoo.cfgのserver.3(172.17.29.6)のサーバであれば3です。参加するクラスタ全サーバでmyidファイルを作成します。
3
Sheepdogの設定
sheepdogの設定はファイルの修正が1箇所とファイルを1つ作成します。1. /usr/lib/systemd/system/sheepdog.service の修正
デフォルトだと環境ファイルが読み込まれないので、読み込ませるための修正を行います。
修正前:
EnvironmentFile=-/etc/sysconfig/sheepdog
修正後:
EnvironmentFile=/etc/sysconfig/sheepdog
2. /etc/sysconfig/sheepdogファイルの作成
環境変数を設定します。デフォルトではcorosyncを使うように設定されているので、zookeeperへの変更と、クラスタの登録を行います。
SHEEP_OPTS="/storage/sheepdog/ -c zookeeper:172.17.29.4:2181,172.17.29.5:2181,172.17.29.6:2181"