3.7. クォータとサービスレベル契約ポリシー

3.7.1. クォータの概要

クォータは、Red Hat Virtualization で提供されるリソース制限ツールです。クォータは、ユーザーパーミッションによって設定された制限レイヤーの上にある制限レイヤーと考えることができます。

クォータはデータセンターオブジェクトです。

クォータを使用すると、Red Hat Virtualization 環境の管理者は、メモリー、CPU、およびストレージへのユーザーアクセスを制限できます。クォータは、管理者がユーザーに割り当てることができるメモリーリソースとストレージリソースを定義します。その結果、ユーザーは自分に割り当てられたリソースのみを利用できます。クォータリソースを上限まで使用すると、Red Hat Virtualization はそれ以上のユーザーアクションを許可しません。

クォータには 2 種類あります。

表3.3 2 種類のクォータ

クォータタイプ定義

実行時クォータ

このクォータは、CPU やメモリーなどのランタイムリソースの消費を制限するものです。

ストレージクォータ

このクォータは、利用可能なストレージの量を制限します。

SELinux などのクォータには 3 つのモードがあります。

表3.4 クォータモード

クォータモード機能

Enforced

監査モードで設定したクォータが有効になり、クォータの影響を受けるグループまたはユーザーにリソースが制限されます。

Audit

ユーザーをブロックせずにクォータ違反をログに記録します。クォータのテストに使用できます。Audit モードでは、ランタイムクォータの量と、影響を受けるユーザーが利用できるストレージクォータの量を増減できます。

Disabled

クォータによって定義されたランタイムとストレージの制限をオフにします。

ユーザーが仮想マシンを実行しようとすると、仮想マシンの仕様と、該当するクォータに設定されているストレージ許容量およびランタイム許容量が比較されます。

仮想マシンを起動することで、クォータの対象となる実行中のすべての仮想マシンの集約リソースがクォータで定義された許容量を超える場合、Manager は仮想マシンの実行を拒否します。

ユーザーが新しいディスクを作成すると、要求されたディスクサイズが、該当するクォータでカバーされる他のすべてのディスクの合計ディスク使用量に追加されます。新しいディスクが、クォータで許可されている量を超える合計ディスク使用量を取得した場合、ディスクの作成は失敗します。

クォータでは、同じハードウェアのリソース共有が可能です。ハードとソフトのしきい値をサポートします。管理者は、クォータを使用してリソースにしきい値を設定できます。ユーザーから見た場合、これらのしきい値はリソース使用率 100% として表示されます。ユーザーが予期せずしきい値を超えた場合に障害が発生することを防ぐために、インターフェイスでは一時的にしきい値を超えることができる "猶予量" をサポートしています。しきい値を超えると警告が送信されます。

重要

クォータは、仮想マシンの実行時に制限をいくつか課します。これらの制限を無視すると、仮想マシンと仮想ディスクを使用できない状況が発生する可能性があります。

クォータが強制モードで実行している場合、クォータが割り当てられていない仮想マシンとディスクは使用できません。

仮想マシンの電源をオンにするには、その仮想マシンにクォータを割り当てる必要があります。

仮想マシンのスナップショットを作成するには、仮想マシンに関連付けられているディスクにクォータが割り当てられている必要があります。

仮想マシンからテンプレートを作成する場合、テンプレートで使用するクォータを選択するように求められます。これにより、テンプレート (およびテンプレートから作成される将来のすべてのマシン) が、テンプレートの生成元の仮想マシンおよびディスクとは異なるクォータを消費するように設定できます。

3.7.2. 共有クォータおよび個別定義されたクォータ

SuperUser パーミッションを持つユーザーは、個々のユーザーのクォータまたはグループのクォータを作成できます。

Active Directory ユーザーに対してグループクォータを設定できます。ユーザー数が 10 人のグループに 1 TB のストレージのクォータが割り当てられている場合、10 人のユーザーのうち 1 人が 1 TB をすべて使用すると、グループ全体がクォータを超過したことになり、10 人のユーザーのうち誰も自分のグループに関連するストレージを使用できなくなります。

個人ユーザーのクォータは、個人に対してのみ設定されます。個々のユーザーが自分のストレージまたはランタイムクォータをすべて使い切ると、ユーザーはクォータを超過し、ユーザーは自分のクォータに関連付けられたストレージを使用できなくなります。

3.7.3. クォータの計算

クォータがコンシューマーまたはリソースに割り当てられると、そのコンシューマーによる各アクションや、ストレージ、vCPU、メモリーに関連するリソースに対する各アクションにより、クォータの消費または解放が発生します。

クォータは、ユーザーによるリソースへのアクセスを制限する際の上限として機能するため、クォータの計算は、ユーザーによる現在の使用状況とは異なる場合があります。クォータは、現在の使用量ではなく、使用できる上限が計算されます。

例3.15 計算例

ユーザーが、1 つの vCPU と 1024 MB のメモリーを備えた仮想マシンを実行したとします。このアクションは、そのユーザーに割り当てられた 1 つの vCPU と 1024 MB のクォータを消費します。仮想マシンが停止すると、1 つの vCPU と 1024 MB の RAM が解放され、そのユーザーに割り当てられたクォータに戻ります。実行時のクォータ消費は、実際にコンシューマーが実行している間だけ計算に反映されます。

あるユーザーが 10 GB の仮想シンプロビジョンディスクを作成したとします。実際のディスク使用量としては、そのディスクが持つ 10 GB のうち 3 GB のみと表示されるかもしれません。しかし、クォータ消費量はそのディスクで使用できる上限であるため、10 GB になります。

3.7.4. データセンターにおけるクォータモードの有効化および変更

この手順では、データセンターのクォータモードを有効または変更します。クォータを定義する前に、クォータモードを選択する必要があります。この手順を実行するには、管理ポータルにログインする必要があります。

Audit モードを使用して、クォータをテストし、期待通りに動作することを確認します。クォータを作成または変更するために、クォータを Audit モードにする必要はありません。

手順

  1. データセンターの ComputeData Centers をクリックして、データセンターを選択します。
  2. Edit をクリックします。
  3. Quota Mode ドロップダウンリストで、クォータモードを Enforced に変更します。
  4. OK をクリックします。

テスト中にクォータモードを Audit に設定した場合、クォータ設定を有効にするには、クォータモードを Enforced に変更する必要があります。

3.7.5. 新しいクォータポリシーの作成

Audit モードまたは Enforcing モードのいずれかでクォータモードを有効にしました。データセンターのリソース使用量を管理するためのクォータポリシーを定義する必要があります。

手順

  1. AdministrationQuota をクリックします。
  2. Add をクリックします。
  3. Name フィールドおよび Description フィールドに入力します。
  4. Data Center を選択します。
  5. Memory & CPU セクションで、緑のスライダーを使用して Cluster Threshold を設定します。
  6. Memory & CPU セクションで、青のスライダーを使用して Cluster Grace を設定します。
  7. All Clusters または Specific Clusters ラジオボタンをクリックします。Specific Clusters を選択した場合は、クォータポリシーを追加するクラスターのチェックボックスをオンにします。
  8. Edit をクリックします。これにより、Edit Quota ウィンドウが開きます。

    1. Memory フィールドで、Unlimited ラジオボタン (クラスター内のメモリーリソースを無制限に使用できるようにする) を選択するか、limit to ラジオボタンを選択して、このクォータで設定されるメモリーの量を設定します。limit to ラジオボタンを選択した場合は、MB フィールドにメモリークォータをメガバイト (MB) 単位で入力します。
    2. CPU フィールドで、Unlimited ラジオボタンまたは limit to ラジオボタンのいずれかを選択して、このクォータで設定される CPU の量を設定します。limit to ラジオボタンを選択した場合は、vCpus フィールドに vCPU の数を入力します。
    3. Edit Quota ウィンドウで OK をクリックします。
  9. Storage セクションで、緑色のスライダーを使用して Storage Threshold を設定します。
  10. Storage セクションで、青のスライダーを使用して Storage Grace を設定します。
  11. All Storage Domains または Specific Storage Domains ラジオボタンをクリックします。Specific Storage Domains を選択した場合は、クォータポリシーを追加するストレージドメインのチェックボックスをオンにします。
  12. Edit をクリックします。これにより、Edit Quota ウィンドウが開きます。

    1. Storage Quota フィールドで、Unlimited ラジオボタン (ストレージを無制限に使用できるようにする) または limit to ラジオボタンを選択して、クォータがユーザーを制限するストレージの量を設定します。limit to ラジオボタンを選択した場合は、GB フィールドにストレージクォータのサイズをギガバイト (GB) で入力します。
    2. Edit Quota ウィンドウで OK をクリックします。
  13. New Quota ウィンドウで OK をクリックします。

3.7.6. クォータしきい値の設定の説明

表3.5 クォータしきい値と猶予

設定定義

Cluster Threshold

データセンターごとに利用可能なクラスターリソースの量。

Cluster Grace

データセンターのクラスターしきい値を上限まで使用した後、データセンターで使用可能なクラスターの量。

Storage Threshold

データセンターごとに利用可能なストレージリソースの量。

Storage Grace

データセンターのストレージしきい値を上限まで使用した後、データセンターで使用可能なストレージの量。

クォータが 100 GB で、その猶予 (Grace) が 20% に設定されている場合、使用者は 120 GB のストレージを使用した後、ストレージの使用をブロックされます。同じクォータのしきい値 (Threshold) が 70% に設定されている場合、使用者は 70 GB のストレージ消費量を超えると警告を受け取ります (ただし、120 GB のストレージ消費量に達するまでストレージを消費できます)。 しきい値および猶予の両方は、クォータを基準にして設定されます。しきい値はソフト制限と考えることができ、それを超えると警告が生成されます。猶予はハード制限として考えられ、それを超えると、これ以上ストレージリソースを消費できなくなります。

3.7.7. オブジェクトへのクォータの割り当て

仮想マシンへのクォータの割り当て

  1. ComputeVirtual Machines をクリックし、仮想マシンを選択します。
  2. Edit をクリックします。
  3. Quota ドロップダウンリストから、仮想マシンが消費するクォータを選択します。
  4. OK をクリックします。

ディスクへのクォータの割り当て

  1. ComputeVirtual Machinesをクリックします。
  2. 仮想マシンの名前をクリックします。詳細ビューが開きます。
  3. Disks タブをクリックし、クォータに関連付ける予定のディスクを選択します。
  4. Edit をクリックします。
  5. Quota ドロップダウンリストから、仮想ディスクが消費するクォータを選択します。
  6. OK をクリックします。
重要

仮想マシンを機能させるには、仮想マシンに関連付けられているすべてのオブジェクトに対してクォータを選択する必要があります。仮想マシンに関連付けられているオブジェクトのクォータを選択しないと、仮想マシンは機能しません。この状況で Manager が出力するエラーは一般的なものであり、仮想マシンに関連付けられているすべてのオブジェクトにクォータを関連付けていないため、エラーが出力されたかどうかを判断することは困難です。クォータが割り当てられていない仮想マシンのスナップショットを作成することはできません。仮想ディスクにクォータが割り当てられていない仮想マシンのテンプレートを作成することはできません。

3.7.8. クォータを使用してユーザーごとにリソースを制限

この手順では、クォータを使用して、ユーザーがアクセスできるリソースを制限する方法について説明します。

手順

  1. AdministrationQuota をクリックします。
  2. ターゲットクォータの名前をクリックします。詳細ビューが開きます。
  3. Consumers タブをクリックします。
  4. Add をクリックします。
  5. Search フィールドに、クォータに関連付けるユーザーの名前を入力します。
  6. GO をクリックします。
  7. ユーザー名の横にあるチェックボックスを選択します。
  8. OK をクリックします。

しばらくすると、ユーザーが詳細ビューの Consumers タブに表示されます。

3.7.9. クォータの編集

この手順では、既存のクォータを変更する方法について説明します。

手順

  1. AdministrationQuota をクリックして、クォータを選択します。
  2. Edit をクリックします。
  3. 必要に応じてフィールドを編集します。
  4. OK をクリックします。

3.7.10. クォータの削除

この手順では、クォータを削除する方法について説明します。

手順

  1. AdministrationQuota をクリックして、クォータを選択します。
  2. Remove をクリックします。
  3. OK をクリックします。

3.7.11. サービスレベルアグリーメントポリシーの実施

この手順では、サービスレベルアグリーメントの CPU 機能を設定する方法について説明します。

手順

  1. ComputeVirtual Machinesをクリックします。
  2. New をクリックするか、仮想マシンを選択して Edit をクリックします。
  3. Resource Allocation タブをクリックします。
  4. CPU Shares を指定します。使用できるオプションは、LowMediumHighCustom、および Disabled です。High に設定された仮想マシンは、Medium の 2 倍の共有を受け取り、Medium に設定された仮想マシンは、Low に設定された仮想マシンの 2 倍の共有を受け取ります。Disabled は、VDSM が共有の払い出しを決定するために古いアルゴリズムを使用するように指示します。通常、この条件で払い出される共有数は 1020 です。

ユーザーの CPU 消費は、設定したポリシーで制御されるようになりました。