Red Hat Enterprise Linux OpenStack Platform 6 管理ガイド Red Hat Enterprise Linux OpenStack Platform 環境の管理 OpenStack Documentation TeamRed Hat Red Hat Enterprise Linux OpenStack Platform 6 管理ガイド Red Hat Enterprise Linux OpenStack Platform 環境の管理 OpenStack Do cumentatio n Team Red Hat Custo mer Co ntent Services rho s-do [email protected] m 法律上の通知 Co pyright © 20 15 Red Hat Inc. The text o f and illustratio ns in this do cument are licensed by Red Hat under a Creative Co mmo ns Attributio n–Share Alike 3.0 Unpo rted license ("CC-BY-SA"). An explanatio n o f CCBY-SA is available at http://creativeco mmo ns.o rg/licenses/by-sa/3.0 / . In acco rdance with CC-BY-SA, if yo u distribute this do cument o r an adaptatio n o f it, yo u must pro vide the URL fo r the o riginal versio n. Red Hat, as the licenso r o f this do cument, waives the right to enfo rce, and agrees no t to assert, Sectio n 4 d o f CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shado wman lo go , JBo ss, MetaMatrix, Fedo ra, the Infinity Lo go , and RHCE are trademarks o f Red Hat, Inc., registered in the United States and o ther co untries. Linux ® is the registered trademark o f Linus To rvalds in the United States and o ther co untries. Java ® is a registered trademark o f Oracle and/o r its affiliates. XFS ® is a trademark o f Silico n Graphics Internatio nal Co rp. o r its subsidiaries in the United States and/o r o ther co untries. MySQL ® is a registered trademark o f MySQL AB in the United States, the Euro pean Unio n and o ther co untries. No de.js ® is an o fficial trademark o f Jo yent. Red Hat So ftware Co llectio ns is no t fo rmally related to o r endo rsed by the o fficial Jo yent No de.js o pen so urce o r co mmercial pro ject. The OpenStack ® Wo rd Mark and OpenStack Lo go are either registered trademarks/service marks o r trademarks/service marks o f the OpenStack Fo undatio n, in the United States and o ther co untries and are used with the OpenStack Fo undatio n's permissio n. We are no t affiliated with, endo rsed o r spo nso red by the OpenStack Fo undatio n, o r the OpenStack co mmunity. All o ther trademarks are the pro perty o f their respective o wners. 概要 この管理ガイドでは、Red Hat Enterprise Linux OpenStack Platfo rm 環境の管理の方法について説 明します。ユーザープロジェクトとクラウド設定の両方の管理手順を記載しています。 目次 目次 .第1 . .章 . . はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. . . . . . . . . . 1.1. O PENSTACK DASHBO ARD 3 1.2. コマンドラインクライアント 4 .第2 . .章 . . プロジェクトとユーザー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7. . . . . . . . . . 2.1. プロジェクトの管理 7 2.2. ユーザーの管理 11 .第3章 . . . . 仮想マシンのインスタンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1. 8. . . . . . . . . . 3.1. インスタンスの管理 18 3.2. インスタンスのセキュリティーの管理 29 3.3. フレーバーの管理 32 3.4. ホストアグリゲートの管理 39 3.5. ホストとセルのスケジュール 42 3.6 . インスタンスの退避 50 .第4 . .章 . . イメージとストレージ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 ........... 4.1. イメージの管理 54 4.2. ボリュームの管理 69 4.3. コンテナーの管理 87 .第5章 . . . . ネットワーク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9. 0. . . . . . . . . . 5.1. ネットワークリソースの管理 90 5.2. IP アドレスの設定 10 0 5.3. 物理ネットワークのブリッジ 10 2 .第6 . .章 . . クラウドのリソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.0. 4. . . . . . . . . . 6 .1. スタックの管理 10 4 6 .2. TELEMETRY SERVICE の使用 10 7 .第7 . .章 . . トラブルシューティング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1. 1. 3. . . . . . . . . . 7.1. ログ機能 113 7.2. サポート 117 . . . . . イメージの設定パラメーター 付録A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.1. 8. . . . . . . . . . . . . . . .改訂履歴 付録B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.2. 7. . . . . . . . . . 1 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド 2 第1 章 はじめに 第1章 はじめに Red Hat Enterprise Linux OpenStack Platform (RHEL OpenStack Platform) は、Red Hat Enterprise Linux をベースとして、プライベートまたはパブリックの Infrastructure-as-a-Service (IaaS) クラウドを構築するための基盤を提供します。これにより、スケーラビリティーが極めて 高く、耐障害性に優れたプラットフォームをクラウド対応のワークロード開発にご利用いただくこ とができます。 本ガイドでは、Block Storage、Compute、D ashboard、Identity、 Image、Object Storage、 OpenStack Networking、 Orchestration、および Telemetry の各 OpenStack サービスを対象と するクラウド管理の手順を解説します。 管理者向けおよびプロジェクトユーザー (エンドユーザー) 向けの両方の手順を記載しており、管 理者のみが実行可能な手順については、その旨を付記しています。 OpenStack D ashboard またはコマンドラインクライアントを使用してクラウドの管理を行うこ とができます。大半の手順は、これらのいずれかの方法を使用することができますが、一部の高度 な手順はコマンドラインのみで実行可能となっています。本ガイドでは、可能な箇所には D ashboard を使用する手順を記載しています。 注記 RHEL OpenStack Platform の全ドキュメントスイートは https://access.redhat.com/documentation/enUS/Red_Hat_Enterprise_Linux_OpenStack_Platform/ で参照してください。 1.1. OPENST ACK DASHBOARD OpenStack D ashboard は、OpenStack サービスを管理するための Web ベースのグラフィカル ユーザーインターフェースです。 ブラウザーで D ashboard にアクセスするには、D ashboard Service がインストール済みで、か つその D ashboard のホスト名 (または IP アドレス) とログインパスワードが必要となります。 D ashboard の URL は、以下のような形式です。 http://HOSTNAME/dashboard/ 図1.1 ログイン画面 3 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド 1.2. コマンドラインクライアント RHEL OpenStack Platform の各コンポーネントには通常独自の管理クライアントがあります。た とえば、Compute Service には no va クライアントがあります。クライアントのコマンドとパラ メーターの完全なリストは https://access.redhat.com/documentation/enUS/Red_Hat_Enterprise_Linux_OpenStack_Platform/ で『Command-Line Interface Reference』を参照してください。 コマンドラインクライアントを使用するには、そのクライアントをインストールし、Identity Service との認証に使用する環境変数を最初に読み込む必要があります。これを行うには、RC (実 行制御) 環境ファイルを作成してセキュリティー保護された場所に配置し、必要に応じて実行して ください。 以下のコマンドでファイルを実行します。 $ source RC_FileName 例1.1 $ source ~/keystonerc_admin 4 第1 章 はじめに 注記 デフォルトでは、Packstack ユーティリティーは ad mi n および d emo ユーザーと、そ れらのユーザー用の keysto ne_ad mi n および keysto ne_d emo RC ファイルを作成 します。 1.2.1. RC ファイルの自動作成 D ashboard を使用して、現在のプロジェクトユーザー向けの RC ファイルを自動的に生成してダ ウンロードすることができます。これにより、OpenStack コマンドラインクライアントが使用で きるようになります (「コマンドラインクライアント」を参照)。ファイルの環境変数は、プロジェ クトと現在のプロジェクトユーザーにマップします。 1. D ashboard で プロジェクト タブを選択して コンピュート > アクセスとセキュリ ティー をクリックします。 2. AP I アクセス タブを選択します。このタブでは、プロジェクトのログインユーザーに対 して表示可能な全サービスの一覧を確認することができます。 3. O penStack R C ファイルのダウンロード をクリックしてファイルを生成します。 ファイル名は現在のユーザーにマップします。たとえば、「admin」ユーザーの場合には ad mi n-o penrc. sh というファイルが生成されてブラウザーを通してダウンロードされ ます。 1.2.2. RC ファイルの手動作成 RC ファイルを手動で作成する場合には、以下の環境変数を設定する必要があります。 OS_USERNAME=userName OS_TENANT_NAME=tenantName OS_PASSWORD =userPassword OS_AUTH_URL=http://IP:35357/v2.0/ PS1='[\u@\h \W(keystone_userName)]\$ ' 例1.2 以下のファイルの例には、ad mi n ユーザーに必要な変数を設定しています。 export export export export OS_USERNAME=admin OS_TENANT_NAME=admin OS_PASSWORD=secretPass OS_AUTH_URL=http://192.0.2.24:35357/v2.0/ 5 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド export PS1='[\u@ \h \W(keystone_admin)]\$ ' 6 第2 章 プロジェクトとユーザー 第2章 プロジェクトとユーザー クラウドの管理者は、プロジェクトとユーザーの両方を管理することができます。プロジェクトと は、ユーザーの割り当てが可能な、クラウド内の組織単位のことです。プロジェクトは、テナント またはアカウントとしても知られています。プロジェクトとユーザーはそれぞれ別々に管理するこ とができます。ユーザーは単一または複数のプロジェクトのメンバーにすることができます。 オペレーターは、クラウドの設定中にプロジェクト、ユーザー、およびロールを少なくとも 1 つ定 義します。オペレーターはユーザーにロールをリンクし、プロジェクトにユーザーをリンクしま す。ロールはそのユーザーが実行できるアクションを定義します。クラウド管理者は必要に応じて プロジェクトおよびユーザーを作成することができます。また、プロジェクトおよびユーザーの追 加/更新削除、1 つまたは複数のプロジェクトへのユーザーの割り当て、割り当ての変更/削除も可 能です。プロジェクトまたはユーザーを有効にしたり、一時的に無効にしたりするには、そのプロ ジェクトまたはユーザーを更新します。 ユーザーアカウントを作成した後には、そのアカウントは主プロジェクトに割り当てる必要があり ます。またオプションとして、その他のプロジェクトにアカウントを割り当てることもできます。 ユーザーアカウントを削除する前には、その主プロジェクトからユーザーアカウントを削除してお く必要があります。 2.1. プロジェクトの管理 2.1.1. プロジェクトの作成 1. D ashboard に管理ユーザーとしてログインして ユーザー管理 > プロジェクト を選択 します。 2. プロジェクトの作成 をクリックします。 3. プロジェクト情報 タブでプロジェクトの名前と説明を入力します (有効 のチェックボッ クスはデフォルトで選択されます)。 4. プロジェクトメンバー タブで、すべてのユーザー リストからプロジェクトにメンバー を追加します。 5. クォータ タブで、プロジェクトのリソースの上限を指定します。 6. プロジェクトの作成 をクリックします。 2.1.2. プロジェクトの更新 プロジェクトを更新して名前や説明を変更したり、プロジェクトを有効化または一時的に無効化し たり、メンバーを更新したりすることができます。 1. D ashboard に管理ユーザーとしてログインして ユーザー管理 > プロジェクト を選択 します。 7 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド 2. プロジェクトの アクション コラムのドロップダウンリストからプロジェクトの編集 を クリックします。 3. プロジェクトの編集 ウィンドウでプロジェクトを更新して名前や説明を変更したり、プ ロジェクトを有効化または一時的に無効化したりすることができます。 4. プロジェクトメンバー タブで、必要に応じてメンバーをプロジェクトに追加または削除 します。 5. 保存 をクリックします。 注記 有効 のチェックボックスはデフォルトで選択されています。プロジェクトを一時的に無 効にするには、有効 のチェックボックスのチェックマークを外します。無効なプロジェ クトを有効にするには、有効 チェックボックスを選択します。 2.1.3. プロジェクトの削除 1. D ashboard に管理ユーザーとしてログインして ユーザー管理 > プロジェクト を選択 します。 2. 削除するプロジェクトを選択します。 3. プロジェクトの削除 をクリックします。 4. 再度、プロジェクトの削除 をクリックします。 注記 削除の操作は元に戻すことはできません。 2.1.4 . プロジェクトクォータの更新 クォータとは、プロジェクトのリソースが使い果たされてしまわないようにするために、プロジェ クトごとに設定可能な上限です。 1. D ashboard に管理ユーザーとしてログインして ユーザー管理 > プロジェクト を選択 します。 2. プロジェクトの アクション コラムのドロップダウンリストからクォータの編集 をク リックします。 3. クォータ タブでプロジェクトクォータを必要に応じて変更することが可能です。 4. 保存 をクリックします。 8 第2 章 プロジェクトとユーザー 4. 保存 をクリックします。 2.1.5. プロジェクトセキュリティーの管理 セキュリティーグループとは、プロジェクトのインスタンスに割り当て可能な IP フィルターの ルールセットで、インスタンスへのネットワークのアクセス権限を定義します。セキュリティー グループはプロジェクト別になっており、プロジェクトメンバーは自分のセキュリティーグルー プのデフォルトルールを編集して新規ルールセットを追加することができます。 プロジェクトにはすべて default セキュリティーグループが存在し、他にセキュリティーグループ が定義されていないインスタンスに対して適用されます。このセキュリティーグループは、デフォ ルト値を変更しない限り、お使いのインスタンスへの受信トラフィックをすべて拒否し、送信トラ フィックのみを許可します。 2 .1 .5 .1 . セキュリティーグループの作成 1. D ashboard で プロジェクト > コンピュート > アクセスとセキュリティー を選択 します。 2. セキュリティーグループ タブで セキュリティーグループの作成 をクリックします。 3. セキュリティーグループに名前と説明を指定して、セキュリティーグループの作成 を クリックします。 2 .1 .5 .2 . セキュリティーグループのルールの追加 デフォルトでは、新しいグループには、送信アクセスのルールのみが指定されます。他のアクセス を指定するには、新しいルールを追加する必要があります。 1. D ashboard で プロジェクト > コンピュート > アクセスとセキュリティー を選択 します。 2. セキュリティーグループ タブで、セキュリティーグループの ルールの管理 をクリック します。 3. 新規ルールを追加するには、ルールの追加 をクリックします。 4. ルールの値を指定して、Ad d をクリックします。 表2.1 ルールフィールド ( 必須) フィール ド 説明 9 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド フィール ド 説明 ルール ルールタイプ。ルールテンプレート (例: 「SSH」) を指定する場合には 、その フィールドは自動的に入力されます。 TCP: 一般的には、システム間のデータの交換や、エンドユーザーの通信に使 用されます。 UDP: 一般的には、システム間のデータ交換に (特にアプリケーションレベル で) 使用されます。 ICMP: 一般的には、ルーターなどのネットワークデバイスがエラーや監視メッ セージを送信するのに使用されます。 方向 受信 (インバウンド) または送信 (アウトバウンド) オープン するポー ト TCP または UDP ルールで開放する ポート または ポート範囲 。開放する単一 ポートまたはポート範囲を選択します。 ポート範囲では、ポート番号 (下限 ) と ポート番号 (上限 ) にポート の値を入力します。 単一のポートの場合は ポート フィールドにポートの値を入力します。 タイプ ICMP ルールのタイプ。「-1:255」の範囲で指定する必要があります。 コード ICMP ルールのコード。「-1:255」の範囲で指定する必要があります。 接続相手 このルールが適用されるトラフィックの接続元 CIDR (Clas s les s Inter-Do main Ro uting ): 指定のブロック内の IP へのアク セスを制限する IP アドレスブロック。接続相手フィールドに CIDR を入力し ます。 セキュリティーグループ: グループ内のインスタンスが他のグループインスタン スにアクセスできるようにするソースのセキュリティーグループ 2 .1 .5 .3. セキュリティーグループルールの削除 1. D ashboard で プロジェクト > コンピュート > アクセスとセキュリティー を選択 します。 2. セキュリティーグループ タブで、セキュリティーグループの ルールの管理 をクリック します。 3. セキュリティーグループのルールを選択して、ルールの削除 をクリックします。 4. ルールの削除 をクリックします。 10 第2 章 プロジェクトとユーザー 4. ルールの削除 をクリックします。 注記 削除の操作は元に戻すことはできません。 2 .1 .5 .4 . セキュリティーグループの削除 1. D ashboard で プロジェクト > コンピュート > アクセスとセキュリティー を選択 します。 2. セキュリティーグループ タブで、セキュリティーグループの削除 をクリックしま す。 3. セキュリティーグループの削除 をクリックします。 注記 削除の操作は元に戻すことはできません。 2.2. ユーザーの管理 2.2.1. ユーザーの作成 1. D ashboard に管理ユーザーとしてログインして ユーザー管理 > ユーザー を選択しま す。 2. ユーザーの作成 をクリックします。 3. ユーザーのユーザー名、メールアドレス、仮のパスワードを入力します。 4. 主プロジェクト のリストからプロジェクトを選択します。 5. ロール のリストからロールを選択します (デフォルトは_member_ です)。 6. ユーザーの作成 をクリックします。 2.2.2. ユーザーの有効化/無効化 一度に無効化/有効化することができるのは 1 ユーザーのみです。 1. D ashboard に管理ユーザーとしてログインして ユーザー管理 > ユーザー を選択しま す。 11 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド 2. アクション コラムでドロップダウンリストをクリックし、ユーザーの無効化 または ユーザーの有効化 を選択すると、有効 コラムの値が T rue または Fal se に更新されま す。 2.2.3. ユーザーの削除 1. D ashboard に管理ユーザーとしてログインして ユーザー管理 > ユーザー を選択しま す。 2. 削除するユーザーを選択します。 3. ユーザーの削除 をクリックします。 4. ユーザーの削除 をクリックします。 注記 削除の操作は元に戻すことはできません。 2.2.4 . ロールの管理 2 .2 .4 .1 . ロールの表示 利用可能なロールを一覧表示するには、以下のコマンドを実行します。 $ keystone role-list +----------------------------------+---------------+ | id | name | +----------------------------------+---------------+ | 71ccc37d41c8491c975ae72676db687f | Member | | 149f50a1fe684bfa88dae76a48d26ef7 | ResellerAdmin | | 9fe2ff9ee4384b1894a90878d3e92bab | _member_ | | 6ecf391421604da985db2f141e46a7c8 | admin | +----------------------------------+---------------+ 指定のロールの詳細を取得するには、以下のコマンドを実行します。 $ keystone role-get ROLE 例2.1 $ keystone role-get admin +----------+----------------------------------+ | Property | Value | +----------+----------------------------------+ 12 第2 章 プロジェクトとユーザー | id | 6ecf391421604da985db2f141e46a7c8 | | name | admin | +----------+----------------------------------+ 2 .2 .4 .2 . ロールの作成および割り当て ユーザーは複数のプロジェクトのメンバーになることができます。複数のプロジェクトにユーザー を割り当てるには、ロールを作成してそのロールをユーザーとプロジェクトのペアに割り当てま す。 注記 ユーザー、ロール、プロジェクトの指定には名前または ID を使用することができます。 1. new-ro l e ロールを作成します。 $ keystone role-create --name ROLE_NAME 例2.2 $ keystone role-create --name new-role +----------+----------------------------------+ | Property | Value | +----------+----------------------------------+ | id | 61013e7aa4ba4e00a0a1ab4b14bc6b2a | | name | new-role | +----------+----------------------------------+ 2. ユーザーをプロジェクトに割り当てるには、ロールをユーザーとプロジェクトのペアに割 り当てる必要があります。これには、ユーザー、ロール、プロジェクト名/ID が必要で す。 a. ユーザーを一覧表示します。 $ keystone user-list b. ロールを一覧表示します。 $ keystone role-list c. プロジェクトを一覧表示します。 $ keystone tenant-list 13 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド 3. ユーザーとプロジェクトのペアにロールを割り当てます。 $ keystone user-role-add --user USER_NAME --role ROLE_NAME -tenant TENANT_NAME 例2.3 以下の例では、new-ro l e ロールが d emo と d emo のペアに割り当てられます。 $ keystone user-role-add --user demo --role new-role -tenant demo 4. d emo のロール割り当てを確認するには、以下のコマンドを実行します。 $ keystone user-role-list --user USER_NAME --tenant TENANT_NAME 例2.4 $ keystone user-role-list --user demo --tenant demo 2 .2 .4 .3. ロールの削除 1. ユーザーとプロジェクトのペアからロールを削除します。 $ keystone user-role-remove --user USER_NAME --role ROLE -tenant TENANT_NAME 2. ロールが削除されていることを確認します。 $ keystone user-role-list --user USER_NAME --tenant TENANT_NAME ロールが削除された場合、そのロールはコマンドの出力から省略されます。 2.2.5. プロジェクトユーザーの Comput e クォータの表示 現在設定されているプロジェクトユーザー (テナントユーザー) のクォータ値を表示するには、以 下を実行します。 $ nova quota-show --user USER --tenant TENANT 14 第2 章 プロジェクトとユーザー 例2.5 $ nova quota-show --user demoUser --tenant demo +-----------------------------+-------+ | Quota | Limit | +-----------------------------+-------+ | instances | 10 | | cores | 20 | | ram | 51200 | | floating_ips | 5 | | fixed_ips | -1 | | metadata_items | 128 | | injected_files | 5 | | injected_file_content_bytes | 10240 | | injected_file_path_bytes | 255 | | key_pairs | 100 | | security_groups | 10 | | security_group_rules | 20 | | server_groups | 10 | | server_group_members | 10 | +-----------------------------+-------+ 2.2.6. プロジェクトユーザーの Comput e クォータの更新 手順2.1 ユーザーの C o mp u t e クォータの更新 特定のクォータ値を更新するには、以下を実行します。 $ nova quota-update --user USER --QUOTA_NAME QUOTA_VALUE TENANT 例2.6 $ nova quota-update --user demoUser --floating-ips 10 demo $ nova quota-show --user demoUser --tenant demo +-----------------------------+-------+ | Quota | Limit | +-----------------------------+-------+ | instances | 10 | | cores | 20 | | ram | 51200 | | floating_ips | 10 | | ... | | +-----------------------------+-------+ 15 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド 注記 quota-update コマンドのオプション一覧を表示するには、以下を実行します。 $ nova help quota-update 2.2.7. ロールアクセス制御の設定 異なるテナントで異なるロールをユーザーに割り当てることができます。また、同じテナントで ユーザーに複数のロールを割り当てることも可能です。 /etc/[SERVICE_CODENAME]/po l i cy. jso n ファイルは、特定のサービスでユーザーが実行 できるタスクを制御します。以下に例を示します。 /etc/no va/po l i cy. jso n は Compute Service のアクセスポリシーを指定します。 /etc/g l ance/po l i cy. jso n は Imager Service のアクセスポリシーを指定します。 /etc/keysto ne/po l i cy. jso n は Identity Service のアクセスポリシーを指定します。 Compute Service、Identity Service、Image Service 用のデフォルトの po l i cy. jso n ファイ ルは、admin ロールのみを認識します。admin ロールが必要ない操作はすべて、テナント内のど のロールが割り当てられたユーザーでもアクセスすることができます。 たとえば、Compute Service でユーザーが操作を実行できないようにするには、Identity Service でロールを作成し、そのロールをユーザーに割り当ててから Compute の操作にはそのロールが必 要となるように /etc/no va/po l i cy. jso n を編集します。 例2.7 /etc/no va/po l i cy. jso n の以下の行は、ボリュームの作成が可能なユーザーに対する制 限がないことを指定します。テナント内で何らかのロールが割り当てられていれば、そのテナ ントでボリュームを作成することができます。 "volume:create": [], 例2.8 特定のテナントで compute-user ロールが割り当てられたユーザーに対してボリュームの作成 を制限するには、Compute ポリシーに「role:compute-user」と追記してください。 "volume:create": ["role:compute-user"], 16 第2 章 プロジェクトとユーザー 例2.9 このロールがすべての Compute Service 要求に必要となるように制限すると、ファイルの値は 以下のようになります (このサンプルは省略されています)。 {"admin_or_owner": [["role:admin"], ["project_id:% (project_id)s"]], "default": [["rule:admin_or_owner"]], "compute:create": ["role:compute-user"], "compute:create:attach_network": ["role:compute-user"], "compute:create:attach_volume": ["role:compute-user"], "compute:get_all": ["role:compute-user"], "compute:unlock_override": ["rule:admin_api"], "admin_api": [["role:admin"]], "compute_extension:accounts": [["rule:admin_api"]], "compute_extension:admin_actions": [["rule:admin_api"]], "compute_extension:admin_actions:pause": [["rule:admin_or_owner"]], "compute_extension:admin_actions:unpause": [["rule:admin_or_owner"]], "compute_extension:admin_actions:suspend": [["rule:admin_or_owner"]], "compute_extension:admin_actions:resume": [["rule:admin_or_owner"]], "compute_extension:admin_actions:lock": [["rule:admin_or_owner"]], "compute_extension:admin_actions:unlock": [["rule:admin_or_owner"]], "compute_extension:admin_actions:resetNetwork": [["rule:admin_api"]], "compute_extension:admin_actions:injectNetworkInfo": [["rule:admin_api"]], "compute_extension:admin_actions:createBackup": [["rule:admin_or_owner"]], "compute_extension:admin_actions:migrateLive": [["rule:admin_api"]], "compute_extension:admin_actions:migrate": [["rule:admin_api"]], "compute_extension:aggregates": [["rule:admin_api"]], "compute_extension:certificates": ["role:compute-user"], "compute_extension:cloudpipe": [["rule:admin_api"]], "compute_extension:console_output": ["role:compute-user"], "compute_extension:consoles": ["role:compute-user"], "compute_extension:createserverext": ["role:compute-user"], "compute_extension:deferred_delete": ["role:compute-user"], "compute_extension:disk_config": ["role:compute-user"], "compute_extension:evacuate": [["rule:admin_api"]], "compute_extension:extended_server_attributes": [["rule:admin_api"]], ... 17 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド 第3章 仮想マシンのインスタンス RHEL OpenStack Platform では、クラウド内の仮想マシンインスタンスを容易に管理することが できます。 OpenStack Compute はインスタンスの作成、スケジューリング、管理を行う中央コ ンポーネントで、この機能を他の OpenStack コンポーネントに公開します。 注記 「インスタンス」という用語は、OpenStack では仮想マシンインスタンスの意味で使用 されます。 3.1. インスタンスの管理 3.1.1. インスタンスの作成 前提条件: ネットワーク、キーペア、ブートソースが利用可能な状態であることを確認します。 1. D ashboard で プロジェクト を選択します。 2. ネットワーク > ネットワーク を選択し、新規インスタンスを接続することができるプ ライベートネットワークが存在していることを確認してください (ネットワークの作成方 法については 「ネットワークの追加」を参照)。 3. コンピュート > アクセスとセキュリティー > キーペア を選択して、キーペアが存 在していることを確認します (キーペアの作成方法については 「キーペアの管理」を参 照)。 4. ブートソースに使用可能なイメージかボリュームのいずれかがあることを確認してくださ い。 ブートソースのイメージを表示するには、イメージ タブを選択します (イメージを作 成する場合は 「イメージの作成」 を参照してください)。 ブートソースのボリュームを表示するには、ボリューム タブを選択します (イメージ を作成する場合は 「ボリュームの作成」 を参照してください)。 手順3.1 インスタンスの作成 1. D ashboard で プロジェクト > コンピュート > インスタンス を選択します。 2. インスタンスの起動 をクリックします。 3. 各フィールド (「*」でマークされているフィールドは必須) にインスタンスの設定値を入 力し、完了したら 起動 をクリックします。 18 第3章 仮想マシンのインスタンス タブ フィールド 備考 詳細 アベイラビリティー ゾーン ゾーンとは、インスタンスが配置されるクラウドリ ソースの論理グループです。不明な場合にはデフォル トのゾーンを使用してください (詳しくは 「ホストア グリゲートの管理」を参照)。 インスタンス名 そのプロジェクト内で一意な名前にする必要がありま す。 フレーバー フレーバーは、インスタンスに提供されるリソースを 決定します (例: メモリー)。デフォルトのフレーバー の割り当ておよび新規フレーバー作成に関する情報 は、「フレーバーの管理」を参照してください。 インスタンスのブー トソース 選択した項目に応じて異なる新規フィールドが表示さ れ、ソースを選択することができます。 イメージソースは O p enStac k との互換性がある 必要があります (「イメージの管理」を参照)。 ボリュームまたはボリュームソースを選択した場 合、そのソースはイメージを使用してフォーマッ トする必要があります (「ボリュームの管理」を参 照)。 アクセスと セキュリ ティー ネットワー ク キーペア 指定したキーペアがインスタンスに挿入され、SSH を使用したインスタンスへのリモートアクセスに使用 されます (直接のログイン情報や静的キーペアが提供 されない場合)。通常は 1 プロジェクトあたり 1 つの キーペアが作成されます。 セキュリティーグ ループ セキュリティーグループには、インスタンスのネット ワークトラフィックの種別と方向をフィルタリングす るファイアウォールルールが含まれています (グルー プの設定についての詳しい説明は 「プロジェクトセ キュリティーの管理」を参照)。 選択済みネットワー ク ネットワークは、少なくとも 1 つ選択する必要があり ます。インスタンスは通常プライベートネットワーク に割り当てられ、その後に Flo ating IP アドレスが割 り当てられて外部アクセスが可能になります。 19 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド タブ フィールド 備考 作成後 カスタマイズスクリ プトの入力方法 インスタンスのブート後に実行されるコマンドセット またはスクリプトファイルを指定することができます (例: インスタンスのホスト名やユーザーパスワードの 設定など)。「直接入力」を選択した場合には、 スク リプトデータ フィールドにコマンドを書き込みま す。それ以外の場合には、スクリプトファイルを指定 してください。注記:「#c lo ud -c o nfig 」で開始する スクリプトは、c lo ud -c o nfig 構文を使用するものと して解釈されます (この構文についての情報 は、http ://c lo ud init.read thed o c s .o rg /en/lates t/to p ic s /examp les .html を参照してください)。 高度な設定 ディスクパーティ ション デフォルトでは、インスタンスは単一のパーティショ ンとして作成されて、必要に応じて動的にリサイズさ れますが、パーティションを手動で設定する方法を選 択することも可能です。 コンフィグドライブ このオプションを選択した場合には、O p enStac k は メタデータを読み取り専用の設定ドライブに書き込み ます。このドライブはインスタンスのブート時に (Co mp ute のメタデータサービスの代わりに) インス タンスに接続されます。インスタンスがブートした後 には、このドライブをマウントしてコンテンツを表示 することができます (これにより、ユーザーがファイ ルをインスタンスに提供することが可能となりま す)。 3.1.2. インスタンスの更新 (アクションメニュー) インスタンスを更新するには、プロジェクト > コンピュート > インスタンス を選択してか ら、そのインスタンスに対して実行するアクションをアクションコラムで選択します。これらのア クションにより、数多くの方法でインスタンスを操作することができます。 20 アクション 説明 スナップショットの作 成 スナップショットは、実行中のインスタンスのディスクの状態を保存しま す。スナップショットは、インスタンスの移行やバックアップコピーの保存 などの目的で作成することができます。 Flo ating IP の割り当 て/割り当て解除 外部のネットワークとの通信および外部ユーザーによるアクセスを可能にす るには、インスタンスを Flo ating IP アドレス (外部) に割り当てる必要があ ります。外部サブネットには、外部アドレスの数が限定されているため、使 用していないアドレスは割り当て解除することを推奨します。 インスタンスの編集 インスタンスの名前を更新して、セキュリティーグループを割り当てます。 第3章 仮想マシンのインスタンス アクション 説明 セキュリティーグルー プの編集 利用可能なセキュリティーグループの一覧を使用して、インスタンスにセ キュリティーグループを追加/削除します (グループの設定についての詳しい 説明は、「プロジェクトセキュリティーの管理」を参照してください)。 コンソール ブラウザーでインスタンスのコンソールを表示します (インスタンスに容易に アクセスすることができます)。 ログの参照 インスタンスのコンソールログの最新のセクションを表示します。このログ を開いた後に すべてのログの表示 をクリックすると、ログ全体を参照す ることができます。 インスタンスの一時停 止/再開 インスタンスを即時に一時停止します (操作を確認するメッセージは表示され ません)。インスタンスの状態はメモリー (RAM) に保存されます。 インスタンスの休止/再 開 インスタンスを即時に休止します (操作を確認するメッセージは表示されませ ん)。ハイバネートと同様に、インスタンスの状態はディスクに保存されま す。 インスタンスのリサイ ズ インスタンスのリサイズのウィンドウが表示されます (「インスタンスのリサ イズ」を参照)。 ソフトリブート インスタンスを正常に停止して再起動します。ソフトリブートは、全プロセ スを正常にシャットダウンしてから、インスタンスを再起動するように試み ます。 ハードリブート インスタンスを停止して再起動します。ハードリブートは、実質的にはイン スタンスの電源をオフにしてから再び O N にします。 インスタンスのシャッ トダウン インスタンスを正常に停止します。 インスタンスの再作成 イメージおよびディスクパーティションのオプションを使用してイメージを 再作成します (インスタンスをシャットダウンして、イメージを再作成して、 再起動します)。このオプションは、オペレーティングシステムに問題が発生 した場合に、インスタンスを終了して一からやり直すよりも簡単です。 インスタンスの終了 インスタンスを完全に破棄します (操作を確認するメッセージが表示されま す)。 たとえば、「Floating IP の割り当て」アクションで外部のアドレスを作成して確保することがで きます。 手順3.2 更新の例: Flo at in g IP の割り当て 1. D ashboard で プロジェクト > コンピュート > インスタンス を選択します。 2. 対象のインスタンスに Fl o ati ng IP の割り当て のアクションを選択します。 21 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド 注記 Floating IP アドレスは、作成済みの Floating IP プールからしか選択できませ ん (「Floating IP アドレスプールの作成」を参照)。 3. 「+」をクリックして IP の確保 > 割り当て をクリックします。 注記 インスタンス名が不明で IP アドレスしかない場合 (かつ全インスタンスの情報をそれぞ れ開いて確認しない場合) には、以下のコマンドをコマンドラインで実行することができ ます。 $ nova list --ip IPAddress IPAddress は検索する IP アドレスに置き換えます。 $ nova list --ip 192.0.2.0 3.1.3. インスタンスのリサイズ インスタンスのリサイズ (メモリーまたは CPU 数) を行うには、適切な容量のあるインスタンスで 新規フレーバーを選択する必要があります。サイズを大きくする場合には、ホストに十分な容量が あることをあらかじめ確認することを忘れないようにしてください。 1. 分散デプロイメント内のインスタンスをリサイズする場合には、ホスト間で通信ができる ようにする必要があります。各ホストに SSH 鍵認証を設定して、Compute が SSH を使 用してディスクを他のホストに移動できるようにします (例: 複数のコンピュートノードが 同じ SSH 鍵を共有することが可能です)。SSH 鍵認証の設定についての詳しい情報 は、「ノード間の SSH トンネリングの設定」を参照してください。 2. 元のホストでリサイズを有効にするには、/etc/no va/no va. co nf ファイルで以下の パラメーターを設定します。 [DEFAULT] allow_resize_to_same_host = True 3. D ashboard で プロジェクト > コンピュート > インスタンス を選択します。 4. インスタンスの アクション コラムのドロップダウンメニューをクリックして インスタ ンスのリサイズ を選択します。 5. 新しいフレーバー フィールドで新規フレーバーを選択します。 6. 起動時にインスタンスのパーティション分割を手動で行うには、以下の手順で設定します (これにより、ビルドタイムが短縮されます)。 22 第3章 仮想マシンのインスタンス a. 高度な設定 を選択します。 b. ディスクパーティション フィールドで「手動」を選択します。 7. リサイズ をクリックします。 3.1.4 . ノード間の SSH トンネリングの設定 警告 Red Hat では、特定の libvirt セキュリティー戦略は推奨していません。SSH トンネリ ングのステップは、ユーザー向けの参考情報としてのみ記載しています。SSH トンネ リングを設定できるのは ro o t アクセスのあるユーザーのみとなります。 SSH トンネリングを使用してノード間でインスタンスを移行する場合、または分散環境でインス タンスをリサイズする場合には、各ノードに SSH 鍵認証を設定し、Compute Service が SSH を 使用してディスクを他のノードに移動できるようにする必要があります。たとえば、複数のコン ピュートノードで同じ SSH 鍵を使用して通信可能な状態を確保することが可能です。 注記 Compute Service が異なるノード間でインスタンスを移行できない場合には、そのイン スタンスを元のホストに送り返すように試みます。このような移行の失敗を回避するに は、/etc/no va/no va. co nf ファイルで「allow_migrate_to_same_host=True」と 設定されていることを確認してください。 コンピュートノード間でのキーペアの共有方法: 1. 両ノード上で root として、no va をログインユーザーに設定します。 # usermod -s /bin/bash nova 2. 最初の Compute ノードで no va ユーザーのキーペアを生成します。 # su nova # ssh-keygen # echo 'StrictHostKeyChecking no' >> /var/lib/nova/.ssh/config # cat /var/lib/nova/.ssh/id_rsa.pub >> /var/lib/nova/.ssh/authorized_keys i d _rsa と i d _rsa. pub のキーペアが /var/l i b/no va/. ssh 内に生成されます。 3. root として、2 番目のコンピュートノードに作成したキーペアをコピーします。 23 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド # scp /var/lib/nova/.ssh/id_rsa root@ computeNodeAddress:~/ # scp /var/lib/nova/.ssh/id_rsa.pub root@ computeNodeAddress:~/ 4. 2 番目のコンピュートノードで、root として、コピーしたキーペアのパーミッションを 「nova」に戻してから、キーペアを SSH に追加します。 # # # # # # # chown nova:nova id_rsa chown nova:nova id_rsa.pub su nova mkdir -p /var/lib/nova/.ssh cp id_rsa /var/lib/nova/.ssh/ cat id_rsa.pub >> /var/lib/nova/.ssh/authorized_keys echo 'StrictHostKeyChecking no' >> /var/lib/nova/.ssh/config 5. no va ユーザーが各ノードにパスワードを入力せずにログインできることを確認します。 # su nova # ssh nova@ computeNodeAddress 6. 両ノード上で root として、libvirt と Compute Service を再起動します。 # systemctl restart libvirtd.service # systemctl restart openstack-nova-compute.service 3.1.5. インスタンスへの接続 3.1 .5 .1 . Dashbo ard コンソールを使用したアクセス コンソールを使用すると、D ashboard 内でインスタンスに直接アクセスすることができます。 1. D ashboard で コンピュート > インスタンス を選択します。 2. 対象のインスタンスの ドロップダウンメニュー をクリックして コンソール を選択しま す。 図3.1 コンソールアクセス 24 第3章 仮想マシンのインスタンス 3. イメージのユーザー名とパスワードを使用してログインします (例: CirrOS イメージでは 「cirros」と「cubswin:」を使用します)。 注記 Red Hat Enterprise Linux ゲストのイメージは通常、直接のコンソールアクセス は許可しないので、SSH でインスタンスにアクセスする必要があります (「イン スタンスへの SSH アクセス」を参照)。 3.1 .5 .2 . VNC コンソールへの直接接続 no va g et-vnc-co nso l e コマンドで返された URL を使用すると、インスタンスの VNC コン ソールに直接アクセスすることができます。 ブラウザー ブラウザーの URL を取得するには、以下のコマンドを実行します。 $ nova get-vnc-console INSTANCE_ID novnc Java クライアント Java クライアントの URL を取得するには、以下のコマンドを実行します。 $ nova get-vnc-console INSTANCE_ID xvpvnc 25 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド 注記 no va-xvpvncvi ewer は、Java クライアントの最も簡単な例を提供します。 クライアントをダウンロードするには、以下のコマンドを実行します。 # git clone https://github.com/cloudbuilders/novaxvpvncviewer # cd nova-xvpvncviewer/viewer # make インスタンスの Java クライアント URL を使用してビューアーを実行します。 # java -jar VncViewer.jar URL このツールは、お客様の便宜のためのみに提供されており、Red Hat では正式に サポートされていません。 3.1 .5 .3. シリアルコンソールへの直接接続 Websocket クライアントを使用すると、コンソールのシリアルポートに直接アクセスすることが 可能です。シリアル接続は、通常デバッグツールで使用されます (たとえば、ネットワーク設定に 問題がある場合でもインスタンスにアクセス可能)。実行中のインスタンスのシリアル URL を取得 するには、以下のコマンドを実行します。 $ nova get-serial-console INSTANCE_ID 注記 no vaco nso l e は、Websocket クライアントの最も簡単な例を提供します。クライア ントをダウンロードするには、以下のコマンドを実行します。 # git clone https://github.com/larsks/novaconsole/ # cd novaconsole インスタンスのシリアル URL を使用してクライアントを実行します。 # python console-client-poll.py URL このツールは、お客様の便宜のためのみに提供されており、Red Hat では正式にサポー トされていません。 ただし、インストールによっては、管理者があらかじめ no va-seri al pro xy サービスを設定す る必要がある場合があります。プロキシーサービスは、OpenStack Compute のシリアルポートへ の接続が可能な Websocket プロキシーです。 26 第3章 仮想マシンのインスタンス 手順3.3 n o va- serialp ro xy のインストールと設定 1. no va-seri al pro xy サービスをインストールします。 # yum install openstack-nova-serialproxy 2. /etc/no va/no va. co nf の seri al _co nso l e セクションを更新します。 a. no va-seri al pro xy サービスを有効にします。 $ openstack-config --set /etc/nova/nova.conf serial_console enabled true b. no va g et-seri al -co nso l e コマンドで提供される URL の生成に使用する文 字列を指定します。 $ openstack-config --set /etc/nova/nova.conf serial_console base_url ws://PUBLIC_IP:6083/ PUBLIC_IP は、no va-seri al pro xy サービスを実行するホストのパブリック IP アドレスに置き換えます。 c. インスタンスのシリアルコンソールをリッスンする IP アドレスを指定します (文 字列)。 $ openstack-config --set /etc/nova/nova.conf serial_console listen 0.0.0.0 d. プロキシークライアントが接続する必要のあるアドレスを指定します (文字列)。 $ openstack-config --set /etc/nova/nova.conf serial_console proxyclient_address ws://HOST_IP:6083/ HOST_IP は、Compute ホストの IP アドレスに置き換えます。 例3.1 n o va- serialp ro xy の有効化 [serial_console] enabled=true base_url=ws://192.0.2.0:6083/ listen=0.0.0.0 proxyclient_address=192.0.2.3 3. Compute Service を再起動します。 27 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド # openstack-service restart nova 4. no va-seri al pro xy サービスを起動します。 # systemctl enable openstack-nova-serialproxy # systemctl start openstack-nova-serialproxy 5. 実行中のインスタンスを再起動して、正しいソケットをリッスンするようになったことを 確認します。 6. シリアル/コンソール間のポート接続のためにファイアウォールを開きます。シリアルポー トは /etc/no va/no va. co nf で [seri al _co nso l e] po rt_rang e を使用して設 定します。この範囲は、デフォルトでは 10000:20000 です。以下のコマンドで iptables を更新します。 # iptables -I INPUT 1 -p tcp --dport 10000:20000 -j ACCEPT 3.1 .5 .4 . インスタンスへの SSH アクセス 1. インスタンスのセキュリティーグループに SSH ルールが設定されていることを確認しま す (「プロジェクトセキュリティーの管理」を参照)。 2. インスタンスに Floating IP アドレス (外部アドレス) が割り当てられていることを確認し ます (「Floating IP アドレスの作成、割り当て、解放」を参照)。 3. インスタンスのキーペアの証明書を取得します。証明書は、キーペアの作成時にダウン ロードされます。キーペアを自分で作成しなかった場合には、管理者に問い合わせてくだ さい (「キーペアの管理」を参照)。 4. ローカルマシンで、キーペアの証明書を SSH に読み込みます。以下に例を示します。 $ ssh-add ~/.ssh/os-key.pem 5. これで、イメージにより提供されるユーザーで、ファイルに SSH アクセスできるように なりました。 以下のコマンドの例は、 Red Hat Enterprise Linux のゲストイメージに「cloud-user」と して SSH アクセスする方法を示しています。 $ ssh cloud-user@ 192.0.2.24 注記 証明書を直接使用することも可能です。以下に例を示します。 $ ssh -i /myDir/os-key.pem cloud-user@ 192.0.2.24 28 第3章 仮想マシンのインスタンス 3.1.6. インスタンスの使用状況の表示 以下のような使用状況統計が提供されます。 プロジェクト別 プロジェクト別の使用状況を確認するには、プロジェクト > コンピュート > 概要 を選択 します。全プロジェクトインスタンスの使用状況の概要が即時に表示されます。 使用状況を照会する期間を指定して 送信 ボタンをクリックすると、特定の期間の統計を表示 することもできます。 ハイパーバイザー別 管理者としてログインしている場合には、全プロジェクトの情報を表示することができま す。管理 > システム をクリックしてタブを 1 つ選択します。たとえば、リソース使用状況 タブでは、特定の期間のレポートを確認することができます。また、ハイパーバイザー をク リックすると、現在の仮想 CPU、メモリー、ディスクの統計を確認することができます。 注記 「仮想 CPU 使用量」の値 (y 中 x 使用中) には、全仮想マシンの仮想 CPU の合計数 (x) とハイパーバイザーのコアの合計数 (y) が反映されます。 3.1.7. インスタンスの削除 1. D ashboard で プロジェクト > コンピュート > インスタンス を選択して、対象の インスタンスにチェックを付けます。 2. インスタンスの終了 をクリックします。 注記 インスタンスを削除しても、接続されていたボリュームは削除されません。この操作は 別途実行する必要があります ( 「ボリュームの削除」を参照)。 3.2. インスタンスのセキュリティーの管理 適切なセキュリティーグループ (ファイアウォールのルールセット) およびキーペア (SSH を介し たユーザーのアクセスの有効化) を割り当てることによってインスタンスへのアクセスを管理する ことができます。また、インスタンスに Floating IP アドレスを割り当てて外部ネットワークへの アクセスを有効にすることができます。以下の各項では、キーペアおよび Floating IP アドレスの 作成/管理の方法について説明します。セキュリティーグループの管理についての情報は、「プロ ジェクトセキュリティーの管理」を参照してください。 3.2.1. キーペアの管理 29 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド キーペアにより、インスタンスへ SSH でアクセスすることができます。キーペアの生成時には毎 回、証明書がローカルマシンにダウンロードされ、ユーザーに配布できます。通常は、プロジェク トごとにキーペア 1 つ作成されます (そのキーペアは、複数のインスタンスに使用されます)。 既存のキーペアを OpenStack にインポートすることも可能です。 3.2 .1 .1 . キーペアの作成 1. D ashboard で プロジェクト > コンピュート > アクセスとセキュリティー を選択 します。 2. キーペア タブで キーペアの作成 ボタンをクリックします。 3. キーペア名 フィールドに名前を指定して キーペアの作成 をクリックします。 キーペアが作成されると、ブラウザーを介してキーペアファイルが自動的にダウンロード されます。後ほど外部のマシンから接続できるように、このファイルを保存します。ま た、コマンドラインの SSH 接続には、以下のコマンドを実行して、このファイルを SSH にロードすることができます。 # ssh-add ~/.ssh/OS-Key.pem 3.2 .1 .2 . キーペアのインポート 1. D ashboard で プロジェクト > コンピュート > アクセスとセキュリティー を選択 します。 2. キーペア タブで キーペアのインポート ボタンをクリックします。 3. キーペア名 のフィールドに名前を指定し、公開鍵の内容をコピーして、公開鍵 のフィー ルドにペーストします。 4. キーペアのインポート をクリックします。 3.2 .1 .3. キーペアの削除 1. D ashboard で プロジェクト > コンピュート > アクセスとセキュリティー を選択 します。 2. キーペア タブで、削除するキーの キーペアの削除 ボタンをクリックします。 3.2.2. Float ing IP アドレスの作成、割り当て、解放 30 第3章 仮想マシンのインスタンス デフォルトでは、インスタンスを最初に作成する際に、そのインスタンスに内部 IP アドレスが割 り当てられますが、Floating IP アドレス (外部アドレス) を作成して割り当てることによりパブ リックネットワークを介したアクセスを有効にすることができます。 インスタンスに割り当てら れている IP アドレスは、インスタンスの状態に関わらず変更することができます。 プロジェクトには、使用できる Floating IP アドレスの範囲が限定されているので (デフォルトの 上限は 50)、必要がなくなったアドレスは、再利用できるように解放することを推奨します。 Floating IP アドレスは、既存の Floating IP プールからのみ確保することができます (「Floating IP アドレスプールの作成」を参照)。 手順3.4 プロジェクトへの Flo at in g IP アドレスの確保 1. D ashboard で プロジェクト > コンピュート > アクセスとセキュリティー を選択 します。 2. Fl o ati ng IP タブで Fl o ati ng IP の確保 をクリックします。 3. プール のフィールドに、IP アドレスを割り当てるネットワークを選択します。 4. IP の確保 クリックします。 手順3.5 Flo at in g IP の割り当て 1. D ashboard で プロジェクト > コンピュート > アクセスとセキュリティー を選択 します。 2. Fl o ati ng IP タブで、アドレスの 割り当て ボタンをクリックします。 3. IP アドレス フィールドで割り当てるアドレスを選択します。 注記 割り当てることのできるアドレスがない場合には、+ ボタンをクリックして新規 アドレスを作成することができます。 4. IP を割り当てるポート フィールドで割り当て先となるインスタンスを選択します。1 つのインスタンスに割り当てることができる Floating IP アドレスは 1 つのみです。 5. 割り当て をクリックします。 手順3.6 Flo at in g IP の解放 1. D ashboard で プロジェクト > コンピュート > アクセスとセキュリティー を選択 します。 31 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド 2. Fl o ati ng IP タブで、そのアドレスの 割り当て /割り当て解除 の横にあるドロップ ダウンメニューをクリックします。 3. Fl o ati ng IP の解放 を選択します。 3.3. フレーバーの管理 作成する各インスタンスには、インスタンスのサイズや容量を決定するためのフレーバー (リソー スのテンプレート) を指定します。また、フレーバーを使用して、セカンダリー一時ストレージや スワップディスク、使用率を制限するためのメタデータ、特別なプロジェクトへのアクセスを指定 することも可能です (デフォルトのフレーバーにはこのような追加の属性は一切定義されていませ ん)。 表3.1 デフォルトのフレーバー 名前 仮想 CPU RAM ルートディスクのサイ ズ m1.tiny 1 512 MB 1 GB m1.s mall 1 20 48 MB 20 G B m1.med ium 2 40 9 6 MB 40 G B m1.larg e 4 8 19 2 MB 80 GB m1.xlarg e 8 16 38 4 MB 16 0 G B エンドユーザーの大半は、デフォルトのフレーバーを使用することができますが、特化したフレー バーを作成/管理する必要がある場合もあります。たとえば、以下が可能となります。 基になるハードウェアの要件に応じて、デフォルトのメモリーと容量を変更する メタデータを追加して、インスタントに特定の I/O レートを強制する、またはホストアグリ ゲートと一致させる 注記 イメージのプロパティーを使用して設定した動作は、フレーバーを使用して設定した動 作よりも優先されます (詳しい説明は、「イメージの管理」を参照してください)。 3.3.1. 設定パーミッションの更新 32 第3章 仮想マシンのインスタンス デフォルトでは、フレーバーの作成およびフレーバーの完全リストの表示ができるのは管理者のみ です (管理 > システム > フレーバー を選択)。全ユーザーがフレーバーを設定できるようにす るには、/etc/no va/po l i cy. jso n ファイル (no va-api サーバー) で以下の値を指定しま す。 "co mpute_extensi o n: fl avo rmanag e": "", 3.3.2. フレーバーの作成 1. D ashboard に管理ユーザーとしてログインして 管理 > システム > フレーバー を選 択します。 2. フレーバーの作成 をクリックして、以下のフィールドに入力します。 タブ フィールド 説明 フレーバー 情報 名前 一意な名前 ID 一意な ID。デフォルト値は「auto 」で、 UUID4 値を 生成しますが、整数または UUID4 値 を手動で指定す ることもできます。 仮想 CPU 仮想 CPU 数 メモリー (MB) メモリー (メガバイト単位) ルートディスク (G B) 一時ディスクのサイズ (ギガバイト単位)。ネイティブイ メージサイズを使用するには「0 」を指定します。この ディスクは、「Ins tanc e Bo o t So urc e=Bo o t fro m Vo lume」と指定されている場合には使用されません。 一時ディスク (G B) セカンダリー一時ディスクのサイズ (ギガバイト単位) スワップディスク (MB) スワップディスクのサイズ (メガバイト単位) 選択済のプロジェク ト そのフレーバーを使用することができるプロジェクト。 プロジェクトが選択されていない場合には、全プロジェ クトにアクセスが提供されます (「Pub lic =Yes 」)。 フレーバー アクセス権 3. フレーバーの作成 をクリックします。 3.3.3. 一般属性の更新 1. D ashboard に管理ユーザーとしてログインして 管理 > システム > フレーバー を選 択します。 33 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド 2. 対象のフレーバーの フレーバーの編集 ボタンをクリックします。 3. 値を更新して 保存 をクリックします。 3.3.4 . フレーバーのメタデータの更新 一般属性の編集に加えて、フレーバーにメタデータ (「extra_specs」) を追加することが可能で す。メタデータは、インスタンスの使用方法を微調整するのに役立ちます。たとえば、最大許容帯 域幅やディスクの書き込みを設定する場合などです。 事前定義済みのキーにより、ハードウェアサポートやクォータが決定されます。事前定義済み のキーは、使用するハイパーバイザーによって限定されます (libvirt の場合は、表3.2「Libvirt のメタデータ」を参照してください)。 事前定義済みおよびユーザー定義のキーはいずれも、インスタンスのスケジューリングを決定 します。たとえば、「SpecialComp=True」と指定すると、このフレーバーを使用するインス タンスはすべてメタデータのキーと値の組み合わせが同じホストアグリゲートでのみ実行可能 となります (「ホストアグリゲートの管理」を参照)。 3.3.4 .1 . メタデータの表示 1. D ashboard に管理ユーザーとしてログインして 管理 > システム > フレーバー を選 択します。 2. フレーバーの メタデータ リンク (「はい」または「いいえ」) をクリックします。現在の 値はすべて、右側の 設定済みのメタデータ の下に一覧表示されます。 3.3.4 .2 . メタデータの追加 キーと値 のペアを使用してフレーバーのメタデータを指定します。 1. D ashboard に管理ユーザーとしてログインして 管理 > システム > フレーバー を選 択します。 2. フレーバーの メタデータ リンク (「はい」または「いいえ」) をクリックします。現在の 値はすべて、右側の 設定済みのメタデータ の下に一覧表示されます。 3. 利用可能なメタデータ で その他 のフィールドをクリックして、追加するキーを指定し ます (表3.2「Libvirt のメタデータ」 を参照)。 4. + ボタンをクリックします。設定済みのメタデータ の下に新しいキーが表示されるよう になりました。 5. 右側のフィールドにキーの値を入力します。 図3.2 フレーバーのメタデータ 34 第3章 仮想マシンのインスタンス 6. キーと値のペアの追加が終了したら 保存 をクリックします。 表3.2 Lib virt のメタデータ キー 説明 hw: action インスタンスごとにサポート制限を設定するアクション。有効な アクションは以下のとおりです。 cpu_max_so ckets : サポートされている最大の CPU ソ ケット数 cpu_max_co res : サポートされている最大の CPU コア数 cpu_max_thread s : サポートされている最大の CPU ス レッド数 cpu_so ckets : 推奨される CPU ソケット数 cpu_co res : 推奨される CPU コア数 cpu_thread s : 推奨される CPU スレッド数 seri al _po rt_co unt: 1 インスタンスあたりの最大シリ アルポート数 例:「hw:c p u_max_s o c kets =2」 hw: NUMA_def インスタンスの NUMA トポロジーの定義。RAM および vCPU の割り当てがコンピュートホスト内の NUMA ノードのサイズよ りも大きいフレーバーの場合には、NUMA トポロジーを定義する ことでホストが NUMA を効果的に使用してゲスト O S のパ フォーマンスを向上することができます。 フレーバーから指定した NUMA 定義は、イメージの定義よりも 優先されます。有効な定義は以下のとおりです。 35 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド キー 説明 numa_no d es : インスタンスに公開する NUMA ノードの 数。イメージの NUMA 設定が上書きされるようにするには 「1」を指定します。 numa_mempo l i cy : メモリーの割り当てポリシー。有効な ポリシーは以下のとおりです。 s tric t: バインディングされる NUMA ノードからインスタ ンスの RAM が割り当てられるようにするには必須です ( numa_no d es が指定されている場合にはデフォルト)。 p referred : カーネルは、代替ノードを使用するように フォールバックすることが可能です。numa_no d es が 「1」に設定されている場合に有用です。 numa_cpus. 0 : vCPU N-M を NUMA ノード 0 へマッピン グ (コンマ区切りの一覧) numa_cpus. 1 : vCPU N-M を NUMA ノード 1 へマッピン グ (コンマ区切りの一覧) numa_mem. 0 : メモリー N G B を NUMA ノード 0 へマッ ピング numa_mem. 1 : メモリー N G B を NUMA ノード 1 へマッピ ング numa_cpu. N および numa_mem. N は、numa_no d es が設定されている場合のみに有効です。また、これらの定義が 必要になるのは、インスタンスの NUMA ノードの CPU およ び RAM が対称的に割り当てられていない場合のみです (NFV ワークロードの一部には重要)。注記: numa_cpu または numa_mem. N で使用可能な数量よりも多い値が指定された 場合には、例外が発生します。 インスタンスに 8 個の vCPU、4 G B の RAM が指定されている 場合の例: hw:numa_no d es =2 hw:numa_c p us .0 =0 ,1,2,3,4,5 hw:numa_c p us .1=6 ,7 hw:numa_mem.0 =3 hw:numa_mem.1=1 スケジューラーは、NUMA ノードが 2 つあり、そのうちの 1 つ のノードで 6 つの CPU および 3 G B のメモリーを実行し、別の ノードで 2 つの CPU および 1 G B のメモリーを実行できるホス トを検索します。ホストに 8 つの CPU および 4 G B のメモリー を実行できる NUMA ノードが 1 つある場合は、有効な一致とは 見なされません。numa_mempo l i cy の設定に関わらず、同様 のロジックがスケジューラーで適用されます。 36 第3章 仮想マシンのインスタンス hw: watchd o g _acti o n キー 説明 インスタンスのウォッチドッグデバイスを使用して、インスタン スに何らかの理由でエラー (またはハング) が発生した場合にアク ションをトリガーすることができます。有効なアクションは以下 のとおりです。 d i sabl ed : デバイスは接続されません (デフォルト値)。 pause : インスタンスを一時停止します。 po wero ff : インスタンスを強制終了します。 reset: インスタンスを強制リセットします。 no ne : ウォッチドッグを有効化しますが、インスタンスにエ ラーが発生してもアクションは実行しません。 例: 「hw:watc hd o g _ac tio n=p o wero ff」 hw_rng : action イメージプロパティーを使用して乱数生成器をインスタンスに追 加することができます (RHEL O p enStac k Platfo rm ドキュメン ト の『Co mmand -Line Interfac e Referenc e』で hw_rng _mo d el を参照してください)。 このデバイスを追加した場合の有効なアクションは以下のとおり です。 al l o wed : 「True」に指定すると、デバイスが有効化さ れ、「Fals e」に指定すると無効化されます。デフォルトでは 無効となっています。 rate_bytes : エントロピープールを満たすために、インス タンスのカーネルが rate_peri o d (整数) の間隔でホスト から読み取ることのできる最大のバイト数 rate_peri o d : 秒単位で示した読み取り期間 (整数) 例: 「hw_rng :allo wed =True」 hw_vi d eo : ram_max_mb ビデオデバイスの最大許容 RAM (MB 単位) 例: 「hw:ram_max_mb =6 4」 q uo ta: option インスタンスの制限を強制します。有効なオプションは以下のと おりです。 cpu_peri o d : c p u_q uo ta を強制する時間 (マイクロ秒)。 指定した c p u_p erio d 内では、各仮想 CPU は c p u_q uo ta を超えるランタイムを使用することはできません。値は [10 0 0 , 10 0 0 0 0 0 ] の範囲内で指定する必要があります。 37 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド キー 「0 」は「値なし」を意味します。 説明 cpu_q uo ta : 各 c p u_p erio d における仮想 CPU の最大許 容帯域幅 (マイクロ秒単位)。この値は、[10 0 0 , 18 446 7440 7370 9 551] の範囲内で指定する必要がありま す。「0 」は「値なし」を意味し、負の値は仮想 CPU が制御 されていないことを意味します。cpu_q uo ta および cpu_peri o d を使用して、全仮想 CPU が同じ速度で実行 されるようにすることができます。 cpu_shares : ドメインの CPU 時間の共有。この値は、同 じドメイン内の他のマシンに対する重み付けがされている場合 にのみに有意となります。つまり、「20 0 」のフレーバーを使 用するインスタンスには、「10 0 」のインスタンスのマシン時 間の 2 倍の時間が割り当てられることになります。 d i sk_read _bytes_sec : 最大のディスク読み取り速度 (バイト毎秒単位) d i sk_read _i o ps_sec : 1 秒あたりの最大の読み取り I/O 操作回数 d i sk_wri te_bytes_sec : 最大のディスク書き込み速度 (バイト毎秒単位) d i sk_wri te_i o ps_sec : 1 秒あたりの最大の書き込み I/O 操作回数 d i sk_to tal _bytes_sec : 総スループットの上限 (バイ ト毎秒単位) d i sk_to tal _i o ps_sec : 1 秒あたりの最大の総 I/O 操 作数 vi f_i nbo und _averag e : 受信トラフィックの指定平均 値 vi f_i nbo und _burst: vi f_i nbo und _peak の速度 で受信可能なトラフィックの最大量 vi f_i nbo und _peak : 受信トラフィックの最大受信速度 vi f_o utbo und _averag e : 送信トラフィックの指定平均 値 vi f_o utbo und _burst: vi f_o utbo und _peak の速 度で送信可能なトラフィックの最大量 vi f_o utbo und _peak : 送信トラフィックの最大送信速度 例: 「q uo ta:vif_inb o und _averag e=10 240 」 3.4 . ホストアグリゲートの管理 38 第3章 仮想マシンのインスタンス パフォーマンスおよび管理目的で、単一の Compute デプロイメントを複数の論理グループにパー ティショニングすることができます。OpenStack では以下のような用語を使用しています。 ホストアグリゲート: ホストアグリゲートは、ホストをグループ化してまとめることによって OpenStack デプロイメント内に論理ユニットを作成します。アグリゲートは、割り当てられた Compute ホストと関連付けられたメタデータです。1 台のホストは複数のアグリゲートに属す ることが可能です。ホストアグリゲートの表示と作成ができるのは管理者のみです。 アグリゲートのメタデータは通常、Compute のスケジューラーで使用する情報を提供します (例: 特定のフレーバーやイメージを複数のホストの 1 つのサブネットに制限するなど)。ホスト アグリゲートで指定されるメタデータは、フレーバー内で同じメタデータが指定されているイ ンスタンスにホストの使用を限定します。 管理者は、ホストアグリゲートを使用して、ロードバランスの処理、物理的な分離 (または冗 長) の強制、共通の属性を持つサーバーのグループ化、ハードウェアクラスの分類などを行うこ とができます。アグリゲートの作成時には、ゾーン名を指定する必要があります。この名前が エンドユーザーに表示されます。 アベイラビリティーゾーン: アベイラビリティーゾーンとは、ホストアグリゲートのエンドユー ザーのビューです。エンドユーザーはゾーンがどのホストで構成されているかを表示したり、 ゾーンのメタデータを確認したりすることはできません。ユーザーが見ることができるのは ゾーン名のみです。 一定の機能や一定のエリア内で設定された特定のゾーンを使用するようにエンドユーザーを誘 導することができます。 3.4 .1. ホストアグリゲートのスケジューリングの有効化 デフォルトでは、ホストアグリゲートのメタデータは、インスタンスの使用先のフィルタリングに は使用されません。メタデータの使用を有効にするには、Compute のスケジューラーの設定を更 新する必要があります。 1. /etc/no va/no va. co nf ファイルを編集します (ro o t または no va ユーザーのパー ミッションが必要です)。 2. scheduler_default_filters パラメーターに以下の値が含まれていることを確認し ます。 ホストアグリゲートのメタデータ用の「AggregateInstanceExtraSpecsFilter」。たと えば、以下のように記載します。 scheduler_default_filters=AggregateInstanceExtraSpecsFilter,Re tryFilter,RamFilter,ComputeFilter,ComputeCapabilitiesFilter,I magePropertiesFilter,CoreFilter インスタンス起動時のアベイラビリティーホストの仕様用の 「AvailabilityZ oneFilter」。たとえば、以下のように記載します。 39 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド scheduler_default_filters=AvailabilityZoneFilter,RetryFilter,R amFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropert iesFilter,CoreFilter 3. 設定ファイルを保存します。 3.4 .2. アベイラビリティーゾーンまたはホストアグリゲートの表示 D ashboard に管理ユーザーとしてログインして 管理 > システム > ホストアグリゲート を選択します。ホストアグリゲート のセクションに現在定義済みのアグリゲートがすべてリ ストされます。アベイラビリティーゾーン のセクションには全ゾーンがリストされます。 3.4 .3. ホストアグリゲートの追加 1. D ashboard に管理ユーザーとしてログインして 管理 > システム > ホストアグリ ゲート を選択します。ホストアグリゲート のセクションに現在定義済みのアグリゲー トがすべてリストされます。 2. ホストアグリゲートの作成 をクリックします。 3. 名前 フィールドにアグリゲートの名前を入力します。この名前がアベイラビリティー ゾーン でエンドユーザーに表示されます。 4. アグリゲートのホストの管理 をクリックします。 5. + アイコンをクリックしてホストを選択します。 6. ホストアグリゲートの作成 をクリックします。 3.4 .4 . ホストアグリゲートの更新 1. D ashboard に管理ユーザーとしてログインして 管理 > システム > ホストアグリ ゲート を選択します。ホストアグリゲート のセクションに現在定義済みのアグリゲー トがすべてリストされます。 2. インスタンスの各設定を更新します。 名前またはアベイラビリティーゾーン: アグリゲートの ホストアグリゲートの編集 ボタンをクリックします。 名前 または アベイラビリティーゾーン のフィールドを更新して 保存 をク リックします。 割り当て済みのホスト: 40 第3章 仮想マシンのインスタンス アクション の下にあるアグリゲートの矢印アイコンをクリックします。 ホストの管理 をクリックします。 + または - のアイコンをクリックしてホストの割り当てを変更します。 設定が終了したら 保存 をクリックします。 メタデータ: アクション の下にあるアグリゲートの矢印アイコンをクリックします。 メタデータの更新 ボタンをクリックします。現在の値はすべて、右側の設 定済みのメタデータ の下に一覧表示されます。 利用可能なメタデータ で その他 のフィールドをクリックして、追加する キーを指定します。事前に定義したキー 表3.3「ホストアグリゲートのメタ データ」 を参照) を使用するか、独自のキーを追加します (このキーと全く同 じキーがインスタンスのフレーバーに設定されている場合にのみ有効となりま す)。 + ボタンをクリックします。設定済みのメタデータ の下に新しいキーが表示 されるようになりました。 注記: キーを削除するには - アイコンをクリックしてください。 保存 をクリックします。 表3.3 ホストアグリゲートのメタデータ キー 説明 cpu_al l o cati o n _rati o 物理 CPU に対する仮想 CPU の割り当ての比率を設定します。 これは、Co mp ute のスケジューラーに設定されている Ag g reg ateC o reFi l ter フィルターによって異なります。 d i sk_al l o cati o n_rati o 物理ディスクに対する仮想ディスクの割り当ての比率を設定しま す。これは、Co mp ute のスケジューラーに設定されている Ag g reg ateD i skFi l ter フィルターによって異なります。 fi l ter_tenant_i d 指定した場合には、アグリゲートはこのテナント (プロジェクト) のみをホストします。これは、Co mp ute のスケジューラーに設 定されている Ag g reg ateMul ti T enancyIso l ati o n フィルターによって異なります。 41 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド キー 説明 ram_al l o cati o n _rati o 物理メモリーに対する仮想メモリーの割り当ての比率を設定しま す。これは、Co mp ute のスケジューラーに設定されている Ag g reg ateR amFi l ter フィルターによって異なります。 3.4 .5. ホストアグリゲートの削除 1. D ashboard に管理ユーザーとしてログインして 管理 > システム > ホストアグリ ゲート を選択します。ホストアグリゲート のセクションに現在定義済みのアグリゲー トがすべてリストされます。 2. 割り当てられている全ホストをアグリゲートから削除します。 1. アクション の下にあるアグリゲートの矢印アイコンをクリックします。 2. ホストの管理 をクリックします。 3. - アイコンをクリックして全ホストを削除します。 4. 設定が終了したら 保存 をクリックします。 3. アクション の下にあるアグリゲートの矢印アイコンをクリックします。 4. このダイアログ画面と次の画面で ホストアグリゲートの削除 をクリックします。 3.5. ホストとセルのスケジュール Compute のスケジューリングサービスは、インスタンスの配置先となるセルまたはホスト (もしく はホストアグリゲート) を決定します。管理者は、設定を使用して、スケジューラーによるインス タンスの配置先の決定方法を定義することができます。たとえば、特定のグループや適切な量の RAM があるホストにスケジューリングを限定することが可能です。 以下のコンポーネントを設定することができます。 フィルター: インスタンスの配置先候補となるホストの初期セットを決定します (「スケジュー リングフィルターの設定」を参照)。 重み: フィルタリングの完了時に選出されたホストのセットは重み付けのシステムを使用して優 先順位が決定されます。最も高い重みが最優先されます (「スケジューリングの重みの設定」を 参照)。 スケジューラーサービス: スケジューラーホスト上の /etc/no va/no va. co nf ファイルには 数多くの設定オプションがあります。これらのオプションは、スケジューラーがタスクを実行 する方法や、重み/フィルターを処理する方法を決定します。ホストとセルの両方にスケジュー ラーがあります。これらのオプションの一覧は『Configuration Reference』(RHEL 42 第3章 仮想マシンのインスタンス OpenStack Platform ドキュメント) を参照してください。 下図では、フィルタリング後には Host 1 と Host 3 の両方が条件に適合しています。Host 1 の重 みが最も高いため、スケジューリングで最優先されます。 図3.3 ホストのスケジューリング 3.5.1. スケジューリングフィルターの設定 sched ul er_d efaul t_fi l ters オプションでスケジューラーが使用するフィルターを定義し ます (/etc/no va/no va. co nf ファイル。ro o t または no va ユーザーのパーミッションが必 要)。 デフォルトでは、以下のフィルターがスケジューラーで実行されるように設定されています。 scheduler_default_filters=RetryFilter,AvailabilityZoneFilter,RamFilter ,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,Server GroupAntiAffinityFilter,ServerGroupAffinityFilter 一部のフィルターは、以下の方法でインスタンスに渡されるパラメーターの情報を使用します。 no va bo o t コマンド (https://access.redhat.com/documentation/enUS/Red_Hat_Enterprise_Linux_OpenStack_Platform/ で『Command-Line Interface Reference』を参照) インスタンスのフレーバー (「フレーバーのメタデータの更新」を参照) インスタンスのイメージ (付録A イメージの設定パラメーターを参照) 以下の表には、利用可能な全フィルターをまとめています。 表3.4 スケジューリングフィルター 43 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド フィルター 説明 Ag g reg ateCo reFilter ホストアグリゲートのメタデータキー cpu_al l o cati o n_rati o を使用して、オーバーコミット比 (物理 CPU に対する仮想 CPU の割り当ての比率) を超過したホスト を除外します。これは、インスタンスにホストアグリゲートが指定 されている場合のみに有効です。 Ag g reg ateDis kFilter この比率が設定されている場合には、フィルターは /etc/no va/no va. co nf ファイルの cpu_al l o cati o n_rati o の値を使用します。デフォルト値は 「16 .0 」です (1 物理 CPU に対して 16 仮想 CPU を割り当て可 能)。 ホストアグリゲートのメタデータキー d i sk_al l o cati o n_rati o を使用して、オーバーコミット比 (物理ディスクに対する仮想ディスクの割り当ての比率) を超過した ホストを除外します。これは、インスタンスにホストアグリゲート が指定されている場合のみに有効です。 この比率が設定されている場合には、フィルターは /etc/no va/no va. co nf ファイルの d i sk_al l o cati o n_rati o の値を使用します。デフォルト値 は「1.0 」です (1 物理ディスク に対して 1 仮想ディスクを割り当て 可能)。 Ag g reg ateImag ePro p erties I s o latio n インスタンスのイメージのメタデータが一致するホストアグリゲー ト内のホストのみを渡します。これは、そのインスタンスにホスト アグリゲートが指定されている場合にのみ有効です。詳しい情報 は、「イメージの作成」を参照してください。 Ag g reg ateIns tanc eExtraSp e c s Filter ホストアグリゲート内のメタデータは、ホストのフレーバーのメタ データと一致する必要があります。詳しい情報は、「フレーバーの メタデータの更新」を参照してください。 Ag g reg ateMultiTenanc yIs o la tio n fi l ter_tenant_i d を指定したホストには、そのテナント (プ ロジェクト) からのインスタンスのみを配置することができます。注 記: テナントが他のホストにインスタンスを配置することは可能で す。 Ag g reg ateRamFilter ホストアグリゲートのメタデータキー ram_al l o cati o n_rati o を使用して、オーバーコミット比 (物理メモリーに対する仮想メモリーの割り当ての比率) を超過した ホストを除外します。これは、インスタンスにホストアグリゲート が指定されている場合のみに有効です。 この比率が設定されている場合には、フィルターは /etc/no va/no va. co nf ファイルの ram_al l o cati o n_rati o の値を使用します。デフォルト値は 「1.5」です (1 物理メモリーに対して 1.5 仮想メモリーを割り当て可 能)。 44 第3章 仮想マシンのインスタンス フィルター 説明 AllHo s ts Filter 利用可能な全ホストを渡します (ただし、他のフィルターは無効化し ません)。 Availab ilityZo neFilter インスタンスに指定されているアベイラビリティーゾーンを使用し てフィルタリングします。 Co mp uteCap ab ilities Filter Co mp ute のメタデータが正しく読み取られるようにします。「:」 よりも前の部分はすべて名前空間として読み取られます。たとえ ば、「q uo ta:c p u_p erio d 」では「q uo ta」が名前空間として、 「c p u_p erio d 」がキーとして使用されます。 Co mp uteFilter 稼働中の有効なホストのみを渡します。 Co reFilter /etc/no va/no va. co nf ファイルの cpu_al l o cati o n_rati o を使用して、オーバーコミット比 (物理 CPU に対する仮想 CPU の比率) を超過したホストを除外しま す。デフォルトの値は「16 .0 」です (1 物理 CPU に対して 16 仮想 CPU を割り当て可能)。 DifferentHo s tFilter 指定されている単一または複数のホストとは別のホスト上でインス タンスをビルドできるようにします。 no va bo o t の -d i fferent_ho st オプションを使用して、「d ifferent」(別の) ホストを指定します。 Dis kFilter /etc/no va/no va. co nf ファイルの d i sk_al l o cati o n_rati o を使用して、オーバーコミット比 (物理ディスクに対する仮想ディスクの比率) を超過したホストを除 外します。デフォルトの値は「1.0 」です (1 物理ディスクに対して 1 仮想ディスクを割り当て可能)。 Imag ePro p erties Filter インスタンスのイメージプロパティーに一致するホストのみを渡し ます。詳しい情報は、「イメージの作成」を参照してください。 Is o lated Ho s ts Filter /etc/no va/no va. co nf ファイルで isolated_hosts お よび isolated_images (コンマ区切りの値) を使用して指定さ れている分離されたイメージを実行中の分離されたホストのみを渡 します。 45 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド フィルター 説明 Js o nFilter インスタンスのカスタム JSO N フィルターを認識/使用します。 有効な演算子: =、< 、> 、in、< =、> =、no t、o r、and 認識される値: $free_ram_mb 、 $free_d i sk_mb 、$to tal _usabl e_ram_mb 、$vcpus _to tal 、$vcpus_used このフィルターは、クエリーヒントとして no va bo o t コマンド で指定されます。以下に例を示します。 --hi nt q uery= ' [' >= ' , ' $free_d i sk_mb' , 20 0 * 10 24 ]' Metric Filter メトリックが利用できないホストを除外します。 NUMATo p o lo g yFilter NUMA トポロジーに基づいてホストを除外します。インスタンスに トポロジーが未定義の場合には、任意のホストを使用することがで きます。このフィルターは、NUMA トポロジーが完全に同じインス タンスとホストをマッチングするように試みます (そのホスト上では インスタンスのスケジューリングは試みません)。また、このフィル ターは、NUMA ノードの標準的なオーバーサブスクリプションの上 限を確認し、それに応じて、コンピュートホストに対して制限を指 定します。 RamFilter /etc/no va/no va. co nf ファイルの ram_al l o cati o n_rati o を使用して、オーバーコミット比 (物理メモリーに対する仮想メモリーの比率) を超過したホストを除 外します。デフォルトの値は「1.5」です (1 物理メモリーに対して 1 仮想メモリーを割り当て可能)。 RetryFilter スケジュールを試みて失敗したホストを除外しま す。sched ul er_max_attempts の値がゼロを超える場合に有 効です (デフォルトでは、sched ul er_max_attempts= 3)。 SameHo s tFilter 指定されている単一または複数のホストを渡します。 no va bo o t に --hint same_host オプションを使用するインスタンスのホ ストを指定します。 46 第3章 仮想マシンのインスタンス フィルター 説明 ServerG ro up AffinityFilter 特定のサーバーグループのホストのみを渡します。 サーバーグループにアフィニティーポリシーを指定します ( no va server-g ro up-create --po l i cy affi ni ty groupName ) 。 そのグループでインスタンスをビルドします (no va bo o t の --hi nt g ro up= UUID オプション)。 ServerG ro up AntiAffinityFilter インスタンスをまだホストしていないサーバーグループ内のホスト のみを渡します。 サーバーグループに非アフィニティーポリシーを指定します ( no va server-g ro up-create --po l i cy anti affi ni ty groupName )。 そのグループでインスタンスをビルドします (no va bo o t の --hi nt g ro up= UUID オプション)。 Simp leCIDRAffinityFilter インスタンスの ci d r および bui l d _new_ho st_i p のヒント で指定されている IP サブネット範囲のホストのみを渡します。以下 はその例です。 --hi nt bui l d _near_ho st_i p= 19 2. 0 . 2. 0 --hi nt ci d r= /24 3.5.2. スケジューリングの重みの設定 セルとホストはいずれも、スケジューリング用に重み付けすることができます。(フィルタリング 後に) 重みが最大のホストまたはセルが選択されます。重み付け関数にはすべて、ノードの重みを 正規化した後に適用される乗数が指定されます。ノードの重みは以下のように計算されます。 w1_mul ti pl i er * no rm(w1) + w2_mul ti pl i er * no rm(w2) + . . . 重みのオプションは、ホストの /etc/no va/no va. co nf ファイルで設定することができます (ro o t または no va ユーザーのパーミッションが必要です)。 3.5 .2 .1 . ホストの重みのオプション設定 スケジューラーが使用するホストの重み付け関数は、[D EFAULT ] sched ul er_wei g ht_cl asses オプションで定義することができます。有効な重み付け関数は 以下のとおりです。 47 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド no va. sched ul er. wei g hts. ram: ホストの使用可能な RAM を重み付けします。 no va. sched ul er. wei g hts. metri cs: ホストのメトリックを重み付けします。 no va. sched ul er. wei g hts. al l _wei g hers: 全ホストの重み付け関数を使用します (デ フォルト)。 表3.5 ホストの重みのオプション 重み付 け関数 オプション 説明 all [DEFAULT] s c hed uler_ho s t_s ub s et_s i ze ホストの選択先のサブセットサイズを定義します (整数)。 1 以上にする必要があります。値を 1 に指定した場合に は、重み付け関数によって最初に返されるホストが選択さ れます。1 未満の場合には無視されて、1 が使用されます (整数値)。 metric s [metric s ] 必須 [metri cs] wei g ht_setti ng 内で使用できないメ トリックの処理方法を指定します。 T rue : メトリックは必須です。使用できない場合に は、例外が発生します。この例外を回避するに は、[D EFAULT ]sched ul er_d efaul t_fi l te rs オプションで Metri cFi l ter フィルターを使用 してください。 Fal se : 使用できないメトリックは、重み付け処理に おいて負の係数として扱われます。返される値は wei g ht_o f_unavai l abl e によって設定されま す。 metric s metric s 48 [metric s ] weig ht_o f_unavailab le [metri cs] wei g ht_setti ng 内のメトリックが使 [metric s ] weig ht_multip lier メトリックを重み付けする乗数。デフォルトでは wei g ht_mul ti pl i er= 1. 0 に設定されており、使 用可能な全ホストの間でインスタンスを分散します。この 値が負の場合には、最も低いメトリックのホストが優先さ れ、インスタンスが複数のホストでスタッキングされま す。 用できない場合に使用されま す。[metri cs]req ui red = Fal se の場合に有効で す。 第3章 仮想マシンのインスタンス 重み付 け関数 オプション metric s [metric s ] weig ht_s etting 説明 重み付けに使用されるメトリックと比率を指定します。 「metric =ratio 」のペアのコンマ区切りリストを使用しま す。有効なメトリック名は以下のとおりです。 cpu. freq uency : 現在の CPU 周波数 cpu. user. ti me : CPU のユーザーモード時間 cpu. kernel . ti me : CPU カーネル時間 cpu. i d l e. ti me : CPU のアイドル時間 cpu. i o wai t. ti me : CPU の I/O 待機時間 cpu. user. percent: CPU のユーザーモード率 cpu. kernel . percent: CPU カーネル率 cpu. i d l e. percent: CPU のアイドル率 cpu. i o wai t. percent: CPU の I/O 待機率 cpu. percent: 汎用 CPU の使用率 例: wei g ht_setti ng = cpu. user. ti me= 1. 0 ram [DEFAULT] ram_weig ht_multip lier RAM の乗数 (浮動小数点)。デフォルトで は、ram_wei g ht_mul ti pl i er= 1. 0 に設定されて おり、使用可能な全ホストの間でインスタンスを分散しま す。この値が負の場合には、最も RAM が低いホストが優 先され、インスタンスが複数のホストでスタッキングされ ます。 3.5 .2 .2 . セルの重みオプションの設定 [cel l s] sched ul er_wei g ht_cl asses オプション (/etc/no va/no va. co nf ファイ ル。ro o t または no va ユーザーのパーミッションが必要) でスケジューラーが使用するセルの重 み付け関数を定義します。 有効な重み付け関数: nova.cells.weights.all_weighers: すべてのセルの重み付け関数を使用します (デフォルト)。 49 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド nova.cells.weights.mute_child: 子セルが容量や機能の更新をしばらく送信していなかったか どうかによって重み付けします。 nova.cells.weights.ram_by_instance_type: セルの使用可能な RAM を重み付けします。 nova.cells.weights.weight_offset: セルの重みのオフセットを評価します。セルの重みのオフ セットは、no va-manag e cel l create コマンドの --wo ffset を使用して指定する点 に注意してください。 表3.6 セルの重みのオプション 重み付け関数 オプション 説明 mute_c hild [c ells ] mute_weig ht_mult ip lier しばらく更新がなかったホストの乗数 (負の浮動小数 点)。デフォルトではこの値は「-10 .0 」です。 mute_c hild [c ells ] mute_weig ht_valu e 更新がなかったホストに適用される重みの値 (正の浮動 小数点)。デフォルトでは、この値は「10 0 0 .0 」です。 ram_b y_ins tanc e _typ e [c ells ] ram_weig ht_multi p lier RAM の重み付け乗数 (浮動小数点)。デフォルトではこ の値は「1.0 」に設定されており、使用可能な全セルの間 でインスタンスを分散します。この値が負の場合には、 最も RAM が低いセルが優先され、インスタンスがセル にスタッキングされます。 weig ht_o ffs et [c ells ] o ffs et_weig ht_mul tip lier セルを重み付けする乗数 (浮動小数点)。重みのオフセッ トを 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 に設定することにより (重 みが最も高いセルが優先)、インスタンスが優先するセル (浮動小数点) を指定できるようになります。デフォルト ではこの値は「1.0 」です。 3.6. インスタンスの退避 停止中またはシャットダウンされたコンピュートノードから同じ環境内の新規ホストサーバーにイ ンスタンスを移動するには (例: サーバーをスワップアウトする必要がある場合など)、no va evacuate を使用してそのサーバーを退避することができます。 退避は、インスタンスのディスクが共有ストレージ上にある場合またはインスタンスのディス クが Block Storage ボリュームである場合にのみ有用です。それ以外の場合には、ディスクへ のアクセスは不可能なので、新規コンピュートノードからアクセスはできません。 インスタンスは、サーバーがシャットダウンされている場合にのみ退避させることができま す。サーバーがシャットダウンされなていない場合には、evacuate コマンドは失敗します。 50 第3章 仮想マシンのインスタンス 注記 正常に機能するコンピュートノードがある場合には、以下のような操作が可能です。 バックアップ目的またはインスタンスを別の環境にコピーするために静的な (実行中 でない) インスタンスのコピーを作成: no va i mag e-create を使用してスナップ ショットを作成します (「Migrate a Static Instance」の記事を参照)。 静的 (実行中でない) 状態のインスタンスを同じ環境内の別のホストに移動 (共有スト レージが必要): no va mi g rate を使用して移行します (「Migrate a Static Instance」の記事を参照)。 稼働状態 (実行中) のインスタンスを同じ環境内の別のホストに移動: no va l i vemi g rati o n コマンドを使用して移行します (「Migrate a Live (running) Instance」の記事を参照)。 3.6.1. 単一のインスタンスの退避 以下のコマンドを実行して、インスタンスを 1 つ退避します。 # nova evacuate [--password pass] [--on-shared-storage] instance_name [target_host] 各オプションについての説明は以下のとおりです。 --passwo rd pass: 退避するインスタンスに設定する管理パスワード (- -o n-shared sto rag e が指定されている場合には使用できません)。パスワードを指定しなかった場合に は、無作為に生成され、退避の完了時に出力されます。 --o n-shared -sto rag e: インスタンスのファイルがすべて共有ストレージ上にあることを 指定します。 instance_name: 退避するインスタンスの名前 target_host: インスタンスの退避先となるホスト。このホストを指定しなかった場合には、 Compute のスケジューラーがホストを 1 台選択します。退避先に指定可能なホストを確認する には、以下のコマンドを実行します。 # nova host-list | grep compute 以下に例を示します。 # nova evacuate myDemoInstance Compute2_OnEL7.myDomain 3.6.2. 全インスタンスの退避 51 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド 以下のコマンドを実行して、指定したホストに全インスタンスを退避します。 # nova host-evacuate instance_name [--target target_host] [--onshared-storage] source_host 各オプションについての説明は以下のとおりです。 --targ et target_host: インスタンスの退避先となるホスト。このホストを指定しなかっ た場合には、Compute のスケジューラーがホストを 1 台選択します。退避先に指定可能なホス トを確認するには、以下のコマンドを実行します。 # nova host-list | grep compute --o n-shared -sto rag e: インスタンスのファイルがすべて共有ストレージ上にあることを 指定します。 source_host: 退避されるホストの名前 以下に例を示します。 # nova host-evacuate --target Compute2_OnEL7.localdomain myDemoHost.localdomain 3.6.3. 共有ストレージの設定 共有ストレージを使用する場合には、以下の手順に従って Compute Service のインスタンスディ レクトリーを 2 つのノードにエクスポートし、ノードがアクセスできることを確認します。 ディ レクトリーのパスは /etc/no va/no va. co nf ファイルの state_path および instances_path のパラメーターで設定されます。この手順では、デフォルト値の /var/l i b/no va/i nstances を使用しています。共有ストレージを設定することができるの は、ro o t アクセスのあるユーザーのみです。 1. コントローラーホストで以下のステップを実行します。 a. Compute Service のユーザーに /var/l i b/no va/i nstances ディレクトリー の読み取り/書き込み権限があることを確認します (このユーザーは、全コントロー ラー/ノードに渡って同じユーザーである必要があります)。アクセス権はたとえば 以下のように表示されます。 drwxr-xr-x. 9 nova nova 4096 Nov 5 20:37 instances b. /etc/expo rts ファイルに以下の行を追加します。node1_IP および node2_IP は 2 つのコンピュートノードの IP アドレスに置き換えます。 52 第3章 仮想マシンのインスタンス /var/lib/nova/instances node1_IP(rw,sync,fsid=0,no_root_squash) /var/lib/nova/instances node2_IP(rw,sync,fsid=0,no_root_squash) c. /var/l i b/no va/i nstances ディレクトリーをコンピュートノードにエクス ポートします。 # exportfs -avr d. NFS サーバーを再起動します。 # systemctl restart nfs-server 2. 各コンピュートノードで以下のステップを実行します。 a. /var/l i b/no va/i nstances ディレクトリーがローカルに存在することを確 認します。 b. /etc/fstab ファイルに以下の行を追記します。 controllerName:/var/lib/nova/instances /var/lib/nova/instances nfs4 defaults 0 0 c. コントローラーのインスタンスディレクトリーをマウントします (/etc/fstab にリストされている全デバイス)。 # mount -a -v d. qemu がディレクトリーのイメージにアクセスできることを確認します。 # chmod o+x /var/lib/nova/instances e. ノードでインスタンスディレクトリーを表示できることを確認します。 # ls -ld /var/lib/nova/instances drwxr-xr-x. 9 nova nova 4096 Nov /var/lib/nova/instances 5 20:37 注記 以下のコマンドを実行して、全マウント済みデバイスを確認することも できます。 # df -k 53 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド 第4章 イメージとストレージ 本章では、RHEL OpenStack Platform でイメージとストレージを管理するための手順を説明しま す。 仮想マシンのイメージとは、起動可能なオペレーティングシステムがインストールされた仮想ディ スクを含むファイルです。仮想マシンのイメージは、複数の形式をサポートしています。以下は、 RHEL OpenStack Platform で利用可能な形式です。 R AW : 非構造化のディスクイメージ形式 Q C O W2: QEMU エミュレーターでサポートされているディスク形式 ISO : ディスク上のデータをセクター単位でコピーし、バイナリーファイルに格納した形式 AKI: Amazon Kernel Image AMI: Amazon Machine Image AR I: Amazon RAMD isk Image VD I: VirtualBox の仮想マシンモニターおよび QEMU エミュレーターでサポートされている ディスク形式 VHD : VMWare、VirtualBox などの仮想マシンモニターで使用されている一般的なディスク形 式 VMD K: 数多くの一般的な仮想マシンモニターでサポートされているディスク形式 通常、仮想マシンイメージの形式に ISO は考慮されませんが、ISO にはオペレーティングシステ ムがインストール済みのブート可能なファイルシステムが含まれているので、他の形式の仮想マシ ンイメージファイルと同様に扱うことができます。 公式の Red Hat Enterprise Linux クラウドイメージをダウンロードするには、有効な Red Hat Enterprise Linux サブスクリプションが必要です。 Red Hat Enterprise Linux 7 KVM Guest Image Red Hat Enterprise Linux 6 KVM Guest 4 .1. イメージの管理 OpenStack Image Service (glance) は、ディスクおよびサーバーイメージの検出、登録、および 配信のサービスを提供します。サーバーイメージのコピーやスナップショットを作成して直ちに保 管する機能を提供します。保管したイメージは、テンプレートとして使用し、新規サーバーを迅速 に稼働させるのに使用することができます。これはサーバーのオペレーティングシステムをインス 54 第4 章 イメージとストレージ トールして追加のサービスを個別に設定するよりも一貫性の高い方法です。 4 .1.1. イメージの作成 本項では、Red Hat Enterprise Linux 6 および Red Hat Enterprise Linux 7 の ISO ファイルを使 用して、.qcow2 形式の OpenStack 互換イメージを手動で作成する手順について説明します。 4 .1 .1 .1 . RHEL Ope nSt ack Plat fo rm における KVM ゲストイメージの使用 すでに準備済みの RHEL KVM ゲストの qcow2 イメージは、RHEL 7 KVM Guest Image or RHEL 6.6 KVM Guest Image で入手することができます。これらのイメージは、cl o ud -i ni t を使用 して設定されます。適切に機能するには、ec2 互換のメタデータサービスを利用して SSH キーを プロビジョニングする必要があります。 注記 KVM ゲストイメージでは、以下の点に注意してください。 KVM ゲストイメージでは ro o t アカウントが無効になっていますが、cl o ud -user という名前の特別なユーザーに sud o アクセスが許可されています。 このイメージには ro o t パスワードは設定されていません。 ro o t パスワードは、/etc/shad o w で 2 番目のフィールドに ! ! と記載すること によりロックされます。 OpenStack インスタンスでは、OpenStack D ashboard またはコマンドラインから ssh キーペ アを生成し、その鍵の組み合わせを使用して、インスタンスに対して ro o t として SSH 公開認証 を実行することを推奨します。 インスタンスの起動時には、この公開鍵がインスタンスに注入されるので、キーペア作成時にダウ ンロードされた秘密鍵を使用して認証を行うことができます。 カスタムの Red Hat Enterprise Linux イメージを作成する場合は、「Red Hat Enterprise Linux 7 イメージの作成」 or 「Red Hat Enterprise Linux 6 イメージの作成」 を参照してください。 4 .1 .1 .2 . Re d Hat Ent e rprise Linux のカスタムイメージの作成 前提条件 イメージを作成する Linux ホストマシン。これは、Linux パッケージをインストール/実行する ことのできる任意のマシンです。 libvirt、virt-manager (yum g ro upi nstal l @ vi rtual i zati o n のコマンドを実行)。ゲ ストオペレーティングシステムを作成するのに必要な全パッケージがインストールされます。 55 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド Libguestfs ツール (「yum i nstal l -y l i bg uestfs-to o l s-c」のコマンドを実行して ください)。仮想マシンイメージにアクセスして変更を行うためのツールセットがインストール されます。 Red Hat Enterprise Linux ISO ファイル (RHEL 7.0 Binary D VD または RHEL 6.6 Binary D VD を参照)。 テキストエディター (ki ckstart ファイルを編集する必要がある場合) 注記 以下の手順では、プロンプトに [user@ ho st]# と表示されているコマンドはすべて、 お使いのホストマシンで実行する必要があります。 4 .1.1.2.1. R ed H at En t erp rise Lin u x 7 イメージの作成 本項では、Red Hat Enterprise Linux 7 の ISO ファイルを使用して、.qcow2 形式の OpenStack 互換イメージを手動で作成する手順について説明します。 1. vi rt-i nstal l でインストールを開始します。 [user@ host]# qemu-img create -f qcow2 rhel7.qcow2 8G [user@ host]# virt-install --virt-type kvm --name rhel7 --ram 2048 \ --cdrom /tmp/rhel-server-7.0-x86_64-dvd.iso --disk rhel7.qcow2,format=qcow2 \ --network=bridge:virbr0 --graphics vnc,listen=0.0.0.0 \ --noautoconsole --os-type=linux --os-variant=rhel7 このコマンドによりインスタンスが起動し、インストールプロセスが開始します。 注記 インスタンスが自動的に起動しない場合には、以下のコマンドを実行して、コン ソールを確認します。 [user@ host]# virt-viewer rhel7 2. Set up the virtual machine as follows: a. インストーラーの初期起動メニューで、Instal l R ed Hat Enterpri se Li nux 7. 0 オプションを選択します。 56 第4 章 イメージとストレージ b. 適切な 言語 および キーボード オプションを選択します。 c. インストールに使用するデバイスタイプを尋ねるプロンプトが表示されたら、自 動検出したインストールメディア を選択します。 d. インストール先を尋ねるプロンプトが表示されたら、ローカルの標準ディスク を選択します。 57 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド その他のストレージオプションには、自動構成のパーティション構成 を選択し ます。 e. ソフトウェアのオプションには、最小限のインストール を選択します。 f. ネットワークとホスト名には、eth0 をネットワークに選択し、お使いのデバイス の ホスト名 を指定します。デフォルトの ホスト名 は l o cal ho st. l o cal d o mai n です。 g. root パスワードを指定します。 58 第4 章 イメージとストレージ インストールプロセスが完了し、完了しました ! の画面が表示されます。 3. インストールが完了した後には、インスタンスを再起動して、root ユーザーとしてログイ ンします。 4. /etc/sysco nfi g /netwo rk-scri pts/i fcfg -eth0 ファイルを編集して、以下の値 のみが記載されている状態にします。 TYPE=Ethernet DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp NM_CONTROLLED=no 5. マシンを再起動します。 6. コンテンツ配信ネットワークにマシンを登録します。 # subscription-manager register a. プロンプトが表示されたら、カスタマーポータルのユーザー名とパスワードを入力 します。 Username: admin@ example.com Password: b. 使用するチャンネルが含まれたエンタイトルメントプールを特定します。 59 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド # subscription-manager list --available | grep -A8 "Red Hat Enterprise Linux Server" c. 上記のステップで特定したプール ID を使用して、R ed Hat Enterpri se Li nux Server のエンタイトルメントをシステムにアタッチします。 # subscription-manager attach --pool=pool_id d. 必須チャンネルを有効にします。 # subscription-manager repos --enable=rhel-7-server-rpms RHEL OpenStack Platform 6 の場合は、必須チャンネルは rhel -7-servero penstack-6 . 0 -rpms および rhel -7-server-rh-co mmo n-rpms です。 注記 詳しくは、ソフトウェアリポジトリーの設定 を参照してください。 7. システムを更新します。 # yum -y update 8. cl o ud -i ni t パッケージと git をインストールします。 # yum install -y cloud-utils-growpart cloud-init 9. /etc/cl o ud /cl o ud . cfg 設定ファイルを編集して、cl o ud _i ni t_mo d ul es の下 に以下を追加します。 - resolv-conf reso l v-co nf オプションは、インスタンスの初回起動時に reso l v. co nf 設定ファイ ルを自動的に設定します。このファイルには、nameservers、d o mai n、その他のオプ ションなどのインスタンスに関連した情報が記載されています。 10. /etc/sysco nfi g /netwo rk に以下の行を追加し、EC2 メタデータサービスへのアクセ スで問題が発生するのを回避します。 NOZEROCONF=yes 11. コンソールメッセージがダッシュボードの ログ タブおよび no va co nso l e-l o g の出 力に表示されるようにするには、以下のブートオプションを /etc/d efaul t/g rub ファ イルに追記します。 GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8" 60 第4 章 イメージとストレージ 以下のコマンドを実行します。 # grub2-mkconfig -o /boot/grub2/grub.cfg 以下のような出力が表示されます。 Generating grub configuration file ... Found linux image: /boot/vmlinuz-3.10.0-229.7.2.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0229.7.2.el7.x86_64.img Found linux image: /boot/vmlinuz-3.10.0-121.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-121.el7.x86_64.img Found linux image: /boot/vmlinuz-0-rescueb82a3044fb384a3f9aeacf883474428b Found initrd image: /boot/initramfs-0-rescueb82a3044fb384a3f9aeacf883474428b.img done 12. 仮想マシンの登録を解除して、作成されるイメージをベースにクローン作成される全イン スタンスに同じサブスクリプション情報が含まれないようにします。 # subscription-manager repos --disable=* # subscription-manager unregister # yum clean all 13. インスタンスの電源をオフにします。 # poweroff 14. vi rt-sysprep コマンドでイメージのリセットおよびクリーニングをして、インスタン スの作成を問題なく行えるようにします。 [user@ host]# virt-sysprep -d rhel7 15. vi rt-sparsi fy コマンドを使用してイメージのサイズを縮小します。このコマンドによ り、ディスクイメージ内の空き容量は、ホスト内の空き容量に戻ります。 [user@ host]# virt-sparsify --compress rhel7.qcow2 rhel7cloud.qcow2 このコマンドを実行すると、その場所に新しい rhel 7-cl o ud . q co w2 ファイルが作成 されます。 rhel 7-cl o ud . q co w2 イメージファイルを Image Service にアップロードする準備が整いまし た。D ashboard を使用して OpenStack デプロイメントにこのイメージをアップロードする方法 については、「イメージのアップロード」を参照してください。 4 .1.1.2.2. R ed H at En t erp rise Lin u x 6 イメージの作成 61 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド 4 .1.1.2.2. R ed H at En t erp rise Lin u x 6 イメージの作成 本項では、 Red Hat Enterprise Linux 6 の ISO ファイルを使用して、.qcow2 形式の OpenStack 互換イメージを手動で作成する手順について説明します。 1. vi rt-i nstal l でインストールを開始します。 [user@ host]# qemu-img create -f qcow2 rhel6.qcow2 4G [user@ host]# virt-install --connect=qemu:///system -network=bridge:virbr0 \ --name=rhel6.6 --os-type linux --os-variant rhel6 \ --disk path=rhel6.qcow2,format=qcow2,size=10,cache=none \ --ram 4096 --vcpus=2 --check-cpu --accelerate \ --hvm --cdrom=rhel-server-6.6-x86_64-dvd.iso このコマンドによりインスタンスが起動し、インストールプロセスが開始します。 注記 インスタンスが自動的に起動しない場合には、以下のコマンドを実行して、コン ソールを確認します。 [user@ host]## virt-viewer rhel6 2. 以下の手順に従って、仮想マシンを設定します。 a. インストーラーの初期起動メニューで、Instal l o r upg rad e an exi sti ng system のオプションを選択します。 62 第4 章 イメージとストレージ インストールのプロンプトに従って進み、デフォルト値を受け入れます。 インストールは、ディスクをチェックして、Med i a C heck を実行します。 チェックの結果が Success となると、そのディスクは取り出されます。 b. 適切な 言語 および キーボード オプションを選択します。 c. インストールに使用するデバイスタイプを尋ねるプロンプトが表示されたら、基 本ストレージデバイス を選択します。 d. お使いのデバイスの ホスト名 を指定します。デフォルトの ホスト名 は l o cal ho st. l o cal d o mai n です。 e. タイムゾーン と ro o t パスワード を設定します。 f. ディスク上の空き容量に応じて、インストールタイプを選択します。 63 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド g. SSH サーバーをインストールする 基本サーバー を選択します。 インストールプロセスが完了し、おめでとうございます。 R ed Hat Enterpri se Li nux のインストールが完了しました。 の画面が表示されま す。 3. インスタンスを再起動して、ro o t ユーザーとしてログインします。 64 第4 章 イメージとストレージ 4. /etc/sysco nfi g /netwo rk-scri pts/i fcfg -eth0 ファイルを編集して、以下の値 のみが記載されている状態にします。 TYPE=Ethernet DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp NM_CONTROLLED=no 5. マシンを再起動します。 6. コンテンツ配信ネットワークにマシンを登録します。 # subscription-manager register a. プロンプトが表示されたら、カスタマーポータルのユーザー名とパスワードを入力 します。 Username: admin@ example.com Password: b. 使用するチャンネルが含まれたエンタイトルメントプールを特定します。 # subscription-manager list --available | grep -A8 "Red Hat Enterprise Linux Server" c. 上記のステップで特定したプール ID を使用して、R ed Hat Enterpri se Li nux Server のエンタイトルメントをシステムにアタッチします。 # subscription-manager attach --pool=pool_id d. 必須チャンネルを有効にします。 # subscription-manager repos --enable=rhel-6-server-rpms RHEL OpenStack Platform 6 の場合は、必須チャンネルは rhel -7-servero penstack-6 . 0 -rpms および rhel -6 -server-rh-co mmo n-rpms です。 注記 詳しくは、ソフトウェアリポジトリの設定 を参照してください。 7. システムを更新します。 # yum -y update 65 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド 8. cl o ud -i ni t パッケージをインストールします。 # yum install -y cloud-utils-growpart cloud-init 9. /etc/cl o ud /cl o ud . cfg 設定ファイルを編集して、cl o ud _i ni t_mo d ul es の下 に以下を追加します。 - resolv-conf reso l v-co nf オプションは、インスタンスの初回起動時に reso l v. co nf 設定ファイ ルを自動的に設定します。このファイルには、nameservers、d o mai n、その他のオプ ションなどのインスタンスに関連した情報が記載されています。 10. ネットワークの問題が発生しないように、/etc/ud ev/rul es. d /75-persi stentnet-g enerato r. rul es ファイルを作成します。 # echo "#" > /etc/udev/rules.d/75-persistent-netgenerator.rules これにより、/etc/ud ev/rul es. d /70 -persi stent-net. rul es ファイルが作成さ れるのを防ぎます。/etc/ud ev/rul es. d /70 -persi stent-net. rul es が作成され てしまうと、スナップショットからのブート時にネットワークが適切に機能しなくなる可 能性があります (ネットワークインターフェースが「eth0」ではなく「eth1」として作成 され、IP アドレスが割り当てられません)。 11. /etc/sysco nfi g /netwo rk に以下の行を追加し、EC2 メタデータサービスへのアクセ スで問題が発生するのを回避します。 NOZEROCONF=yes 12. コンソールメッセージがダッシュボードの ログ タブおよび no va co nso l e-l o g の出 力に表示されるようにするには、以下のブートオプションを /etc/g rub. co nf ファイ ルに追記します。 console=tty0 console=ttyS0,115200n8 13. 仮想マシンの登録を解除して、作成されるイメージをベースにクローン作成される全イン スタンスに同じサブスクリプション情報が含まれないようにします。 # subscription-manager repos --disable=* # subscription-manager unregister # yum clean all 14. インスタンスの電源をオフにします。 # poweroff 66 第4 章 イメージとストレージ 15. vi rt-sysprep コマンドでイメージのリセットおよびクリーニングをして、インスタン スの作成を問題なく行えるようにします。 [user@ host]# virt-sysprep -d rhel6.6 16. vi rt-sparsi fy コマンドを使用してイメージのサイズを縮小します。このコマンドによ り、ディスクイメージ内の空き容量は、ホスト内の空き容量に戻ります。 [user@ host]# virt-sparsify - -compress rhel6.qcow2 rhel6cloud.qcow2 このコマンドを実行すると、その場所に新しい rhel 6 -cl o ud . q co w2 ファイルが作成 されます。 注記 インスタンスに適用されているフレーバーのディスクスペースに応じて、イメージを ベースとするインスタンスのパーティションを手動でリサイズする必要があります。 rhel 6 -cl o ud . q co w2 イメージファイルを Image Service にアップロードする準備が整いまし た。D ashboard を使用して OpenStack デプロイメントにこのイメージをアップロードする方法 については、「イメージのアップロード」を参照してください。 4 .1.2. イメージのアップロード 1. D ashboard で プロジェクト > コンピュート > イメージ を選択します。 2. イメージの作成 をクリックします。 3. 各フィールドに値を入力し、完了したら イメージの作成 をクリックします。 フィールド 説明 名前 イメージの名前。そのプロジェクト内で一意な名前にする必要が あります。 説明 イメージを識別するための簡単な説明 イメージソース イメージソース: イメージの場所 または イメージファイ ル 。ここで選択したオプションに応じて次のフィールドが表示さ れます。 67 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド フィールド イメージの場所またはイ メージファイル 説明 イメージの場所 オプションを選択して、イメージの場所の URL を指定します。 イメージファイル オプションを選択して、ローカルディス クからイメージをアップロードします。 形式 イメージの形式 (例: q c o w2) アーキテクチャー イメージのアーキテクチャー。たとえば 32 ビットのアーキテク チャーには i6 8 6 、6 4 ビットのアーキテクチャーには x8 6 _6 4 を使用します。 最小ディスク (G B) イメージのブートに必要な最小のディスクサイズ。このフィール ドに値が指定されていない場合には、デフォルト値は 0 です (最 小値なし)。 最小メモリー (MB) イメージのブートに必要な最小のメモリーサイズ。このフィール ドに値が指定されていない場合には、デフォルト値は 0 です (最 小値なし)。 パブリック このチェックボックスを選択した場合には、プロジェクトにアク セスできる全ユーザーにイメージが公開されます。 保護 このチェックボックスを選択した場合には、特定のパーミッショ ンのあるユーザーのみがこのイメージを削除できるようになりま す。 注記 g l ance i mag e-create コマンドに pro perty オプションを使用して実行する方法 でイメージを作成することもできます。コマンドラインで操作を行った方が、より多く の値を使用することができます。完全なリストは、付録A イメージの設定パラメー ターを参照してください。 4 .1.3. イメージの更新 1. D ashboard で プロジェクト > コンピュート > イメージ を選択します。 2. 編集 ボタンをクリックします。 注記 編集 オプションは、ad mi n ユーザーとしてログインした場合にのみ使用するこ とができます。d emo ユーザーとしてログインした場合には、インスタンスの 起動 または ボリュームの作成 のオプションを使用することができます。 68 第4 章 イメージとストレージ 3. フィールドを更新して、終了したら イメージの更新 をクリックします。次の値を更新す ることができます: 名前、説明、カーネル ID 、RAM ディスク ID 、アーキテクチャー、形 式、最小ディスク、最小メモリー、パブリック、保護 4. ドロップダウンメニューをクリックして メタデータの更新 オプションを選択します。 5. 左のコラムから右のコラムに項目を追加して、メタデータを指定します。左のコラムに は、Image Service のメタデータカタログからのメタデータの定義が含まれています。そ の他 を選択して、任意のキーを使用してメタデータを追加し、完了したら保存 をクリッ クします。 注記 g l ance i mag e-upd ate コマンドに pro perty オプションを指定して実行する方法 でイメージを更新することもできます。コマンドラインで操作を行った方が、より多く の値を使用することができます。完全なリストは、付録A イメージの設定パラメー ターを参照してください。 4 .1.4 . イメージの削除 1. D ashboard で プロジェクト > コンピュート > イメージ を選択します。 2. 削除するイメージを選択し、イメージの削除 ボタンをクリックします。 4 .2. ボリュームの管理 ボリュームとは、OpenStack インスタンスに永続ストレージを提供するブロックストレージデバ イスです。 4 .2.1. ボリュームの基本的な使用方法と設定 以下の手順では、基本的なエンドユーザー向けのボリューム管理方法について説明します。これら の手順には管理者の権限は必要ありません。 4 .2 .1 .1 . ボリュームの作成 1. D ashboard で プロジェクト > コンピュート > ボリューム を選択します。 2. ボリュームの作成 をクリックして以下のフィールドを編集します。 フィールド 説明 ボリューム名 ボリュームの名前 説明 ボリュームの簡単な説明 (オプション) 69 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド フィールド 説明 種別 オプションのボリューム種別 (「ボリューム種別へのボリューム設定の関連付 け」を参照) 複数の Blo c k Sto rag e バックエンドがある場合には、このフィールドを使用 して特定のバックエンドを選択します。詳しくは、「ボリュームを作成する バックエンドの指定」 を参照してください。 容量 (G B) アベイラビリ ティーゾーン ボリュームの容量 (ギガバイト単位) アベイラビリティーゾーン (論理サーバーグループ) は、ホストアグリゲート と併せて、O p enStac k 内のリソースを分離する一般的な方法です。アベイラ ビリティーゾーンは、インストール中に定義されます。アベイラビリティー ゾーンとホストについてのさらに詳しい説明は、「ホストアグリゲートの管 理」を参照してください。 3. ボリュームソース を指定します。 ソース 説明 ソースの指 定なし (空 のボリュー ム) ボリュームは空となり、ファイルシステムやパーティションテーブルは含まれ ません。 スナップ ショット 既存のスナップショットをボリュームソースとして使用します。このオプショ ンを選択すると、スナップショットをソースとして使用する の一覧が 新たに表示され、スナップショットを選択できるようになります。ボリューム のスナップショットについての詳しい情報は、「ボリュームスナップショット の作成、クローン、削除」を参照してください。 イメージ 既存のイメージをボリュームソースとして使用します。このオプションを選択 すると、 イメージをソースとして使用します の一覧が新たに表示され、 イメージを選択できるようになります。 ボリューム 既存のボリュームをボリュームソースとして使用します。このオプションを選 択すると、 ボリュームをソースとして使用します の一覧が新たに表示さ れ、ボリュームを選択できるようになります。 4. ボリュームの作成 をクリックします。ボリュームが作成されると、ボリューム の表に 名前が表示されます。 4 .2 .1 .2 . ボリュームを作成するバックエンドの指定 70 第4 章 イメージとストレージ Block Storage Service が複数のバックエンドを使用するように設定することができます。たとえ ば、「OpenStack で NFS バックエンドを使用するための設定」の記事では、デフォルトのバッ クエンドとともに、NFS 共有を使用するように Block Storage Service を設定する方法について 順を追って説明しています。 複数の Block Storage バックエンドが設定された場合には、必ず、バックエンドごとにボリュー ム種別を作成する必要があります。その種別を使用して、作成したボリュームに、どのバックエン ドを使用すべきかを指定することができます。ボリューム種別の詳しい情報は、「ボリューム種別 へのボリューム設定の関連付け」 を参照してください。 ボリュームの作成時にバックエンドを指定するには 種別 のドロップダウンリストから適切なボ リューム種別を選択します (「ボリュームの作成」 を参照)。 ボリュームの作成時にバックエンドを指定しない場合には、Block Storage Service により自動的 に選択されます。デフォルトでは、このサービスは、最も空き容量の多いバックエンドを選択しま す。また、Block Storage Service が利用可能な全バックエンドから無作為に選択するように設定 することも可能です。詳しくは 「ボリュームを複数のバックエンドに割り当てる方法の設定」 を 参照してください。 4 .2 .1 .3. ボリュームの名前と説明の編集 1. D ashboard で プロジェクト > コンピュート > ボリューム を選択します。 2. 対象のボリュームの ボリュームの編集 ボタンをクリックします。 3. 必要に応じて、ボリュームの名前または説明を編集します。 4. ボリュームの編集 をクリックして変更を保存します。 注記 暗号化ボリュームを作成するには、まず最初にボリュームの暗号化専用に設定されたボ リュームタイプを使用する必要があります。また、Compute Service と Block Storage Service の両方で、同じ静的キーを使用するように設定しておく必要があります。ボ リュームの暗号化に必要な設定の方法についての説明は、「静的キーを使用したボ リュームの暗号化」を参照してください。 4 .2 .1 .4 . ボリュームの削除 1. D ashboard で プロジェクト > コンピュート > ボリューム を選択します。 2. ボリューム の表で、削除するボリュームのチェックボックスを選択します。 3. ボリュームの削除 をクリックします。 71 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド 注記 スナップショットが存在する場合には、ボリュームは削除できません。スナップショッ トの削除手順については、「ボリュームスナップショットの作成、クローン、削除」を 参照してください。 4 .2 .1 .5 . インスタンスへのボリュームの接続と切断 インスタンスは、ボリュームを永続ストレージに使用することができます。1 つのボリュームは、 一度に 1 つのインスタンスにしか接続できません。インスタンスに関する詳しい情報は、「インス タンスの管理」を参照してください。 手順4 .1 インスタンスからのボリュームの接続 1. D ashboard で プロジェクト > コンピュート > ボリューム を選択します。 2. 対象のボリュームの 接続の編集 を選択します。ボリュームがインスタンスに接続されて いない場合には、インスタンスへの接続 のドロップダウンリストが表示されます。 3. インスタンスへの接続 の一覧から、ボリュームの接続先となるインスタンスを選択しま す。 4. ボリュームの接続 をクリックします。 手順4 .2 インスタンスからのボリュームの切断 1. D ashboard で プロジェクト > コンピュート > ボリューム を選択します。 2. 対象のボリュームの 接続の編集 を選択してください。ボリュームがインスタンスに接続 されている場合には、そのインスタンスの名前が 接続状況 の表に表示されます。 3. このダイアログと次の画面で ボリュームの切断 をクリックします。 4 .2 .1 .6 . ボリュームの読み取り専用設定 1 つのボリュームでコンテンツを編集できないようにして、複数のユーザーにそのボリュームへの 共有アクセスを許可することができます。そのためには、以下のコマンドを実行して、ボリューム を read -o nl y に設定します。 # cinder readonly-mode-update VOLUME true VOLUME は、ターゲットボリュームの ID に置き換えます。 読み取り専用ボリュームを読み取り/書き込み可能に戻すには、以下のコマンドを実行します。 # cinder readonly-mode-update VOLUME false 72 第4 章 イメージとストレージ 4 .2 .1 .7 . ボリュームの所有者の変更 ボリュームの所有者を変更するには、 ボリュームの譲渡 を行います。ボリュームの譲渡は、ボ リュームの所有者が開始し、ボリュームの新しい所有者が譲渡を承認すると、そのボリュームの所 有権の変更が完了します。 1. コマンドラインから、ボリュームの現在の所有者としてログインします。 2. 利用可能なボリュームを一覧表示します。 # cinder list 3. 以下のコマンドを実行して、ボリュームの譲渡を開始します。 # cinder transfer-create VOLUME VOLUME は譲渡するボリュームの名前または ID に置き換えます。 例4 .1 # cinder transfer-create samplevolume +------------+--------------------------------------+ | Property | Value | +------------+--------------------------------------+ | auth_key | f03bf51ce7ead189 | | created_at | 2014-12-08T03:46:31.884066 | | id | 3f5dc551-c675-4205-a13a-d30f88527490 | | name | None | | volume_id | bcf7d015-4843-464c-880d-7376851ca728 | +------------+--------------------------------------+ ci nd er transfer-create コマンドはボリュームの所有権を消去し、譲渡用の i d と auth_key を作成します。この値は別のユーザーに渡すことができます。受け取ったユー ザーは、その値を使用して譲渡を承認し、ボリュームの新しい所有者となります。 4. 新規ユーザーがボリュームの所有権を宣言できる状態となりました。所有権を宣言するに は、ユーザーはまず最初にコマンドラインからログインして以下のコマンドを実行する必 要があります。 # cinder transfer-accept TRANSFERID TRANSFERKEY TRANSFERID および TRANSFERKEY はそれぞれ、ci nd er transfer-create で返さ れた i d と auth_key の値に置き換えます。 73 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド 例4 .2 # cinder transfer-accept 3f5dc551-c675-4205-a13ad30f88527490 f03bf51ce7ead189 注記 利用可能なボリュームの譲渡をすべて表示するには、以下のコマンドを実行します。 # cinder transfer-list 4 .2 .1 .8 . ボリュームスナップショットの作成、クローン、削除 ボリュームのスナップショットを作成することによって、ある特定の時点のボリュームの状態を 保持することができます。そのスナップショットを使用して、新規ボリュームをクローン作成する ことが可能です。 警告 インスタンスに接続されているボリュームのスナップショットを作成すると、スナッ プショットが破損する場合があります。インスタンスからボリュームを切断する方法 については、手順4.2「インスタンスからのボリュームの切断」を参照してください。 注記 ボリュームのバックアップはスナップショットとは異なります。バックアップはボ リューム内のデータを保持するのに対してスナップショットはある特定の時点における ボリュームの状態を保持します。また、スナップショットが存在している場合にはボ リュームを削除することはできません。ボリュームのバックアップはデータ損失を防ぐ 目的で使用されるのに対してスナップショットはクローン作成を円滑に行う目的で使用 されます。 ボリュームのバックアップについての詳しい情報は、「ボリュームのバックアップと復 元」を参照してください。 ボリュームのスナップショットの作成手順 1. D ashboard で プロジェクト > コンピュート > ボリューム を選択します。 2. ターゲットボリュームの スナップショットの作成 アクションを選択します。 74 第4 章 イメージとストレージ 3. スナップショットの スナップショット名 を指定して ボリュームのスナップショット の作成 をクリックすると、ボリュームのスナップショット タブですべてのスナップ ショットが表示されます。 ボリュームのスナップショット の表にスナップショットが表示されたら、そのスナップショッ トから新規ボリュームをクローン作成することができます。これには、スナップショットの ボ リュームの作成 アクションを選択してください。ボリュームの作成についての詳しい情報 は、「ボリュームの作成」を参照してください。 スナップショットを削除するには、ボリュームスナップショットの削除 のアクションを選択し ます。 OpenStack デプロイメントで Red Hat Ceph バックエンドを使用している場合には、「Red Hat Ceph バックエンドにおけるスナップショットの保護と保護解除」でスナップショットのセキュ リティーとトラブルシューティングについての詳しい情報を参照してください。 4 .2.1.8.1. R ed H at C ep h バックエンドにおけるスナップショットの保護と保護解除 Red Hat Ceph を OpenStack デプロイメントのバックエンドとして使用する場合には、そのバッ クエンドでスナップショットの 保護 を設定することができます。OpenStack で (D ashboard ま たは ci nd er snapsho t-d el ete コマンドを使用して) 保護されているスナップショットの削 除を試みると、操作は失敗します。 このようなエラーが発生した場合には、最初に Red Hat Ceph バックエンドでスナップショット を 保護解除 に設定すると、OpenStack で通常通りに削除することができるようになるはずです。 上記の設定に関連する手順については 「Protecting a Snapshot」および 「Unprotecting a Snapshot」を参照してください。 4 .2 .1 .9 . Im age Se rvice にボリュームをアップロードする手順 イメージとして既存のボリュームを Image Service に直接アップロードすることができます。こ れには、以下の手順を実行してください。 1. D ashboard で プロジェクト > コンピュート > ボリューム を選択します。 2. ターゲットボリュームの イメージにアップロード アクションを選択します。 3. ボリュームの イメージ名 を指定して、一覧から ディスク形式 を選択します。 4. アップロード をクリックします。QEMU ディスクイメージのユーティリティーにより、 指定した名前を使用して、選択した形式で新規イメージがアップロードされます。 アップロードしたイメージを表示するには、プロジェクト > コンピュート > イメージ を選 択します。新しいイメージが イメージ の表に表示されます。イメージの使用方法や設定方法に関 する情報は、「イメージの管理」 を参照してください。 4 .2.2. ボリュームのバックアップと復元 75 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド ボリュームのバックアップは、ボリュームのコンテンツの完全かつ永続的なコピーです。ボ リュームのバックアップは通常オブジェクトストアとして作成されるため、Object Storage Service で管理されます。 ボリュームのバックアップの作成時には、バックアップのメタデータはすべて Block Storage Service のデータベースに保管されます。ci nd er ユーティリティーはこのメタデータを使用し て、バックアップからボリュームを復元します。このため、データベースの致命的なデータ損失か ら回復する際には、バックアップからボリュームを復元する前に Block Storage Service のデー タベースを復元する必要があります。これは、元のボリュームのバックアップのメタデータがすべ て完全な状態で Block Storage Service のデータベースが復元されることも前提としています。 データベースの致命的なデータ損失が発生した際にボリュームのバックアップのサブネットのみ を保護するように設定する場合は、バックアップのメタデータをエクスポートすることも可能で す。そうしておくことにより、 エクスポートしたデータを後で Block Storage のデータベースに 再度インポートしてボリュームのバックアップを通常のように復元することができます。 注記 ボリュームのバックアップはスナップショットとは異なります。バックアップはボ リューム内のデータを保持するのに対してスナップショットはある特定の時点における ボリュームの状態を保持します。また、スナップショットが存在している場合にはボ リュームを削除することはできません。ボリュームのバックアップはデータ損失を防ぐ 目的で使用されるのに対してスナップショットはクローン作成を円滑に行う目的で使用 されます。 ボリュームのスナップショットについての詳しい情報は、「ボリュームスナップショッ トの作成、クローン、削除」を参照してください。 4 .2 .2 .1 . ボリュームのバックアップの作成 1. 管理者権限のあるユーザーとして、バックアップするボリュームの ID または D i spl ay Name を確認します。 # cinder list 2. ボリュームをバックアップします。 # cinder backup-create VOLUME VOLUME はバックアップするボリュームの ID または D i spl ay Name に置き換えま す。 例4 .3 # cinder backup-create volumename +-----------+--------------------------------------+ 76 第4 章 イメージとストレージ | Property | Value | +-----------+--------------------------------------+ | id | e9d15fc7-eeae-4ca4-aa72-d52536dc551d | | name | None | | volume_id | 5f75430a-abff-4cc7-b74e-f808234fa6c5 | +-----------+--------------------------------------+ 作成されるバックアップの vo l ume_i d は vo l umename のID と全く同じとなる点に注 意してください。 3. 以下のコマンドを実行して、ボリュームのバックアップ作成が完了したことを確認しま す。 # cinder backup-list バックアップエントリーの Status が avai l abl e となったら、ボリュームのバック アップ作成は完了となります。 この時点で、ボリュームのバックアップのメタデータをエクスポートして保管することもできま す。これにより、Block Storage データベースで致命的なデータ損失が発生した場合でも、ボ リュームのバックアップを復元することができます。以下のコマンドを実行します。 # cinder --os-volume-api-version 2 backup-export BACKUPID BACKUPID はボリュームのバックアップの ID または名前に置き換えます。 例4 .4 # cinder --os-volume-api-version 2 backup-export e9d15fc7-eeae4ca4-aa72-d52536dc551d +----------------+-----------------------------------------------------------------+ | Property | Value | +----------------+-----------------------------------------------------------------+ | backup_service | cinder.backup.drivers.swift | | backup_url | eyJzdGF0dXMi... | | | ...c2l6ZSI6IDF9 | +----------------+-----------------------------------------------------------------+ ボリュームのバックアップのメタデータは backup_servi ce と backup_url の値で構成され ます。 77 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド 4 .2 .2 .2 . Blo ck St o rage データベースでデータ損失が発生した後の復元 通常、Block Storage のデータベースのデータ損失が発生すると、ボリュームのバックアップを 復元できなくなります。これは、Block Storage データベースにボリュームのバックアップで必 要とされるメタデータが含まれているためです。このメタデータは backup_servi ce と backup_url の値で構成され、ボリュームのバックアップ作成後に (「ボリュームのバックアッ プの作成」 に記載した手順に従って) エクスポートすることができます。 メタデータをエクスポートして保管した場合には、新しい Block Storage データベースにイン ポートすることができます (これにより、ボリュームのバックアップを復元することができます)。 1. 管理者権限を持つユーザーとして以下のコマンドを実行します。 # cinder --os-volume-api-version 2 backup-import backup_service backup_url backup_service およびbackup_url は、それぞれエクスポートしたメタデータの値に置き換 えます。 例4 .5 「ボリュームのバックアップの作成」でエクスポートしたサンプルメタデータを使用 する場合は以下のようになります。 # cinder --os-volume-api-version 2 backup-import cinder.backup.drivers.swift eyJzdGF0dXMi...c2l6ZSI6IDF9 +----------+--------------------------------------+ | Property | Value | +----------+--------------------------------------+ | id | 77951e2f-4aff-4365-8c64-f833802eaa43 | | name | None | +----------+--------------------------------------+ 2. メタデータが Block Storage Service のデータベースにインポートされたら、通常のよう にボリュームを復元することができます (「バックアップからのボリュームの復元」 を参 照)。 4 .2 .2 .3. バックアップからのボリュームの復元 1. 管理者権限のあるユーザーとして、使用するボリュームバックアップの ID を確認しま す。 # cinder backup-list Vo l ume ID は、復元するボリュームの ID と一致する必要があります。 2. ボリュームのバックアップを復元します。 78 第4 章 イメージとストレージ # cinder backup-restore BACKUP_ID BACKUP_ID は使用するボリュームバックのアップの ID に置き換えます。 3. バックアップが必要なくなった場合には、削除します。 # cinder backup-delete BACKUP_ID 4 .2.3. ボリュームの移行 ボリュームの移行ができるのは管理者のみです。使用中のボリュームやスナップショットのある ボリュームは移行できません。 1. 管理ユーザーとして、利用可能なボリュームをすべて一覧表示します。 # cinder list 2. 使用可能なバックエンド (ホスト) とそれぞれのアベイラビリティーゾーンを一覧表示しま す。 # cinder-manage host list 3. 移行を開始します。 # cinder migrate VOLUME BACKEND 以下の変数を置き換えます。 VOLUME は移行するボリュームの ID です。 BACKEND はボリュームの移行先となるバックエンドです。 4. 以下のコマンドで、移行するボリュームの現在のステータスを確認します。 # cinder show VOLUME 例4 .6 # cinder show 45a85c3c-3715-484d-ab5d-745da0e0bd5a +---------------------------------------+-------------------------------------+ | Property | Value | +---------------------------------------+-------------------------------------+ 79 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド | ... | ... | | os-vol-host-attr:host | server1 | | os-vol-mig-status-attr:migstat | None | | ... | ... | +---------------------------------------+-------------------------------------+ 移行中に、以下の属性を書き留めておきます。 o s- vo l- h o st - at t r:h o st ボリュームの現在のバックエンド。移行が完了したら、移行先のバックエンド (BACKEND) が表示されるはずです。 o s- vo l- mig - st at u s- at t r:mig st at 移行のステータス。ステータスが None の場合には移行は進行中でなくなったこ とを意味します。 4 .2.4 . ボリューム種別へのボリューム設定の関連付け OpenStack では ボリューム種別 を作成することができます。これにより、ボリュームの作成時 に関連付けられた設定を適用することができるようになります (「ボリュームの作成」)。たとえ ば、以下のような関連付けが可能です。 ボリュームの暗号化/非暗号化 (「ボリューム種別の暗号化設定」) ボリュームが使用するバックエンド (「ボリュームを作成するバックエンドの指定」) Quality-of-Service (QoS) スペック 設定は、追加スペック と呼ばれるキーと値のペアを使用してボリューム種別に関連付けられま す。ボリュームの作成時にボリューム種別を指定する際には、Block Storage のスケジューラー がこれらのキーと値のペアを設定として適用します。また、複数のキーと値のペアを同じボリュー ム種別に関連付けることができます。 例4 .7 ボリューム種別は、異なるユーザーにストレージ階層を使用できるようにする機能を提供しま す。特定のパフォーマンス、耐障害性、およびその他の設定をキーと値のペアとしてボリュー ム種別に関連付けることにより、階層固有の設定を異なるボリューム種別にマップすることが できます。マップされた階層固有の設定は、ボリュームの作成時に対応するボリューム種別を 指定することによって適用が可能です。 80 第4 章 イメージとストレージ 注記 利用可能な追加スペックやサポートされている追加スペックは、ボリュームのドライ バーにより異なります。有効な追加スペックの一覧については、ボリュームドライバー のマニュアルを参照してください。 4 .2 .4 .1 . ボリューム種別の作成と設定 1. D ashboard に管理ユーザーとしてログインして 管理 > ボリューム > ボリューム種 別 を選択します。 2. ボリューム種別の作成 をクリックします。 3. 名前 フィールドにボリューム種別の名前を入力します。 4. ボリューム種別の作成 をクリックすると、新しい種別が ボリューム種別 の表に表示さ れます。 5. ボリューム種別の 追加スペックの表示 アクションを選択します。 6. 作成 をクリックして キー と 値 を指定します。キーと値のペアは有効である必要があり ます。有効でない場合には、ボリュームの作成時にそのボリューム種別を指定するとエ ラーが発生してしまいます。 7. 作成 をクリックします。これで、関連付られた設定 (キー/値のペア) が追加スペック の 表に表示されます。 注記 QoS スペックをボリューム種別に関連付けることも可能です。詳しい説明は、「QoS スペックとボリューム種別の関連付け」を参照してください。 4 .2 .4 .2 . ボリューム種別の編集 1. D ashboard に管理ユーザーとしてログインして 管理 > ボリューム > ボリューム種 別 を選択します。 2. ボリューム種別 の表で、ボリューム種別の 追加スペックの表示 アクションを選択しま す。 3. このページの 追加スペック 表では以下のような操作を行うことができます。 ボリューム種別への新規設定の追加。これには、作成 をクリックして、ボリューム種 別に対して、関連付ける新規設定のキー/値ペアを指定します。 81 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド ボリューム種別に関連付けられている既存の設定の編集。これには、設定の 編集 アク ションを選択します。 ボリューム種別に関連付けられている既存の設定の削除。これには、追加スペックの チェックボックスを選択して、このダイアログ画面と次の画面で 追加スペックの削 除 をクリックします。 4 .2 .4 .3. ボリューム種別の削除 ボリューム種別を削除するには、ボリューム種別 の表でそのボリューム種別のチェックボックス を選択して ボリューム種別の削除 をクリックします。 4 .2.5. QoS スペックの使用 複数のパフォーマンス設定を単一の Quality-of-Service の仕様 (QoS スペック) にマップすること ができます。これにより、ユーザータイプ別のパフォーマンス階層を提供することができます。 パフォーマンス設定はキーと値のペアとして QoS スペックにマップされます。これは、ボリュー ムの設定がボリューム種別に関連付けられる方法と似ていますが、QoS スペックの場合は以下の 面でボリューム種別の場合とは異なります。 QoS スペックは、ディスクの読み取り/書き込み操作を制限するなどのパフォーマンス設定を 適用するのに使用されます。利用可能かつサポートされているパフォーマンス設定はストレー ジドライバーによって異なります。 バックエンドがサポートしている QoS スペックを確認するには、そのバックエンドデバイス のボリュームドライバーのマニュアルを参照してください。 ボリューム種別はボリュームに直接適用されるのに対して QoS スペックは直接適用されるの ではなく、ボリューム種別に関連付けられます。また、ボリュームの作成時にボリューム種別 を指定すると、そのボリューム種別に関連付けられた QoS スペックにマップされたパフォー マンス設定も適用されます。 4 .2 .5 .1 . Qo S スペックの作成と設定 管理者は、Q o S スペック の表で QoS スペックの作成および設定を行うことができます。同じ QoS スペックには、複数のキー/値のペアを関連づけることができます。 1. D ashboard に管理ユーザーとしてログインして 管理 > ボリューム > ボリューム種 別 を選択します。 2. Q o S スペック の表で Q o S スペックの作成 をクリックします。 3. QoS スペックの名前を入力します。 4. 使用者 フィールドで、QoS ポリシーを適用する先を指定します。 82 第4 章 イメージとストレージ 表4 .1 使用者のタイプ タイプ 説明 バックエンド Q o S ポリシーが Blo c k Sto rag e バックエンドに適用されます。 フロントエンド Q o S ポリシーが Co mp ute に適用されます。 両方 Q o S ポリシーが Blo c k Sto rag e と Co mp ute の両方に適用されま す。 5. 作成 をクリックします。新規 QoS スペックが Q o S スペック の表に表示されるはずで す。 6. QoS スペックの表で、新しいスペックの スペックの管理 アクションを選択します。 7. 作成 をクリックして キー と 値 を指定します。キーと値のペアは有効である必要があり ます。有効でない場合には、ボリュームの作成時にこの QoS スペックに関連付けられた ボリューム種別を指定すると、ボリュームの作成に失敗します。 8. 作成 をクリックします。これで、関連付られた設定 (キー/値のペア) がキーと値のペア の表に表示されます。 4 .2 .5 .2 . Qo S スペックとボリューム種別の関連付け 管理者は、ボリューム種別 の表で QoS スペックを既存のボリューム種別に関連付ける事ができ ます。 1. D ashboard に管理者としてログインして 管理 > ボリューム > ボリューム種別 を選 択します。 2. ボリューム種別 の表で、その種別の Q o S スペックの関連付けの管理 アクションを選 択します。 3. 関連付ける Q o S スペック のリストから QoS スペックを選択します。 4. 割り当て をクリックします。選択した QoS スペックが、編集したボリューム種別の 関 連付けされた Q o S スペック のコラムに表示されるはずです。 4 .2 .5 .3. ボリューム種別からの Qo S スペックの関連付け解除 1. D ashboard に管理者としてログインして 管理 > ボリューム > ボリューム種別 を選 択します。 2. ボリューム種別 の表で、その種別の Q o S スペックの関連付けの管理 アクションを選 択します。 83 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド 3. 関連付ける Q o S スペック のリストから「なし」を選択します。 4. 割り当て をクリックします。選択した QoS スペックは、編集したボリューム種別の 関 連付けされた Q o S スペック のコラムから表示されなくなります。 4 .2.6. 静的キーを使用したボリュームの暗号化 ボリュームの暗号化は、ボリュームのバックエンドのセキュリティーを侵害されたり、完全に盗 難されたりした場合に、基本的なデータ保護を提供します。 暗号化ボリュームの内容は、特定の キーを使用しなければ読み取ることはできません。インスタンスが暗号化ボリュームを使用するた めには、Compute Service と Block Storage Service の両方で同じキーを使用するように設定す る必要があります。本項では、単一のキーを使用してボリュームを暗号化するように OpenStack デプロイメントを設定する方法について説明します。 4 .2 .6 .1 . 静的キーの設定 基本的なボリュームの暗号化を実装する第 1 のステップは、静的キーの設定です。このキーは 16 進数の文字列にする必要があります。これは Block Storage ボリュームサービス (o penstackci nd er-vo l ume) と全 Compute Service (o penstack-no va-co mpute) によって使用されま す。両サービスがこのキーを使用するように設定するには、両サービスのそれぞれの設定ファイル の [keymg r] セクションで fi xed _key 値としてキーを設定します。 1. コマンドラインから、ro o t として o penstack-ci nd er-vo l ume をホストするノード にログインします。 2. 静的キーを設定します。 # openstack-config --set /etc/cinder/cinder.conf keymgr fixed_key HEX_KEY HEX_KEY は、16 桁の英数字の 16 進数のキー(例: 0000000000000000000000000000000000000000000000000000000 0 0 0 0 0 0 0 0 0 ) に置き換えます。 3. Block Storage ボリュームサービスを再起動します。 # openstack-service restart cinder-volume 4. 次に、o penstack-no va-co mpute をホストするノードにログインして、同じ静的キー を設定します。 # openstack-config --set /etc/nova/nova.conf keymgr fixed_key HEX_KEY 84 第4 章 イメージとストレージ 注記 複数のコンピュートノード (o penstack-no va-co mpute をホストする複数の ノード) を使用している場合には、同じ静的キーを各ノードの /etc/no va/no va. co nf に設定する必要があります。 5. Compute Service を再起動します。 # openstack-service restart nova-compute 注記 同様に、複数のコンピュートノードに静的キーを設定した場合には、各ノードで o penstack-no va-co mpute サービスを再起動する必要があります。 この時点で、Compute Service と Block Storage Service の両方で同じ静的キーを使用してボ リュームの暗号化/暗号化解除できます。つまり、新規インスタンスは静的キー (HEX_KEY) で暗号 化したボリュームを使用できます。 4 .2 .6 .2 . ボリューム種別の暗号化設定 「静的キーの設定」 の手順に従って作成した静的キーを使用して暗号化ボリュームを作成するに は、暗号化されたボリューム種別 が必要です。ボリューム種別を暗号化設定するには、対象のボ リューム種別が使用すべきプロバイダークラス、暗号、キーサイズを指定する必要があります。こ れには、以下のコマンドを実行します。 # cinder encryption-type-create --cipher aes-xts-plain64 --key_size BITSIZE --control_location front-end VOLTYPE nova.volume.encryptors.luks.LuksEncryptor 上記の設定で、 BITSIZE はキーのサイズに置き換えます (例: 512 ビットキーの場合は512)。 VOLTYPE は暗号化するボリューム種別名に置き換えます。 上記のコマンドにより、no va. vo l ume. encrypto rs. l uks. LuksEncrypto r プロバイダー クラス、aes-xts-pl ai n6 4 の暗号が設定されます。本リリースでは、ボリュームの暗号化でサ ポートされている設定はクラス/暗号のみです。 暗号化されたボリューム種別が設定されると、暗号化ボリュームを自動で呼び出すことができま す。具体的には、ボリュームの作成 ウィンドウの 種別 ドロップダウンから暗号化されたボリュー ム種別を選択します (「ボリュームの基本的な使用方法と設定」 を参照)。 4 .2.7. ボリュームを複数のバックエンドに割り当てる方法の設定 85 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド Block Storage Service が複数のバックエンドを使用するように設定されている場合には、設定済 みのボリュームタイプを使用して、ボリュームの作成先を指定することができます。詳しく は、「ボリュームを作成するバックエンドの指定」を参照してください。 ボリュームの作成時にバックエンドを指定していない場合には、Block Storage Service により、 自動的に選択されます。Block Storage は、最初に定義したバックエンドをデフォルトとして設定 します。このバックエンドは、容量がなくなるまで使用されます。容量がなくなった時点で、 Block Storage は 2 番目に定義されたバックエンドをデフォルトに設定し、その容量がなくなる とさらに次のバックエンドがデフォルトに設定されるようになっています。 このメカニズムが必要な条件を満たさない場合には、フィルタースケジューラー を使用して、 Block Storage がバックエンドを選択する方法を制御することができます。このスケジューラー は、以下の例に示したような異なるフィルターを使用して適切なバックエンドをトリアージするこ とができます。 Availab ilit yZ o n eFilt er 要求されたボリュームのアベイラビリティーゾーン要件を満たさないバックエンドを除外 します。 C ap acit yFilt er ボリュームを収容するのに十分な容量のあるバックエンドのみを選択します。 C ap ab ilit iesFilt er ボリュームで指定した設定に対応可能なバックエンドのみを選択します。 フィルタースケジューラーは、以下の手順で設定します。 1. Fi l terSched ul er ドライバーを有効にします。 # openstack-config --set /etc/cinder/cinder.conf DEFAULT scheduler_driver cinder.scheduler.filter_scheduler.FilterScheduler 2. アクティブにする必要のあるフィルターを設定します。 # openstack-config --set /etc/cinder/cinder.conf DEFAULT scheduler_default_filters AvailabilityZoneFilter,CapacityFilter,CapabilitiesFilter 3. スケジューラーが適切なバックエンドを選択する方法を設定します。 スケジューラーが、空き容量の最も大きなバックエンドを常に選択するようにするに は、以下のコマンドを実行します。 # openstack-config --set /etc/cinder/cinder.conf DEFAULT scheduler_default_weighers AllocatedCapacityWeigher 86 第4 章 イメージとストレージ # openstack-config --set /etc/cinder/cinder.conf DEFAULT allocated_capacity_weight_multiplier -1.0 スケジューラーが、すべての適切なバックエンドの中から無作為に選択するようにす るには、以下のコマンドを実行します。 # openstack-config --set /etc/cinder/cinder.conf DEFAULT scheduler_default_weighers ChanceWeigher 4. Block Storage スケジューラーを再起動して、設定を適用します。 # openstack-service restart openstack-cinder-scheduler 4 .3. コンテナーの管理 OpenStack Object Storage (swift) は、コンテナー内にオブジェクト (データ) を格納します。コ ンテナーとは、ファイルシステムにおけるディレクトリーと似ています。ただし、入れ子にはでき ません。コンテナーは、あらゆるタイプの非構造化データを格納する簡単な方法をユーザーに提供 します。たとえば、オブジェクトには写真、テキストファイル、イメージなどが含まれます。格納 されるオブジェクトは暗号化や圧縮はされません。 擬似フォルダーは、オブジェクトを格納することができる論理デバイスで、入れ子が可能となって いるので、整理がしやすくります。たとえば、画像を保管する「Images」フォルダーや、ビデオ を保管する「Media」フォルダーなどを作成することができます。 各プロジェクトに 1 つまたは複数のコンテナーを作成することができます。また、各コンテナーに は、 1 つまたは複数の擬似フォルダーを作成することができます。 4 .3.1. コンテナーの作成 1. D ashboard で プロジェクト > オブジェクトストア > コンテナー を選択します。 2. コンテナーの作成 をクリックします。 3. コンテナー名 を指定して、コンテナーアクセス フィールドで以下のオプションのいず れかを選択します。 タイ プ 説明 プラ イ ベー ト 現在のプロジェクトでユーザーに対してアクセスを制限します。 87 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド タイ プ 説明 パブ リッ ク パブリックの URL を使用して API アクセスを全員に許可します。ただし、 Das hb o ard では、プロジェクトユーザーには、他のプロジェクトのパブリックコン テナーおよびデータは表示されません。 4. コンテナーの作成 をクリックします。 4 .3.2. コンテナー用の擬似フォルダーの作成 1. D ashboard で プロジェクト > オブジェクトストア > コンテナー を選択します。 2. 擬似フォルダーを追加するコンテナーの名前をクリックします。 3. 擬似フォルダーの作成 をクリックします。 4. 擬似フォルダー名 フィールドに名前を指定して 作成 をクリックします。 4 .3.3. オブジェクトのアップロード 実際のファイルをアップロードしない場合でも、オブジェクトは (プレースホルダーとして) 作成 され、後でファイルをアップロードする際に使用することができます。 1. D ashboard で プロジェクト > オブジェクトストア > コンテナー を選択します。 2. アップロードしたオブジェクトの配置先となるコンテナーの名前をクリックします。その コンテナーに擬似フォルダーがすでに存在している場合には、擬似フォルダーの名前をク リックすることもできます。 3. ファイルをブラウズして オブジェクトのアップロード をクリックします。 4. オブジェクト名 フィールドに名前を指定します。 擬似フォルダーはスラッシュ (/) の記号を使用して指定することができます (例: 「Images/myImage.jpg」)。指定したフォルダーがまだ存在していない場合には、オ ブジェクトのアップロード時に作成されます。 その場所 (オブジェクトがすでに存在している場所) に一意ではない名前は、そのオブ ジェクトの以前のコンテンツを上書きします。 5. オブジェクトのアップロード をクリックします。 4 .3.4 . オブジェクトのコピー 88 第4 章 イメージとストレージ 1. D ashboard で プロジェクト > オブジェクトストア > コンテナー を選択します。 2. オブジェクトのコンテナーまたはフォルダーの名前をクリックします (オブジェクトを表 示します)。 3. オブジェクトのアップロード をクリックします。 4. コピーするファイルを参照し、矢印メニューで コピー を選択します。 5. 以下の項目を設定します。 フィールド 説明 宛先コンテナー 新規プロジェクトの宛先コンテナー パス 宛先コンテナーの擬似フォルダー。フォルダーが存在しない場合は、 作成されます。 宛先オブジェクト名 新規オブジェクト名。その場所に一意ではない名前を使用した場合 (そ のオブジェクトがすでに存在している場合) には、そのオブジェクトの 以前のコンテンツが上書きされます。 6. オブジェクトのコピー をクリックします。 4 .3.5. オブジェクトの削除 1. D ashboard で プロジェクト > オブジェクトストア > コンテナー を選択します。 2. 一覧を参照して対象のオブジェクトを特定し、下向き矢印のメニューで オブジェクトの 削除 を選択します。 3. オブジェクトの削除 をクリックしてオブジェクトの削除を確定します。 4 .3.6. コンテナーの削除 1. D ashboard で プロジェクト > オブジェクトストア > コンテナー を選択します。 2. コンテナー のセクションの一覧を参照して全オブジェクトが削除済みであることを確認 します (「オブジェクトの削除」を参照)。 3. コンテナーの矢印メニューで コンテナーの削除 を選択します。 4. コンテナーの削除 をクリックしてコンテナーの削除を確定します。 89 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド 第5章 ネットワーク OpenStack Networking (neutron) は、RHEL OpenStack Platform のソフトウェア定義ネット ワークのコンポーネントです。仮想ネットワークインフラストラクチャーにより、インスタンスと 外部の物理ネットワークとの間の接続が可能になります。 5.1. ネットワークリソースの管理 RHEL OpenStack Platform でデプロイメントに応じて、サブネットやルーターなどの OpenStack Networking リソースを追加/削除します。 5.1.1. ネットワークの追加 インスタンスが相互に通信する場所を提供し、D HCP を使用して IP アドレスを受け取るために ネットワークを作成します。 ネットワークは、RHEL OpenStack Platform デプロイメントまたは物理ネットワークなどの別の 場所の外部ネットワークと統合することも可能です。このような統合を行うと、インスタンスは外 部システムとの通信および外部から到達が可能となります。このネットワークを外部の物理ネット ワークと統合するには、「物理ネットワークのブリッジ」を参照してください。 ネットワークの作成時には、ネットワークで複数のサブネットをホスト可能である点を認識してお くことが重要です。これは、明らかに異なるシステムを同じネットワークでホストする場合やそれ らのシステムを分離する手段を希望する場合に役立ちます。たとえば、Web サーバーのトラ フィックが 1 つのサブネット上のみで伝送される一方で、データベースのトラフィックは別のサ ブネット上を通過するように指定することができます。サブネットは相互に分離され、別のサブ ネットと通信する必要のあるインスタンスのトラフィックは、ルーターによって転送される必要が あります。大量のトラフィックを必要とする複数のシステムを、同じサブネットに配置すると、 ルーティングの必要がなく、それに伴うレイテンシーや負荷を回避することができます。 5 .1 .1 .1 . ネットワークの作成 1. D ashboard で プロジェクト > ネットワーク > ネットワーク を選択します。 2. ネットワークの作成 をクリックします。 3. 以下の項目を設定します。 フィールド 90 説明 第5章 ネットワーク フィールド ネットワー ク名 説明 そのネットワークが果たす役割に基づいた説明的な名前。外部の VLAN を使用 するネットワークを統合する場合には、以下の例に示すように、名前に VLAN ID 番号を追記することを検討してください。 webservers_122 : このサブネットで HTTP Web サーバーをホストし、 VLAN タグが 122 の場合。 i nternal -o nl y : ネットワークトラフィックを公開せず、外部ネット ワークと統合しない場合。 管理状態 このオプションにより、ネットワークを即時に利用可能にするかどうかを制御す ることができます。ネットワークを作成して、 D o wn の状態に維持することが 可能です。この場合、そのネットワークは論理的には存在しますが、アクティブ ではありません。このような設定は、そのネットワークを直ちに稼働させたくな い場合に有用です。 4. 次へ のボタンをクリックして、サブネット タブで以下の値を指定します。 フィールド 説明 サブネット の作成 サブネットを作成するかどうかを決定します。たとえば、ネットワーク接続性の ないプレースホルダーとしてこのネットワークを維持する場合には、サブネット を作成しない方がよいでしょう。 サブネット 名 説明的な名前 ネットワー クアドレス P アドレス範囲とサブネットマスクが 1 つの値に含まれた CIDR 形式のアドレ ス。アドレスを決定するには、サブネットマスクでマスクされるビット数を計算 して、その値を IP アドレス範囲に追記します。たとえば、サブネットマスク 255.255.255.0 でマスクされるビット数は 24 です。このマスクを IPv4 アドレ ス範囲 19 2.16 8 .122.0 に使用するには、アドレスを 19 2. 16 8. 122. 0 /24 と指定します。 IP バー ジョン インターネットプロトコル。有効な値は IP v4 または IP v6 です。ネット ワークアドレス フィールドの IP アドレスの範囲は、選択したバージョンと一 致する必要があります。 ゲートウェ イ IP デフォルトのゲートウェイに指定したルーターのインターフェースの IP アドレ ス。このアドレスは、外部ロケーションを宛先とするトラフィックのルーティン グのネクストホップとなり、ネットワークアドレス の値で指定した範囲内で なければなりません。たとえば、CIDR ネットワークアドレスが 19 2.16 8 .122.0 /24 の場合には、デフォルトのゲートウェイは 19 2.16 8 .122.1 と なる可能性が高くなります。 ゲートウェ イなし 転送を無効にして、ネットワークを分離します。 91 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド 5. 次へ をクリックして D HCP オプションを指定します。 フィールド 説明 DHCP 有効 そのサブネットの DHCP サービスを有効にします。DHCP により、イン スタンスへの IP 設定の割り当てを自動化することができます。 IPv6 アドレス の設定モード IPv6 ネットワークを作成する場合には、IPv6 アドレスと追加情報をどのよ うに割り当てるかを指定します。 オプション指定なし : IP アドレスを手動で設定する場合または O p enStac k が対応していない方法を使用してアドレスを割り当てる場 合には、このオプションを選択します。 SLAAC (Statel ess Ad d ress Auto co nfi g urati o n) : イ ンスタンスは、O p enStac k Netwo rking ルーターから送信されるルー ター通知 (RA) メッセージに基づいて IPv6 アドレスを生成します。こ の設定を使用すると、ra_mo d e で作成された O p enStac k Netwo rking のサブネットは sl aac に、 ad d ress_mo d e で作成さ れたサブネットは sl aac に設定されます。 D HC P v6 stateful : インスタンスは、O p enStac k Netwo rking DHCPv6 サービスから IPv6 アドレスおよび追加のオプション (例: DNS) を受信します。この設定を使用すると、ra_mo d e で作成された サブネットは d hcpv6 -stateful に、ad d ress_mo d e で作成さ れたサブネットは d hcpv6 -stateful に設定されます。 D HC P v6 statel ess : インスタンスは、O p enStac k Netwo rking DHCPv6 サービスから送信されるルーター通知 (RA) に基づいて IPv6 アドレスを生成します。追加のオプション (例: DNS) は O p enStac k Netwo rking DHCPv6 サービスから割り当てられます。この設定を使用 すると、 ra_mo d e で作成したサブネットは d hcpv6 -statel ess に、 ad d ress_mo d e で作成したサブネットは d hcpv6 statel ess に設定されます。 IP アドレス割り 当てプール DHCP によって割り当てられる IP アドレスの範囲。たとえ ば、19 2. 16 8. 22. 10 0 ,19 2. 16 8. 22. 10 0 という値を指定する と、その範囲内で使用可能なアドレスはすべて割り当ての対象として考慮さ れます。 DNS サーバー ネットワーク上で利用可能な DNS サーバーの IP アドレス。DHCP はこれ らの IP アドレスをインスタンスに割り当てて名前解決します。 追加のルート設 定 静的ルート。最初に CIDR 形式の宛先ネットワークを指定し、その後に ルーティングに使用する必要のあるネクストホップを指定する必要がありま す (例: 19 2.16 8 .23.0 /24, 10 .1.31.1)。 静的ルートをインスタンスに割り当てる必要がある場合にはこの値を指定し ます。 6. 作成 をクリックします。 92 第5章 ネットワーク 作成が完了したネットワークは、ネットワーク タブに表示されます。必要に応じて、編集 をク リックしてオプションを変更することができます。これで、インスタンスの作成時には、このサブ ネットを使用できるようになりました。作成後には、指定した D HCP オプションがインスタンス に適用されます。 5 .1 .1 .2 . 高度なネットワークの作成 管理者は、管理 の画面からネットワークを作成する際に高度なネットワークオプションを使用す ることができます。これらのオプションは、使用するネットワークタイプを定義し、テナントの指 定を可能にします。 1. D ashboard で 管理 > ネットワーク > ネットワークの作成 > プロジェクト を選 択します。 2. プロジェクト のフィールドで新規ネットワークをホストするプロジェクトを選択しま す。 3. プロバイダーネットワーク種別 のフィールドのオプションを確認します。 ローカル : トラフィックはローカルの Compute ホストに残り、実質的には外部のネッ トワークから分離されます。 フラット : トラフィックは単一のネットワーク上に残り、ホストと共有することも可能 となります。 VLAN タグ付けやその他のネットワーク分離は行われません。 VLAN: 物理ネットワークに存在する VLAN に対応した VLAN ID を使用してネット ワークを作成します。インスタンスは、同じレイヤー 2 VLAN 上のシステムと通信する ことが可能となります。 G R E: 複数のノードにまたがるネットワークオーバーレイを使用して、インスタンス間 のプライベート通信を行います。オーバーレイの外部に送信されるトラフィックは、 ルーティングする必要があります。 VXLAN: 複数のノードにまたがるネットワークオーバーレイを使用して、インスタンス 間のプライベート通信を行います。オーバーレイの外部に送信されるトラフィックは、 ルーティングする必要があります。 4. ネットワークの作成 をクリックし、プロジェクトの ネットワークトポロジー を チェックして、ネットワークが適切に作成されたことを確認します。 5 .1 .1 .3. ネットワークルーティングの追加 新規ネットワークからのトラフィックのルーティングを許可するには、そのサブネットを既存の 仮想ルーターへのインターフェースとして追加する必要があります。 1. D ashboard で プロジェクト > ネットワーク > ルーター を選択します。 2. ルーター の一覧で対象の仮想ルーターの名前をクリックし、+ インターフェースの追加 93 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド をクリックします。 3. サブネット の一覧で新規サブネットの名前を選択します。 4. オプションとして、インターフェースの IP アドレス を指定することができます。 5. インターフェースの追加 をクリックします。 ネットワーク上のインスタンスで、サブネットの外部のシステムとの通信ができるようになりまし た。 5.1.2. ネットワークの削除 以前に作成したネットワークを削除する必要がある場合があります (例: ハウスキーピングやデコ ミッションプロセスの一環としての処理など)。ネットワークを正常に削除するには、まず使用中 のインターフェースを削除または切断する必要があります。以下の手順では、プロジェクト内で ネットワークを削除するステップ、そのステップで利用するインターフェースについて説明しま す。 1. D ashboard で プロジェクト > ネットワーク > ネットワーク を選択します。 2. 対象のネットワークのサブネットに関連付けられているルーターインターフェースをすべ て削除します。インターフェースを削除するには、以下の手順を実行します。 a. ネットワーク 一覧にある対象のネットワークをクリックして ID フィールドを確 認し、削除するネットワークの ID 番号を特定します。そのネットワークの割り当 て済みサブネットにはすべて、この値が ネットワーク ID フィールドに示され ます。 b. プロジェクト > ネットワーク > ルーター を選択して、ルーター の一覧か ら対象の仮想ルーターの名前をクリックし、削除するサブネットに接続されてい るインターフェースを特定します。ゲートウェイ IP として機能していた IP アド レスで他のインターフェースと区別することができます。また、以前のステップ で書き留めた ID とインターフェースのネットワーク ID が一致するかどうかを確 認することによってさらに識別することができます。 c. インターフェースの インターフェースの削除 ボタンをクリックします。 3. プロジェクト > ネットワーク > ネットワーク を選択して、対象のネットワークの 名前をクリックします。対象のサブネットの サブネットの削除 ボタンをクリックしま す。 注記 この時点でサブネットをまだ削除できない場合には、インスタンスがすでにその サブネットを使用していないかどうかを確認してください。 94 第5章 ネットワーク 4. プロジェクト > ネットワーク > ネットワーク を選択して削除するネットワークを 選択します。 5. このダイアログと次の画面で ネットワークの削除 をクリックします。 5.1.3. サブネットの作成 サブネットは、インスタンスにネットワーク接続を許可する手段です。インスタンスの作成プロセ スの一環として、各インスタンスはサブネットに割り当てられるため、最適なインスタンスの配置 を考慮してインスタンスの接続性の要件に対応することが重要です。サブネットは既存のネット ワークで作成されます。 OpenStack Networking のテナントネットワークでは、複数のサブネットをホストできることを 念頭に入れておいてください。これは、明らかに異なるシステムを同じネットワークでホストする 場合やそれらのシステムを分離する手段を希望する場合に役立ちます。たとえば、Web サーバー のトラフィックが 1 つのサブネット上のみで伝送される一方で、データベースのトラフィックは 別のサブネット上を通過するように指定することができます。サブネットは相互に分離され、別の サブネットと通信する必要のあるインスタンスのトラフィックは、ルーターによって転送される必 要があります。大量のトラフィックを必要とする複数のシステムを、同じサブネットに配置する と、ルーティングの必要がなく、それに伴うレイテンシーや負荷を回避することができます。 手順5.1 新規サブネットの作成 1. D ashboard で プロジェクト > ネットワーク > ネットワーク を選択し、ネット ワーク のページで対象のネットワークの名前をクリックします。 2. サブネットの作成 をクリックして以下の項目を指定します。 フィールド 説明 サブネット 名 サブネットの説明的な名前 ネットワー クアドレス P アドレス範囲とサブネットマスクが 1 つの値に含まれた CIDR 形式のアドレ ス。アドレスを決定するには、サブネットマスクでマスクされるビット数を計算 して、その値を IP アドレス範囲に追記します。たとえば、サブネットマスク 255.255.255.0 でマスクされるビット数は 24 です。このマスクを IPv4 アドレ ス範囲 19 2.16 8 .122.0 に使用するには、アドレスを 19 2. 16 8. 122. 0 /24 と指定します。 IP バー ジョン インターネットプロトコル。有効な値は IP v4 または IP v6 です。ネット ワークアドレス フィールドの IP アドレスの範囲は、選択したバージョンと一 致する必要があります。 95 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド フィールド 説明 ゲートウェ イ IP デフォルトのゲートウェイに指定したルーターのインターフェースの IP アドレ ス。このアドレスは、外部ロケーションを宛先とするトラフィックのルーティン グのネクストホップとなり、ネットワークアドレス の値で指定した範囲内で なければなりません。たとえば、CIDR ネットワークアドレスが 19 2.16 8 .122.0 /24 の場合には、デフォルトのゲートウェイは 19 2.16 8 .122.1 と なる可能性が高くなります。 ゲートウェ イなし 転送を無効にして、ネットワークを分離します。 3. 次へ をクリックして D HCP オプションを指定します。 フィールド 説明 DHCP 有効 そのサブネットの DHCP サービスを有効にします。DHCP により、イン スタンスへの IP 設定の割り当てを自動化することができます。 IPv6 アドレス の設定モード IPv6 ネットワークを作成する場合には、IPv6 アドレスと追加情報をどのよ うに割り当てるかを指定します。 オプション指定なし : IP アドレスを手動で設定する場合または O p enStac k が対応していない方法を使用してアドレスを割り当てる場 合には、このオプションを選択します。 SLAAC (Statel ess Ad d ress Auto co nfi g urati o n) : イ ンスタンスは、O p enStac k Netwo rking ルーターから送信されるルー ター通知 (RA) メッセージに基づいて IPv6 アドレスを生成します。こ の設定を使用すると、ra_mo d e で作成された O p enStac k Netwo rking のサブネットは sl aac に、 ad d ress_mo d e で作成さ れたサブネットは sl aac に設定されます。 D HC P v6 stateful : インスタンスは、O p enStac k Netwo rking DHCPv6 サービスから IPv6 アドレスおよび追加のオプション (例: DNS) を受信します。この設定を使用すると、ra_mo d e で作成された サブネットは d hcpv6 -stateful に、ad d ress_mo d e で作成さ れたサブネットは d hcpv6 -stateful に設定されます。 D HC P v6 statel ess : インスタンスは、O p enStac k Netwo rking DHCPv6 サービスから送信されるルーター通知 (RA) に基づいて IPv6 アドレスを生成します。追加のオプション (例: DNS) は O p enStac k Netwo rking DHCPv6 サービスから割り当てられます。この設定を使用 すると、 ra_mo d e で作成したサブネットは d hcpv6 -statel ess に、 ad d ress_mo d e で作成したサブネットは d hcpv6 statel ess に設定されます。 IP アドレス割り 当てプール 96 DHCP によって割り当てられる IP アドレスの範囲。たとえ ば、19 2. 16 8. 22. 10 0 ,19 2. 16 8. 22. 10 0 という値を指定する と、その範囲内で使用可能なアドレスはすべて割り当ての対象として考慮さ れます。 第5章 ネットワーク フィールド 説明 DNS サーバー ネットワーク上で利用可能な DNS サーバーの IP アドレス。DHCP はこれ らの IP アドレスをインスタンスに割り当てて名前解決します。 追加のルート設 定 静的ルート。最初に CIDR 形式の宛先ネットワークを指定し、その後に ルーティングに使用する必要のあるネクストホップを指定する必要がありま す (例: 19 2.16 8 .23.0 /24, 10 .1.31.1)。 静的ルートをインスタンスに割り当てる必要がある場合にはこの値を指定し ます。 4. 作成 をクリックします。 作成した新規サブネットは、ネットワークの サブネット 一覧に表示されます。必要に応じて 編 集 をクリックしてオプションを変更することができます。インスタンスの作成時には、このサブ ネットを使用するよう設定できるようになりました。作成後には、指定した D HCP オプションが インスタンスに適用されます。 5.1.4 . サブネットの削除 使用しなくなったサブネットは削除することができます。ただし、インスタンスがまだそのサブ ネットを使用するように設定されている場合には、削除を試みても失敗し、D ashboard にエラー メッセージが表示されます。 以下の手順では、ネットワーク内の特定のサブネットを削除する方法について説明します。 1. D ashboard で プロジェクト > ネットワーク > ネットワーク を選択して対象の ネットワークの名前をクリックします。 2. 対象のサブネットを選択して サブネットの削除 をクリックします。 5.1.5. ルーターの追加 OpenStack Networking は、SD N をベースとする仮想ルーターを使用したルーティングサービス を提供します。インスタンスが外部のサブネット (物理ネットワーク内のサブネットを含む) と通 信するには、ルーターは必須です。ルーターとサブネットは インターフェース を使用して接続 します。各サブネットにはルーターに接続するための独自のインターフェースが必要です。 ルーターのデフォルトゲートウェイは、そのルーターが受信するトラフィックのネクストホップ を定義します。そのネットワークは通常、仮想ブリッジを使用して、外部の物理ネットワークにト ラフィックをルーティングするように設定されます。 1. D ashboard で プロジェクト > ネットワーク > ルーター を選択し、+ ルーターの 作成 をクリックします。 97 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド 2. 新規ルーターの説明的な名前を入力し、ルーターの作成 をクリックします。 3. ルーター の一覧で、新規ルーターのエントリーの横にあるゲートウェイの設定 をク リックします。 4. 外部ネットワーク の一覧で、外部ロケーション宛のトラフィックを受信するネットワー クを指定します。 5. ゲートウェイの設定 をクリックします。 ルーターを追加した後に行う次のステップでは、作成済みのサブネットがこのルーターを使用して トラフィックを受信できるように設定します。これは、サブネットとルーター間のインターフェー スを作成することによって行います (手順5.0「」を参照)。 5.1.6. ルーターの削除 ルーターがインターフェースが接続されていない場合には、削除することができます。以下の手順 では、最初にルーターのインターフェースを削除してからルーター自体を削除するステップを説明 します。 1. D ashboard で プロジェクト > ネットワーク > ルーター を選択し、削除するルー ターの名前をクリックします。 2. インターフェースの種別に 内部インターフェース を選択します。 3. インターフェースの削除 をクリックします。 4. ルーター の一覧から、対象のルーターを選択して ルーターの削除 をクリックします。 5.1.7. インターフェースの追加 インターフェースにより、ルーターをサブネットと相互接続することができます。これにより、 ルーターは、インスタンスを中継するサブネットの外部にある宛先にインスタンスが送信するトラ フィックを転送することが可能となります。以下の手順では、ルーターのインターフェースを追加 して、サブネットに接続します。 以下の手順では、ネットワークトポロジー機能を使用します。この画面には、全仮想ルーターと ネットワークを示した図が表示され、ネットワーク管理タスクを実行することができます。 1. D ashboard で プロジェクト > ネットワーク > ネットワークトポロジー を選択し ます。 2. 管理するルーターを特定し、その上にマウスを移動して インターフェースの追加 をク リックします。 3. ルーターの接続先となる サブネット を指定します。 98 第5章 ネットワーク 4. オプションで IP アドレス を指定することができます。このアドレスを指定しておく と、インターフェースに対して ping を実行して成功した場合にはトラフィックのルー ティングが想定通りに機能していることを確認できるので、テストやトラブルシューティ ングに役立ちます。 5. インターフェースの追加 をクリックします。 ネットワークトポロジー の図が自動的に更新され、ルーターとサブネットの間の新規インター フェース接続が反映されます。 5.1.8. インターフェースの削除 ルーターがトラフィックを転送する必要がなくなった場合には、サブネットへのインターフェー スを削除することができます。以下の手順では、インターフェースの削除に必要なステップを説明 します。 1. D ashboard で プロジェクト > ネットワーク > ルーター を選択します。 2. 削除するインターフェースをホストしているルーターの名前をクリックします。 3. 対象のインターフェース (種別: 内部インターフェース ) を選択して インターフェース の削除 をクリックします。 5.2. IP アドレスの設定 本項に記載する手順に従って OpenStack Networking における IP アドレスの確保を管理すること ができます。 5.2.1. Float ing IP アドレスプールの作成 Floating IP アドレスにより、ネットワークの受信トラフィックを OpenStack インスタンスに転 送することができます。最初に、有効でルーティング可能な外部 IP アドレスのプールを定義し て、それらの IP アドレスをインスタンスに動的に割り当てられるようにすると、OpenStack Networking は、特定の Floating IP アドレス宛の受信トラフィックをすべて、その Floating IP アドレスが割り当てられたインスタンスにルーティングする必要があることを認識します。 注記 OpenStack Networking は、同じ IP 範囲/CID R からの全プロジェクト (テナント) に、 Floating IP アドレスを割り当てます。これは、Floating IP のサブネットはすべて、全 プロジェクトまたはいずれかのプロジェクトで使用できることを意味します。この動作 は、個別のプロジェクトごとのクォータを使用することで管理できます。たとえ ば、P ro jectA と P ro jectB のクォータのデフォルト値を 10 に設定し て、P ro jectC を 0 に設定することができます。 99 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド Floating IP アドレスを確保するプールは、外部サブネットの作成時に定義されます。サブネット が Floating IP アドレスのみをホストする場合には、enabl e_d hcp= Fal se オプションを使用 して D HCP の割り当てを無効にすることを検討してください。 # neutron subnet-create --name SUBNET_NAME --enable_dhcp=False -allocation_pool start=IP_ADDRESS,end=IP_ADDRESS -gateway=IP_ADDRESS NETWORK_NAME CIDR 例5.1 # neutron subnet-create --name public_subnet --enable_dhcp=False --allocation_pool start=192.168.100.20,end=192.168.100.100 -gateway=192.168.100.1 public 192.168.100.0/24 5.2.2. 特定の Float ing IP アドレスの割り当て no va コマンドまたはダッシュボード (「インスタンスの更新 (アクションメニュー)」 を参照) を 使用して、インスタンスを特定の Floating IP アドレスに割り当てることができます。 # nova add-floating-ip INSTANCE_NAME IP_ADDRESS 例5.2 以下の例では、Floating IP アドレスは co rp-vm-0 1 という名前のインスタンスに割り当てら れます。 # nova add-floating-ip corp-vm-01 192.168.100.20 5.2.3. Float ing IP アドレスの無作為な割り当て Floating IP アドレスはインスタンスに動的に割り当てることができます。特定の IP アドレスを選 択する代わりに、OpenStack Networking がプールからアドレスを 1 つ確保するように要求しま す。 1. 以前に作成したプールから Floating IP アドレスを確保します。 # neutron floatingip-create public +---------------------+-------------------------------------+ | Field | Value | +---------------------+-------------------------------------+ | fixed_ip_address | | | floating_ip_address | 192.168.100.20 | 100 第5章 ネットワーク | floating_network_id | 7a03e6bc-234d-402b-9fb2-0af06c85a8a3 | | id | 9d7e2603482d | | port_id | | | router_id | | | status | ACTIVE | | tenant_id | 9e67d44eab334f07bf82fa1b17d824b6 | +---------------------+-------------------------------------+ 2. IP アドレスが確保されたら、特定のインスタンスに割り当てることができます。インスタ ンスに関連付けられているポートの ID を特定します (これは、インスタンスに確保されて いる Fixed IP と一致します)。このポート ID は、以下のステップでインスタンスのポート ID を Floating IP アドレスの ID に関連付けるのに使用します。3 番目のコラムの MAC ア ドレスがインスタンスの MAC アドレスと一致するようにすることで、正しいポート ID を さらに区別することが可能です。 # neutron port-list +--------+------+-------------+-------------------------------------------------------+ | id | name | mac_address | fixed_ips | +--------+------+-------------+-------------------------------------------------------+ | ce8320 | | 3e:37:09:4b | {"subnet_id": "361f27", "ip_address": "192.168.100.2"} | | d88926 | | 3e:1d:ea:31 | {"subnet_id": "361f27", "ip_address": "192.168.100.5"} | | 8190ab | | 3e:a3:3d:2f | {"subnet_id": "b74dbb", "ip_address": "10.10.1.25"}| +--------+------+-------------+-------------------------------------------------------+ 3. neutro n コマンドを使用して、Floating IP アドレスを対象となるインスタンスのポート ID に割り当てます。 # neutron floatingip-associate 9d7e2603482d 8190ab 5.2.4 . 複数の Float ing IP アドレスプールの作成 OpenStack Networking は 1 つの L3 エージェントあたり 3 つの Floating IP プールをサポートし ます。このため、L3 エージェントをスケールアウトすることによって追加の Floating IP プール を作成することができます。 101 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド 注記 /etc/neutro n/neutro n. co nf で hand l e_i nternal _o nl y_ro uters の値が環 境内の 1 つの L3 に対してのみ T ru e に設定されていることを確認してください。この オプションにより、L3 エージェントは、外部以外のルーターのみを管理するようになり ます。 5.3. 物理ネットワークのブリッジ 以下の手順では、仮想ネットワークを物理ネットワークにブリッジして仮想インスタンスとの間の 接続を可能にします。例として示した物理 eth0 インターフェースは br-ex ブリッジにマップさ れます。この仮想ブリッジは、物理ネットワークと仮想ネットワークを中継する機能を果たしま す。これにより、eth0 を通過するトラフィックはすべて、設定した Open vSwitch を使用してイ ンスタンスに到達します。 1. 物理 NIC を仮想 Open vSwitch ブリッジにマッピングします。 # vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 TYPE=OVSPort DEVICETYPE=ovs OVS_BRIDGE=br-ex ONBOOT=yes 2. eth0 に以前確保されていた IP アドレスの情報を使用して仮想ブリッジを設定します。 # vi /etc/sysconfig/network-scripts/ifcfg-br-ex DEVICE=br-ex DEVICETYPE=ovs TYPE=OVSBridge BOOTPROTO=static IPADDR=192.168.120.10 NETMASK=255.255.255.0 GATEWAY=192.168.120.1 DNS1=192.168.120.1 ONBOOT=yes IP AD D R 、NET MASK、G AT EWAY 、および D NS1 (ネームサーバー) は対象のネットワー クと一致するように更新する必要があります。 インスタンスに Floating IP アドレスを割り当てて、物理ネットワークが利用できるようにするこ とができます。 102 第5章 ネットワーク 第6章 クラウドのリソース 本章では、Red Hat Enterprise Linux OpenStack Platform におけるスタックの設定およびクラウ ドリソースのモニタリングの方法について説明します。 6.1. スタックの管理 Orchestration Service は、Heat テンプレート を使用してインスタンスのリソースパラメーター (例: Floating IP、ボリューム、セキュリティーグループ) およびプロパティー (例: キーペア、使 用するイメージ、フレーバー) を定義することができるフレームワークを提供します。これらのテ ンプレートは、人間が判読可能な構文を使用してテキストファイルで定義することができます (そ のため、ユーザーはそれらのファイルをバージョン管理にチェックインすることができます)。こ れにより、OpenStack クラウド内のアプリケーションのインフラストラクチャーを容易にデプロ イして再設定することができます。 Orchestration Service を介して Heat テンプレートを使用してデプロイされたインスタンス は、スタック として知られています。D ashboard により Heat テンプレートからスタックを起 動、削除、更新することができます。 Heat テンプレートは、D ashboard に直接入力するか、 ローカルファイルシステムまたは HTTP URL からテキストファイルを使用することが可能です。 6.1.1. サンプルの Heat テンプレートのダウンロード Red Hat Enterprise Linux OpenStack Platform には、Heat のコア機能をテスト/調査する際に使 用可能なサンプルのテンプレートが含まれています。これらのテンプレートを使用するに は、openstack-heat-templates パッケージをインストールしてください。 # yum install openstack-heat-templates このパッケージは、/usr/share/o penstack-heat-templ ates/so ftwareco nfi g /exampl e-templ ates にサンプルの Heat テンプレートをインストールします。 6.1.2. スタックの起動 1. D ashboard で プロジェクト > オーケストレーション > スタック を選択し、ス タックの起動 をクリックします。 2. テンプレートの指定方法 のリストからオプションを選択します。 オプション 説明 ファイル お使いのシステムにあるローカルのテンプレートファイルを使用します。テン プレートファイル > ファイルを選択 をクリックして、ファイルを選択 します。 103 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド オプション 説明 直接入力 テンプレートデータ フィールドを使用して、Das hb o ard へテンプレート データを直接入力します。 URL テンプレートに外部の HTTP URL を使用します。 テンプレート UR L フィールドでテンプレートの URL を指定します。 注記 Red Hat Enterprise Linux OpenStack Platform には、サンプルのテンプレート が含まれています。詳しくは、「サンプルの Heat テンプレートのダウンロー ド」を参照してください。 3. 環境設定の指定方法 のリストからオプションを選択します。 オプション 説明 ファイル 環境設定に . yaml ファイルを使用します。環境設定ファイル > ファイ ルを選択 をクリックして環境を選択します。 直接入力 環境設定データ フィールドを使用して、Das hb o ard へ環境設定データを直 接入力します。 4. 次へ をクリックします。 5. 以下のフィールドで値を指定します。 104 フィールド 説明 スタック名 スタックを識別する名前 作成タイムアウ ト時間 (分単位) スタックの起動がタイムアウトを宣言するまでの時間 (分単位) 失敗時のロール バック これを選択すると、スタックの起動が失敗した場合にテンプレートへの変更 や更新がロールバックされます。 ユーザー USERNAME の パスワード スタックを起動するユーザーの一時パスワード 第6 章 クラウドのリソース スタックの起動 ウィンドウには、テンプレートで定義されているパラメーターによって他 のフィールドも含まれる可能性があります。それらのフィールドも必要に応じて更新して ください。 6. 起動 をクリックします。 6.1.3. スタックの更新 1. スタックのコンポーネントを更新する必要がある場合には、オリジナルのテンプレートを 編集します。 2. D ashboard で プロジェクト > オーケストレーション > スタック を選択します。 3. スタックの スタックテンプレートの変更 アクションを選択します。 4. テンプレートの指定方法 のリストからオプションを選択します。 オプション 説明 ファイル お使いのシステムにあるローカルのテンプレートファイルを使用します。テン プレートファイル > ファイルを選択 をクリックして、ファイルを選択 します。 直接入力 テンプレートデータ フィールドを使用して、Das hb o ard へテンプレート データを直接入力します。 URL テンプレートに外部の HTTP URL を使用します。 テンプレート UR L フィールドでテンプレートの URL を指定します。 5. 環境設定の指定方法 のリストからオプションを選択します。 オプション 説明 ファイル 環境設定に . yaml ファイルを使用します。環境設定ファイル > ファイ ルを選択 をクリックして環境を選択します。 直接入力 環境設定データ フィールドを使用して、Das hb o ard へ環境設定データを直 接入力します。 6. 次へ をクリックします。 105 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド 7. 以下のフィールドで値を指定します。 フィールド 説明 作成タイムアウ ト時間 (分単位) スタックの起動がタイムアウトを宣言するまでの時間 (分単位) 失敗時のロール バック これを選択すると、スタックの起動が失敗した場合にテンプレートへの変更 や更新がロールバックされます。 ユーザー USERNAME の パスワード スタックを起動するユーザーの一時パスワード スタックの起動 ウィンドウには、テンプレートで定義されているパラメーターによって他 のフィールドも含まれる可能性があります。それらのフィールドも必要に応じて更新して ください。 8. 更新 をクリックします。Orchestration Service が更新されたパラメーターを使用してス タックを再起動します。スタック の表の 更新日時 のコラムには、そのスタックが最後 に更新されてからどの程度の時間が経過しているかが表示されます。 6.1.4 . スタックの削除 スタック の表でスタックを削除することができます。 1. D ashboard で プロジェクト > オーケストレーション > スタック を選択します。 2. スタックの アクション コラムから スタックの削除 を選択します。 注記 または、対象のスタックのチェックボックスを選択してから スタックの削除 をクリックして、複数のスタックを同時に削除することができます。 6.2. T ELEMET RY SERVICE の使用 ceilometer コマンドのヘルプを表示するには、以下のコマンドを実行します。 # ceilometer help サブコマンドのヘルプを表示するには、以下のコマンドを実行します。 # ceilometer help subcommand 6.2.1. 既存のアラームの表示 106 第6 章 クラウドのリソース 設定済みの Telemetry アラームを表示するには、以下のコマンドを実行します。 # ceilometer alarm-list リソースの設定済みメーターを一覧表示するには、以下のコマンドを実行します。 # ceilometer meter-list --query resource=UUID +--------------------------+------------+-----------+-----------+---------+----------+ | Name | Type | Unit | Resource | User ID | Project | +--------------------------+------------+-----------+-----------+---------+----------+ | cpu | cumulative | ns | 5056eda...| b0e500...| f23524...| | cpu_util | gauge | % | 5056eda...| b0e500...| f23524...| | disk.ephemeral.size | gauge | GB | 5056eda...| b0e500...| f23524...| | disk.read.bytes | cumulative | B | 5056eda...| b0e500...| f23524...| ( 中略) | instance | gauge | instance | 5056eda...| b0e500...| f23524...| | instance:m1.tiny | gauge | instance | 5056eda...| b0e500...| f23524...| | memory | gauge | MB | 5056eda...| b0e500...| f23524...| | vcpus | gauge | vcpu | 5056eda...| b0e500...| f23524...| +--------------------------+------------+-----------+--------------------------------+ UUID は、既存のリソース (例: インスタンス、イメージ、ボリュームなど) のリソース ID に置き換 えます。 6.2.2. アラームの設定 閾値を超えるとアラームがアクティブ化されるように設定するには、cei l o meter al armthresho l d -create コマンドを以下の構文で使用します。 # ceilometer alarm-threshold-create --name alarm-name [-description alarm-text] --meter-name meter-name --threshold value 例6 .1 個別のインスタンスの平均 CPU 使用率が、3 回連続で 600 秒間 (10 分間)、50% を超過した 場合にアクティベートされるようにアラームを設定するには、以下のコマンドを使用します。 # ceilometer alarm-threshold-create --name cpu_high --description 'CPU usage high' --meter-name cpu_usage_high --threshold 50 -- 107 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド comparison-operator gt --statistic avg --period 600 --evaluationperiods 3 --alarm-action 'log://' --query resource_id=5056eda68a24-4f52-9cc4-c3ddb6fb4a69 この例では、通知アクションはログメッセージです。 既存の閾値アラームを編集するには、cei l o meter al arm-thresho l d -upd ate コマンドで アラームの ID を指定し、1 つまたは複数のオプションを追加して実行します。 例6 .2 アラームの閾値を 75% に増やすには、以下のコマンドを使用します。 # ceilometer alarm-threshold-update 35addb25-d488-4a74-a038076aad3a3dc3 --threshold=75 6.2.3. アラームの無効化または削除 アラームを無効にするには、以下のコマンドを使用します。 # ceilometer alarm-threshold-update --enabled False ALARM_ID アラームを削除するには、以下のコマンドを使用します。 # ceilometer alarm-delete ALARM_ID 6.2.4 . サンプルの表示 特定のメーター名のサンプルをすべて一覧表示するには、以下のコマンドを使用します。 # ceilometer sample-list --meter METER_NAME タイムスタンプの範囲内で特定のリソースを対象としたサンプルのみを一覧表示するには、以下の コマンドを使用します。 # ceilometer sample-list --meter METER_NAME --query 'resource_id=INSTANCE_ID;timestamp>START_TIME;timestamp>=END_TIME' START_TIME および END_TIME は iso-dateThh:mm:ss の形式で指定してください。 例6 .3 13: 10 : 0 0 から 14 : 25: 0 0 までの範囲で取得したサンプルをインスタンスに照会するには、 以下のコマンドを使用します。 108 第6 章 クラウドのリソース #ceilometer sample-list --meter cpu --query 'resource_id=5056eda6-8a24-4f52-9cc4-c3ddb6fb4a69;timestamp>201501-12T13:10:00;timestamp>=2015-01-12T14:25:00' +-------------------+------+------------+---------------+------+--------------------+ | Resource ID | Name | Type | Volume | Unit | Timestamp | +-------------------+------+------------+---------------+------+--------------------+ | 5056eda6-8a24-... | cpu | cumulative | 3.5569e+11 | ns | 2015-01-12T14:21:44 | | 5056eda6-8a24-... | cpu | cumulative | 3.0041e+11 | ns | 2015-01-12T14:11:45 | | 5056eda6-8a24-... | cpu | cumulative | 2.4811e+11 | ns | 2015-01-12T14:01:54 | | 5056eda6-8a24-... | cpu | cumulative | 1.3743e+11 | ns | 2015-01-12T13:30:54 | | 5056eda6-8a24-... | cpu | cumulative | 84710000000.0 | ns | 2015-01-12T13:20:54 | | 5056eda6-8a24-... | cpu | cumulative | 31170000000.0 | ns | 2015-01-12T13:10:54 | +-------------------+------+------------+---------------+------+--------------------+ 6.2.5. サンプルの作成 Telemetry Service に送信するためのサンプルを作成することができます。これらは、以前に定義 されていたメーターに対応する必要はありません。以下の構文を使用します。 # ceilometer sample-create --resource_id RESOURCE_ID --meter-name METER_NAME --meter-type METER_TYPE --meter-unit METER_UNIT -sample-volume SAMPLE_VOLUME METER_TYPE には以下のいずれかを指定します。 Cumulative: 累計 D elta: 経時的な変化または差異 Gauge: 離散値 例6 .4 # ceilometer sample-create -r 5056eda6-8a24-4f52-9cc4c3ddb6fb4a69 -m On_Time_Mins --meter-type cumulative --meter-unit mins --sample-volume 0 +-------------------+-------------------------------------------+ | Property | Value 109 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド | +-------------------+-------------------------------------------+ | message_id | 521f138a-9a84-11e4-8058-525400ee874f | | name | On_Time_Mins | | project_id | f2352499957d4760a00cebd26c910c0f | | resource_id | 5056eda6-8a24-4f52-9cc4-c3ddb6fb4a69 | | resource_metadata | {} | | source | f2352499957d4760a00cebd26c910c0f:openstack | | timestamp | 2015-01-12T17:56:23.179729 | | type | cumulative | | unit | mins | | user_id | b0e5000684a142bd89c4af54381d3722 | | volume | 0.0 | +-------------------+-------------------------------------------+ Where vo l ume, normally the value obtained as a result of the sampling action, is in this case the value being created by the command. 注記 サンプルは、作成された時点に Telemetry Service に送信されるため、更新されませ ん。サンプルは、実質的にはメッセージであるため、メッセージ ID があります。新規サ ンプルを作成するには、sampl e-create コマンドを再度実行して --sampl evo l ume の値を更新します。 6.2.6. クラウドの使用状況の統計の表示 OpenStack の管理者は、ダッシュボードを使用してクラウドの統計情報を確認することができま す。 1. D ashboard に管理ユーザーとしてログインして 管理 > システム > リソース使用状 況 を選択します。 2. 以下のいずれかを選択します。 日次レポート : プロジェクト別の日次使用状況のレポートを表示します。期間とプロ ジェクト数の上限を選択して、レポートの作成 をクリックすると日次使用状況のレ ポートが表示されます。 110 第6 章 クラウドのリソース 統計情報 : プロジェクト別にグループ化されたメトリックのグラフを表示します。ド ロップダウンメニューで値と期間を選択すると、表示されるグラフが自動的に更新さ れます。 クラウドの使用状況の統計情報は、cei l o meter コマンドラインクライアントを使用して表示す ることもできます。 例6 .5 cpu_uti l メーターの全統計を確認するには、以下のコマンドを入力します。 # ceilometer statistics --meter cpu_util +--------+----------------+---------------+-----+-----+------+------+------+-------| Period | Period Start |Period End | Max | Min | Avg | Sum | Count| Dura... +--------+----------------+---------------+-----+-----+------+------+------+-------| 0 | 2015-01-09T14: |2015-01-09T14:2| 9.44| 0.0 | 6.75 | 337.94| 50 | 2792... +--------+----------------+---------------+-----+-----+------+------+------+-------- 例6 .6 統計は、--q uery オプションで特定のリソースに限定したり、ti mestamp オプションで特定 の期間に限定したりすることが可能です。 # ceilometer statistics --meter cpu_util --query 'resource_id=5056eda6-8a24-4f52-9cc4-c3ddb6fb4a69;timestamp>201501-12T13:00:00;timestamp<=2015-01-13T14:00:00' +--------+----------------+---------------+-----+-----+------+------+------+-------| Period | Period Start |Period End | Max | Min | Avg | Sum | Count| Dura... +--------+----------------+---------------+-----+-----+------+------+------+-------| 0 | 2015-01-12T20:1|2015-01-12T20:1| 9.44| 5.95| 8.90 | 347.10| 39 | 2465... +--------+----------------+---------------+-----+-----+------+------+------+-------- 111 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド 第7章 トラブルシューティング 本章では、RHEL OpenStack Platform のトラブルシューティングに役立つログ記録およびサポー ト情報について記載します。 7.1. ログ機能 RHEL OpenStack Platform は情報メッセージを特定のログファイルに書き込みます。これらの メッセージは、トラブルシューティングやシステムイベントのモニタリングに使用することができ ます。 7.1.1. OpenSt ack サービスのログファイル OpenStack の各コンポーネントには、実行するサービス固有のファイルを格納する個別のログ記 録ディレクトリーがあります。 表7.1 B lo ck St o rag e ( cin d er) のログファイル サービス サービス名 ログのパス Blo c k Sto rag e API o p ens tac k-c ind er-ap i.s ervic e /var/lo g /c ind er/ap i.lo g Blo c k Sto rag e バックアッ プ o p ens tac k-c ind er-b ac kup .s ervic e /var/lo g /c ind er/b ac kup .lo g 情報メッセージ c ind er-manag e コマンド /var/lo g /c ind er/c ind ermanag e.lo g Blo c k Sto rag e スケジュー ラー o p ens tac k-c ind er-s c hed uler.s ervic e /var/lo g /c ind er/s c hed uler. lo g Blo c k Sto rag e ボリューム o p ens tac k-c ind er-vo lume.s ervic e /var/lo g /c ind er/vo lume.lo g 表7.2 C o mp u t e ( n o va) のログファイル 112 サービス サービス名 ログのパス O p enStac k Co mp ute API サービス o p ens tac k-no vaap i.s ervic e /var/lo g /no va/no vaap i.lo g 第7 章 トラブルシューティング サービス サービス名 ログのパス O p enStac k Co mp ute の証明書サー バー o p ens tac k-no vac ert.s ervic e /var/lo g /no va/no vac ert.lo g O p enStac k Co mp ute Servic e o p ens tac k-no vac o mp ute.s ervic e /var/lo g /no va/no vac o mp ute.lo g O p enStac k Co mp ute コンダクター サービス o p ens tac k-no vac o nd uc to r.s ervic e /var/lo g /no va/no vac o nd uc to r.lo g O p enStac k Co mp ute VNC コンソー ルの認証サーバー o p ens tac k-no vac o ns o leauth.s ervic e /var/lo g /no va/no vac o ns o leauth.lo g 情報メッセージ no va-manag e コマンド /var/lo g /no va/no vamanag e.lo g O p enStac k Co mp ute No VNC プロキ シーサービス o p ens tac k-no vano vnc p ro xy.s ervic e /var/lo g /no va/no vano vnc p ro xy.lo g O p enStac k Co mp ute スケジューラー サービス o p ens tac k-no vas c hed uler.s ervic e /var/lo g /no va/no vas c hed uler.lo g 表7.3 D ash b o ard ( h o riz o n ) のログファイル サービス サービス名 ログのパス 特定のユーザーとの対話のログ Das hb o ard のインター フェース /var/lo g /ho riz o n/ho riz o n.l og 表7.4 Id en t it y Service ( keyst o n e) のログファイル サービス サービス名 ログのパス O p enStac k Id entity Servic e o p ens tac kkeys to ne.s ervic e /var/lo g /keys to ne/keys to n e.lo g 113 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド 表7.5 Imag e Service ( g lan ce) のログファイル サービス サービス名 ログのパス O p enStac k Imag e Servic e API サー バー o p ens tac k-g lanc eap i.s ervic e /var/lo g /g lanc e/ap i.lo g O p enStac k Imag e Servic e レジスト リーサーバー o p ens tac k-g lanc ereg is try.s ervic e /var/lo g /g lanc e/reg is try.lo g 表7.6 O p en St ack N et wo rkin g ( n eu t ro n ) のログファイル サービス サービス名 ログのパス O p enStac k Netwo rking L3 エージェ ント neutro n-l3-ag ent.s ervic e /var/lo g /neutro n/l3ag ent.lo g O p en vSwitc h エージェント neutro n-o p envs witc hag ent.s ervic e /var/lo g /neutro n/o p envs wi tc h-ag ent.lo g Metad ata エージェントサービス neutro n-metad ataag ent.s ervic e /var/lo g /neutro n/metad ata -ag ent.lo g O p enStac k Netwo rking Servic e neutro n-s erver.s ervic e /var/lo g /neutro n/s erver.lo g 表7.7 T elemet ry ( ceilo met er) のログファイル 114 サービス サービス名 ログのパス O p enStac k c eilo meter 通 知エージェント o p ens tac k-c eilo meterno tific atio n.s ervic e /var/lo g /c eilo meter/ag entno tific atio n.lo g O p enStac k c eilo meter ア ラーム評価 o p ens tac k-c eilo meter-alarmevaluato r.s ervic e /var/lo g /c eilo meter/alarmevaluato r.lo g O p enStac k c eilo meter ア ラーム通知 o p ens tac k-c eilo meter-alarmno tifier.s ervic e /var/lo g /c eilo meter/alarmno tifier.lo g 第7 章 トラブルシューティング サービス サービス名 ログのパス O p enStac k c eilo meter API o p ens tac k-c eilo meter-ap i.s ervic e /var/lo g /c eilo meter/ap i.lo g 情報メッセージ Mo ng o DB 統合 /var/lo g /c eilo meter/c eilo meter-d b s ync .lo g O p enStac k c eilo meter 中 央エージェント o p ens tac k-c eilo meterc entral.s ervic e /var/lo g /c eilo meter/c entra l.lo g O p enStac k c eilo meter コ レクション o p ens tac k-c eilo meterc o llec to r.s ervic e /var/lo g /c eilo meter/c o llec to r.lo g O p enStac k c eilo meter コ ンピュートエージェント o p ens tac k-c eilo meterc o mp ute.s ervic e /var/lo g /c eilo meter/c o mp ute.lo g 表7.8 O rch est rat io n ( h eat ) ログファイル サービス サービス名 ログのパス O p enStac k Heat API サービス o p ens tac k-heatap i.s ervic e /var/lo g /heat/heat-ap i.lo g O p ens tac k Heat Eng ine サービス o p ens tac k-heateng ine.s ervic e /var/lo g /heat/heateng ine.lo g O rc hes tratio n Servic e のイベント なし /var/lo g /heat/heatmanag e.lo g 7.1.2. ログ記録のオプション 各コンポーネントは、それぞれの設定ファイルで独自のログ記録設定を管理します。たとえば、 Compute では、/etc/no va/no va. co nf で以下のようなオプションが設定されます。 デバッグを有効にして、情報のログ記録レベルを高くします。このオプションにより、取得さ れる情報の量が大幅に増大するので、一時的にのみ使用するか、ログのローテーション設定を 最初に確認した方がよいでしょう。 debug=True 115 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド 詳細なログ記録を有効にします。 verbose=True ログファイルのパスを変更します。 log_dir=/var/log/nova 集中 syslog サーバーにログを送信します。 use_syslog=True syslog_log_facility=LOG_USER 注記 タイムスタンプの設定やログの形式などにもオプションを使用することができます。コ ンポーネントの設定ファイルで追加のログ記録オプションを確認してください。 7.2. サポート クライアントコマンドが失敗した場合、またはその他の問題が発生した場合には、Red Hat テクニ カルサポートまでご連絡ください。その際には、発生した問題についての状況説明、 so srepo rt、コンソールの全出力、およびコンソールの出力で参照されているすべての ログファ イルを提供してください。 so srepo rt コマンド (so s パッケージ) についての情報は、「What is a sosreport and how to create one in Red Hat Enterprise Linux 4.6 and later」の記事を参照してください。 116 第7 章 トラブルシューティング 付録A イメージの設定パラメーター 以下のキーは、g l ance i mag e-upd ate および g l ance i mag e-create の両コマンドの pro perty オプションに使用することができます。 例A.1 $ glance image-update IMG-UUID --property architecture=x86_64 注記 イメージのプロパティーを使用して設定した動作は、フレーバーを使用して設定した動 作よりも優先されます。詳しい説明は、「フレーバーの管理」を参照してください。 表A.1 プロパティーのキー 対象コン ポーネン ト キー 説明 すべて アーキテ クチャー ハイパーバイザーがサポートする必 要のある CPU アーキテクチャー (例: x86 _6 4 、arm 、ppc6 4 )。unam e -m を実行してマシンのアーキテ クチャーを確認します。このために は、lib o s info p ro jec t で定義されて いるアーキテクチャーデータボキャ ブラリーを使用することを強く推奨 します。 サポートされている値 al pha -DEC 6 4 ビット RISC armv7l -ARM Co rtex-A7 MPCo re cri s -Ethernet, To ken Ring , AXis -Co d e Red uc ed Ins truc tio n Set i 6 86 -Intel s ixth-g eneratio n x8 6 (P6 マイクロアーキテク チャー) i a6 4 -Itanium l m32 -Lattic e Mic ro 32 m6 8k -Mo to ro la 6 8 0 0 0 mi cro bl aze -Xilinx 32-b it FPG A (Big End ian) mi cro bl azeel -Xilinx 32-b it FPG A (Little End ian) 117 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド 対象コン ポーネン ト キー 説明 mi ps -MIPS 32 ビット RISC サポートされている値 (Big End ian) mi psel —MIPS 32 ビット RISC (Little End ian) mi ps6 4 -MIPS 6 4 ビット RISC (Big End ian) mi ps6 4 el -MIPS 6 4 ビット RISC (Little End ian) o penri sc -O p enCo res RISC pari sc -HP Prec is io n Arc hitec ture RISC pari sc6 4 -HP Prec is io n Arc hitec ture 6 4 ビット RISC ppc -Po werPC 32 ビット ppc6 4 -Po werPC 6 4 ビット ppcemb -Po werPC (Emb ed d ed 32 ビット) s39 0 -IBM Enterp ris e Sys tems Arc hitec ture/39 0 s39 0 x -S/39 0 6 4 ビット sh4 -Sup erH SH-4 (Little End ian) sh4 eb -Sup erH SH-4 (Big End ian) sparc -Sc alab le Pro c es s o r Arc hitec ture、32 ビット sparc6 4 -Sc alab le Pro c es s o r Arc hitec ture、6 4 ビット uni co re32 -Mic ro p ro c es s o r Res earc h and Develo p ment Center RISC Unic o re32 x86 _6 4 -IA-32 の 6 4 ビット拡 張 xtensa -Tens ilic a Xtens a 構成 可能マイクロプロセッサーコア 118 付録A イメージの設定パラメーター 対象コン ポーネン ト キー 説明 xtensaeb -Tens ilic a Xtens a サポートされている値 構成可能マイクロプロセッサーコ ア (Big End ian) 注記 Red Hat が完全にサポート している archi tecture オプションは i 6 86 と x86 _6 4 です。 すべて hyp ervis o r_typ e ハイパーバイザーのタイプ kvm 、vmware すべて ins tanc e _uuid スナップショットイメージの場合 に、このイメージを作成するのに使 用したサーバーの UUID 有効なサーバーの UUID すべて kernel_i d AMI 形式のイメージをブートする際 にカーネルとして使用する必要のあ る Imag e Servic e に保管されている イメージの ID 有効なイメージ ID すべて o s _d is tr o オペレーティングシステムのディス トリビューションの一般名 (小文 字。lib o s info p ro jec t と同じデータ ボキャブラリーを使用)。このフィー ルドで認識済みの値のみを指定しま す。認識済みの値の検索で役立つよ うに、非推奨の値を以下にリストし ます。 arch : Arc h Linux。archl i nux および o rg . archl i nux は使用しな いでください。 cento s : Co mmunity Enterp ris e O p erating Sys tem。o rg . cento s および C entO S は使用しないでくださ い。 d ebi an : Deb ian。D ebi an お よび o rg . d ebi an は使用しな いでください。 fed o ra : Fed o ra。Fed o ra 、o rg . fed o ra 、および o rg . fed o rapro ject は使 用しないでください。 freebsd : FreeBSD。o rg . freebsd 、f reeBSD 、および FreeBSD は 使用しないでください。 g ento o : G ento o Linux。G ento o および o rg . g ento o は使用しないで ください。 119 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド 対象コン ポーネン ト キー 説明 mand rake : Mand rakelinux サポートされている値 (Mand rakeSo ft) ディストリ ビューショ ン。mand rakel i nux および Mand rakeLi nux は使用しな いでください。 mand ri va : Mand riva Linux。mand ri val i nux は使 用しないでください。 mes : Mand riva Enterp ris e Server。mand ri vaent および mand ri vaES は使用しないで ください。 msd o s : Mic ro s o ft Dis c O p erating Sys tem。ms-d o s は使用しないでください。 netbsd : NetBSD。NetBSD お よび o rg . netbsd は使用しな いでください。 netware : No vell NetWare。no vel l および NetWare は使用しないでくださ い。 o penbsd : O p enBSD。O penBSD および o rg . o penbsd は使用しない でください。 o penso l ari s : O p enSo laris 。O penSo l ari s および o rg . o penso l ari s は使用しないでください。 o pensuse : o p enSUSE。suse 、SuSE 、お よび o rg . o pensuse は使用し ないでください。 rhel : Red Hat Enterp ris e Linux。red hat、R ed Hat、お よび co m. red hat は使用しな いでください。 sl ed : SUSE Linux Enterp ris e Des kto p 。co m. suse は使用し ないでください。 ubuntu : Ub untu。Ubuntu 、co m. ubu ntu 、o rg . ubuntu 、および 120 付録A イメージの設定パラメーター 対象コン ポーネン ト キー 説明 cano ni cal は使用しないでく サポートされている値 ださい。 wi nd o ws : Mic ro s o ft Wind o ws 。co m. mi cro so ft . server は使用しないでくださ い。 すべて o s _vers i on ディストリビューターによって指定 されるオペレーティングシステムの バージョン バージョン番号 (例:「11.10 」) すべて ramd is k _id AMI 形式のイメージをブートする際 に ramd is k として使用する必要のあ る、Imag e Servic e に保管されてい るイメージの ID 有効なイメージ ID すべて vm_mo d e 仮想マシンのモード。仮想マシンに 使用されるホスト/ゲストの ABI (ア プリケーションバイナリーインター フェース) を示します。 hvm : 完全仮想化。これは Q EMU お よび KVM で使用されるモードで す。 lib virt API ドラ イバー hw_d is k _b us ディスクデバイスの接続先となる ディスクコントローラーのタイプを 指定します。 scsi 、vi rti o 、i d e 、usb lib virt API ドラ イバー hw_num a_no d e s インスタンスに公開する NUMA ノー ドの数 (フレーバーの定義はオーバー ライドしません) 整数。NUMA トポロジー定義の詳し い例は、「メタデータの追加」 で hw: NUMA_d ef を参照してくださ い。 lib virt API ドラ イバー hw_num a_memp o lic y NUMA のメモリー割り当てポリシー (フレーバーの定義はオーバーライド しません) s tric t: バインディングされる NUMA ノードからインスタンス の RAM が割り当てられるように するには必須です (numa_no d es が指定されている場合にはデフォ ルト)。 p referred : カーネルは、代替ノー ドを使用するようにフォールバッ クが可能です。 「hw:numa_no d es 」パラメー ターが「1」に設定されている場 合に有用です。 lib virt API ドラ イバー hw_num a_c p us . 0 vCPU N-M から NUMA ノード 0 へ のマッピング (フレーバーの定義は オーバーライドしません) 整数のコンマ区切りリスト lib virt API ドラ イバー hw_num a_c p us . 1 vCPU N-M から NUMA ノード 1 へ のマッピング (フレーバーの定義は オーバーライドしません) 整数のコンマ区切りリスト 121 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド 対象コン ポーネン ト キー 説明 サポートされている値 lib virt API ドラ イバー hw_num a_mem. 0 N G B の RAM から NUMA ノード 0 へのマッピング (フレーバーの定義は オーバーライドしません) 整数 lib virt API ドラ イバー hw_num a_mem. 1 N G B の RAM から NUMA ノード 1 へのマッピング (フレーバーの定義は オーバーライドしません) 整数 lib virt API ドラ イバー hw_rng _ mo d el 乱数生成器をイメージのインスタン スに追加します。インスタンスのフ レーバーを設定することにより、ク ラウド管理者は、デバイスの動作を 有効化して制御することができま す。デフォルトでは以下のように設 定されます。 vi rti o またはその他のサポートさ れているデバイス 乱数生成器は無効化されます。 /d ev/rand o m がデフォルトの エントロピーソースとして使用さ れます。物理ハードウェアの乱数 生成器を指定するに は、no va. co nf ファイルで以 下のオプションを使用します。 rng_dev_path=/dev/hwr ng 122 lib virt API ドラ イバー hw_s c s i _mo d el VirtIO SCSI (virtio -s c s i) の使用を 有効にして、コンピュートインスタ ンスのブロックデバイスアクセスを 提供します。デフォルトでは、イン スタンスは VirtIO Blo c k (virtio -b lk) を使用します。VirtIO SCSI とは、 より高いスケーラビリティーとパ フォーマンスを提供する、高度な SCSI ハードウェア対応の準仮想化 SCSI コントローラーデバイスです。 vi rti o -scsi lib virt API ドラ イバー hw_vid e o _mo d e l 使用されるビデオイメージドライ バー vg a 、ci rrus 、vmvg a 、xen 、 q xl 付録A イメージの設定パラメーター 対象コン ポーネン ト キー 説明 サポートされている値 lib virt API ドラ イバー hw_vid e o _ram ビデオイメージの最大 RAM。フレー バーの extra_specs で hw_vi d eo : ram_max_mb の値 が設定済みで、かつその値が hw_vi d eo _ram で設定されてい る値を上回る場合にのみ使用されま す。 整数 (MB 単位。例: 「6 4」) lib virt API ドラ イバー hw_watc hd o g _a c tio n サーバーがハングした場合に指定し たアクションを実行する仮想ハード ウェアウォッチドッグデバイスを有 効にします。このウォッチドッグ は、i6 30 0 es b デバイスを使用しま す (PCI Intel 6 30 0 ESB をエミュ レー ト)。hw_watchd o g _acti o n が 指定されていない場合には、ウォッ チドッグは無効になります。 d i sabl ed : デバイスは接続さ れていません。イメージのフレー バーを使用して有効化されている 場合でも、ユーザーがイメージの ウォッチドッグを無効にすること ができます。このパラメーターの デフォルト値は d i sabl ed で す。 reset: ゲストを強制的にリセッ トします。 po wero ff : ゲストの電源を強制 的に切断します。 pause : ゲストを一時停止しま す。 no ne : ウォッチドッグを有効化 するのみで、サーバーがハングし た場合には何もしません。 lib virt API ドラ イバー o s _c o m mand _li ne デフォルトではなく、lib virt ドライ バーで使用されるカーネルコマンド ライン。Linux Co ntainers (LXC) の場合は、この値が初期化の引数と して使用されます。このキーは、 Amaz o n カーネル、ramd is k、また はマシンイメージ (aki、ari、または ami) にのみ有効です。 123 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド 対象コン ポーネン ト キー 説明 サポートされている値 lib virt API ドラ イバーお よび VMware API ドラ イバー hw_vif_ mo d el 使用する仮想ネットワークインター フェースデバイスのモデルを指定し ます。 設定したハイパーバイザーによって 有効なオプションは異なります。 KVM および Q EMU: e10 0 0 、ne2k_pci 、pcnet 、rtl 8139 、vi rti o VMware: e10 0 0 、e10 0 0 e 、Vi rtual E10 0 0 、Vi rtual E10 0 0 e 、 Vi rtual P C Net32 、Vi rtua l Sri o vEthernetC ard 、 Vi rtual Vmxnet Xen: e10 0 0 、netfro nt、ne2k_ pci 、pcnet、 rtl 8139 124 VMware API ドラ イバー vmware_ ad ap tert yp e ハイパーバイザーが使用する仮想 SCSI または IDE コントローラー l si Lo g i c 、busLo g i c 、また は ide VMware API ドラ イバー vmware_ o s typ e イメージにインストールされている オペレーティングシステムを示す VMware G ues tID。この値は、仮想 マシンの作成時にハイパーバイザー に渡されます。指定しなかった場合 には、このキーの値はデフォルトで o therG uest に設定されます。 thinkvirt.c o mを参照してください。 VMware API ドラ イバー vmware_ imag e_v ers io n 現在は使用されていません。 1 XenAPI ドライ バー auto _d i s k_c o nfi g true に指定した場合には、ディスク 上の ro o t パーティションは、インス タンスがブートする前に自動的にリ サイズされます。この値は、Xen ベースのハイパーバイザーを XenAPI ドライバーと共に使用する 場合にのみ Co mp ute Servic e に よって考慮されます。Co mp ute Servic e は、イメージに単一のパー ティションがあり、かつそのパー ティションが ext3 またはext4 の フォーマットの場合にのみリサイズ を試みます。 true | fal se 付録A イメージの設定パラメーター 対象コン ポーネン ト キー 説明 サポートされている値 XenAPI ドライ バー o s _typ e イメージ上にインストールされるオ ペレーティングシステム。 XenAPI ドライバーには、イメージの o s_type パラメーターの値によっ て異なるアクションを実行するロ ジックが組み込まれています。たと えば、o s_type= wi nd o ws イ メージの場合には、Linux スワップ パーティションの代わりに、FAT32 ベースのスワップパーティションを 作成し、挿入されるホスト名を 16 文 字未満に制限します。 l i nux または wi nd o ws 125 Red Hat Ent erprise Linux O penSt ack Plat form 6 管理ガイド 付録B 改訂履歴 改訂 6 .0 .4 - 1 .4 Fri Sep 1 1 2 0 1 5 Red Hat Localiz at ion Services T ue Sep 1 2 0 1 5 Red Hat Localiz at ion Services Mon Aug 31 2 0 1 5 Red Hat Localiz at ion Services Wed Jul 2 9 2 0 1 5 Red Hat Localiz at ion Services 日本語版を編集 改訂 6 .0 .4 - 1 .3 翻訳を再更新 改訂 6 .0 .4 - 1 .2 翻訳を更新 改訂 6 .0 .4 - 1 .1 翻訳ファイルを XML ソースバージョン 6 .0 .4 -1 と同期 改訂 6 .0 .4 - 1 Wed Jul 1 5 2 0 1 5 Deept i Navale B Z#12 2 0 19 9 : イメージ作成の手順に掲載されていなかった、必要なイメージを追加 改訂 6 .0 .4 - 0 T ue Jul 1 4 2 0 1 5 Deept i Navale B Z#12 2 0 19 9 : RHEL 6 イメージの作成手順を追加し、RHEL 7 手順の一部を更新 改訂 6 .0 .3- 0 Fri Jun 1 9 2 0 1 5 Don Domingo B Z#10 8 2 8 5 7 : B l o ck S to r a g e スケジューラーを使用して、複数のバックエンドを使用する環境にデフォルトで ( ボ リューム種別やフィルター設定なしに) ボリュームを割り当てる方法についての説明を追加 改訂 6 .0 .2 - 4 T ue Jun 0 1 2 0 1 5 Don Domingo B Z#12 2 7 12 3 : スナップショットの削除の方法と、バックエンドのスナップショット保護/保護解除に関する Cep h の説 明への相互参照を追加 改訂 6 .0 .2 - 3 Fri May 1 5 2 0 1 5 Summer Long B Z#12 0 6 3 9 5 : 3 .1.5 .2 . 「VNC コンソールへの直接接続」のセクションを追加 B Z#119 4 113 : サポートされているボリュームの暗号化設定について明確化 B Z#118 2 4 0 6 - 3 .1.5 .3 . 「シリアルコンソールへの直接接続」のセクションを追加 改訂 6 .0 .2 - 2 T hu Apr 2 3 2 0 1 5 Summer Long B Z#118 2 8 17 : NUMA トポロジーの定義を使用してインスタンスをスケジューリングするためのスケジュールフィル ター、フレーバーメタデータ、イメージメタデータについての説明を更新 改訂 6 .0 .2 - 1 T hu Apr 1 6 2 0 1 5 Summer Long B Z#119 0 5 6 0 : 3 .1.2 「インスタンスの更新」にアクションの表を追加 改訂 6 .0 .2 - 0 T hu Apr 9 2 0 1 5 Don Domingo B Z#119 4 116 : 有効な 追加スペック のキー/値のペアについては、ドライバーのドキュメントを参照する必要がある点を 明確化。また、ボリューム種別と追加スペックを使用する手順の例へのリンクを追加 改訂 6 .0 .1 - 3 T ue Apr 7 2 0 1 5 Summer Long B Z#12 0 9 3 3 0 : d i sk_a l l o ca ti o n _r a ti o および Ag g r eg a teDi skFi l ter の説明を更新し、若干編集して内容を明確化 改訂 6 .0 .1 - 2 T hu Mar 1 9 2 0 1 5 Mart in Lopes B Z#116 3 7 2 6 : 複数のプロジェクトを使用する場合の Fl o a ti n g IP の割り当て動作に関する説明を追加 改訂 6 .0 .1 - 1 126 T ue Mar 1 7 2 0 1 5 Summer Long 付録B 改訂履歴 B Z#114 7 7 9 4 : S S H のトンネリングのセクションを更新し、コピー手順を明確に記載 B Z#119 4 5 3 9 : サンプルのテンプレートに関する情報を追加 B Z#119 3 7 4 9 : イメージとストレージの章の「概要」部分を更新 改訂 6 .0 .1 - 0 T hu Mar 5 2 0 1 5 Summer Long メンテナンスリリース 6 .0 .1 の最終版 B Z#119 17 9 4 : ガイド全体の構成を変更 改訂 6 .0 .0 - 6 Wed Feb 1 8 2 0 1 5 Don Domingo B Z#119 4 112 : バックエンドの選択に関する短いセクションを追加 B Z#10 4 16 9 6 : 「複数のバックエンドにボリュームをどのように割り当てるかを設定する方法」についての説明を追加 B Z#119 0 6 6 1: 「Im a g e S er vi ce へのボリュームのアップロード」を追加 改訂 6 .0 .0 - 5 T hu Feb 1 2 2 0 1 5 Summer Long B Z#119 17 7 6 : ボリュームの項の表の不適切なタイトルを削除 改訂 6 .0 .0 - 4 T hu Feb 5 2 0 1 5 Summer Long Red Ha t En ter p r i se Li n u x O p en S ta ck P l a tfo r m 6 .0 リリース 127
© Copyright 2024 Paperzz