差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

分散ストレージ:glusterfs [2013/06/27 07:05]
miyako
分散ストレージ:glusterfs [2016/01/12 05:28] (現在)
miyako [Glusterfsをインストールしたサーバで起動時にマウントする場合]
ライン 89: ライン 89:
      
  
-==== そうは言っても1じゃ意味無いので2台用意する ====+==== そうは言っても1じゃ意味無いので2台用意する ====
  
 お互いが名前解決できるようにhostsに登録をしておく お互いが名前解決できるようにhostsに登録をしておく
ライン 96: ライン 96:
  
 ==== volumeを作成 ==== ==== volumeを作成 ====
 +  gluster peer probe サーバー名2
 +
 +<note warning>gluster peer probeは1台のサーバーからそれ以外のサーバーに対してのみ実行するだけ</note>
  
   gluster volume create ボリューム名 replica 2 transport tcp サーバー名1:ディレクトリ サーバー2:ディレクトリ   gluster volume create ボリューム名 replica 2 transport tcp サーバー名1:ディレクトリ サーバー2:ディレクトリ
  
  
 +作成したボリュームを利用可能にする
 +
 +  gluster volume start ボリューム名
 ==== 復旧 ==== ==== 復旧 ====
  
ライン 141: ライン 147:
   service glusterd start   service glusterd start
   gluster peer probe 既存のノード   gluster peer probe 既存のノード
 +  ※複数のノードがある場合は全てのノードに対して実行する
  
   service glusterd restart   service glusterd restart
ライン 146: ライン 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>
  
 再レプリケーションを実行 再レプリケーションを実行
ライン 152: ライン 188:
  
 <note warning>ノード再構築時はSelf-heal daemonによる自動再レプリケーションは実施されません。再レプリケーションは上記のコマンドにfullのオプションを付けて実行する</note> <note warning>ノード再構築時はSelf-heal daemonによる自動再レプリケーションは実施されません。再レプリケーションは上記のコマンドにfullのオプションを付けて実行する</note>
- 
  
 ==== Quota ==== ==== Quota ====
ライン 187: ライン 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 
 + 
分散ストレージ/glusterfs.1372316725.txt.gz · 最終更新: 2013/06/27 07:05 by miyako



DMM.com電子書籍

CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0

- Media Kiss Lab -