記事のディレクトリ
Glance ImageServiceの概要
ミラーリングとは、ミラーリングは、圧縮されたパッケージに似たリソースのコレクションです。
OpenStackでの彼のプロジェクト名はGlanceです。OpenStackの初期バージョンでは、Glanceは画像を管理する機能のみを備え、画像の保存機能も備えていました。現在、Glanceは、画像のアップロード、取得の多機能コレクションに発展しました。 、管理およびストレージ。OpenStackコアサービス
一目ミラーリングサービス
ミラーリングサービス
アンビエントイメージサービスは、イメージを管理するために使用され、ユーザーがイメージを検出、取得、および保存できるようにします。
GlanceはOpenStackでイメージサービスを提供します。その主な機能は次のとおりです。
イメージメタデータとイメージ自体のクエリと取得1.
イメージの作成、アップロード、ダウンロード、管理などの仮想マシンイメージの登録とアップロード。
メタデータとミラー自体。
●通常のファイルシステム、Swift Amazon S3など、イメージを保存する複数の方法をサポートします。
●仮想マシンインスタンスでcreatesnapshotコマンドを実行して新しいイメージを作成するか、仮想マシンの状態をバックアップします。
1.認識にアップロード
2.使用可能であることを認識し
ます3.画像を保存します
上記の3つのプロセスについて、glanceが実行できる管理操作を紹介します
ミラーフォーマット
仮想マシンイメージファイルのディスクフォーマット
raw:非構造化ディスク形式
vhd:この形式はVMware、Xen、VirtualBoxおよびその他のハイパーバイザーで一般的に使用され
ます
vhdx:より大きなディスクサイズをサポートするvhd形式の拡張バージョンvmdk:-より一般的な仮想マシンディスク形式
vdi:ディスクVirtualBoxハイパーバイザーおよびQEMUエミュレーターでサポートされる形式
iso:CD-ROMデータコンテンツに使用されるファイル形式
ploop:Vituozzoでサポートされる、0Sコンテナーの実行に使用されるディスク形式
qcow2:QEMUシミュレーションでサポートされる、動的に拡張可能、コピーオンをサポートするディスク形式書き込み(書き込み時にコピー)
aki:
Glanceに格納されているAmazonカーネル形式ari; Glanceに格納されているAmazon仮想メモリディスク(Ramdisk)形式
ami:GlanceMachine形式に格納されているAmazon
画像ファイルコンテナ形式
裸:コンテナまたはメタデータのないイメージ「エンベロープ」
ovf:オープン仮想化フォーマット
ova:
Glanceに格納されたオープン仮想化デバイスフォーマットaki:Glanceに格納されたAmazonカーネルフォーマット
ari:Glanceに格納されたAmazon仮想メモリRamdiskフォーマット
Docker:コンテナのDockerdtarアーカイブGlanceに保存されているファイルシステム
どのコンテナ形式を選択するかわからない場合は、コンテナ形式をベアとして指定するだけで安全です。
ミラー状態
画像はメタデータと画像自体で構成されています
ミラーステータス1
キューに入れられました | これは、作成されたばかりの初期状態のミラーファイルであり、Glanceデータベース内のメタデータのみであり、ミラーデータはデータベースにアップロードされていません。 |
---|---|
保存 | これは、データベースにアップロードされている元のミラーリングされたデータの遷移状態であり、ミラーリングがアップロードされていることを示します。 |
アップロード | インポートデータ送信呼び出しが行われ、この状態でPUTfileを呼び出すことが許可されていないことを示します(PUT /ファイルは保存状態で実行されます。これはアップロードの別の方法です) |
インポート | インポート呼び出しが完了したが、イメージを使用する準備ができていないことを示します |
ミラーステータス2
アクティブ | ミラーデータが正常にアップロードされると、Glanceで使用可能なミラーになることを示します |
非アクティブ化 | 管理者以外のユーザーにはミラーデータにアクセスする権利がなく、ミラーをダウンロードすることは禁止されており、ミラーのエクスポートおよびミラークローン操作も禁止されていることを意味します。 |
殺された | 画像のアップロードプロセス中にエラーが発生し、画像が読み取れないことを示します |
削除されました | 画像は近い将来自動的に削除されます。画像は使用できなくなりますが、Glanceは画像の関連情報と元のデータを保持します。 |
保留中_削除 | 削除と同様に、Glanceは画像データをクリアしていませんが、この状態の画像は復元できません |
アクセス許可
●パブリック(パブリック)はすべてのプロジェクトで使用できます
●プライベート(プライベート):ミラーの所有者がいるプロジェクトでのみ使用
できます●共有(共有)非共有ミラーは他のプロジェクトと共有できます。これは、プロジェクト
メンバー、(メンバー-*)達成する操作
●保護(保護):この種のミラーは削除できません
一目ワークフロー
OpenStackの操作には、Keystoneによる認証(AuthN)と承認(AuthZ)が必要であり、Glanceも例外ではありません。Glanceは、ユーザーがミラーリングのさまざまな操作を実行できるRESTAPIを提供するC / Sアーキテクチャです。Glanceドメインコントローラーは、スケジューラーと同等のメインミドルウェアであり、その役割は、Glance内部サービスの操作を次の機能レイヤーに分散することです。
プロセス分析
レジストリレイヤー:別のサービスを使用して、GlanceドメインコントローラーとGlanceDB間の安全な相互作用を制御するオプションのレイヤーです。
Glance DB:これは、Glanceサービスによって使用されるコアライブラリであり、Glanceのデータベースに依存するすべてのコンポーネントによって共有されます。(このライブラリは、ミラーリングされたデータベースではなく、一部のメタデータ情報を格納します)
グランスストア:Glanceとさまざまなストレージバックエンド間の相互作用を整理および処理するために使用されます。バックエンドストレージにアクセスするための統一されたインターフェイスを提供します。すべてのミラーファイル操作は、Glanceストアライブラリを呼び出すことによって実行されます。外部ストレージまたはローカルファイルストレージシステムの相互作用。
OpenStack-Glanceコンポーネントのデプロイ
1つは、データベースインスタンスとデータベースユーザーを作成する
[root@ct ~]# mysql -u root -p
MariaDB [(none)]> CREATE DATABASE glance;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'GLANCE_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'GLANCE_DBPASS';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit
2つ目は、ユーザーを作成し、構成ファイルを変更することです。
OpenStack Glanceユーザーの作成
#ユーザーを作成する前に、管理者環境変数スクリプトを実行する必要があります(ここでは〜/ .bashrcで定義されています)
openstack user create --domain default --password GLANCE_PASS glance
openstack role add --project service --user glance admin
openstack service create --name glance --description "OpenStack Image" image
openstack endpoint create --region RegionOne image public http://ct:9292
openstack endpoint create --region RegionOne image internal http://ct:9292
openstack endpoint create --region RegionOne image admin http://ct:9292
openstack-glanceパッケージをインストールします
[root@ct ~]# yum -y install openstack-glance
glance構成ファイルを変更します。glanceには2つの構成ファイルがあります
/etc/glance/glance-api.conf
/etc/glance/glance-registry.conf
[root@ct ~]# cp -a /etc/glance/glance-api.conf{,.bak}
[root@ct ~]# grep -Ev '^$|#' /etc/glance/glance-api.conf.bak > /etc/glance/glance-api.conf
glance-api.conf構成を追加して
パラメーターを渡します
openstack-config --set /etc/glance/glance-api.conf database connection mysql+pymysql://glance:GLANCE_DBPASS@ct/glance
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken www_authenticate_uri http://ct:5000
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_url http://ct:5000
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken memcached_servers ct:11211
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_type password
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken project_domain_name Default
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken user_domain_name Default
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken project_name service
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken username glance
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken password GLANCE_PASS
openstack-config --set /etc/glance/glance-api.conf paste_deploy flavor keystone
openstack-config --set /etc/glance/glance-api.conf glance_store stores file,http
openstack-config --set /etc/glance/glance-api.conf glance_store default_store file
openstack-config --set /etc/glance/glance-api.conf glance_store filesystem_store_datadir /var/lib/glance/images/
[root@ct glance]# cat glance-api.con
glance-registry.conf構成ファイルを変更します
#バックアップ、コメント情報のフィルタリング
cp -a /etc/glance/glance-registry.conf{,.bak}
grep -Ev '^$|#' /etc/glance/glance-registry.conf.bak > /etc/glance/glance-registry.conf
#構成ファイルのパラメーターを変更する
openstack-config --set /etc/glance/glance-api.conf database connection mysql+pymysql://glance:GLANCE_DBPASS@ct/glance
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken www_authenticate_uri http://ct:5000
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_url http://ct:5000
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken memcached_servers ct:11211
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_type password
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken project_domain_name Default
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken user_domain_name Default
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken project_name service
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken username glance
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken password GLANCE_PASS
openstack-config --set /etc/glance/glance-api.conf paste_deploy flavor keystone
openstack-config --set /etc/glance/glance-api.conf glance_store stores file,http
openstack-config --set /etc/glance/glance-api.conf glance_store default_store file
openstack-config --set /etc/glance/glance-api.conf glance_store filesystem_store_datadir /var/lib/glance/images/
#Modifyパラメーター(構成はglance-api.confと同じです)
openstack-config --set /etc/glance/glance-registry.conf database connection mysql+pymysql://glance:GLANCE_DBPASS@t/glance
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken www_authenticate_uri http://ct:5000
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken auth_url http://ct:5000
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken memcached_servers ct:11211
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken auth_type password
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken project_domain_name Default
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken user_domain_name Default
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken project_name service
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken username glance
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken password GLANCE_PASS
openstack-config --set /etc/glance/glance-registry.conf paste_deploy flavor keystone
[root@ct glance]# cat glance-registry.conf
glanceデータベースを初期化します
su -s /bin/sh -c "glance-manage db_sync" glance
glanceサービスを開きます(ここを開いた後、画像を保存するためにディレクトリ/ var / lib / glance / imageが生成されます)
systemctl enable openstack-glance-api.service
systemctl start openstack-glance-api.service
ポートを確認します(lsof -i:9292を使用することもできます)
netstat -natp | grep 9292
openstack-glance-api.serviceサービスにストレージデバイスへの書き込み可能な権限を付与します(-h:シンボリックリンク/ソフトリンクのファイル変更の値)
chown -hR glance:glance /var/lib/glance/
画像をインポートする
最初にCirrosイメージをコントロールノードにアップロードします
cd /opt
rz cirros-0.3.5-x86_64-disk.img
最後に、作成が成功したかどうかを確認します
[root@ct ~]# openstack image create --file cirros-0.3.5-x86_64-disk.img --disk-format qcow2 --container-format bare --public cirros
ミラーリングを表示する2つの方法
[root@ct ~]# openstack image list
総括する
- glance apiは、システムのバックグラウンドで実行されるサービスプロセスです。
画像クエリ、取得、ストレージの呼び出しに応答するために、外部にRESTAPIを提供します。glance-apiは実際にはリクエストを処理しません。 - 画像メタデータ(メタデータ)に関連する操作の場合、glance-apiはリクエスト
をglance-registryに転送します。 - 画像自体のアクセスに関連する操作の場合、glance-apiはリクエストを
画像のストアバックエンドに転送します。
#View glance-api process#
ps -ef | grep glance-api
OpenStackでの仮想マシンの作成にはミラーリングのサポートが必要なため、最初にデプロイします
1.デプロイメントのアイデア:
1。データベースの作成、承認
2. openstackユーザーの作成、承認、管理
3.構成ファイルの変更(glance-api.conf、glance-registry.conf)
4。データベースの初期化、インスタンスミラーのアップロード