デプロイメント計画ガイド

Red Hat CloudForms 4.0

CloudForms Management Engine 5.5 のデプロイメント計画

CloudForms Documentation Team

概要

本ガイドは、お使いのクラウド環境にあった Red Hat CloudForms のデプロイメントを計画する方法について解説します。

第1章 Red Hat CloudForms について

CloudForms Management Engine は、企業が仮想環境の管理に関する課題に対応するために必要なインサイトや、制御、自動化の機能を提供します。この技術により、仮想インフラストラクチャーがすでに存在する企業において可視性および制御の向上を図ることができるだけでなく、仮想デプロイメントに着手する企業においても管理の行き届いた仮想インフラストラクチャーを構築、運用できるようになります。

Red Hat CloudForms 4.0 は、CloudForms Management Engine という単一のコンポーネントで形成されています。Red Hat CloudForms には、以下の機能セットが含まれます。

  • インサイト: 検出、監視、使用状況、パフォーマンス、レポート、分析、チャージバック、トレンド
  • 制御: セキュリティー、コンプライアンス、警告、ポリシーベースのリソース、設定強化
  • 自動化: IT プロセス、タスクおよびイベント、プロビジョニング、ワークロード管理およびオーケストレーション
  • 統合: システム管理、ツールおよびプロセス、イベントコンソール、構成管理データベース (CMDB: Configuration Management Database)、ロールベースアドミニストレーション (RBA: Role-Based Administration)、Web サービス

1.1. アーキテクチャー

以下の図は、CloudForms Management Engine の機能について記載しています。この機能は、それぞれが連携することで堅牢性の高い仮想インフラストラクチャーの管理、保守が提供されるように設計されています。 1845

このアーキテクチャーは以下のコンポーネントで構成されています。

  • セキュアで、高パフォーマンスな事前定義済みの仮想マシンとして提供される CloudForms Management Engine アプライアンス (別称アプライアンス)。HTTPS 通信をサポートします。
  • アプライアンス内に存在する CloudForms Management Engine サーバー (サーバー)。SmartProxy と仮想管理データベース (VMDB) の間の通信を行うソフトウェア層です。これには、HTTPs 通信のサポートが含まれます。
  • アプライアンス内か、アプライアンスにアクセスできる別のコンピューターに存在する仮想管理データベース (VMDB)。仮想インフラストラクチャーについて収集された最も信頼できるインテリジェンスソースで、このデータベースではアプライアンスタスクに関するステータス情報も保持します。
  • サーバーとアプライアンスの表示/制御に使用する Web インターフェースの CloudForms Management Engine コンソール (コンソール)。このコンソールは、Web 2.0マッシュアップおよび Web サービス (WS Management) インターフェースから使用します。
  • アプライアンスまたは ESX Server のいずれかに存在することができる SmartProxy。SmartProxy がサーバーに組み込まれていない場合には、アプライアンスからデプロイすることができます。ストレージの場所毎に SmartProxy を設定して、各ストレージに SmartProxy が表示される状態でなければなりません。SmartProxy は、アプライアンスの代わりに、標準ポート 443 で HTTPS 経由で通信を行います。

1.2. 要件

CloudForms Management Engine を使用するには、以下の要件を満たす必要があります。

  • 以下の Web ブラウザーのいずれかを使用してください。

    • Mozilla の延長サポート版 (ESR) でサポートされる Mozilla Firefox のバージョン
    • Internet Explorer 8 以降
    • Google Chrome for Business
  • 最小解像度 1280x1024 以上のモニター
  • Adobe Flash Player 9 以降 (本書の公開時点では、http://www.adobe.com/products/flashplayer/ からアクセスできます)
  • エンタープライズ環境に CloudForms Management Engine アプライアンスがすでにインストールされ、有効化されている必要があります。
  • SmartProxy は、制御する仮想マシンとクラウドインスタンスに表示されている必要があります。
  • 制御するリソースは、SmartProxy に関連付ける必要があります。
重要

Red Hat では、ブラウザーの制約により、複数タブ対応のブラウザーでも 1 つのタブからのログインだけをサポートとします。コンソールの設定は、アクティブなタブのみで保存されます。同様の理由から、CloudForms Management Engine では、ブラウザーの 戻る ボタンを押して希望の結果が得られるという保証はありません。Red Hat は、コンソールで提供されるブレッドクラムを使用することを推奨します。

1.3. 用語について

以下の用語は、本書全体で使用されます。これらの用語を確認してから、本書を読み進めてください。

アカウントロール
CloudForms Management Engine の異なる部分や機能に対してユーザーが アクセスできるレベル。仮想インフラストラクチャーやコンソールの部分へのアクセスを制限または許可するように割り当て可能なアカウントロールが各種存在します。
アクション
条件が評価された後に実行される動作
アラート
CloudForms Management Engine のアラートにより、仮想環境において極めて重要な設定の変更があった場合や上限/下限に達した場合に通知が出されます。これらの通知は、メールまたは SNMP トラップの形式を取ることができます。
分析プロファイル
ホスト、仮想マシン、インスタンスのカスタマイズスキャン。カテゴリー、ファイル、イベントログ、レジストリーのエントリーからの情報を収集することができます。
クラウド
オンデマンドおよび高可用性のコンピューティングリソースのプール。これらのリソースの使用量は、ユーザー要件に合わせてスケーリングされ、コストの算出のため使用量が計測されます。
CloudForms Management Engine アプライアンス
仮想管理データベース (VMDB) および CloudForms Management Engine サーバーのある仮想マシン
CloudForms Management Engine Console
CloudForms Management Engine アプライアンスへの Web ベースのインターフェース
CloudForms Management Engine ロール
CloudForms Management Engine サーバーが実行できる操作を定義するために CloudForms Management Engine サーバーに割り当てるアクセスレベル。
CloudForms Management Engine サーバー
CloudForms Management Engine アプライアンス上で実行して、SmartProxy や VMDB と通信を行うアプリケーション
クラスター
高可用性や負荷分散を提供するためにまとめられたホスト
条件
イベントによりトリガーされる制御ポリシーテスト。これにより次のアクションが決まります。
検出
仮想マシンやクラウドプロバイダーの検索に CloudForms Management Engine サーバーが実行するプロセス
ドリフト
別の時点の仮想マシン、インスタンス、ホスト、クラスターとの比較
イベント
条件を確認するためのトリガー
イベントモニター
外部プロバイダーにイベントが発生していないかをモニタリングして、CloudForms Management Engine サーバーにイベントを送信する CloudForms Management Engine アプライアンス上のソフトウェア
ホスト
仮想マシンのホスティングや監視を行う機能を持つハイパーバイザーを実行するコンピューター。サポートされるハイパーバイザーには、RHEV-H、VMware ESX ホスト、Windows Hyper-V ホストが含まれます。
インスタンス/クラウドインスタンス
CPU、メモリー、ネットワークインターフェースなどのスケーラブルなハードウェアリソースセットを使用する、事前定義されたイメージをベースにしたオンデマンドの仮想マシン
管理/登録済みの仮想マシン
ホストに接続されており、VMDB に存在する仮想マシン。また、プロバイダーに接続されており、VMDB に存在するテンプレート。テンプレートはホストには接続できない点に注意してください。
管理/非登録の仮想マシン
リポジトリーに存在する仮想マシンまたはテンプレートまたは、プロバイダーやホストに接続されておらず、VMDB に存在する仮想マシンまたはテンプレート。仮想マシンがプロバイダーのインベントリーから削除された場合には、以前登録済みと認識されていた仮想マシンが非登録になる場合があります。
プロバイダー
複数のホスト上にある複数の仮想マシンを管理するソフトウェアがインストールされているコンピューター
ポリシー
仮想マシンの管理に使用するイベント、条件、アクションの組み合わせ
ポリシープロファイル
ポリシーセット
更新
ストレージの場所、リポジトリー、仮想マシンまたはインスタンスなど他のリソースとプロバイダまたはホストとの関係やこれらのリソースの電源情報を確認するために CloudForms Management Engine サーバーが実行するプロセス。
リージョン
リージョンは、レポートやチャート用の中央データベースを作成するために使用します。リージョンは主に複数の VMDB を 1つのマスター VMDB にレポートように集約する際に使用します。
リソース
ホスト、プロバイダー、インスタンス、仮想マシン、リポジトリー、またはデータストア
リソースプール
CPU やメモリーリソースが割り当てられる仮想マシングループ
リポジトリー
仮想マシンを含むデータストアリソースの配置場所
SmartProxy
SmartProxy とは、CloudForms Management Engine アプライアンスの代わりにホスト、プロバイダー、ストレージ、仮想マシンでアクションを実行するソフトウェアエージェントです。
SmartProxy は、CloudForms Management Engine アプライアンスまたは ESX サーバーのバージョンに配備されるように設定することができます。SmartProxy は、CloudForms Management Engine アプライアンスからデプロイして、VMFS ストレージへの可視性を提供します。ストレージの場所には SmartProxy を設定して、各ストレージから SmartProxy が見える状態でなければなりません。SmartProxy は CloudForms Management Engine アプライアンスの代わりに機能します。SmartProxy は、CloudForms Management Engine サーバーに組み込まれていない場合には、CloudForms Management Engine アプライアンスに標準ポート 443 で HTTPS 経由で通信を行います。
SmartState 分析
仮想マシンまたはインスタンスの詳細を収集するために SmartProxy が実行するプロセス。これらの詳細には、アカウント、ドライバー、ネットワークの情報、ハードウェア、セキュリティー修正などが含まれます。このプロセスも、ホストやクラスター上にある CloudForms Management Engine サーバーで実行されます。このデータは、VMDB に保存されます。
SmartTags
検索可能なインデックスをカスタマイズで作成して、クラウドやインフラストラクチャー内のリソースを検索できるようにする記述子
ストレージの場所
リソースに接続されており、デジタルの情報が含まれる VMware データストアなどのデバイス
タグ
CloudForms Management Engine ユーザーが定義する記述名、またはリソースの分類に使用する仕組み
テンプレート
テンプレートとは、事前設定済みの仮想マシンのコピーのことで、オリジナルの仮想マシンのインストール済みソフトウェアおよびその設定に加えて、ハードウェア設定がキャプチャーされるように設計されています。
管理対象外の仮想マシン
データストアにあるファイルで、VMDB で仮想マシンに関連付けられていないもの。これらのファイルは、CloudForms Management Engine サーバーに設定情報が含まれていないプロバイダーに登録されている可能性があります。この原因として、プロバイダーが検出されていないか、プロバイダーは検出されているがセキュリティー認証が提示されていないかが考えられます。
仮想マシン
物理マシンと同様に機能するシステムのソフトウェア実装。仮想マシンは、物理ホストまたは一連の物理ホストのハードウェアインフラストラクチャーを使用して、システムをスケーラブルかつオンデマンド形式でプロビジョニングします。
仮想管理データベース (VMDB)
リソースやユーザーの情報、仮想エンタープライズの管理に必要な他の情報を保存するために CloudForms Management Engine アプライアンスが使用するデータベース
仮想サムネイル
プロバイダーや仮想マシンなどのリソースを示す Web インターフェースの画像。リソースを一目で確認することができます。各仮想サムネイルは 4 つに分割されており、ソフトウェアや電源の状態などリソースに関する情報を提供します。
ゾーン
CloudForms Management Engine インフラストラクチャーは、フェールオーバーの設定やトラフィックの分離を行うゾーンに整理することができます。ゾーンは、環境をベースに作成することができます。たとえば、ゾーンは地理的場所、ネットワークの場所、または機能をベースにすることができます。初回起動字には、新規サーバーはデフォルトのゾーンに配置されます。

1.4. ヘルプとフィードバック

本ガイドに記載されている手順で問題が発生した場合には、Red Hat カスタマーポータル (http://access.redhat.com) をご利用ください。カスタマーポータルでは、以下のような機能を提供しています。

  • Red Hat 製品に関する技術情報のナレッジベース記事の検索、閲覧
  • Red Hat グローバルサポートサービス (GSS) へのサポートケース提出
  • その他の製品ドキュメントの参照

Red Hat では、Red Hat のソフトウェアおよびテクノロジーに関するディスカッションの場として、数多くのメーリングリストをホストしています。一般公開されているメーリングリストの一覧は、https://www.redhat.com/mailman/listinfo に記載しています。各メーリングリストをクリックすると、そのメーリングリストをサブスクライブしたり、アーカイブを参照したりすることができます。

1.5. ドキュメントのフィードバック

本文に誤植を見つけられた場合や本文に関するご意見、ご提案がありましたら場合はぜひお知らせください。カスタマーポータルから GSS にバグ報告を提出してください。

バグ報告を提出される時には、マニュアルの識別子 デプロイメントプランニングガイド を必ずご記入いただくようにお願いします。

本書を改善するためのご意見やご提案をお寄せいただく場合は、できるだけ具体的にご説明ください。また、エラーを発見された場合は、エラーの場所を特定する必要があるため、そのセクション番号と該当部分の前後の文章も含めてご報告いただくようお願いします。

第2章 プランニング

本書では、Red Hat CloudForms Management Engine へのデプロイメントプランに関して一般的なガイドラインを提供します。本書には、Red Hat CloudForms Management Engine アプライアンスを含む複数のリージョンの作成方法、CPU およびデータベースのサイズの推奨、データベース設定などが含まれます。

2.1. リージョン

リージョンは、パブリックおよびプライベートの仮想化環境から収集されたデータを集約するために使用します。最終的にはリージョンは VMDB 向けの単一データベースとして表されます。また、リージョンは、特定の場所ですべてのデータ収集が行われるようにして、データ収集のトラフィックがネットワーク間の接続が遅い箇所を通らないようにするため、特に、複数の地理的場所を管理する必要がある場合に便利です。

特定の一意名を指定して、複数のリージョンを使用する場合には、マスターリージョンを作成して、すべての子リージョンのデータを単一のマスターデータベースに集約することができます。これには、子リージョンをそれぞれ設定して、そのデータをマスターリージョンデータベース (Red Hat はリージョン 99 の使用を推奨) に複製します。この親子リージョンは、一対多の関係にあります。

リージョンには複数のゾーンが含まれており、同様にゾーンにはアプライアンスが含まれています。ゾーンは、ネットワークトラフィックの分割や、フェールオーバーの設定を有効化する際に使用されます。各アプライアンスには、特別なサーバーロールを複数設定することができます。これらのロールが機能するのは、実行されているアプライアンスを含むゾーンに制限されます。

1 つのゾーンで実行できるのは、サーバーロールごとに 1 つのフェイールオーバータイプのみです。複数のアプライアンスに同じフェールオーバーロールが指定されている場合には、余分なフェールオーバータイプがバックアップとして使用され、主要アプライアンスに障害が発生した場合にのみ有効化されます。フェールオーバーサーバーロールは同時に、1 つのゾーン内の複数のアプライアンスで実行することができないため、リソースは、ロールが担当するワークロードに合わせて調節することができます。

以下の図は、CloudForms 環境で複数のリージョンが連携している図を示しています。

7151

マスターのアプライアンスは Chicago に配置されており、これにはマスターリージョンと、ワーカーアプライアンスを管理するサブリージョンが含まれています。Mahwah Technology Center は、2 つのゾーンを管理するサブリージョン 1 つで構成されており、San Diego Technology Center は 1 つのゾーンを管理するサブリージョン 1 つで構成されています。

注記
  • 親リージョンは、親の上のレベルには複製できません。
  • 親リージョンは、子リージョンがオンラインになってからでないと設定できません。

以下の図では、リージョンの詳細を示しています。

7150

このリージョンでは、複数の Red Hat CloudForms アプライアンスが UI ノードおよびワーカーノードとして機能しています。これらのワーカーノードは、環境内のプロバイダーでタスクを実行します。また、リージョンは、メインの Red Hat CloudForms アプライアンスでマスターデータベースにレポートするリージョンデータベースを使用します。アプライアンスはすべて、認証サービス (Active Directory、LDAP、Identity Management)、送信メール (SMTP)、ネットワークサービス (SNMP) に接続することができます。

2.2. テナント

Red Hat CloudForms は、複数のテナントをサポートし、テナントリソースやユーザーアカウントを別のものと分けることができます。さらに、テナントは階層内でネスト化することができるため、下層のテナントは上層のテナントのパーミッションを継承することができます。この設定により、特定のテナントに粒度の細かいユーザーパーミッションを指定することができます。

テナンシーモデル

テナントプランニングには、複数のアプローチがあります。

  • テナントレス: テナントサポートのない以前のシステムと同様に、大規模なテナントを 1 つ作成して、そのテナントで、リソースやユーザーアカウントを分割せずに、すべての操作を実行することができます。
  • エンタープライズモデル: 一般的なシナリオとしては、単一のテナントを作成して、組織内の構造や部門をもとにテナントを分割します。これらの部門は、さらにリソースを特定のプロジェクトに分割することができます。このモデルでは、ユーザーアクセスように URL が 1 つ用意されていますが、リソースをネスト化された階層テナントに分割することもできます。
  • マルチテナントモデル (CCP): 認定クラウドプロバイダー (CCP) を念頭に置いて作成された、このモデルでは、複数のテナントが個別のブランディングや一意の URL を使用して、他のテナントから完全に分離することができます。

2.3. 専用の VMDB ホスト向けの CPU サイジングアシスタント

専用の VMDB ホストでサポート可能なアプライアンス数を予測するには、CloudForms Management Engine DB CPU Sizing Assistant を参照してください。

2.4. データベースサイジングアシスタント

Red Hat は、仮想マシンのディスクを作成時に完全に割り当てることを推奨します。経時的に、データベースのサイズに影響を与える主要な要因が 3 つあります。

  • 仮想マシン数: 経時的な仮想マシンデータベース (VMDB) のサイズを算出するのに最も重要な要因
  • ホスト数: プロバイダーに関連付けられたホスト数
  • ストレージ数: プロバイダーまたはホストから見た個別ストレージ要素の数。全仮想マシンの合計仮想ディスク数ではありません。

5780

2.5. PostgreSQL 設定ファイル例

# -----------------------------
# PostgreSQL configuration file - MIQ Dedicated Appliance Configuration
# -----------------------------
#
# This file consists of lines of the form:
#
#   name = value
#
# (The "=" is optional.)  Whitespace may be used.  Comments are introduced with
# "#" anywhere on a line.  The complete list of parameter names and allowed
# values can be found in the PostgreSQL documentation.
#
# The commented-out settings shown in this file represent the default values.
# Re-commenting a setting is NOT sufficient to revert it to the default value;
# you need to reload the server.
#
# This file is read on server startup and when the server receives a SIGHUP
# signal.  If you edit the file on a running system, you have to SIGHUP the
# server for the changes to take effect, or use "pg_ctl reload".  Some
# parameters, which are marked below, require a server shutdown and restart to
# take effect.
#
# Any parameter can also be given as a command-line option to the server, e.g.,
# "postgres -c log_connections=on".  Some parameters can be changed at run time
# with the "SET" SQL command.
#
# Memory units:  kB = kilobytes        Time units:  ms  = milliseconds
#                MB = megabytes                     s   = seconds
#                GB = gigabytes                     min = minutes
#                                                   h   = hours
#                                                   d   = days


#------------------------------------------------------------------------------
# FILE LOCATIONS
#------------------------------------------------------------------------------

# The default values of these variables are driven from the -D command-line
# option or PGDATA environment variable, represented here as ConfigDir.

#data_directory = 'ConfigDir'		# use data in another directory
					# (change requires restart)
#hba_file = 'ConfigDir/pg_hba.conf'	# host-based authentication file
					# (change requires restart)
#ident_file = 'ConfigDir/pg_ident.conf'	# ident configuration file
					# (change requires restart)

# If external_pid_file is not explicitly set, no extra PID file is written.
#external_pid_file = '(none)'		# write an extra PID file
					# (change requires restart)


#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------

# - Connection Settings -

listen_addresses = '10.132.50.128'	# MIQ Value;
#listen_addresses = 'localhost'		# what IP address(es) to listen on;
					# comma-separated list of addresses;
					# defaults to 'localhost', '*' = all
					# (change requires restart)
#port = 5432				# (change requires restart)
max_connections = 1600			# MIQ Value increased for customer
#max_connections = 100			# (change requires restart) Note:  Increasing max_connections costs ~400 bytes of shared memory per connection slot, plus lock space (see max_locks_per_transaction).
#superuser_reserved_connections = 3	# (change requires restart)
#unix_socket_directory = ''		# (change requires restart)
#unix_socket_group = ''			# (change requires restart)
#unix_socket_permissions = 0777		# begin with 0 to use octal notation
					# (change requires restart)
#bonjour = off				# advertise server via Bonjour
					# (change requires restart)
#bonjour_name = ''			# defaults to the computer name
					# (change requires restart)

# - Security and Authentication -

#authentication_timeout = 1min		# 1s-600s
#ssl = off				# (change requires restart)
#ssl_ciphers = 'ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH'	# allowed SSL ciphers
					# (change requires restart)
#ssl_renegotiation_limit = 512MB	# amount of data between renegotiations
#password_encryption = on
#db_user_namespace = off

# Kerberos and GSSAPI
#krb_server_keyfile = ''
#krb_srvname = 'postgres'		# (Kerberos only)
#krb_caseins_users = off

# - TCP Keepalives -
# see "man 7 tcp" for details

tcp_keepalives_idle = 3			# MIQ Value;
#tcp_keepalives_idle = 0		# TCP_KEEPIDLE, in seconds;
					# 0 selects the system default
tcp_keepalives_interval = 75		# MIQ Value;
#tcp_keepalives_interval = 0		# TCP_KEEPINTVL, in seconds;
					# 0 selects the system default
tcp_keepalives_count = 9		# MIQ Value;
#tcp_keepalives_count = 0		# TCP_KEEPCNT;
					# 0 selects the system default


#------------------------------------------------------------------------------
# RESOURCE USAGE (except WAL)
#------------------------------------------------------------------------------

# - Memory -

#shared_buffers = 128MB			# MIQ Value SHARED CONFIGURATION
shared_buffers = 4GB			# MIQ Value DEDICATED CONFIGURATION increased for customer
#shared_buffers = 32MB			# min 128kB
					# (change requires restart)
#temp_buffers = 8MB			# min 800kB
#max_prepared_transactions = 0		# zero disables the feature
					# (change requires restart)
# Note:  Increasing max_prepared_transactions costs ~600 bytes of shared memory
# per transaction slot, plus lock space (see max_locks_per_transaction).
# It is not advisable to set max_prepared_transactions nonzero unless you
# actively intend to use prepared transactions.
#work_mem = 1MB				# min 64kB
#maintenance_work_mem = 16MB		# min 1MB
#max_stack_depth = 2MB			# min 100kB

# - Kernel Resource Usage -

#max_files_per_process = 1000		# min 25
					# (change requires restart)
#shared_preload_libraries = ''		# (change requires restart)

# - Cost-Based Vacuum Delay -

#vacuum_cost_delay = 0ms		# 0-100 milliseconds
#vacuum_cost_page_hit = 1		# 0-10000 credits
#vacuum_cost_page_miss = 10		# 0-10000 credits
#vacuum_cost_page_dirty = 20		# 0-10000 credits
#vacuum_cost_limit = 200		# 1-10000 credits

# - Background Writer -

#bgwriter_delay = 200ms			# 10-10000ms between rounds
#bgwriter_lru_maxpages = 100		# 0-1000 max buffers written/round
#bgwriter_lru_multiplier = 2.0		# 0-10.0 multipler on buffers scanned/round

# - Asynchronous Behavior -

#effective_io_concurrency = 1		# 1-1000. 0 disables prefetching


#------------------------------------------------------------------------------
# WRITE AHEAD LOG
#------------------------------------------------------------------------------

# - Settings -

#wal_level = minimal			# minimal, archive, or hot_standby
					# (change requires restart)
#fsync = on				# turns forced synchronization on or off
#synchronous_commit = on		# synchronization level; on, off, or local
#wal_sync_method = fsync		# the default is the first option
					# supported by the operating system:
					#   open_datasync
					#   fdatasync (default on Linux)
					#   fsync
					#   fsync_writethrough
					#   open_sync
#full_page_writes = on			# recover from partial page writes
wal_buffers = 16MB			# MIQ Value;
#wal_buffers = -1			# min 32kB, -1 sets based on shared_buffers
					# (change requires restart)
#wal_writer_delay = 200ms		# 1-10000 milliseconds

#commit_delay = 0			# range 0-100000, in microseconds
#commit_siblings = 5			# range 1-1000

# - Checkpoints -

checkpoint_segments = 15		# MIQ Value;
#checkpoint_segments = 3		# in logfile segments, min 1, 16MB each
#checkpoint_timeout = 5min		# range 30s-1h
checkpoint_completion_target = 0.9	# MIQ Value;
#checkpoint_completion_target = 0.5	# checkpoint target duration, 0.0 - 1.0
#checkpoint_warning = 30s		# 0 disables

# - Archiving -

#archive_mode = off		# allows archiving to be done
				# (change requires restart)
#archive_command = ''		# command to use to archive a logfile segment
#archive_timeout = 0		# force a logfile segment switch after this
				# number of seconds; 0 disables


#------------------------------------------------------------------------------
# REPLICATION
#------------------------------------------------------------------------------

# - Master Server -

# These settings are ignored on a standby server

#max_wal_senders = 0		# max number of walsender processes
				# (change requires restart)
#wal_sender_delay = 1s		# walsender cycle time, 1-10000 milliseconds
#wal_keep_segments = 0		# in logfile segments, 16MB each; 0 disables
#vacuum_defer_cleanup_age = 0	# number of xacts by which cleanup is delayed
#replication_timeout = 60s	# in milliseconds; 0 disables
#synchronous_standby_names = ''	# standby servers that provide sync rep
				# comma-separated list of application_name
				# from standby(s); '*' = all

# - Standby Servers -

# These settings are ignored on a master server

#hot_standby = off			# "on" allows queries during recovery
					# (change requires restart)
#max_standby_archive_delay = 30s	# max delay before canceling queries
					# when reading WAL from archive;
					# -1 allows indefinite delay
#max_standby_streaming_delay = 30s	# max delay before canceling queries
					# when reading streaming WAL;
					# -1 allows indefinite delay
#wal_receiver_status_interval = 10s	# send replies at least this often
					# 0 disables
#hot_standby_feedback = off		# send info from standby to prevent
					# query conflicts


#------------------------------------------------------------------------------
# QUERY TUNING
#------------------------------------------------------------------------------

# - Planner Method Configuration -

#enable_bitmapscan = on
#enable_hashagg = on
#enable_hashjoin = on
#enable_indexscan = on
#enable_material = on
#enable_mergejoin = on
#enable_nestloop = on
#enable_seqscan = on
#enable_sort = on
#enable_tidscan = on

# - Planner Cost Constants -

#seq_page_cost = 1.0			# measured on an arbitrary scale
#random_page_cost = 4.0			# same scale as above
#cpu_tuple_cost = 0.01			# same scale as above
#cpu_index_tuple_cost = 0.005		# same scale as above
#cpu_operator_cost = 0.0025		# same scale as above
#effective_cache_size = 128MB

# - Genetic Query Optimizer -

#geqo = on
#geqo_threshold = 12
#geqo_effort = 5			# range 1-10
#geqo_pool_size = 0			# selects default based on effort
#geqo_generations = 0			# selects default based on effort
#geqo_selection_bias = 2.0		# range 1.5-2.0
#geqo_seed = 0.0			# range 0.0-1.0

# - Other Planner Options -

#default_statistics_target = 100	# range 1-10000
#constraint_exclusion = partition	# on, off, or partition
#cursor_tuple_fraction = 0.1		# range 0.0-1.0
#from_collapse_limit = 8
#join_collapse_limit = 8		# 1 disables collapsing of explicit
					# JOIN clauses


#------------------------------------------------------------------------------
# ERROR REPORTING AND LOGGING
#------------------------------------------------------------------------------

# - Where to Log -


log_destination = 'stderr'		# Valid values are combinations of
					# stderr, csvlog, syslog, and eventlog,
					# depending on platform.  csvlog
					# requires logging_collector to be on.

# This is used when logging to stderr:
logging_collector = on		# Enable capturing of stderr and csvlog
					# into log files. Required to be on for
					# csvlogs.
					# (change requires restart)

# These are only used if logging_collector is on:
log_directory = '/www/postgres/log'	# Customer specific setting
#log_directory = 'pg_log'		# directory where log files are written,
					# can be absolute or relative to PGDATA
log_filename = 'postgresql-%Y-%m-%d.log'        # log file name pattern,
					# can include strftime() escapes
log_file_mode = 0644                    # creation mode for log files,
					# begin with 0 to use octal notation
log_truncate_on_rotation = on           # If on, an existing log file with the
					# same name as the new log file will be
					# truncated rather than appended to.
					# But such truncation only occurs on
					# time-driven rotation, not on restarts
					# or size-driven rotation.  Default is
					# off, meaning append to existing files
					# in all cases.
log_rotation_age = 1d                   # Automatic rotation of logfiles will
					# happen after that time.  0 disables.
log_rotation_size = 0                   # Automatic rotation of logfiles will
					# happen after that much log output.
					# 0 disables.

# These are relevant when logging to syslog:
#syslog_facility = 'LOCAL0'
#syslog_ident = 'postgres'

#silent_mode = off			# Run server silently.
					# DO NOT USE without syslog or
					# logging_collector
					# (change requires restart)


# - When to Log -

#client_min_messages = notice		# values in order of decreasing detail:
					#   debug5
					#   debug4
					#   debug3
					#   debug2
					#   debug1
					#   log
					#   notice
					#   warning
					#   error

#log_min_messages = warning		# values in order of decreasing detail:
					#   debug5
					#   debug4
					#   debug3
					#   debug2
					#   debug1
					#   info
					#   notice
					#   warning
					#   error
					#   log
					#   fatal
					#   panic

#log_min_error_statement = error	# values in order of decreasing detail:
				 	#   debug5
					#   debug4
					#   debug3
					#   debug2
					#   debug1
				 	#   info
					#   notice
					#   warning
					#   error
					#   log
					#   fatal
					#   panic (effectively off)

log_min_duration_statement = 5000	# MIQ Value- ANY statement > 5 seconds
#log_min_duration_statement = -1	# -1 is disabled, 0 logs all statements
					# and their durations, > 0 logs only
					# statements running at least this number
					# of milliseconds


# - What to Log -

#debug_print_parse = off
#debug_print_rewritten = off
#debug_print_plan = off
#debug_pretty_print = on
#log_checkpoints = off
#log_connections = off
#log_disconnections = off
#log_duration = off
#log_error_verbosity = default		# terse, default, or verbose messages
#log_hostname = off
log_line_prefix = '%t:%r:%c:%u@%d:[%p]:'	# MIQ Value;
#log_line_prefix = ''			# special values:
					#   %a = application name
					#   %u = user name
					#   %d = database name
					#   %r = remote host and port
					#   %h = remote host
					#   %p = process ID
					#   %t = timestamp without milliseconds
					#   %m = timestamp with milliseconds
					#   %i = command tag
					#   %e = SQL state
					#   %c = session ID
					#   %l = session line number
					#   %s = session start timestamp
					#   %v = virtual transaction ID
					#   %x = transaction ID (0 if none)
					#   %q = stop here in non-session
					#        processes
					#   %% = '%'
					# e.g. '<%u%%%d> '
log_lock_waits = on			# MIQ Value - used to track possible deadlock issues
#log_lock_waits = off			# log lock waits >= deadlock_timeout
#log_statement = 'none'			# none, ddl, mod, all
#log_temp_files = -1			# log temporary files equal or larger
					# than the specified size in kilobytes;
					# -1 disables, 0 logs all temp files
#log_timezone = '(defaults to server environment setting)'


#------------------------------------------------------------------------------
# RUNTIME STATISTICS
#------------------------------------------------------------------------------

# - Query/Index Statistics Collector -

#track_activities = on
track_counts = on			# MIQ Value;
#track_counts = on
#track_functions = none			# none, pl, all
#track_activity_query_size = 1024 	# (change requires restart)
#update_process_title = on
#stats_temp_directory = 'pg_stat_tmp'


# - Statistics Monitoring -

#log_parser_stats = off
#log_planner_stats = off
#log_executor_stats = off
#log_statement_stats = off


#------------------------------------------------------------------------------
# AUTOVACUUM PARAMETERS
#------------------------------------------------------------------------------

autovacuum = on				# MIQ Value;
#autovacuum = on			# Enable autovacuum subprocess?  'on'
					# requires track_counts to also be on.
log_autovacuum_min_duration = 0		# MIQ Value;
#log_autovacuum_min_duration = -1	# -1 disables, 0 logs all actions and
					# their durations, > 0 logs only
					# actions running at least this number
					# of milliseconds.
autovacuum_max_workers = 1		# max number of autovacuum subprocesses
					# (change requires restart)
autovacuum_naptime = 30min		# MIQ Value;
#autovacuum_naptime = 1min		# time between autovacuum runs
autovacuum_vacuum_threshold = 500	# MIQ Value;
#autovacuum_vacuum_threshold = 50	# min number of row updates before
					# vacuum
autovacuum_analyze_threshold = 500	# MIQ Value;
#autovacuum_analyze_threshold = 50	# min number of row updates before
					# analyze
autovacuum_vacuum_scale_factor = 0.05	# MIQ Value;
#autovacuum_vacuum_scale_factor = 0.2	# fraction of table size before vacuum
#autovacuum_analyze_scale_factor = 0.1	# fraction of table size before analyze
#autovacuum_freeze_max_age = 200000000	# maximum XID age before forced vacuum
					# (change requires restart)
#autovacuum_vacuum_cost_delay = 20ms	# default vacuum cost delay for
					# autovacuum, in milliseconds;
					# -1 means use vacuum_cost_delay
#autovacuum_vacuum_cost_limit = -1	# default vacuum cost limit for
					# autovacuum, -1 means use
					# vacuum_cost_limit


#------------------------------------------------------------------------------
# CLIENT CONNECTION DEFAULTS
#------------------------------------------------------------------------------

# - Statement Behavior -

#search_path = '"$user",public'		# schema names
#default_tablespace = ''		# a tablespace name, '' uses the default
#temp_tablespaces = ''			# a list of tablespace names, '' uses
					# only default tablespace
#check_function_bodies = on
#default_transaction_isolation = 'read committed'
#default_transaction_read_only = off
#default_transaction_deferrable = off
#session_replication_role = 'origin'
#statement_timeout = 0			# in milliseconds, 0 is disabled
#statement_timeout = 43200000			# MIQ statment timeout of 12 hours as a default
#vacuum_freeze_min_age = 50000000
#vacuum_freeze_table_age = 150000000
#bytea_output = 'hex'			# hex, escape
#xmlbinary = 'base64'
#xmloption = 'content'

# - Locale and Formatting -

datestyle = 'iso, mdy'
#intervalstyle = 'postgres'
#timezone = '(defaults to server environment setting)'
#timezone_abbreviations = 'Default'     # Select the set of available time zone
					# abbreviations.  Currently, there are
					#   Default
					#   Australia
					#   India
					# You can create your own file in
					# share/timezonesets/.
#extra_float_digits = 0			# min -15, max 3
#client_encoding = sql_ascii		# actually, defaults to database
					# encoding

# These settings are initialized by initdb, but they can be changed.
lc_messages = 'en_US.UTF-8'			# locale for system error message
					# strings
lc_monetary = 'en_US.UTF-8'			# locale for monetary formatting
lc_numeric = 'en_US.UTF-8'			# locale for number formatting
lc_time = 'en_US.UTF-8'				# locale for time formatting

# default configuration for text search
default_text_search_config = 'pg_catalog.english'

# - Other Defaults -

#dynamic_library_path = '$libdir'
#local_preload_libraries = ''


#------------------------------------------------------------------------------
# LOCK MANAGEMENT
#------------------------------------------------------------------------------

deadlock_timeout = 5s			# MIQ Value - one second is too low, 5 seconds is more "interesting"
#deadlock_timeout = 1s
#max_locks_per_transaction = 64		# min 10
					# (change requires restart)
# Note:  Each lock table slot uses ~270 bytes of shared memory, and there are
# max_locks_per_transaction * (max_connections + max_prepared_transactions)
# lock table slots.
#max_pred_locks_per_transaction = 64	# min 10
					# (change requires restart)

#------------------------------------------------------------------------------
# VERSION/PLATFORM COMPATIBILITY
#------------------------------------------------------------------------------

# - Previous PostgreSQL Versions -

#array_nulls = on
#backslash_quote = safe_encoding	# on, off, or safe_encoding
#default_with_oids = off
escape_string_warning = off		# MIQ Value no sure why this is enabled
#escape_string_warning = on
#lo_compat_privileges = off
#quote_all_identifiers = off
#sql_inheritance = on
standard_conforming_strings = off	# MIQ Value not sure why this is enabled
#standard_conforming_strings = on
#synchronize_seqscans = on

# - Other Platforms and Clients -

#transform_null_equals = off


#------------------------------------------------------------------------------
# ERROR HANDLING
#------------------------------------------------------------------------------

#exit_on_error = off				# terminate session on any error?
#restart_after_crash = on			# reinitialize after backend crash?


#------------------------------------------------------------------------------
# CUSTOMIZED OPTIONS
#------------------------------------------------------------------------------

#custom_variable_classes = ''		# list of custom variable class names

第3章 セキュリティー

3.1. CloudForms Management Engine が使用するポート

Initiator (該当する場合は CFME ロール)Receiver (該当する場合は CFME ロール)アプリケーションTCP ポートUDP ポート目的/理由

管理者 (インターネットブラウザー)

CFME アプライアンス (ユーザーインターフェース)

HTTPS

443

 

CFME アプライアンスユーザーインターフェースへのアクセス

管理者 (インターネットブラウザー)

CFME アプライアンス (ユーザーインターフェース)

HTTP

80

 

Web ブラウザーの HTTPS service (443) へのリダイレクト

Web サービスを使用したサービスカタログまたはその他の統合

CFME アプライアンス (Web サービス)

HTTPS

443

 

CFME アプライアンスの Web サービスへのアクセス

CFME アプライアンス

NFS サーバー

NFS

2049

2049

埋め込み NFS の仮想マシンスキャン

CFME アプライアンス (ユーザーインターフェース)

仮想マシン

TCP

903

 

仮想マシンのリモートコンソール (MKS プラグインを使用している場合)

CFME アプライアンス (ユーザーインターフェース)

ハイパーバイザーホスト

TCP

5900-5999

 

仮想マシンのリモートコンソール (VNC を使用している場合)

CFME アプライアンス (ロールは問わない)

VMDB (または MS SQL) を実行する CFME アプライアンス

PostgreSQL の名前付きパイプ

5432 (1433 MS SQL)

 

CFME データベース (PostgreSQL または MS SQL) へ接続された CFME アプライアンス

CFME サブリージョンの VMDB アプライアンス (データベースの同期)

CFME マスターリージョンの VMDB アプライアンス

PostgreSQL の名前付きパイプ

5432 (1433 MS SQL)

 

リージョンの VMDB ノードをマスター VMDB ノードに複製 (PostgreSQL のみ)

CFME アプライアンス (LDAP 経由の認証)

LDAP サーバー (Active Directory など)

LDAP

389

 

LDAP 統合

CFME アプライアンス (LDAPS 経由の認証)

LDAP サーバー (Active Directory など)

LDAPS

636

 

LDAPS 統合

SNMP エージェント

CFME アプライアンス (ノーティファイヤー)

SNMP (UDP)

 

161

SNMP ポーリング

CFME アプライアンス (ノーティファイヤー)

SNMP サーバー

SNMP (TCP)

162

 

SNMP トラップの送信

CFME アプライアンス (ノーティファイヤー)

メールサーバー

SMTP

25

 

SNMP トラップの送信

CFME アプライアンス (ロールは問わない)

NTP サーバー

NTP

 

123

タイムソース

CFME アプライアンス

VMWare ESX Server にインストールされた CFME SmartProxy

HTTPS

1139

 

SmartProxy との通信

VMWare ESX Server にインストールされた CFME SmartProxy

CFME アプライアンス

HTTPS

443

 

SmartProxy ハートビート

CFME アプライアンス

DNS サーバー

UDP

 

53

DNS ルックアップ

3.2. CloudForms Management Engine が使用する Red Hat Enterprise Virtualization ポート

Initiator (該当する場合は CFME ロール)Receiver (該当する場合は CFME ロール)アプリケーションTCP ポートUDP ポート目的/理由

CFME アプライアンス (SmartProxy)

RHEV-M サーバー

HTTPS

8443

 

RHEV-M 環境への API での通信 (インベントリー、操作、SmartProxy)

CFME アプライアンス (C&U)

RHEV-M サーバー

PostgreSQL

5432

 

RHEV-M 履歴データベース (デフォルトではデータベースへの接続は有効ではありません)。「How to access RHEV-M Postgres DB from remote machine」を参照してください。

CFME アプライアンス

RHEV-H ホストまたは RHEL ハイパーバイザー

SSH

22

 

SSH 接続

第4章 キャパシティープランニング

4.1. 容量と使用率の収集

CloudForms Management Engine サーバーは、仮想インフラストラクチャーから容量および使用率のデータを収集して分析することができます。このデータを使用して、現在の環境の制限を理解して、拡張に向けプランニングを行います。

容量および使用率のデータによっては、CloudForms Management Engine がトレンドラインを割り出して、図に表示します。トレンドラインは、線形回帰を使用して算出されます。CloudForms Management Engine で収集した容量および使用率データを使用して、チャートに指定した間隔でこれらの計算が行われます。データの量が多いほど、より適切なトレンドラインの予測値を算出できます。

容量および使用率の収集とメトリックの作成に関連するサーバーロールが 3 つあります。

  • Capacity & Utilization Coordinator ロールは、スケジューラーなどのように、データの収集の時間かどうかを確認します。収集する時間であれば、Capacity and Utilization Data Collector のキューにジョブが送られます。コーディネーターロールは、容量および使用量データの収集を完了する必要があります。このロールが指定されているサーバーが特定のゾーンに複数ある場合には、1 度に 1 つのサーバーのみがアクティブになります。
  • Capacity & Utilization Data Collector は、容量および使用率データを実際に収集します。このロールには、専用のワーカーがあり、1 つのゾーン内でこのロールが指定されているサーバーが複数存在する可能性があります。
  • Capacity & Utilization Data Processor は、CloudForms Management Engine がチャートを作成できるように、収集したデータを処理します。このロールには、専用のワーカーがあり、1 つのゾーン内でこのロールが指定されているサーバーが複数存在する可能性があります。

4.2. 容量と使用率のサーバーロールの割り当て

  1. 設定 → 設定 に移動して、アプライアンスの左ペーンにある Settings → Zone から設定するサーバーを選択します。
  2. サーバー → サーバー制御 エリアに移動して、設定に合わせて適切な容量 & 使用量ロールを選択します。
  3. 保存 をクリックします。

データの収集がすぐに開始されます。ただし、最初の収集は、サーバーが開始してから 5 分後に始まり、その後 10 分間隔で実行されます。そのため、Capacity & Utilization Data Collector のサーバーロールが収集にかかる最大時間は 10 分です。特定のプロバイダーから初めて収集する場合には、CloudForms Management Engine が過去 1 ヶ月のデータポイントを収集するため、所要時間が数分長くなる可能性があります。

注記

サーバーロールの設定に加え、どのクラスターおよびデータストアからデータを収集するのかを選択する必要があります。詳しい情報は、一般設定 のガイドを参照してください。これらの設定を編集するには、super_administrator の権限が必要です。

4.3. Red Hat Enterprise Virtualization 3.3 および 3.4 のデータ収集

Red Hat Enterprise Virtualization 3.3 および 3.4 の容量および使用率データを収集するには、RHEV-M データベースにユーザーとして CloudForms Management Engine を追加する必要があります。

履歴データベースのある PostgreSQL で以下の手順を実行します。通常、これは、RHEV-M サーバーです。

  1. SSH を使用して、RHEV-M データベースサーバーに root ユーザーとしてアクセスします。

    $ ssh root@example.postgres.server
  2. postgres ユーザーに切り替えます。

    # su - postgres
  3. データベースのプロンプトにアクセスします。

    -bash-4.1$ psql
  4. CloudForms Management Engine の新規ユーザーを作成します。

    postgres=# CREATE ROLE cfme LOGIN UNENCRYPTED PASSWORD 'smartvm' SUPERUSER VALID UNTIL 'infinity';
  5. RHEV-M データベースサーバーのプロンプトに戻ります。

    postgres=# \q
    -bash-4.1$ exit
  6. ポート 5432 で TCP 通信を許可するように、サーバーのファイアウォールを更新します。

    # iptables -I INPUT -p tcp -m tcp --dport 5432 -j ACCEPT
    # service iptables save
  7. /var/lib/pgsql/data/pg_hba.conf に以下の行を追加して、外部の md5 認証を有効にします。

    host    all      all    0.0.0.0/0     md5
  8. /var/lib/pgsql/data/postgresql.conflisten_addresses の行を更新して、PostgreSQL がリモート接続をリッスンするように有効化します。

    listen_addresses  =  '*'
  9. PostgreSQL 設定を再度読み込みます。

    service postgresql reload

4.4. データ収集用のデータベース認証情報の追加

新規ユーザーの作成後には、プロバイダー用の設定に、ユーザーの認証情報を追加します。

  1. インフラストラクチャー → プロバイダー から、プロバイダーをクリックして設定を更新します。
  2. 1847 Configuration をクリックしてから、 1851 Edit Selected Infrastructure Provider をクリックします。
  3. 認証情報 のエリアで、 & U データベース をクリックします。
  4. 作成済みの新規データベースの認証情報を入力します。
  5. 保存 をクリックします。
  6. 最後に、Capacity and Utilization Data Collector を再起動します。詳しい情報は、一般情報 のガイドを参照してください。

4.5. Red Hat Enterprise Linux OpenStack Platform のデータ収集

Ceilometer をインストールして、外部システムからのクエリーを受信するように設定してからでないと、Red Hat Enterprise Linux OpenStack Platform (RHEL-OSP) プロバイダーからデータを収集することができません。

以下の手順では、Red Hat Enterprise Linux 6.4 @ をベースにインストールした RHEL OpenStack と、RHEL OpenStackRHEL Server Opetinal チャンネルの両方を利用できるように Satellite への登録が必要です。すべての手順は、RHEL OpenStack のシステムで実行してください。

  1. 必須チャンネルを追加してシステムを更新します。

    # rhn-channel --add -c rhel-x86_64-server-6-ost-3 -c rhel-x86_64-server-optional-6
    # yum update -y
    # reboot
  2. Ceilometer をインストールします。

    # yum install *ceilometer*
  3. MongoDB ストアをインストールして、起動します。

    # yum install mongodb-server
    # sed -i '/--smallfiles/!s/OPTIONS=\"/OPTIONS=\"--smallfiles /' /etc/sysconfig/mongod
    # service mongod start
  4. 以下のユーザーとロールを作成します。

    # SERVICE_TENANT=$(keystone tenant-list | grep services | awk '{print $2}')
    # ADMIN_ROLE=$(keystone role-list | grep ' admin ' | awk '{print $2}')
    # SERVICE_PASSWORD=servicepass
    # CEILOMETER_USER=$(keystone user-create --name=ceilometer \
    --pass="$SERVICE_PASSWORD" \
    --tenant_id $SERVICE_TENANT \
    --email=ceilometer@example.com | awk '/ id / {print $4}')
    # RESELLER_ROLE=$(keystone role-create --name=ResellerAdmin | awk '/ id / {print $4}')
    # ADMIN_ROLE=$(keystone role-list | awk '/ admin / {print $2}')
    # for role in $RESELLER_ROLE $ADMIN_ROLE ; do
    keystone user-role-add --tenant_id $SERVICE_TENANT \
    --user_id $CEILOMETER_USER --role_id $role
    done
  5. ceilometer.conf で authtoken を設定します。

    # openstack-config --set /etc/ceilometer/ceilometer.conf keystone_authtoken auth_host 127.0.0.1
    # openstack-config --set /etc/ceilometer/ceilometer.conf keystone_authtoken auth_port 35357
    # openstack-config --set /etc/ceilometer/ceilometer.conf keystone_authtoken auth_protocol http
    # openstack-config --set /etc/ceilometer/ceilometer.conf keystone_authtoken admin_tenant_name services
    # openstack-config --set /etc/ceilometer/ceilometer.conf keystone_authtoken admin_user ceilometer
    # openstack-config --set /etc/ceilometer/ceilometer.conf keystone_authtoken admin_password $SERVICE_PASSWORD
  6. ceilometer.conf でユーザー認証を設定します。

    # openstack-config --set /etc/ceilometer/ceilometer.conf DEFAULT os_auth_url http://127.0.0.1:35357/v2.0
    # openstack-config --set /etc/ceilometer/ceilometer.conf DEFAULT os_tenant_name services
    # openstack-config --set /etc/ceilometer/ceilometer.conf DEFAULT os_password $SERVICE_PASSWORD
    # openstack-config --set /etc/ceilometer/ceilometer.conf DEFAULT os_username ceilometer
  7. ceilometer サービスを起動します。

    # for svc in compute central collector api ; do
      service openstack-ceilometer-$svc start
      done
  8. サービスカタログにエンドポイントを登録します。$EXTERNALIFACE は、外部インターフェースの IP アドレスに置き換えます。

    # keystone service-create --name=ceilometer \
    --type=metering --description="Ceilometer Service"
    # CEILOMETER_SERVICE=$(keystone service-list | awk '/ceilometer/ {print $2}')
    # keystone endpoint-create \
    --region RegionOne \
    --service_id $CEILOMETER_SERVICE \
    --publicurl "http://$EXTERNALIFACE:8777/" \
    --adminurl "http://$EXTERNALIFACE:8777/" \
    --internalurl "http://localhost:8777/"
  9. 外部システムから ceilometer へのアクセスを有効化します。

    # iptables -I INPUT -p tcp -m multiport --dports 8777 -m comment --comment "001 ceilometer incoming" -j ACCEPT
    # iptables save
  10. OpenStack および Ceilometer サービスのステータスを確認します。

    # openstack-status
    # for svc in compute central collector api ; do
      service openstack-ceilometer-$svc status
      done
  11. 実行中のインスタンスで admin などのユーザーで認証を行い、ceilometer が正しく機能していることを確認します。CPU の計測サンプルから行数を取得するようにパイプして、/etc/ceilometer/pipeline.yaml に指定した間隔に応じて、値が変化することを確認します。デフォルトの間隔は、600 秒です。

    # . ~/keystonerc_admin
    # ceilometer sample-list -m cpu |wc -l
  12. 設定済みの OpenStack プロバイダーを CloudForms Management Engine を追加します。プロバイダーの管理 の「OpenStack プロバイダーの追加」のセクションを参照してください。プロバイダーを追加して数分以内に、お使いのインスタンスの容量および使用量のデータが生成されます。

4.6. 収集したデータ

CloudForms Management Engine は、収集したデータから図を生成して、ハードウェアや仮想マシンのニーズのプランニングに使用できるようにします。データの種別により、これらのチャートには平均、最大、最小、傾向などの折れ線チャートなどが含まれる場合があります。

注記

日次の容量および使用率データのレポートにおいて、要求した期間の開始時と終了時などデータが 1 日分とならない場合 (午前 0 時から午前 0 時までの 24 時間に達しない日) にはそのデータは除外されます。24 時間未満の日次データは正確ではなく、そのようなデータを含めるとトレンドラインをにずれが生じる可能性があります。そのため、インフラストラクチャー タブに容量および使用量のチャートを表示させるには、午前 0 時から午前 0 時までの 1 時間単位のデータが最低でも完全な 1 日分必要です。

4.6.1. ホスト、クラスター、仮想マシンの容量および使用量のチャート

リソースタイプCPU 使用量CPU の状態ディスク I/Oメモリー使用量ネットワーク I/O現在実行中の仮想マシン実行中のホスト

ホスト

Y

Y

Y

Y

Y

Y

NA

クラスター

Y

Y

Y

Y

Y

Y

Y

仮想マシン

Y

Y

Y

Y

Y

NA

NA

ホスト、クラスター、仮想マシンの容量および使用量のチャートを表示する手順は、Managing Infrastructure and Inventory ガイドの以下のセクションを参照してください。

4.6.2. データストアの容量および使用率のチャート

作成されたチャートには以下が含まれます。

仮想マシンタイプ別の領域仮想マシンおよびホスト

使用済みの領域

タイプ別の仮想マシン数

ディスクファイルの領域

ホスト

スナップショットファイルの領域

仮想マシン

メモリーファイルの領域

 

仮想マシン以外のファイル

 

使用済みのディスク領域

 

データストアの容量および使用率のチャートを表示する手順については、Managing Infrastructure and Inventory ガイドの「Viewing Capacity and Utilization Charts for a Datastore」のセクションを参照してください。

4.7. チャートの機能

各チャートには、チャートの拡大やショートカットメニューなどの特別な機能セットが含まれています。

4.7.1. チャートの拡大

  1. 拡大するチャートに移動します。チャートの上にマウスをかざすと、チャートの座標に焦点を当てるため、破線が 2 つ表示されます。
  2. 拡大するチャートの左端の下にある 2251 (クリックして拡大) をクリックします。
  3. 通常のビューに戻すには、拡大されたチャートの 2252 (クリックして縮小) をクリックします。

4.7.2. チャートデータへのドリルイン

  1. 詳細を確認するチャートに移動します。
  2. 座標を表示するには、データポイントにマウスをかざします。
  3. データポイントをクリックして、チャートのショートカットメニューを開きます。以下の例では、ショートカットメニューを使用して、時間別のチャートに移動するか、データを取得した時間に実行中の仮想マシンを表示します。

    • CPUディスクメモリー または ネットワーク のチャートを表示している場合には、チャート のオプションを選択すると、ページ内のチャートがすべて、選択した新しい間隔のチャートに変化します。
    • CPUディスクメモリー または ネットワーク のチャートを表示している場合には、表示 のオプションを選択すると、その時点に実行中の仮想マシンまたは ホスト にドリルインすることができます。
    • 仮想マシン または ホスト のチャートを表示している場合は、表示 メニューにより実行中の仮想マシンや停止された仮想マシンを表示することができます。データポイントの時間だけでなく、該当する仮想マシンも表示されます。ここから、詳細を表示する仮想マシンをクリックします。

4.8. 最適化

CloudForms Management Engine の最適化機能では、使用率のトレンドの表示や、環境内のボトルネックの特定や推測を行うことができます。さらに、仮想マシンを追加可能な容量がある場所を推測することも可能です。

注記

日次の最適化データのレポートにおいて、要求した期間の開始時と終了時などデータが 1 日分とならない場合 (午前 0 時から午前 0 時までの 24 時間に達しない日) にはそのデータは除外されます。24 時間未満の日次データは正確ではなく、そのようなデータを含めるとトレンドラインをにずれが生じる可能性があります。そのため、最適化 のページでは、チャートに表示された値はすべてトレンドの計算から取得されており、データポイントが少なくとも 2 つ必要であるため、少なくとも丸 2 日分の日次データが必要です。

4.10. プランニング

VMDB で収集されたデータを使用して、仮想マシンを追加する場所をプランニングすします。CloudForms Management Engine により、例として参照仮想マシンを使用して、新規仮想マシンの配置先のホストやクラスターをプランニングすることができます。

4.10.1. 新規仮想マシンの配置先のプランニング

CloudForms Management Engine のプランニング機能を使用することで、仮想マシンの配置のプランニングが容易化されます。

  1. 最適化 → 計画 に移動します。
  2. 参照する仮想マシンの選択 のドロップダウンを使用して、追加する可能性の高い仮想マシンを選択します。

    2254

  3. 計算のベースに必要な 仮想マシン オプションを選択します。

    2255

    ソース のリストから、ソースとして予測するのに使用するデータの種別を選択します。たとえば、Allocation を選択して、参照する仮想マシン用に現在割り当てられている各リソース (CPU、メモリー、またはディスク領域) の値をベースに算出します。Reservation は、特定のリソース (CPU 速度、CPU 数、メモリー、またはディスク領域) で現在確保されている値をベースに推測を行う際に使用します (ただし、その特定の時点でこの量が仮想マシンに割り当てられていない可能性があります)。参照する仮想マシンの使用率の履歴をベースに算出する場合には、Usage を使用します。また、Manual Input は各リソースに独自のパラメーターセットを入力する際に使用します。

  4. ターゲットオプション から、クラスターまたはホストをターゲットとして使用する場合に選択します。

    2256

    また、CPU、メモリー、データストアの領域で予測可能な上限を選択します。ホストをターゲットにする場合には、どのホストをターゲットにするかのフィルターを選択することができます。

  5. タイムプロファイル および タイムゾーン (該当する場合) のトレンドデータをどの程度さかのぼって使用するのかを、トレンドオプション から選択します。タイムプロファイル は、ログイン中のユーザーが タイムプロファイル を使用できる場合のみ表示されます。
  6. 送信 をクリックします。

概要 タブでは、仮想マシンの配置先としてベストなクラスターまたはホストが表示されます。レポート タブでは、参照する仮想マシンに最適なクラスター/ホストおよび仮想マシンに関する統計が表形式で表示されます。レポート タブから、レポートの PDF を作成したり、txt または csv 形式でデータをダウンロードしたりすることができます。

4.11. ボトルネック

CloudForms Management Engine は、仮想インフラストラクチャーのどこでボトルネックが発生しているかを表示することができます。タイムラインとして表示するか、今後の分析用にダウンロード可能なレポートとして表示することができます。

4.11.1. ボトルネックの概要の表示

ボトルネックの容量または使用率に関する詳細を確認するには、ボトルネックの概要を表示します。

  1. 最適化 → ボトルネック に移動します。
  2. 概要 が選択されていない場合には、クリックしてください。
  3. 希望のプロバイダー、クラスター、またはデータセンターが表示されるまで、左側のツリーを展開します。
  4. そのアイテムをクリックします。
  5. データの指標を変更するには、オプション セクションを使用します。 2257

    • 容量、使用率または両方をベースにボトルネックを表示する場合には、イベントグループ を使用します。
    • タイムゾーン のリストからプロジェクトを選択します。

      データが処理され、タイムラインが表示されます。タイムラインのアイコンをクリックして、ボトルネックの特定の情報を表示します。

4.11.2. ボトルネックトレンドのレポート表示

  1. 最適化 → ボトルネック に移動します。
  2. レポート をクリックします。
  3. 希望のプロバイダー、クラスター、またはデータセンターが表示されるまで、左側のツリーを展開します。
  4. そのアイテムをクリックします。
  5. データの指標を変更するには、オプション セクションを使用します。 2258

    • 容量、使用率または両方をベースにボトルネックを表示する場合には、イベントグループ を使用します。
    • タイムゾーン のリストからプロジェクトを選択します。
  6. トレンドを表示するエンタープライズ、プロバイダー、またはデータセンターが表示されるまで、左側のツリーを展開します。