4.2. Cephx の有効化
cephx
が有効な場合には、Ceph はデフォルトの検索パス /etc/ceph/$cluster.$name.keyring
を含む) でキーリングを探します。Ceph 設定ファイルの [global]
セクションに keyring
オプションを追加することで、この場所を上書きすることができますが、これは推奨されません。
認証が無効になっているクラスターで cephx
を有効にするには、以下の手順を実行します。ご自身またはデプロイメントユーティリティーがすでにキーを生成している場合は、キーの生成に関する手順を省略できます。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- Ceph Monitor ノードへの root レベルのアクセス。
手順
client.admin
キーを作成し、クライアントホストのキーのコピーを保存します。[root@mon ~]# ceph auth get-or-create client.admin mon 'allow *' osd 'allow *' -o /etc/ceph/ceph.client.admin.keyring
警告これにより、既存の
/etc/ceph/client.admin.keyring
ファイルの内容が消去されます。すでにデプロイメントツールがこの作業を行っている場合は、この手順を実行しないでください。モニタークラスター用のキーリングを作成し、モニターシークレットキーを生成します。
[root@mon ~]# ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'
すべてのモニターの
mon data
ディレクトリーのceph.mon.keyring
ファイルにモニターキーリングをコピーします。たとえば、これをクラスターceph
のmon.a
にコピーするには、以下のコマンドを使用します。[root@mon ~]# cp /tmp/ceph.mon.keyring /var/lib/ceph/mon/ceph-a/keyring
すべての OSD に秘密鍵を生成します。ここで、
ID
は OSD 番号です。ceph auth get-or-create osd.ID mon 'allow rwx' osd 'allow *' -o /var/lib/ceph/osd/ceph-ID/keyring
デフォルトでは、
cephx
認証プロトコルは有効になっています。注記認証オプションを
none
に設定してcephx
認証プロトコルが無効にされていた場合には、Ceph 設定ファイル (/etc/ceph/ceph.conf
) の[global]
セクションの下にある以下の行を削除して、cephx
認証プロトコルを再度有効にします。auth_cluster_required = none auth_service_required = none auth_client_required = none
Ceph Storage クラスターを起動または再起動します。
重要cephx
を有効にするには、クラスターを完全に再起動する必要があるか、クライアントの I/O が無効になったときにシャットダウンしてから起動する必要があるため、ダウンタイムが必要です。これらのフラグは、ストレージクラスターを再起動またはシャットダウンする前に設定する必要があります。
[root@mon ~]# ceph osd set noout [root@mon ~]# ceph osd set norecover [root@mon ~]# ceph osd set norebalance [root@mon ~]# ceph osd set nobackfill [root@mon ~]# ceph osd set nodown [root@mon ~]# ceph osd set pause
cephx
が有効になり、すべての PG がアクティブかつクリーンな状態になったら、フラグの設定を解除します。[root@mon ~]# ceph osd unset noout [root@mon ~]# ceph osd unset norecover [root@mon ~]# ceph osd unset norebalance [root@mon ~]# ceph osd unset nobackfill [root@mon ~]# ceph osd unset nodown [root@mon ~]# ceph osd unset pause