sheepdogの利用にはcorosyncとqemu-kvmを使用します. 各ソフトウェアのインストール方法はこちらを参考にしてください.
まずクラスタ環境に使用するディスクスペースの設定を行います.
ここでは,クラスタ環境に提供するディスクをstore_device,store_deviceをマウントしているディレクトリをstore_dirとしています.
store_dirとして提供するディレクトリはxattrをサポートしている必要があります.
そのため,マウントオプションでxattrを有効にしておきます.
例として,ext3でのオプションの指定方法を書いておきます.
$ sudo mount -o remount,user_xattr /store_device
次に,sheepdogを起動してクラスタ環境を構築します. sheepdogのディレクトリに起動スクリプトが用意されています.
$ cd sheepdog $ sudo sudo script/start-sheepdog
なお,sheepdog起動時に現在動作しているsheepdogを停止させるスクリプトも同時に動作するため,start-sheepdogの起動はscriptディレクトリの指定から行う必要があります.
start-sheepdogが起動すると各ノードは自律的にクラスタ環境を構築します. どのノードがクラスタ環境を構築しているかは以下のコマンドで確認できます.
$ shepherd info -t dog
ここでは7台でクラスタ環境を構築したとします. この際に,shepherd info -t dogでは,以下のような表示がでるはずです.(IPアドレス,Node idは各環境によって異なります.)
Idx Node id (FNV-1a) - Host:Port ------------------------------------------------ 0 118beead8cef5066 - 192.50.109.111:7000 1 45c877fe0a72604a - 192.50.109.99:7000 2 4eed557b855a5ffe - 192.50.109.119:7000 3 700b148f9249ad01 - 192.50.109.40:7000 * 4 88a19f656ab3af4c - 192.50.109.41:7000 5 f92053138af4dc29 - 192.50.109.96:7000 6 faa2983b4e3ffe32 - 192.50.109.123:7000
ファイルシステムの構築を行います.
copiesは冗長構成を行う数を指定します.
ここでは,3台のマシンにデータを複製するように指定しています.
$ shepherd mkfs --copies=3