クラスタ、ホストおよび仮想マシンの最適化
クラスタ、ホストまたは仮想マシンが新しいものでも既存のものであっても、CPUやメモリーなどのリソースを最適化したり、ホストおよび仮想マシンを高可用性構成にしたりできます。
メモリーおよびCPUの構成
- 
                           仮想マシンは、指定されたオーバーコミットしきい値までホストで実行されます。 値が大きいほどCPUの使用量が増加しますが、メモリーが節約されます。 
- 
                           CPUコアの合計数がホストのコア数よりも多い状態で、ホストが仮想マシンを実行します。 
- 
                           クラスタ内のホストで実行されている仮想マシンに対するメモリー・オーバーコミットメント。 
- 
                           Memory Overcommitment Manager (MoM)は、メモリー節約のメリットが得られる場合にKernel Same-page Merging (KSM)を実行します。 
ノート:
仮想マシンでOracle Databaseやその他のOracle ApplicationsなどのOracle製品が実行されていて、専用メモリーが必要な場合、メモリーのオーバー・コミットまたはメモリー・バルーンまたはカーネルの同一ページ・マージ(KSM)の構成オプションは使用できません。仮想マシンの作成または編集時に「リソース割当て」タブを使用すると、次の操作を実行できます。
- 
                        
                        仮想マシンがホスト上でアクセスできる処理能力の最大値を設定します。 
- 
                        
                        仮想CPUを特定の物理CPUに固定します。 
- 
                        
                        仮想マシンのメモリー容量を保証します。 
- 
                        
                        仮想マシンのメモリー・バルーン・デバイスを有効にします。 クラスタのメモリー・バルーンの最適化の有効化も選択する必要があります。 
- 
                        
                        仮想マシンの他の機能と分離してディスクを1つのスレッドに固定することにより、VirtIOインタフェースを持つディスクの速度を向上させます。 
詳細は、「Oracle Linux Virtualization Manager: アーキテクチャおよびプランニング・ガイド」の高可用性および最適化を参照してください。
クラスタ・メモリーおよびCPUの構成
- 
                              「新規クラスタ」または「クラスタの編集」ウィンドウの「最適化」タブを選択します。 
- 
                              メモリーの最適化の設定を選択します。- 
                                       なし - メモリー・オーバーコミットを無効にします。 メモリー・ページ共有を無効にします。これにより、物理メモリーの100%を仮想マシンにコミットできます。 
- 
                                       サーバー負荷の場合 - 物理メモリーの150%のスケジュールを許可 メモリー・ページ共有しきい値を各ホストのシステム・メモリーの150%に設定します。 
- 
                                       デスクトップ負荷の場合 - 物理メモリーの200%のスケジュールを許可 メモリー・ページ共有しきい値を各ホストのシステム・メモリーの200%に設定します。 
 
- 
                                       
- 
                              「CPUスレッド」の下で、ゲストがホスト・スレッドを仮想CPUコアとして使用できるようにするために、「スレッドをコアとしてカウント」をチェックします。 処理を行うコアの総数が、ホスト内のコア数よりも多い状態でホストが仮想マシンを実行できるようにすると、CPU負荷があまり高くないワークロードで有利な場合があります。 
- 
                              メモリー・バルーンの下で、メモリー・バルーン最適化の有効化を選択すると、このクラスタ内のホストで実行中の仮想マシンのメモリー・オーバーコミットメントが有効になります。 MoMは可能な場合にバルーニングを開始します。 すべての仮想マシンの保証メモリー・サイズのみで制限されます。 クラスタ内の各仮想マシンには、関連ドライバ(特別に削除しないかぎり含まれています)を備えたバルーン・デバイスが必要です。 クラスタ内のすべてのホストは、「ステータス」が「稼働中」に変更されるとバルーン・ポリシー更新を受信します。 ノート: 仮想デスクトップなど、メモリーをゆっくり消費したり、メモリーをときどき解放したり、長期間にわたって休眠したりするアプリケーションおよび負荷を持つ仮想マシンのバルーニングを有効にします。 
- 
                              「KSM制御」で、「KSMの有効化」を選択し、CPUコストを上回るメモリー節約のメリットが得られる場合に必要に応じてMoMがKSMを実行できるようにします。 
- 
                              「OK」をクリックして変更を保存します。 
手動によるメモリー・オーバーコミットの変更
管理ポータルのメモリー・オーバーコミット設定では、オーバーコミットを無効にしたり、150%または200%に設定できます。 クラスタに別の値が必要な場合は、設定を手動で変更できます。
- 
                           
                           コマンド行からエンジンにログインします。 
- 
                           
                           現在のメモリー・オーバーコミット設定を確認します。 engine-config -a | grep -i maxvdsmemMaxVdsMemOverCommit: 200 version: general MaxVdsMemOverCommitForServers: 150 version: general
- 
                           
                           メモリー・オーバーコミット設定を変更します。 engine-config -s MaxVdsMemOverCommitForServers=percentageengine-config -s MaxVdsMemOverCommit=percentage
仮想マシンのメモリーおよびCPUの構成
仮想マシンのメモリーとCPUの使用状況を最適化するには:
- 
                           
                           新規VMまたはVMの編集ウィンドウの「リソース割当て」タブを選択します。 
- 
                           
                           「CPU割当て」の下にある「CPU共有」ドロップダウン・リストで、クラスタ内の他の仮想マシンと比較して、仮想マシンが要求できるCPUリソースのレベルを選択します。- 
                                    低=512 
- 
                                    中=1024 
- 
                                    高=2048 
- 
                                    カスタム=ドロップダウン・リストの横のフィールドに数字を入力します。 
 
- 
                                    
- 
                           
                           「メモリーの割当て」の下にある保証済物理メモリーに、メモリー量を入力します。 仮想マシンについて保証される物理メモリーの量は、0から定義済メモリーまでの任意の数にします。 
- 
                           
                           デバイスを仮想マシン用に使用できるようにし、メモリー・オーバーコミットメントを許容するには、メモリー・バルーン・デバイスの有効化を選択します。重要: このチェック・ボックスはデフォルトで選択されているため、仮想マシンのホストが存在するクラスタに対してメモリー・バルーニングを有効にしておく必要があります。 
- 
                           
                           I/Oスレッドで、I/Oスレッドの有効化をチェックして、VirtIOインタフェースを持つディスクを仮想マシンの他の機能とは別のスレッドに固定することによって、これらのディスクの速度を向上させます。 このチェック・ボックスはデフォルトで選択されています。 
- 
                           
                           「キュー」で、マルチキューの有効化をチェックして、使用可能なvCPUの数に応じてvNICごとに最大4つのキューを作成します。 このチェック・ボックスはデフォルトで選択されています。 vNICごとに異なる数のキューを定義するために、カスタム・プロパティを作成できます。engine-config -s "CustomDeviceProperties={type=interface;prop={other-nic-properties;queues=[1-9][0-9]\*}}"other-nic-propertiesは、セミコロンで区切られた既存のNICカスタム・プロパティのリストです。 
- 
                           
                           「キュー」でVirtIO-SCSIの有効化を選択して、仮想マシンでVirtIO-SCSIを使用できるようにするか無効にします。 このチェック・ボックスはデフォルトで選択されています。 
- 
                           
                           「OK」をクリックして変更を保存します。 
高可用性ホストの構成
予期しない障害が発生したときにクラスタ内のホストを応答させて使用可能にする場合は、フェンシングを使用する必要があります。 フェンシングにより、予期しないホスト障害への対応、電力の節約、ロード・バランシングおよび仮想マシンの可用性ポリシーの実施をクラスタで行えるようになります。
non-operationalホストは、non-responsiveホストとは異なります。 非動作ホストはManagerと通信できますが、論理ネットワークの欠落など、正しく構成されていません。 応答しないホストはManagerと通信できません。 フェンシング操作では、ホストが応答しなくなった場合、ホストはリブートされます。 所定の期間が経過してもホストが応答しない場合は、手動で介入する必要があります。
Managerはホストが再起動した後、プロキシ・ホストによって、または管理ポータルで手動で管理操作を実行できます。 応答しないホストで実行されているすべての仮想マシンが停止し、高可用性の仮想マシンは別のホストで再起動されます。 電源管理操作には少なくとも2つのホストが必要です。
重要:
高可用性を持つ仮想マシンをホストが実行する場合は、電源管理を有効にして構成する必要があります。
詳細は、「Oracle Linux Virtualization Manager: アーキテクチャおよびプランニング・ガイド」の高可用性および最適化を参照してください。
ホストの電源管理とフェンシングの構成
エンジンがフェンス・エージェントと直接通信しないため、Managerはプロキシを使用して、ホスト電力管理デバイスに電源管理コマンドを送信します。 ホスト・エージェント(VDSM)は、電源管理デバイスのアクションを実行し、環境内の別のホストをフェンシング・プロキシとして使用します。 つまり、電源管理操作用に少なくとも2つのホストが必要になります。
フェンシング・プロキシ・ホストを構成する場合、ホストが次の場所にあるか次の状態であることを確認します。
- 
                           
                           フェンシングを必要とするホストと同じクラスタ。 
- 
                           
                           フェンシングを必要とするホストと同じデータ・センター。 
- 
                           
                           UPまたはMaintenanceステータスで実行可能なままの状態。
電源管理操作は次の3つの方法で実行できます。
- 
                              
                              Managerの再起動後にManagerを使用した方法 
- 
                              
                              プロキシ・ホストによる方法 
- 
                              
                              管理ポータルで手動で行う方法 
ホストの電源管理とフェンシングを構成するには:
- 
                           
                           「コンピュート」をクリックし、「ホスト」を選択します。 
- 
                           
                           ホストを選択し、「編集」をクリックします。 
- 
                           
                           「電源管理」タブをクリックします。 
- 
                           
                           残りのフィールドを有効にするには、電源管理を有効にするをチェックします。 
- 
                           
                           Kdump統合をチェックして、カーネル・クラッシュ・ダンプの実行中にホストがフェンシングされないようにします。 Kdump統合はデフォルトで有効化されています。 重要: 既存のホストでKdump統合を有効または無効にした場合は、ホストを再インストールする必要があります。 
- 
                           
                           (オプション)ホストの電源管理がホストのクラスタのスケジュール・ポリシーによって制御されないようにする場合は、電源管理のポリシー制御を無効化を選択します。 
- 
                           
                           フェンス・エージェントを構成するには、フェンス・エージェントの追加の横にあるプラス記号(+)をクリックします。 フェンス・エージェントの編集ペインが開きます。 
- 
                           
                           ホストの電源管理デバイスにアクセスするためのアドレス(IPアドレスまたはFQDN)を入力します。 
- 
                           
                           電源管理デバイスにアクセスするために使用するアカウントのユーザー名とパスワードを入力します。 
- 
                           
                           ドロップダウン・リストから電源管理デバイスのタイプを選択します。 ノート: 「サポートされる電源管理(フェンシング)デバイス」 「(ドキュメントID 3078282.1)」を参照してください
- 
                           
                           電源管理デバイスがホストとの通信に使用するポート(SSH)番号を入力します。 
- 
                           
                           電源管理デバイスのブレードの識別に使用するスロット番号を入力します。 
- 
                           
                           電源管理デバイスのオプションを入力します。 キーと値のペアのカンマ区切りリストを使用します。- 
                                    「オプション」フィールドを空白のままにした場合、IPv4とIPv6の両方のアドレスを使用できます。 
- 
                                    IPv4アドレスのみを使用するには、 inet4_only=1と入力します。
- 
                                    IPv6アドレスのみを使用するには、 inet6_only=1と入力します。
 
- 
                                    
- 
                           
                           「セキュア」を選択すると、電源管理デバイスはホストに安全に接続できます。 電源管理デバイスがサポートするssh、sslまたはその他の任意の認証プロトコルを使用できます。 
- 
                           
                           「テスト」をクリックして設定が正しいことを確認し、「OK」をクリックします。 成功した場合、Test Succeeded, Host Status is: onと表示されます。 注意: 電源管理パラメータ(ユーザーID、パスワード、オプションなど)は、設定中にManagerによってのみテストされ、その後は手動でテストされます。 誤ったパラメータに関するアラートを無視することを選択した場合、またはManager内で変更を行わずに電源管理ハードウェア上のパラメータが変更された場合、フェンシングはもっとも必要なときに障害が発生する可能性があります。 
- 
                           
                           フェンス・エージェントはデフォルトで順次での使用になっています。 フェンス・エージェントが使用される順序を変更するには:- 
                                    エージェントを順次で使用フィールドでフェンス・エージェントの順序をレビューします。 
- 
                                    2つのフェンス・エージェントを同時実行するには、1つのフェンス・エージェントの横にある同時実行対象ドロップダウン・リストをクリックして、他のフェンス・エージェントを選択します。 この同時実行フェンス・エージェント・グループに追加のフェンス・エージェントを追加できます。 
 
- 
                                    
- 
                           
                           「拡張パラメータ」を展開し、上下のボタンを使用して、Managerがホストの電源管理プロキシ用のクラスタおよびdc (データ・センター)を検索する順序を指定します。 
- 
                           
                           電源管理プロキシを追加するには:- 
                                    電源管理プロキシの追加の横にあるプラス記号(+)をクリックします。 追加するフェンス・プロキシ・プリファレンス・タイプを選択ペインが開きます。 
- 
                                    ドロップダウン・リストから電源管理プロキシを選択し、「OK」をクリックします。 新しいプロキシが、電力管理プロキシのプリファレンスリストに表示されます。 
 ノート: デフォルトでは、Managerはホストと同じクラスタ内のフェンシング・プロキシを検索します。 Managerがクラスタ内で一意のフェンシング・プロキシを見つけられなかった場合、データ・センターが検索されます。 
- 
                                    
- 
                           
                           「OK」をクリックします。 
ホストのリストから、ホスト名の横にある感嘆符が表示されなくなり、電源管理およびフェンシングが正常に構成されたことが示されます。
ブート中のホスト・フェンシングの防止
電源管理およびフェンシングを構成した後でManagerを起動すると、静止時間(デフォルトでは5分)が経過した後、電源管理が有効になっている応答のないホストに対して自動的にフェンシングが試行されます。 たとえば、ホストの起動時にManagerがホストをフェンシングしようとするシナリオを回避するために、静止時間を延長できます。 データ・センターの停止後は、ホストのブート・プロセスがManagerのブート・プロセスより通常長く時間がかかるため、このシナリオはデータ・センターの停止後に起こる場合があります。
          静止時間は、engine-configコマンドのオプションDisableFenceAtStartupInSecを使用して構成できます。
    
                     
engine-config -s DisableFenceAtStartupInSec=numberフェンシング・パラメータのチェック
          フェンシング・パラメータを自動的にチェックするには、PMHealthCheckEnabled(デフォルトではfalse)およびPMHealthCheckIntervalInSec(デフォルトでは3600秒)のengine-configオプションを構成します。
    
                     
engine-config -s PMHealthCheckEnabled=Trueengine-config -s PMHealthCheckIntervalInSec=number
          PMHealthCheckEnabledをTrueに設定すると、PMHealthCheckIntervalInSecで指定された間隔ですべてのホスト・エージェントをチェックし、問題を検出すると警告を生成します。
        
                     
高可用性仮想マシンの構成
重要なワークロードを実行する仮想マシンがある場合は、これらの仮想マシンを高可用性構成にすることを検討してください。 元のホストが次のようになった場合、高可用性仮想マシンのみが元のホストで自動的に再起動されるか、クラスタ内の別のホストに移行されます。
- 
                        
                        ハードウェア障害が発生して動作不能になる。 
- 
                        
                        停止をスケジュールしてメンテナンス・モードになる。 
- 
                        
                        外部ストレージとの通信を失い使用不能になる。 
仮想マシンのホストを手動で停止した場合、仮想マシンは別のホストに自動的に移行されません。 さらに、同じ記憶域ドメインを共有する仮想マシンは、同じクラスタに属するホスト間でライブ・マイグレーションできます。 詳細は、「Oracle Linux Virtualization Manager: 管理ガイド」のホスト間での仮想マシンの移行を参照してください。
ノート:
高可用性仮想マシンを仮想マシンまたはManager内から正常に停止した場合、または先にメンテナンス・モードにしないでホストを停止した場合、高可用性仮想マシンは再起動されません。
クラスタ内の別の使用可能なホストへの仮想マシンの移行を有効にするには:
- 
                        
                        高可用性仮想マシンを実行しているホストの電源管理とフェンシングを構成します 
- 
                        
                        高可用性仮想マシンのホストが使用可能な2つ以上のホストのクラスタの一部であることを確認します 
- 
                        
                        移行先ホストが動作中であることを確認します 
- 
                        
                        仮想マシンが存在するデータ・ドメインにソース・ホストおよび移行先ホストからアクセスできることを確認します 
- 
                        
                        ソース・ホストと移行先ホストが同じ仮想ネットワークおよびVLANにアクセスできることを確認します 
- 
                        
                        仮想マシンの要件をサポートするために十分な未使用のRAMおよびCPUが宛先ホストにあることを確認します。 
仮想マシンはまた、記憶域ドメイン上の特殊なボリューム上のリースを取得するように構成した場合、元のホストが停電した場合でも別のホスト上で再起動できます。 リースの取得により、仮想マシン・ディスクの破損を招くおそれがある、2つの異なるホストでの仮想マシンの起動を防ぎます。
- 
                           仮想マシンはユーザーの介入なしで数秒以内に再起動されるため、最小限のサービスの中断があります。 
- 
                           現在リソース使用率の低いホストで仮想マシンを再起動することにより、リソースのバランスが取られます 
- 
                           仮想マシンをいつでも再起動できる十分な容量があることが保証されます。 
- 
                           「計算」をクリックし、「仮想マシン」を選択します。 
- 
                           仮想マシンのリストで仮想マシンをクリックして強調表示し、「編集」をクリックします。 
- 
                           「仮想マシンの編集」ウィンドウで、「高可用性」タブをクリックします。 
- 
                           仮想マシンの高可用性を有効にするには、高可用性を選択します。 
- 
                           VMリースのターゲット記憶域ドメイン・ドロップダウン・リストから、VMリースなし(デフォルト)を選択して機能を無効にするか、仮想マシン・リースを保持する記憶域ドメインを選択します。 仮想マシンは記憶域ドメインの特殊なボリューム上にリースを取得できます。 これにより、元のホストの電源が失われても、仮想マシンを別のホスト上で起動できます。 詳細は、「Oracle Linux Virtualization Manager: アーキテクチャおよびプランニング・ガイド」の記憶域リースを参照してください。 
- 
                           再開動作ドロップダウン・リストから、AUTO_RESUME、LEAVE_PAUSED、またはKILLを選択します。 VMリースを定義した場合、使用できるオプションはKILLだけです。 
- 
                           「優先度」リストから、「低」、「中」または「高」を選択します。 仮想マシンの移行がトリガーされると、優先度の高い仮想マシンが最初に移行されるキューが作成されます。 クラスタのリソースが不足した場合は、高優先度の仮想マシンのみが移行されます。 
- 
                           「OK」をクリックします。 
仮想マシンのパフォーマンスの最適化
仮想マシンを高いパフォーマンスのために最適化して、ベア・メタルにできるだけ近いパフォーマンス・メトリックで実行できます。 高性能最適化を選択すると、仮想マシンは、効率を最大限に高めるために、自動および推奨される手動の設定で構成されます。
高パフォーマンス・オプションは、「編集」または「新規」仮想マシン、テンプレートまたはプール・ウィンドウの「最適化の対象」ドロップダウン・リストからHigh Performanceを選択することによって、管理ポータルでのみアクセスできます。 このオプションはVMポータルでは使用できません。
実行中の仮想マシンの最適化モードを高性能に変更した場合、一部の構成変更では仮想マシンを再起動する必要があります。 新規または既存の仮想マシンの最適化モードを高性能に変更するには、最初にクラスタおよび固定ホスト構成を手動で変更する必要がある場合があります。
パフォーマンスが向上すると柔軟性が低下するため、高性能仮想マシンには特定の制限があります。
- 
                        
                        CPUスレッド、IOスレッド、エミュレータ・スレッドまたはNUMAノードの固定が推奨設定に従って設定されている場合、高性能仮想マシンに割り当てることができるのはクラスタ・ホストのサブセットのみです。 
- 
                        
                        多くのデバイスは自動的に無効になり、仮想マシンの操作性が制限されます。 
High Performance Virtualの構成
高パフォーマンスの仮想マシンを構成するには:
- 
                           
                           「新規」または「編集」ウィンドウで、「最適化の対象」ドロップダウン・メニューからHigh Performanceを選択します。 このオプションを選択すると、この仮想マシンに対して特定の構成変更が自動的に実行されます。 
- 
                           
                           「OK」をクリックします。 手動構成を設定していない場合は、推奨される手動構成を説明する高性能仮想マシン/プール設定画面が表示されます。 手動構成の一部を設定した場合、高性能仮想マシン/プール設定画面にはまだ設定されていない内容が表示されます。 推奨されるすべての手動構成を設定した場合、高性能仮想マシン/プール設定画面は表示されません。 
- 
                           
                           「High Performanceの仮想マシン/プール設定」画面が表示された場合は、「取消」をクリックして「新規」または「編集」ウィンドウに戻り、手動構成を実行します。 詳細は、「oVirtドキュメント」の「推奨される手動設定の構成」を参照してください。 または、「OK」をクリックして推奨を無視します。 その結果、パフォーマンスのレベルが低下する可能性があります。 
- 
                           
                           「OK」をクリックします。 最適化タイプは、仮想マシン、プールまたはテンプレートの詳細ビューの「一般」タブで表示できます。 
ヒュージ・ページの構成
仮想マシンは、可能なかぎりベア・メタルに近いパフォーマンス・メトリックで実行されるように、高パフォーマンス用に構成できます。 高パフォーマンス最適化を選択した場合は、効率を最大限に高めるために、仮想マシンを自動設定と推奨される手動設定の組合せで構成します。 ヒュージ・ページを使用することで、ページ・サイズが大きくなります。これにより、ページ表が小さくなり、トランスレーション・ルックアサイド・バッファ・キャッシュの負荷が減り、パフォーマンスが向上します。
ヒュージ・ページは、仮想マシンの実行開始時に事前に割り当てられます(動的割当てはデフォルトで無効になっています)。
ノート:
仮想マシンにヒュージ・ページを構成する場合、メモリーのホットプラグまたはホットプラグは実行できません。
ヒュージ・ページを構成するには:
- 
                           
                           「カスタム・プロパティ」タブで、カスタム・プロパティ・リストからhugepagesを選択します。デフォルトでは「キーを選択してください…」が表示されます。 
- 
                           
                           ヒュージ・ページ・サイズをKB単位で入力します。 ヒュージ・ページ・サイズは、固定ホストでサポートされている最大サイズに設定する必要があります。 x86_64の推奨サイズは1 GBです。 ヒュージ・ページ・サイズには、次の要件があります。 - 
                                 
                                 仮想マシンのヒュージ・ページ・サイズは、固定ホストのヒュージ・ページ・サイズと同じである必要があります。 
- 
                                 
                                 仮想マシンのメモリー・サイズは、固定ホストの空きヒュージ・ページの選択したサイズに収まる必要があります。 
- 
                                 
                                 NUMAノード・サイズは、ヒュージ・ページの選択したサイズの倍数である必要があります。 
 
- 
                                 
                                 
ヒュージ・ページの動的割当てを有効にするには:
- 
                           
                           スケジューラでHugePagesフィルタを無効にします。 
- 
                           
                           /etc/vdsm/vdsm.confの[performance]セクションで、次を設定します。use_dynamic_hugepages = true