検索

1.7. Image サービス API を使用したスパースイメージのアップロードの有効化

download PDF

Image サービス (glance) API を使用すると、スパースイメージのアップロードを使用して、ネットワークトラフィックを削減し、ストレージスペースを節約できます。この機能は、分散コンピュートノード (DCN) 環境で特に便利です。スパースイメージファイルの場合、Image サービスは null バイトシーケンスを書き込みません。Image サービスは、指定されたオフセットでデータを書き込みます。ストレージバックエンドは、これらのオフセットを、実際にはストレージスペースを消費しない null バイトとして解釈します。

イメージ管理には Image service コマンドラインクライアントを使用します。

制限事項

  • スパースイメージのアップロードは、Ceph RADOS Block Device (RBD) でのみサポートされます。
  • スパースイメージのアップロードは、ファイルシステムではサポートされません。
  • スパース性は、クライアントと Image サービス API 間の転送中は維持されません。イメージは、Image サービス API レベルでスパース化されます。

前提条件

  • Red Hat OpenStack Platform (RHOSP) デプロイメントで、Image サービスのバックエンドに RBD を使用している。

手順

  1. アンダークラウドノードに stack ユーザーとしてログインします。
  2. source コマンドで stackrc 認証情報ファイルを読み込みます。

    $ source stackrc
  3. 以下の内容で環境ファイルを作成します。

    parameter_defaults:
        GlanceSparseUploadEnabled: true
  4. その他の環境ファイルと共に新しい環境ファイルをスタックに追加して、オーバークラウドをデプロイします。

    $ openstack overcloud deploy \
        --templates \
        …
        -e <existing_overcloud_environment_files> \
        -e <new_environment_file>.yaml \
        ...

イメージのアップロードの詳細は、Image サービスにイメージをアップロードする を参照してください。

検証

イメージをインポートしてそのサイズを確認し、スパースイメージのアップロードを検証することができます。

次の手順では、コマンド例を使用します。必要に応じて、値をご使用の環境の値に置き換えてください。

  1. イメージファイルをローカルにダウンロードします。

    $ wget <file_location>/<file_name>
    • <file_location> をファイルの場所に置き換えます。
    • <file_name> は、ファイルの名前に置き換えます。

      以下に例を示します。

      $ wget https://cloud.centos.org/centos/6/images/CentOS-6-x86_64-GenericCloud-1508.qcow2
  2. アップロードするイメージのディスクサイズと仮想サイズを確認します。

    $ qemu-img info <file_name>

    以下に例を示します。

    $ qemu-img info CentOS-6-x86_64-GenericCloud-1508.qcow2
    
    image: CentOS-6-x86_64-GenericCloud-1508.qcow2
    file format: qcow2
    virtual size: 8 GiB (8589934592 bytes)
    disk size: 1.09 GiB
    cluster_size: 65536
    Format specific information:
    compat: 0.10
    refcount bits: 1
  3. イメージをインポートします。

    $ glance image-create-via-import --disk-format qcow2 --container-format bare --name centos_1 --file <file_name>
  4. イメージ ID を記録します。後続のステップで必要になります。
  5. イメージがインポートされ、アクティブ状態にあることを確認します。

    $ glance image show <image_id>
  6. Ceph Storage ノードから、イメージのサイズが、ステップ 1 出力の仮想サイズよりも小さいことを確認します。

    $ sudo rbd -p images diff <image_id> | awk '{ SUM += $2 } END { print SUM/1024/1024/1024 " GB" }'
    
    1.03906 GB
  7. オプション:コントローラーノードの Image サービス設定ファイルで rbd_thin_provisioning が設定されていることを確認できます。

    1. コントローラーノードにアクセスするために SSH を使用します。

      $ ssh -A -t tripleo-admin@<controller_node_IP_address>
    2. そのコントローラーノードで rbd_thin_provisioningTrue に等しいことを確認します。

      $ sudo podman exec -it glance_api sh -c 'grep ^rbd_thin_provisioning /etc/glance/glance-api.conf'
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.