第6回 Glance

  • OpenStack

最終更新⽇:

掲載⽇:

ICTインフラソリューション部のグエンです。前回は、Novaについて説明しました。
今回は、GlanceというOpenstackのイメージを管理するコアサービスを説明しようと思います。

Glanceとは

GlanceはOpenStackの構成要素の一つであり、VMイメージの管理を行います。VMイメージは仮想マシンの設定や内容を保存したもので、将来的に同様な環境を再現する際に役立ちます。GlanceはこれらのVMイメージをデータストアに保存し、必要に応じてVMイメージを提供します。

コンポーネントとその機能

glance-api: イメージの操作(検出、取得、保存など)を行うためのAPIを提供します。glance-apiは、ユーザーからのリクエストを受け付けるエンドポイントであり、認可もこのコンポーネントで処理されます。

glance-registry: イメージに関するメタデータ (サイズ、タイプなど) を保存、処理、取得します。

Glance データベース: イメージメタデータを保存するデータベース

Glance ストア: 実際のイメージファイルのストレージリポジトリです。Glance は、通常のファイルシステムAmazon S3、HTTP、Swiftなどをサポートしています。

openstack-0006_01.png

イメージを作成する手順

Red Hat、Ubuntuなどのベンダーや、DebianやFedora などのコミュニティプロジェクトはクラウド対応のイメージを提供します。
OSは、PC上で稼働する小規模なテストクラウド上で実行します。

独自のイメージを手動で作成する手順は以下になります。

1. 任意のハイパーバイザーに仮想マシンを作成します。

2. 仮想マシンでISOからOSをインストールします。

3. イメージは複数マシンの起動に使用されるため、固有情報(ネットワークアドレス、ホスト名など)を全て削除します。

4. 初期化用のソリューションをインストールします。仮想マシンを起動するときに、そのマシンの固有情報を設定する必要があります。このため、DHCP、SSHなどの固有情報を追加します。

5. 仮想マシンをシャットダウンします。

6. 仮想マシンのルートディスクを保存します。

ディスクフォーマットとコンテナフォーマット

Glance は、仮想マシン イメージを保存・管理するための様々なディスクフォーマット、コンテナフォーマットをサポートしています。ディスクフォーマット、コンテナフォーマットは次のとおりです。

★ディスクフォーマット

フォーマット 主な使用元 説明
qcow2 QEMU, KVM copy-on-write(変更部分のみを記録)方式を使用する仮想ディスクイメージ。スナップショットの取得やディスクの圧縮が可能。
aki, ari, ami AWS AWSで使用されるカーネルイメージ(aki)、RAMディスクイメージ(ari)、マシンイメージ(ami)
vdi Virtualbox VirtualBoxで使用される仮想ディスクイメージフォーマット
vhd Hyper-V, Xen MicrosoftのHyper-VやXenで使用される仮想ハードディスクフォーマット
vmdk VMWare VMwareで使用される仮想マシンディスクフォーマット
iso - CD-ROMまたはDVD-ROMのイメージファイル。仮想マシンのインストールメディアとして使用されることが多い。
raw - ルートディスクのRAWコピー。最もシンプルなディスクイメージフォーマットで、他のフォーマットに変換しやすい。

★コンテナに格納されるもの

フォーマット 説明
ovf VMWare主導のオープン標準
aki, ari, ami カーネル、RAMディスク、マシンイメージ用のAWSフォーマット
ova tar アーカイブのovfの標準
compressed zip, rarなどの形式で圧縮されたイメージ、コンテナ
bare コンテナなし

以上がディスクフォーマットとコンテナフォーマットについての説明になります。これらのフォーマットは、以下の操作説明の「イメージソース」で利用します。

イメージ作成・削除

★Horizonでイメージ作成・削除

「Image(イメージ)」をクリックして、存在するイメージのリストが表示されるページに移動します。

openstack-0006_02.png

この例では、Ubuntu 22.04 LTS (Jammy Jellyfish)から「ubuntu」イメージを作成します。イメージファイルはこちらからダウンロードします。

ダウンロードが完了したら、「イメージの作成」をクリックします。

openstack-0006_03.png

以下の赤枠に従って設定を行います。設定が完了したら、「イメージの作成」ボタンをクリックします。

openstack-0006_04.png

イメージリストに「ubuntu」のイメージが作成されました。

openstack-0006_05.png

CLIでも「ubuntu」イメージを確認できます。

openstack-0006_06.png

※「形式」の中にフォーマットについていくつか選択肢があります。各フォーマットを【ディスクフォーマットとコンテナフォーマット】にて説明しています。

openstack-0006_07.png

★Horizonでイメージ削除

作成したイメージ「ubuntu」を削除します。削除したいイメージの「▼」をクリックし、「イメージの削除」をクリックします。

openstack-0006_08.png

イメージ削除の確認画面で「イメージの削除」を選択します。

openstack-0006_09.png

イメージを削除できました。

openstack-0006_10.png

CLIでも削除の確認ができます。

openstack-0006_11.png

★CLIでイメージ作成

この例では、Ubuntu 22.04 LTS (Jammy Jellyfish)のイメージを作成します。

1. CLI上でイメージファイルをダウンロードします。

wget https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img

2. カタログエントリを作成します。

openstack image create ubuntu --public --disk-format qcow2

3. イメージのアップロード(glace CLIが必要)

glance image-upload -file <ダウンロードしたイメージファイル名> <イメージのUUID>

4. 結果の確認

openstack image list

CLI

openstack-0006_12.png

Horizon

openstack-0006_13.png

★CLIでイメージ削除

1. イメージの削除

openstack image delete ubuntu

2. 結果の確認

openstack image list

openstack-0006_14.png

以上の手順で作成したイメージを、【第5回 Nova #2】のインスタンス作成の際に選択することで、起動させることが可能です。このインスタンス作成の説明は省略します。

第6回は以上となります。次回、Neutronを説明します。