第2章 Trove の使用
2.1. Trove ゲストデータベースイメージの作成および設定の自動化
trove-image-create
ツールは、サポートされているデータストア向けの Trove 互換イメージの生成を自動化します。このツールの使用は、Red Hat が推奨しています。
trove-image-create
ツールを取得して、openstack-trove-images
パッケージをインストールします。
# yum install openstack-trove-images
以下の基本オプションを利用することができます。
オプション | 説明、パラメーター |
---|---|
| 使用するベースイメージ。QEMU イメージ (qcow2) がサポートされています。イメージファイル名 (およびオプションでそのパス) をパラメーターとして指定します。 |
| 使用するOpenStack バージョン。 |
| デプロイするデータストア。サポート対象のデータストアは、前書きに一覧表示しています。以下のようなパラメーターを使用する可能性があります。
|
例2.1 イメージのカスタマイズ
たとえば、以下のようにツールを使用することができます。
# trove-image-create -s mysql -r liberty -i myimage.qcow2
このコマンドにより、Red Hat OpenStack Platform 8 (Liberty) から MariaDB 5.5 および Trove が追加され、現在の作業ディレクトリー内の myimage.qcow2
ファイルに保管されているイメージがカスタマイズされます
RHEL 7 イメージを使用して作業を行う場合には、使用する必要のある追加のオプションがあります。
オプション | 認識されるパラメーターおよび構文 | 説明 |
---|---|---|
| USER | Red Hat の認証情報を使用して、サブスクリプションマネージャーに登録します。 |
|
| 指定または自動的に決定されたサブスクリプションプールをシステムにアタッチします。 |
例2.2 RHEL 7 イメージのカスタマイズ
例
# trove-image-create -s mysql -r liberty -i ../../images/rhel-mariadb55.qcow2 --sm-register admin@example.com:password:123456 --sm-pool auto
このコマンドは、上記の例と同様の方法でイメージをカスタマイズするとともに、Red Hat ログイン名 admin@example.com、パスワード 123456、および最も適したサブスクリプションを使用してシステムを登録します。
2.1.1. Trove 管理へのイメージの読み込み
イメージのカスタマイズが完了したら、以下のステップを実行してください。
イメージを Glance にアップロードします。そのためには、以下と同様のコマンドを実行します。
# openstack image create rhel7-mariadb55 --disk-format qcow2 --container-format bare --public < myimage.qcow2
上記のコマンドの出力から、アップロードしたイメージの ID を取得します。以下のような出力が表示されるはずです。
+------------------+------------------------------------------------------+ | Field | Value | +------------------+------------------------------------------------------+ | checksum | dec3f16054739459d03984b7a552cd9c | | container_format | bare | | created_at | 2016-01-27T20:10:36Z | | disk_format | qcow2 | | file | /v2/images/c637391b-e00f-47fb-adb5-e8dfc4e224d4/file | | id | c637391b-e00f-47fb-adb5-e8dfc4e224d4 | | min_disk | 0 | | min_ram | 0 | | name | rhel7-mariadb55 | | owner | 483cae7de00c4f029e19eef5983c67a9 | | protected | False | | schema | /v2/schemas/image | | size | 1910767616 | | status | active | | updated_at | 2016-01-27T20:10:46Z | | virtual_size | None | | visibility | public | +------------------+------------------------------------------------------+
この場合、ID は c637391b-e00f-47fb-adb5-e8dfc4e224d4 です。
Trove 管理データストアを更新して、必要なデータストアとバージョンのインスタンスを起動するのに使用される新規イメージのレコードを追加します。
# export DATASTORE=mariadb # export DATASTORE_VERSION=5.5 # export IMAGE_ID=c637391b-e00f-47fb-adb5-e8dfc4e224d4 # export PACKAGES=mariadb-server # # trove-manage datastore_update ${DATASTORE} "" # trove-manage datastore_version_update ${DATASTORE} ${DATASTORE_VERSION} ${DATASTORE} ${IMAGE_ID} ${PACKAGES} 1 # trove-manage datastore_update ${DATASTORE} ${DATASTORE_VERSION}
重要PACKAGES
変数は、使用するデータストアによって異なります。MySQL (任意のバージョン) の場合には、mysql-community-server
を使用します。MariaDB 10.0 の場合には、MariaDB-server
を使用します。
2.1.2. トラブルシューティング
インスタンスの起動時にエラーが発生した場合には、SSH キーを使用してイメージを作成し、トラブルシューティングに使用することができます。trove-image-create
ツールには、この目的のために --root-ssh-key
オプションがあります。このオプションは、公開鍵へのパスをパラメーターとして取り、イメージに鍵を挿入します。以下に例を示します。
# trove-image-create -i myimage.qcow2 -r liberty -s mysql --root-ssh-key ~/.ssh/id_rsa.pub
このイメージをベースとしたインスタンスにアクセスするには、インスタンスに関連付けられたセキュリティーグループを編集して、SSH ポートを開放します。ICMP を許可することも検討してください。また、インスタンスがプライベートネットワークにある場合には、Floating IP をインスタンスに追加する必要があります。これらのステップが完了した後には、以下のコマンドを実行するとインスタンスにログインできるはずです。
# ssh root@INSTANCE_IP
Comments