0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

GlusterFSで新しいサーバを追加できないときの対処"already part of another cluster or having volumes configured"

Posted at

状況

既存のGlusterノードが複数個ある
ここに、新たに複数のノードを追加したい。
そのためにpeer probeを試みると以下のエラーメッセージのような事態に。
*念の為ボリュームは全て削除済み

エラーメッセージ

Ansible経由で"あるひとつのノードからみた、自分(e.g. server0)以外のノード全て"をpeer probeしようとした。
以下は例です。大人の事情により色々コードの見た目変えてます。

AnsiblePlayBook
    - name: Probe gluster nodes
      shell: |
         gluster peer probe server{{item}}
      with_sequence: end=99 start=1

話それますが、ひとつのノードからこれをやれば十分です。すべでのノードで自分以外のノードを全てpeer probeしようとしなくても、GlusterFSは賢いのでpeer nodesを自動で共有してくれます。

これでいけるはずと思いましたが、以下のエラーで、新規のノードから既存のノードへのpeer probeが失敗します。
Ansibleがコマンドラインを紅に染めてしまいます。。。

 server1 is either already part of another cluster or having volumes configured 
 .......

解決法

  1. 既存のノードたちのうち一つをピックアップし、そこでピックアップしたノードで、それ以外のpeer nodesをdetachしました。

まずは繋がってるノードを確認しましょう。

Bash
gluster peer status

これで出てきたノードのうち、ピックアップしたノード以外のノードを、ピックアップしたノードからdetachしましょう。

Bash
gluster peer detach {{自分以外のpeer nodes}}

ひとつのノードからこれをやれば十分です。すべでのノードで自分以外のノードを全てpeer detachしようとしなくても、GlusterFSは賢いのでpeer nodesの変更を自動で共有してくれます。

これで、既存のノードたちは一時的に職を失い、無我の境地に至ります-これまで頑張ってファイルを分散してきたのに、新入りのノードのために容易くもdetachされるとは、まさに、諸行無常。。。

  1. 新規のノードの集団(peer probe済み)に、既存のノードをpeer probeする。

例として既存のサーバーがserver[1-5]だとすれば、新規ノードのうち一つをピックアップして、それだけに以下のようなAnsible playbookを適用しました。大人の事情により、色々コード書き換えてます。

AnsiblePlayBook
    - name: Probe gluster nodes
      shell: |
         gluster peer probe server{{item}}
      with_sequence: end=5 start=1

あとは、適当なノードで、peer nodesのステータスを確認し、新旧のノードが仲良くしていることを確認してください。

Bash
gluster peer status

感想 インフラ構築は丸亀製麺のような手打ちは通用しない

うどんは丸亀製麺のように手打ちがいいですよね。
でも、インフラの構築には手打ちは通用しないです。
だって、十数台の大量のサーバーに手打ちでコマンド打ったら、手が疲れるし、気が狂います。
Ansibleなら、正しいplaybookさえ作れば、実行終了を待つだけです。

もうね、Ansibleしか勝たん。。。って感じですよ。
AnsibleをはじめとするInfrastructure as Code, IaCはROI高めなので、エンジニアのキャリアの初期に学ばさせていただけたのは本当に感謝です!

というわけで、Ansibleに感謝!
ここまで読んでいただき感謝です!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?