2.2. 複数ストアへのイメージのインポート

相互運用可能なイメージのインポートワークフローを使用して、イメージデータを複数の Ceph Storage クラスターにインポートします。ローカルファイルシステムで、または Web サーバーから利用可能なイメージを、Image サービスにインポートすることができます。

Web サーバーからイメージをインポートする場合、イメージを複数のストアに一度にインポートすることができます。イメージが Web サーバーで利用できない場合は、イメージをローカルファイルシステムから中央のストアにインポートし、それをさらに別のストアにコピーすることができます。詳しくは、複数ストアへの既存イメージのコピー を参照してください。

重要

中央サイトにイメージを使用するインスタンスがない場合でも、必ず中央サイトにイメージのコピーを保存してください。Image サービスへのイメージのインポートについての詳しい情報は、Distributed compute node and storage deployment を参照してください。

2.2.1. イメージのインポート失敗時の対応

--allow-failure パラメーターを使用して、イメージインポート操作の失敗に対応することができます。

  • --allow-failure パラメーターの値を true に設定した場合、最初のストアにデータが正常にインポートされると、イメージのステータスは active になります。これがデフォルトの設定です。os_glance_failed_import イメージ属性を使用して、イメージデータのインポートに失敗したストアのリストを表示することができます。
  • --allow-failure パラメーターの値を false に設定すると、指定したすべてのストアにデータが正常にインポートされた場合に限り、イメージのステータスが active になります。いずれかのストアでイメージデータのインポートが失敗した場合、イメージのステータスは failed になります。イメージは指定されたどのストアにもインポートされません。

2.2.2. 複数ストアへのイメージデータのインポート

--allow-failure パラメーターのデフォルト設定は true なので、一部のストアがイメージデータのインポートに失敗するのを許容するのであれば、コマンドにパラメーターを追加する必要はありません。

注記

この手順では、すべてのストアがイメージデータを正常にインポートすることは求められせん。

手順

  1. 指定した複数のストアにイメージデータをインポートします。

    $ glance image-create-via-import \
    --container-format bare \
    --name IMAGE-NAME \
    --import-method web-download \
    --uri URI \
    --stores STORE1,STORE2,STORE3
    • IMAGE-NAME をインポートするイメージの名前に置き換えます。
    • URI をイメージの URI に置き換えます。
    • STORE1STORE2、および STORE3 を、イメージデータをインポートするストアの名前に置き換えます。
    • あるいは、--stores--all-stores true に置き換え、すべてのストアにイメージをアップロードします。
注記

QCOW2 イメージを自動的に RAW 形式に変換する glance image-create-via-import コマンドは、web-download メソッドでのみ機能します。glance-direct メソッドを使用することはできますが、共有ファイルシステムが設定されたデプロイメントでのみ機能します。

2.2.3. 複数ストアへのイメージデータのインポート (失敗を許容しない)

この手順では、すべてのストアがイメージデータを正常にインポートすることが求められます。

手順

  1. 指定した複数のストアにイメージデータをインポートします。

    $ glance image-create-via-import \
    --container-format bare \
    --name IMAGE-NAME \
    --import-method web-download \
    --uri URI \
    --stores STORE1,STORE2
    • IMAGE-NAME をインポートするイメージの名前に置き換えます。
    • URI をイメージの URI に置き換えます。
    • STORE1STORE2、および STORE3 を、イメージデータをコピーするストアの名前に置き換えます。
    • あるいは、--stores--all-stores true に置き換え、すべてのストアにイメージをアップロードします。

      注記

      --allow-failure パラメーターを false に設定すると、Image サービスはイメージデータのインポートに失敗したストアを無視しません。イメージ属性 os_glance_failed_import を使用して、失敗したストアのリストを表示することができます。詳細は、イメージインポート操作の進捗の確認 を参照してください。

  2. イメージデータが特定のストアに追加されたことを確認します。

    $ glance image-show IMAGE-ID | grep stores

    IMAGE-ID を元の既存イメージの ID に置き換えます。

    出力には、ストアのコンマ区切りリストが表示されます。

2.2.4. 1 つのストアへのイメージデータのインポート

イメージデータを 1 つのストアにインポートすることができます。

手順

  1. イメージデータを 1 つのストアにインポートします。

    $ glance image-create-via-import \
    --container-format bare \
    --name IMAGE-NAME \
    --import-method web-download \
    --uri URI \
    --store STORE
    • IMAGE-NAME をインポートするイメージの名前に置き換えます。
    • URI をイメージの URI に置き換えます。
    • STORE をイメージデータをコピーするストアの名前に置き換えます。

      注記

      コマンドに --stores--all-stores、または --store オプションを指定しないと、Image サービスは中央ストアにイメージを作成します。

  2. イメージデータが特定のストアに追加されたことを確認します。

    $ glance image-show IMAGE-ID | grep stores

    IMAGE-ID を元の既存イメージの ID に置き換えます。

    出力には、ストアのコンマ区切りリストが表示されます。

2.2.5. イメージインポート操作の進捗の確認

相互運用可能なイメージのインポートワークフローでは、イメージデータが順次ストアにインポートされます。イメージのサイズ、ストア数、および中央サイトとエッジサイト間のネットワーク速度が、イメージのインポート操作が完了するのにかかる時間に影響を及ぼします。

イメージのインポート操作中に送付される通知に表示される 2 つのイメージ属性を見て、イメージインポートの進捗を把握することができます。

  • os_glance_importing_to_stores 属性: イメージデータをインポートしていないストアがリスト表示されます。インポートの開始時点では、要求されたすべてのストアがリストに表示されます。ストアがイメージデータを正常にインポートするたびに、Image サービスはストアをリストから削除します。
  • os_glance_failed_import 属性: イメージデータのインポートに失敗したストアがリスト表示されます。イメージインポート操作の開始時点では、このリストには何も表示されません。
注記

以下の手順の環境には、central ストアおよび 2 つのエッジストア (dcn0 および dcn1) という 3 つの Ceph Storage クラスターがあります。

手順

  1. イメージデータが特定のストアに追加されたことを確認します。

    $ glance image-show IMAGE-ID

    IMAGE-ID を元の既存イメージの ID に置き換えます。

    出力には、以下のスニペット例のようなストアのコンマ区切りリストが表示されます。

    | os_glance_failed_import       |
    | os_glance_importing_to_stores | central,dcn0,dcn1
    | status                        | importing
  2. イメージインポート操作のステータスを監視します。このコマンドを watch コマンドの引数にすると、コマンドの出力は 2 秒ごとに更新されます。

    $ watch glance image-show IMAGE-ID

    IMAGE-ID を元の既存イメージの ID に置き換えます。

    イメージのインポート操作が進むと、操作のステータスが変わります。

    | os_glance_failed_import       |
    | os_glance_importing_to_stores | dcn0,dcn1
    | status                        | importing

    イメージのインポートに失敗したことを示す出力は、以下の例のようになります。

    | os_glance_failed_import       | dcn0
    | os_glance_importing_to_stores | dcn1
    | status                        | importing

    操作が完了すると、ステータスが active に変わります。

    | os_glance_failed_import       | dcn0
    | os_glance_importing_to_stores |
    | status                        | active