2017-06-03 10 views
0

私はテストクラスタを設定し、documentationに従います。Ceph設定ファイルとceph-deploy

コマンドceph-deploy new node1でクラスタを作成しました。その後、ホスト名node1のノード上のモニタに関する情報を含む現在のディレクトリにceph設定ファイルが表示されます。次に、2つのOSDをクラスタに追加しました。

これで、1台のモニターと2台のOSDを持つクラスターが作成されました。 ceph statusコマンドは、ステータスがHEALTH_OKであることを示します。

すべてのドキュメントの後に、「クラスタの拡張」セクションに移動し、コマンドがceph-deploy mon add node2ceph-deploy mon add node3の2つの新しいモニタを追加しました。今私は定員とステータスがHEALTH_OKの3台のモニターを持つクラスターを持っていますが、私には少し不一致があります。 ceph.confはまだ同じです。 1つのモニターに関する古い情報が含まれています。なぜceph-deploy mon add {node-name}コマンドが設定ファイルを更新しなかったのですか?そして、主な質問は、が3つのモニターで新しいクラスター状態に関する正しい情報を表示し、ceph.confにこの情報が含まれない理由です。実際の設定ファイルはどこですか?なぜceph-deployがそれを知っていますか?

再起動しても機能します。すべてのcephデーモンが始まり、不正確なceph.conf(私はこれをstraceとチェックしました)を読んで、これを無視して新しい設定でうまく動作します。

そして最後の質問です。なぜceph-deploy osd activate {ceph-node}:/path/to/directoryコマンドでも設定ファイルが更新されませんでしたか?結局のところ、ファイルが必要なのはどうしてですか?ceph-deployが今のところスマートになっていますか?

答えて

0

ここには複数の質問があります。

1)ceph.confは、すべてのノードを実行するために完全に同じである必要はありません。例えば。 OSDは、あなたが気にしているosd設定のみを必要とします。MONは設定する必要があります(同じノード上のすべてを実行しない限り、推奨されません)。MON1 MON2 MON2 MON3 MON2を持っています。MON2 0123、作成されて追加されると、MONマップは更新され、MON自身が既に他のMONがクォーラムを持つ必要があることを既に知っている。だから、MONはceph.confでは定足数の情報を得るのではなく、実行時の構成を変更することを期待しています。

3)cephコマンドを準備して実行するpythonスクリプトをceph-deployするだけです。例えばceph-deployなどの詳細を読み込んだ場合。 ceph-disk zap prepare activateを実行します。 準備が整ってアクティブになったら、それがcephパーティションのフォーマットになったら、udevはどこにマウントするかを知っています。次に、systemd ceph-osd.serverは起動時にceph-osdを起動します。そのため、ceph.confにはOSD情報がまったく必要ありません。

関連する問題