split brain となった場合
確認は
# gluster volume heal syncdata info
Heal operation on volume syncdata has been successful
Brick 10.243.255.196:/home/syncdata
Number of entries: 1
/file01.txt
Brick 10.243.255.197:/home/syncdata
Number of entries: 1
/file01.txt
https://sites.google.com/site/glusterfstech/recovery/split-brain
GlusterFSはクライアントから該当ファイルへのアクセスを禁止します。クライアントから該当ファイルにアクセスすると「I/Oエラー」になります。
スプリットブレイン状態のファイルを回復するには、管理者が各ノードのファイルの内容を直接確認して、不要と判断した方のファイルを手動で削除した上で再レプリケーションを行う必要があります。
古いブリック内のファイルを削除して、正しい方のファイルで再レプリケーションします。
# gluster volume stop syncdata
# getfattr -d -m trusted.gfid -e hex /home/syncdata/brainfile.txt
getfattr: Removing leading ‘/’ from absolute path names
# file: home/syncdata/pgdata/postgresql.conf
trusted.gfid=0xebeef9c437894a8ca910dd98ab240297
# rm -rf /home/syncdata/brainfile.txt
# rm -rf /home/syncdata/.glusterfs/eb/ee/ebeef9c4-3789-4a8c-a91-0dd98ab240297
# gluster volume start syncdata
クライアントからbrainfile.txtに正常にアクセスするには、ファイルシステムの再マウントが必要になります。
———————————————————————————————–
3.2系だと、どちらかのファイルを持ってくればOKだったような?
3.3系から gluster ディレクトリが出来たので
http://www.joejulian.name/blog/fixing-split-brain-with-glusterfs-33/
にあるように
# export BRICK=/home/syncdata
# exportSBFILE=/pgdata/postgresql.conf
# GFID=$(getfattr -n trusted.gfid –absolute-names -e hex ${BRICK} ${SBFILE} | grep 0x | cut -d’x’ -f2)
# rm ${BRICK}${SBFILE}
# rm ${BRICK}/.glusterfs/${GFID:0:2}/${GFID:2:2}/${GFID:0:8}-${GFID:8:4}-${GFID:12:4}-${GFID:16:4}-${GFID:20:12}
として、削除する必要があるみたい。
コメントを残す