LinuCレベル3 プラットフォームスペシャリスト 仮想化基盤のネットワークとストレージ 問16
仮想化基盤のネットワークとストレージ/Cephの理解と実装Cephクラスタの管理ノードで「ceph auth get-or-create client.app mon 'allow r' osd 'allow rw pool=app'」を実行した。このコマンドの動作として適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル3 プラットフォームスペシャリストの出題範囲「仮想化基盤のネットワークとストレージ」に対応。実際の試験問題ではありません)
- Aclient.appというユーザーが無ければ作成し、MONの読み取りとプールappへの読み書きを許可したキーを出力する
- Bプールappを新規に作成し、そのプールを使うためのRBDイメージとアクセス用のキーを同時に用意する
- C既存のclient.appのキーを破棄して新しいキーを生成し、古いキーで接続中のクライアントを切断する
- D/etc/ceph/ceph.confにclient.appのセクションを追記し、クラスタ内の全クライアントへ設定を配布する
正解:A
解説
ceph authはcephx認証のユーザー(エンティティ)とその権限(ケイパビリティ)を管理するコマンドです。get-or-createは、指定したユーザーが存在しなければ指定の権限で作成し、存在すればそのキーを返します(既存ユーザーの権限と指定した権限が異なる場合は、キーを返さずエラーになります。権限を変更するには ceph auth caps を使います)。この例では、MONに対する読み取りと、プールappに限った読み書きだけを許可したユーザーclient.appができます。出力はキーリング形式なので、-o /etc/ceph/ceph.client.app.keyring のように保存してクライアントに配置すると、そのユーザーとして接続できます。作成済みのユーザーは ceph auth ls で一覧できます。
選択肢ごとの解説
- A正しい。get-or-createはユーザーが無ければ指定の権限で作成し、キーリング形式でキーを出力します。
- B誤り。プールの作成は ceph osd pool create、RBDイメージの作成は rbd create で行います。ceph authはユーザーと権限を管理するだけです。
- C誤り。get-or-createは既存ユーザーであればそのキーを返すだけで、キーを作り直したり接続を切断したりはしません。
- D誤り。ceph authはMONが保持する認証データベースを操作するもので、ceph.confの編集や設定ファイルの配布は行いません。