Oracle® Solaris での OpenStack (Havana) のインストールと構成

印刷ビューの終了

更新: 2016 年 5 月
 
 

イメージの管理

仮想マシンイメージ (イメージ) は、ブート可能なオペレーティングシステムがインストールされている仮想ディスクを含む単一のファイルです。イメージは仮想マシンのファイルシステムのテンプレートを提供します。

イメージの管理には、ダッシュボードのほかに、glance および nova コマンド行クライアント、または Image Service API と Compute API を使用できます。

イメージに関する情報の表示

nova image-list コマンドは、使用可能なイメージのリストを表示します。イメージの名前または ID は、VM インスタンスを作成するときに使用します。

$ nova image-list
+--------------------------------------+-------------------------+--------+--------+
| ID                                   | Name                    | Status | Server |
+--------------------------------------+-------------------------+--------+--------+
| e422aae1-b0ba-618c-85d3-a214059800e2 | Solaris Kernel Zone     | ACTIVE |        |
| e82aa857-ec92-4859-f530-deb89274863e | Solaris Non-global Zone | ACTIVE |        |
+--------------------------------------+-------------------------+--------+--------+

glance image-list コマンドは、ディスクフォーマット、コンテナフォーマット、イメージサイズなどの追加情報を表示します。

$ glance image-list --human-readable

nova image-show および glance image-show コマンドは、指定されたイメージに関する詳細情報を表示します。

$ nova image-show 'Solaris Kernel Zone'
+--------------------------+--------------------------------------+
| Property                 | Value                                |
+--------------------------+--------------------------------------+
| OS-EXT-IMG-SIZE:size     | 1547458560                           |
| created                  | 2014-06-29T15:40:49Z                 |
| id                       | e422aae1-b0ba-618c-85d3-a214059800e2 |
| metadata architecture    | x86_64                               |
| metadata hypervisor_type | solariszones                         |
| metadata vm_mode         | solariszones                         |
| minDisk                  | 0                                    |
| minRam                   | 0                                    |
| name                     | Solaris Kernel Zone                  |
| progress                 | 100                                  |
| status                   | ACTIVE                               |
| updated                  | 2014-06-29T15:40:55Z                 |
+--------------------------+--------------------------------------+
$ glance image-show 'Solaris Kernel Zone'
+----------------------------+--------------------------------------+
| Property                   | Value                                |
+----------------------------+--------------------------------------+
| Property 'architecture'    | x86_64                               |
| Property 'hypervisor_type' | solariszones                         |
| Property 'vm_mode'         | solariszones                         |
| checksum                   | b2fc9560c15603c7663326db82d5ddaa     |
| container_format           | bare                                 |
| created_at                 | 2014-06-29T15:40:49.108578           |
| deleted                    | False                                |
| disk_format                | raw                                  |
| id                         | e422aae1-b0ba-618c-85d3-a214059800e2 |
| is_public                  | True                                 |
| min_disk                   | 0                                    |
| min_ram                    | 0                                    |
| name                       | Solaris Kernel Zone                  |
| owner                      | 7461d4a9f5a64af9a01ae4e84e08c182     |
| protected                  | False                                |
| size                       | 1547458560                           |
| status                     | active                               |
| updated_at                 | 2014-06-29T15:40:55.769756           |
+----------------------------+--------------------------------------+

イメージの作成

Solaris では、OpenStack イメージは統合アーカイブです。また、Oracle Solaris 11.2 を実行している必要があります。archiveadm コマンドを使用すると、Oracle Solaris 11.2 を実行している大域ゾーン、非大域ゾーン、およびカーネルゾーンから新しい統合アーカイブを作成できます。OpenStack で使用できるようにイメージを Glance リポジトリにアップロードします。

統合アーカイブはクローンアーカイブか復旧用アーカイブのどちらかです。現在アクティブなブート環境に基づいてクローンアーカイブを作成するか、すべてのブート環境とシステム構成情報を含む復旧用アーカイブを作成します。クローンアーカイブには OS インスタンスのシステム構成情報は含まれません。クローンアーカイブの場合は、インストーラで強制的に再構成を行うか、ユーザーがシステム構成 (SC) プロファイルで構成を指定できます。クローンアーカイブには、アクティブでない BE なども含まれません。システムのすべてが必要な場合は、復旧用の統合アーカイブを使用してください。統合アーカイブの詳細は、Oracle Solaris 11.2 でのシステム復旧とクローンを参照してください。

次のコマンドは、myzone という実行中の非大域ゾーンの統合アーカイブを取得します。

global# zonecfg -z myzone create
global# zoneadm -z myzone install
global# zlogin myzone \
'sed /^PermitRootLogin/s/no$/without-password/ \
< /etc/ssh/sshd_config > /system/volatile/sed.$$ ; \
cp /system/volatile/sed.$$ /etc/ssh/sshd_config'
global# archiveadm create -z myzone /var/tmp/myzone.uar

既存の VM インスタンスのスナップショットを作成することによって OpenStack イメージを作成することもできます。実行中の VM インスタンスのスナップショットを取得することでイメージを作成するには、nova image-create コマンドを使用します。

VM インスタンスの作成に使用するイメージを作成するほかに、データのバックアップや VM インスタンスの修復のためにカスタムイメージを使用することもできます。レスキューイメージは、VM インスタンスが rescue モードにされたときにブートされる、特殊なタイプのイメージです。管理者は、問題を修正するために、レスキューイメージを使用して VM インスタンスのファイルシステムをマウントできます。

イメージストアへのイメージの追加

OpenStack のイメージサービスである Glance は、ディスクイメージとサーバーイメージの保存、発見、登録、および配布のサービスを提供します。レジストリサーバーは、クライアントにイメージのメタデータ情報を提供するイメージサービスです。イメージキャッシュは、要求されるたびにイメージをイメージサーバーから再度ダウンロードする代わりに、ローカルホスト上でイメージを取得するためにイメージサービスが使用します。

次のコマンドは、前のセクションで作成された統合アーカイブを Glance リポジトリにアップロードします。フォーマットの種類として raw を使用します。必ず architecture プロパティーを指定してください。

global# glance image-create --container-format bare --disk-format raw \
--is-public true --name "Oracle Solaris 11.2 x86 NGZ" \
--property architecture=x86_64 \
--property hypervisor_type=solariszones \
--property vm_mode=solariszones < /var/tmp/myzone.uar

glance image-create コマンドでは、イメージのアップロードとすべてのプロパティー値の設定を一度に行うことができます。次のスクリプトは、確実に architecture プロパティーを現在のホストのアーキテクチャーに設定してイメージをアップロードする方法を示しています。

#!/bin/ksh

# Upload Unified Archive image to glance with proper Solaris decorations

arch=$(archiveadm info -p $1|grep ^archive|cut -d '|' -f 4)

if [[ "$arch" == "i386" ]]; then
        imgarch=x86_64
else
        imgarch=sparc64
fi

name=$(basename $1 .uar)

export OS_USERNAME=glance
export OS_PASSWORD=glance
export OS_TENANT_NAME=service
export OS_AUTH_URL=http://controller-name:5000/v2.0

glance image-create --name $name --container-format bare --disk-format raw --owner service
--file $1 --is-public True --property architecture=$imgarch --property hypervisor_type=solariszones
--property vm_mode=solariszones --progress