2013-09-04

GlusterFSでサーバのIPが変わってしまった場合の対処方法

GlusterFSでreplicaモードでVolumeを動作させていた際
1つのサーバがダウンしてしまい同じIPで起動できない場合の対処方法

まずは、peerに新サーバIPを追加
  1. $ gluster peer probe 10.153.57.98  
  2. Probe successful  

次に、Volume名をlogsとして、replace-brickしちゃえば置き換えられるかと思ったのですが怒られちゃいました(´・ω・`)
  1. $ gluster volume replace-brick logs <故サーバIP>:/brick <新サーバIP>:/brick start  
  2. brick: <故サーバIP>:/brick does not exist in volume: logs  

そこで、既存Volumeを削除して同じ名前で再作成するというアプローチをとってみました
  1. $ gluster volume stop logs  
  2. Stopping volume will make its data inaccessible. Do you want to continue? (y/n) y  
  3. Stopping volume logs has been unsuccessful  

ロックが掛かっていたりするとVolumeを停止できないそうなので、glusterdを再起動してみます
  1. $ service glusterd stop  
  2. glusterd を停止中:        [  OK  ]  
  3. $ service glusterd start  
  4. glusterd を起動中:        [  OK  ]  

そして、Volume停止をリトライ
  1. $ gluster volume stop logs  
  2. Stopping volume will make its data inaccessible. Do you want to continue? (y/n) y  
  3. Stopping volume logs has been successful  

今度は成功!
続いて、既存Volumeの削除
  1. $ gluster volume delete logs  
  2. Deleting volume will erase all information about the volume. Do you want to continue? (y/n) y  
  3. Deleting volume logs has been successful  

故サーバIPをpeerから削除
  1. $ gluster peer detach 10.153.57.194  
  2. Detach successful  

あとは、Brickとして利用していたディレクトリからGFS関連の情報を削除
  1. $ rm -rf /brick/.glusterfs  

そして、Volume作成
  1. $ gluster volume create logs replica 2 <既存サーバIP>:/brick <新サーバIP>:/brick  
  2. /brick or a prefix of it is already part of a volume  
怒られちゃいました(´・ω・`)
attributeも変更しないといけないようなので変更
  1. $ setfattr -x trusted.glusterfs.volume-id /brick  
  2. $ setfattr -x trusted.gfid /brick  

Volume作成リトライ
  1. $ gluster volume create logs replica 2 <既存サーバIP>:/brick <新サーバIP>:/brick  
  2. Creation of volume logs has been successful. Please start the volume to access data.  

今度はうまくいきました!
あとは、Volumeをstart
  1. $ gluster volume start logs  
  2. Starting volume logs has been successful  

Volumeの情報を確認
  1. gluster volume info logs  
  2.    
  3. Volume Name: logs  
  4. Type: Replicate  
  5. Volume ID: 28fcf9b5-c4d3-4a41-9161-56fd3a1f2eac  
  6. Status: Started  
  7. Number of Bricks: 1x2=2  
  8. Transport-type: tcp  
  9. Bricks:  
  10. Brick1: <既存サーバIP>:/brick  
  11. Brick2: <新サーバIP>:/brick  

0 件のコメント:

コメントを投稿