サイト管理者
なみかわみやこ
この文書の現在のバージョンと選択したバージョンの差分を表示します。
|
分散ストレージ:glusterfs [2013/06/28 05:58] miyako [volumeを作成] |
分散ストレージ:glusterfs [2016/01/12 05:28] (現在) miyako [Glusterfsをインストールしたサーバで起動時にマウントする場合] |
||
|---|---|---|---|
| ライン 89: | ライン 89: | ||
| - | ==== そうは言っても1代じゃ意味無いので2台用意する ==== | + | ==== そうは言っても1台じゃ意味無いので2台用意する ==== |
| お互いが名前解決できるようにhostsに登録をしておく | お互いが名前解決できるようにhostsに登録をしておく | ||
| ライン 102: | ライン 102: | ||
| gluster volume create ボリューム名 replica 2 transport tcp サーバー名1:ディレクトリ サーバー2:ディレクトリ | gluster volume create ボリューム名 replica 2 transport tcp サーバー名1:ディレクトリ サーバー2:ディレクトリ | ||
| + | |||
| + | 作成したボリュームを利用可能にする | ||
| + | |||
| + | gluster volume start ボリューム名 | ||
| ==== 復旧 ==== | ==== 復旧 ==== | ||
| ライン 143: | ライン 147: | ||
| service glusterd start | service glusterd start | ||
| gluster peer probe 既存のノード | gluster peer probe 既存のノード | ||
| + | ※複数のノードがある場合は全てのノードに対して実行する | ||
| service glusterd restart | service glusterd restart | ||
| ライン 148: | ライン 153: | ||
| <note warning>既存ノードから復旧したノードを指定するのではない!</note> | <note warning>既存ノードから復旧したノードを指定するのではない!</note> | ||
| + | |||
| + | <note warning> | ||
| + | Glusterfs 3.4.0にはバグがあるらしく、再構築してpeerしても | ||
| + | Volume-idを設定してくれないようだ。 | ||
| + | この為ステータスを確認しても再構築したサーバーがオンラインにならない | ||
| + | |||
| + | gluster vol status ボリューム名 | ||
| + | |||
| + | |||
| + | Volume-idの確認 | ||
| + | 既存のサーバーで以下のコマンド実行 | ||
| + | gluster vol info ボリューム名 | ||
| + | |||
| + | 表示されるVolume IDをそのまま登録は出来ない | ||
| + | -を抜いたIDを登録しないといけない | ||
| + | |||
| + | 面倒な場合は以下のコマンドで-無しのIDが表示される | ||
| + | getfattr -d -m . -e hex BrickPath | ||
| + | |||
| + | って事で設定してみる | ||
| + | setfattr -n trusted.glusterfs.volume-id -v 確認したVolumeID ボリューム名 | ||
| + | |||
| + | |||
| + | Glusterdを再起動する | ||
| + | |||
| + | service glusterd restart | ||
| + | |||
| + | これでオンラインになるはず(^^;) | ||
| + | </note> | ||
| 再レプリケーションを実行 | 再レプリケーションを実行 | ||
| ライン 154: | ライン 188: | ||
| <note warning>ノード再構築時はSelf-heal daemonによる自動再レプリケーションは実施されません。再レプリケーションは上記のコマンドにfullのオプションを付けて実行する</note> | <note warning>ノード再構築時はSelf-heal daemonによる自動再レプリケーションは実施されません。再レプリケーションは上記のコマンドにfullのオプションを付けて実行する</note> | ||
| - | |||
| ==== Quota ==== | ==== Quota ==== | ||
| ライン 189: | ライン 222: | ||
| </note> | </note> | ||
| - | + | ==== volumeが作成出来ない場合 ==== | |
| + | |||
| + | 一度ボリュームに追加したBrick(ディレクトリ)を再度ボリュームに追加する場合 | ||
| + | |||
| + | ボリュームを削除していたとしてもボリューム作成時に以下のようなエラーが出力する事がある。 | ||
| + | |||
| + | {path} or a prefix of it is already part of a volume | ||
| + | |||
| + | この場合、以下のコマンドを実行する必要がある | ||
| + | |||
| + | setfattr -x trusted.glusterfs.volume-id $brick_path | ||
| + | setfattr -x trusted.gfid $brick_path | ||
| + | rm -rf $brick_path/.glusterfs | ||
| + | |||
| + | [[http://nuke.hateblo.jp/entry/20121128/1354085790|参考1]] | ||
| + | [[http://joejulian.name/blog/glusterfs-path-or-a-prefix-of-it-is-already-part-of-a-volume/|参考2]] | ||
| + | |||
| + | |||
| + | ==== Glusterfsをインストールしたサーバで起動時にマウントする場合 ==== | ||
| + | |||
| + | Glusterfsをインストールしたサーバで作成したBrickを起動時にマウントしたい場合、通常通りfstabに追記するのだけど | ||
| + | |||
| + | 起動順の問題でfstabでマウントするタイミングではGlusterfsは起動していないのでマウントができない。 | ||
| + | |||
| + | うにゅ~/etc/rc.localにでもmountコマンドを書きゃいいのかと思ったら、どうやらその辺りもちゃんと出来るそうなw | ||
| + | |||
| + | まず、fstabに追記する書き方 | ||
| + | |||
| + | localhost:/[Brick名] [マウント先] glusterfs defaults,_netdev 0 0 | ||
| + | |||
| + | **_netdev**がミソ。 | ||
| + | |||
| + | どうやら_netdevを付ける事で、マウント処理を遅延させてくれるそうな。 | ||
| + | |||
| + | この動きを制御してくれてるのがnetfsサービス。ちゃんと起動しておきましょう。 | ||
| + | |||
| + | デフォルトはONになってる気がする・・・ | ||
| + | |||
| + | chkconfig netfs on | ||
| + | service netfs start | ||
| + | |||