3.9. バケット管理
ストレージ管理者は、Ceph Object Gateway を使用する場合は、バケットをユーザー間で移動して名前を変更することで、バケットを管理できます。
3.9.1. バケットの移動 リンクのコピーリンクがクリップボードにコピーされました!
radosgw-admin bucket
ユーティリティーは、ユーザー間でバケットを移行する機能を提供します。これを実行するには、バケットを新規ユーザーにリンクし、バケットの所有権を新規ユーザーに変更します。
バケットを移動できます。
3.9.1.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- 稼働中の Red Hat Ceph Storage クラスターがある。
- Ceph Object Gateway がインストールされている。
- バケット
- さまざまなテナントユーザーとテナントのないユーザー
3.9.1.2. テナントのないユーザー間でのバケットの移動 リンクのコピーリンクがクリップボードにコピーされました!
radosgw-admin bucket chown
コマンドは、バケットとそれに含まれるすべてのオブジェクトの所有権をあるユーザーから別のユーザーに変更する機能を提供します。これを行うには、バケットを現在のユーザーからリンク解除し、新しいユーザーにリンクして、バケットの所有権を新しいユーザーに変更します。
手順
バケットを新規ユーザーにリンクします。
radosgw-admin bucket link --uid=user --bucket=bucket
radosgw-admin bucket link --uid=user --bucket=bucket
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下を置き換えます。
- user を、バケットをリンクするユーザーのユーザー名に
- bucket を、名前を持つバケットに
たとえば、
data
バケットをuser2
という名前のユーザーにリンクするには、以下を実行します。radosgw-admin bucket link --uid=user2 --bucket=data
# radosgw-admin bucket link --uid=user2 --bucket=data
Copy to Clipboard Copied! Toggle word wrap Toggle overflow バケットが
user2
に正常にリンクされていることを確認します。radosgw-admin bucket list --uid=user2
# radosgw-admin bucket list --uid=user2 [ "data" ]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow バケットの所有権を新規ユーザーに変更します。
radosgw-admin bucket chown --uid=user --bucket=bucket
radosgw-admin bucket chown --uid=user --bucket=bucket
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下を置き換えます。
- user を、バケットの所有権を変更するユーザーのユーザー名に
- bucket を、名前を持つバケットに
たとえば、
データ
バケットの所有権をuser2
に変更するには、以下を実行します。radosgw-admin bucket chown --uid=user2 --bucket=data
# radosgw-admin bucket chown --uid=user2 --bucket=data
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドの出力で
owner
行を確認して、data
バケットの所有権が正常に変更されたことを確認します。radosgw-admin bucket list --bucket=data
# radosgw-admin bucket list --bucket=data
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.9.1.3. テナントユーザー間でのバケットの移動 リンクのコピーリンクがクリップボードにコピーされました!
バケットは、あるテナントユーザーと別のテナントユーザーの間を移動できます。
手順
バケットを新規ユーザーにリンクします。
radosgw-admin bucket link --bucket=current-tenant/bucket --uid=new-tenant$user
radosgw-admin bucket link --bucket=current-tenant/bucket --uid=new-tenant$user
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 置き換え:
- current-tenant を、バケットのテナントの名前に
- bucket リンクするバケットの名前に
- new-tenant を、新規ユーザーがあるテナントの名前に置き換えます。
- user を、新しいユーザーのユーザー名に
たとえば、
data
バケットを、test
テナントから、test2
テナントのuser2
という名前のユーザーにリンクします。radosgw-admin bucket link --bucket=test/data --uid=test2$user2
# radosgw-admin bucket link --bucket=test/data --uid=test2$user2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow バケットが
user2
に正常にリンクされていることを確認します。radosgw-admin bucket list --uid=test$user2
# radosgw-admin bucket list --uid=test$user2 [ "data" ]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow バケットの所有権を新規ユーザーに変更します。
radosgw-admin bucket chown --bucket=new-tenant/bucket --uid=new-tenant$user
radosgw-admin bucket chown --bucket=new-tenant/bucket --uid=new-tenant$user
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下を置き換えます。
- bucket リンクするバケットの名前に
- new-tenant を、新規ユーザーがあるテナントの名前に置き換えます。
- user を、新しいユーザーのユーザー名に
たとえば、
data
バケットの所有権をtest2
テナント内のuser2
に変更するには、次のようにします。radosgw-admin bucket chown --bucket='test2/data' --uid='test$tuser2'
# radosgw-admin bucket chown --bucket='test2/data' --uid='test$tuser2'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドの出力で
owner
行を確認して、data
バケットの所有権が正常に変更されたことを確認します。radosgw-admin bucket list --bucket=test2/data
# radosgw-admin bucket list --bucket=test2/data
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.9.1.4. バケットをテナントのないユーザーからテナントユーザーに移動する リンクのコピーリンクがクリップボードにコピーされました!
バケットをテナントのないユーザーからテナントユーザーに移動できます。
手順
任意です。まだ複数のテナントがない場合は、
rgw_keystone_implicit_tenants
を有効にして、外部テナントから Ceph Object Gateway にアクセスすることでテナントを作成できます。Ceph 設定ファイル (デフォルトでは
/etc/ceph/ceph.conf
) を開き、編集します。rgw_keystone_implicit_tenants
オプションを有効にします。rgw_keystone_implicit_tenants = true
rgw_keystone_implicit_tenants = true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow s3cmd
コマンドまたはswift
コマンドのいずれかを使用して、一時テナントから Ceph Object Gateway にアクセスします。swift list
# swift list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow または、
s3cmd
を使用します。s3cmd ls
# s3cmd ls
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 外部テナントからの最初のアクセスにより、同等の Ceph Object Gateway ユーザーが作成されます。
バケットをテナントされたユーザーに移動します。
radosgw-admin bucket link --bucket=/bucket --uid='tenant$user'
radosgw-admin bucket link --bucket=/bucket --uid='tenant$user'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 置き換え:
- bucket を、名前を持つバケットに
- tenant を、新規ユーザーがあるテナントの名前に
- user を、新しいユーザーのユーザー名に
たとえば、
data
バケットをtest
テナント内のtenanted-user
に移動するには、以下を実行します。radosgw-admin bucket link --bucket=/data --uid='test$tenanted-user'
# radosgw-admin bucket link --bucket=/data --uid='test$tenanted-user'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow data
バケットがtenanted-user
に正常にリンクされていることを確認します。radosgw-admin bucket list --uid='test$tenanted-user'
# radosgw-admin bucket list --uid='test$tenanted-user' [ "data" ]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow バケットの所有権を新規ユーザーに変更します。
radosgw-admin bucket chown --bucket='tenant/bucket name' --uid='tenant$user'
radosgw-admin bucket chown --bucket='tenant/bucket name' --uid='tenant$user'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 置き換え:
- bucket を、名前を持つバケットに
- tenant を、新規ユーザーがあるテナントの名前に
- user を、新しいユーザーのユーザー名に
たとえば、
data
バケットの所有権を、test
テナント内にあるtenanted-user
に変更するには、以下を実行します。radosgw-admin bucket chown --bucket='test/data' --uid='test$tenanted-user'
# radosgw-admin bucket chown --bucket='test/data' --uid='test$tenanted-user'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドの出力で
owner
行を確認して、data
バケットの所有権が正常に変更されたことを確認します。radosgw-admin bucket list --bucket=test/data
# radosgw-admin bucket list --bucket=test/data
Copy to Clipboard Copied! Toggle word wrap Toggle overflow