2.5. Ceph クライアント認証の設定
Ceph クライアントが Red Hat OpenStack Platform にアクセスするように認証を設定します。
前提条件
- Ceph Monitor ノードへのルートレベルのアクセス。
- 稼働中の Red Hat Ceph Storage クラスター
手順
Ceph Monitor ノードから、Cinder、Cinder Backup、および Glance の新しいユーザーを作成します。
[root@mon ~]# ceph auth get-or-create client.cinder mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=vms, allow rx pool=images' [root@mon ~]# ceph auth get-or-create client.cinder-backup mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=backups' [root@mon ~]# ceph auth get-or-create client.glance mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=images'client.cinder、client.cinder-backup、およびclient.glanceのキーリングを適切なノードに追加し、それらの所有権を変更します。[root@mon ~]# ceph auth get-or-create client.cinder | ssh CINDER_VOLUME_NODE sudo tee /etc/ceph/ceph.client.cinder.keyring [root@mon ~]# ssh CINDER_VOLUME_NODE chown cinder:cinder /etc/ceph/ceph.client.cinder.keyring [root@mon ~]# ceph auth get-or-create client.cinder-backup | ssh CINDER_BACKUP_NODE tee /etc/ceph/ceph.client.cinder-backup.keyring [root@mon ~]# ssh CINDER_BACKUP_NODE chown cinder:cinder /etc/ceph/ceph.client.cinder-backup.keyring [root@mon ~]# ceph auth get-or-create client.glance | ssh GLANCE_API_NODE sudo tee /etc/ceph/ceph.client.glance.keyring [root@mon ~]# ssh GLANCE_API_NODE chown glance:glance /etc/ceph/ceph.client.glance.keyringOpenStack Nova ノードには、
nova-computeプロセスのキーリングファイルが必要です。[root@mon ~]# ceph auth get-or-create client.cinder | ssh NOVA_NODE tee /etc/ceph/ceph.client.cinder.keyringOpenStack Nova ノードは、
libvirtにclient.cinderユーザーの秘密鍵を保存する必要もあります。libvirtプロセスでは、Cinder からブロックデバイスを接続する際にクラスターにアクセスするために秘密鍵が必要です。OpenStack Nova ノードに秘密鍵の一時的なコピーを作成します。[root@mon ~]# ceph auth get-key client.cinder | ssh NOVA_NODE tee client.cinder.keyexclusive-lock機能を使用する Ceph ブロックデバイスイメージがストレージクラスターに含まれている場合には、全 Ceph ブロックデバイスユーザーにクライアントをブラックリストに登録するパーミッションがあるようにしてください。[root@mon ~]# ceph auth caps client.ID mon 'allow r, allow command "osd blacklist"' osd 'EXISTING_OSD_USER_CAPS'OpenStack Nova ノードに戻ります。
[root@mon ~]# ssh NOVA_NODEシークレットの UUID を生成し、後で
nova-computeを設定するためにシークレットの UUID を保存します。[root@nova ~]# uuidgen > uuid-secret.txt注記すべての Nova コンピュートノードに UUID は必要ありません。ただし、プラットフォームの一貫性から、同じ UUID を維持する方が適切です。
OpenStack Nova ノードで、
libvirtにシークレットキーを追加して、キーの一時コピーを削除します。cat > secret.xml <<EOF <secret ephemeral='no' private='no'> <uuid>`cat uuid-secret.txt`</uuid> <usage type='ceph'> <name>client.cinder secret</name> </usage> </secret> EOFlibvirtのシークレットを設定して定義します。[root@nova ~]# virsh secret-define --file secret.xml [root@nova ~]# virsh secret-set-value --secret $(cat uuid-secret.txt) --base64 $(cat client.cinder.key) && rm client.cinder.key secret.xml
関連情報
- 詳細は、『Red Hat Ceph Storage 管理ガイド』の「Ceph ユーザーの管理」セクションを参照してください。