第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. トレンドを表示するエンタープライズ、プロバイダー、またはデータセンターが表示されるまで、左側のツリーを展開します。