第3章 Object Storage およびコンテナー


OpenStack Object Storage (openstack-swift) は、コンテナー内にオブジェクト (データ) を格納します。コンテナーとは、ファイルシステムにおけるディレクトリーと似ています。ただし、入れ子にはできません。コンテナーは、あらゆるタイプの非構造化データを格納する簡単な方法をユーザーに提供します。たとえば、オブジェクトには写真、テキストファイル、イメージなどが含まれます。格納されるオブジェクトは暗号化や圧縮はされません。

3.1. Object Storage サービスの管理

以下の手順では、Object Storage サービスをニーズに合わせてさらにカスタマイズする方法について説明します。

3.1.1. Image サービスのバックエンドとしてのオブジェクトストレージの設定

デフォルトでは、OpenStack の Image サービスは、イメージおよびインスタンスのスナップショットを /var/lib/glance/images/ のローカルのファイルシステムに保存します。または、(可能な場合には) Image サービスが Object Storage サービスにイメージとスナップショットを保存するように設定することも可能です。

この設定には、以下の手順を実行します。

  1. root として Image サービスを実行中のノード (Identity も実行するコントローラーノード) にログインし、OpenStack の認証情報 (これは通常 openrc という名前のファイル) を読み込みます。

    # source ~/openrc
    Copy to Clipboard Toggle word wrap
  2. Image サービスが admin ロールを持つ service テナントの一部であることを確認します。

    # keystone user-role-list --user glance --tenant service
    Copy to Clipboard Toggle word wrap

    返されたロールの 1 つは、admin でなければなりません。

  3. /etc/glance/glance.conf ファイルを開き、以下の行をコメントアウトします。

    ##### DEFAULT OPTIONS #####
    #default_store = file
    #filesystem_store_datadir = /var/lib/glance/images/
    Copy to Clipboard Toggle word wrap
  4. 同じファイル内で DEFAULT OPTIONS のセクションに以下の行を追加します。

    default_store = swift
    swift_store_auth_address = http://KEYSTONEIP:35357/v2.0/
    swift_store_user = service:glance
    swift_store_key = ADMINPW
    swift_store_create_container_on_put = True
    Copy to Clipboard Toggle word wrap

    上記の設定で、

    • KEYSTONEIP は、Identity サービスの IP アドレスに置き換えてください。
    • ADMINPW は、/etc/glance/glance-api.conf ファイルの管理者パスワードの値に置き換えてください。
  5. Image サービスを再起動して変更を適用します。

    # systemctl restart openstack-glance-api
    # systemctl restart openstack-glance-registry
    Copy to Clipboard Toggle word wrap

この時点から、(Dashboard または glance 経由) Image サービスにアップロードされたイメージは glance という名前の Object Storage コンテナーに保存されるはずです。このコンテナーは、サービスアカウントに存在します。

新規作成イメージが Image サービスに保存されたことを確認するには、以下のコマンドを実行します。

# ls /var/lib/glance/images
Copy to Clipboard Toggle word wrap

Dashboard または glance image-list により、イメージがアクティブな状態であることが報告されたら、以下のコマンドを実行してイメージがオブジェクトストレージにあるかどうかを確認できます。

# swift --os-auth-url http://KEYSTONEIP:5000/v2.0 --os-tenant-name service --os-username glance --os-password ADMINPW list glance
Copy to Clipboard Toggle word wrap

3.2. 基本的なコンテナー管理

擬似フォルダーは、オブジェクトを格納することができる論理デバイスで、入れ子が可能となっているので、整理がしやすくなります。たとえば、画像を保管する Images フォルダーや、ビデオを保管する Media フォルダーなどを作成することができます。

各プロジェクトに 1 つまたは複数のコンテナーを作成することができます。また、各コンテナーには、1 つまたは複数の擬似フォルダーを作成することができます。

3.2.1. コンテナーの作成

  1. Dashboard で プロジェクト > オブジェクトストア > コンテナー を選択します。
  2. コンテナーの作成 をクリックします。
  3. コンテナー名 を指定して、コンテナーアクセス フィールドで以下のいずれかのオプションを選択します。

    Expand
    タイプ説明

    プライベート

    現在のプロジェクトでユーザーに対してアクセスを制限します。

    パブリック

    パブリックの URL を使用して API アクセスを全員に許可します。ただし、Dashboard では、プロジェクトユーザーには、他のプロジェクトのパブリックコンテナーおよびデータは表示されません。

  4. コンテナーの作成 をクリックします。

3.2.2. コンテナー用の擬似フォルダーの作成

  1. Dashboard で プロジェクト > オブジェクトストア > コンテナー を選択します。
  2. 擬似フォルダーを追加するコンテナーの名前をクリックします。
  3. 疑似フォルダーの作成 をクリックします。
  4. 疑似フォルダー名 フィールドに名前を指定し、作成 をクリックします。

3.2.3. コンテナーの削除

  1. Dashboard で プロジェクト > オブジェクトストア > コンテナー を選択します。
  2. コンテナー のセクションの一覧を参照して全オブジェクトが削除済みであることを確認します (「オブジェクトの削除」を参照)。
  3. 対象のコンテナーの矢印メニューで コンテナーの削除 を選択します。
  4. コンテナーの削除 をクリックして、コンテナーを削除する操作を確定します。

3.2.4. オブジェクトのアップロード

実際のファイルをアップロードしない場合でも、オブジェクトは (プレースホルダーとして) 作成され、後でファイルをアップロードする際に使用することができます。

  1. Dashboard で プロジェクト > オブジェクトストア > コンテナー を選択します。
  2. アップロードしたオブジェクトの配置先となるコンテナーの名前をクリックします。そのコンテナーに擬似フォルダーがすでに存在している場合には、擬似フォルダーの名前をクリックすることもできます。
  3. ファイルをブラウズしてオブジェクトのアップロード をクリックします。
  4. オブジェクト名 フィールドに名前を指定します。

    • 擬似フォルダーはスラッシュ (/) の記号を使用して指定することができます (例: Images/myImage.jpg)。指定したフォルダーがまだ存在していない場合には、オブジェクトのアップロード時に作成されます。
    • その場所 (オブジェクトがすでに存在している場所) に一意ではない名前は、そのオブジェクトの以前のコンテンツを上書きします。
  5. オブジェクトのアップロード をクリックします。

3.2.5. オブジェクトのコピー

  1. Dashboard で プロジェクト > オブジェクトストア > コンテナー を選択します。
  2. オブジェクトのコンテナーまたはフォルダーの名前をクリックします (オブジェクトを表示します)。
  3. オブジェクトのアップロード をクリックします。
  4. コピーするファイルを参照し、矢印メニューで コピー を選択します。
  5. 以下の項目を設定します。

    Expand
    フィールド説明

    宛先コンテナー

    新規プロジェクトの宛先コンテナー

    パス

    宛先コンテナーの擬似フォルダー。フォルダーが存在しない場合は、作成されます。

    宛先オブジェクト名

    新規オブジェクト名。その場所に一意ではない名前を使用した場合 (そのオブジェクトがすでに存在している場合) には、そのオブジェクトの以前のコンテンツが上書きされます。

  6. オブジェクトのコピー をクリックします。

3.2.6. オブジェクトの削除

  1. Dashboard で プロジェクト > オブジェクトストア > コンテナー を選択します。
  2. 一覧を参照して対象のオブジェクトを特定し、矢印メニューで オブジェクトの削除 を選択します。
  3. オブジェクトの削除 をクリックして、オブジェクトを削除する操作を確定します。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat