コンピュート・サービスでの高可用性の構成

管理者は、計画済または計画外のコンピュート・ノードの停止に応じてコンピュート・サービスがインスタンスを使用できるようにする方法を制御するパラメータを設定できます。コンピュート・サービスの高可用性設定は、すべてのコンピュート・インスタンスに影響し、個々のインスタンス・リカバリ設定と対話します。

計画メンテナンスを実行する必要がある場合、コンピュート・ノードは退避されます。可能な場合、コンピュート・サービスは、実行中のすべてのインスタンスを同じフォルト・ドメイン内の他のコンピュート・ノードにライブ移行します。このデフォルト・シナリオを実行できない場合、コンピュート・サービスのレベルおよび個々のインスタンスの高可用性(HA)パラメータによって、影響を受けるコンピュート・インスタンスを移行、停止およびリカバリするための追加のオプションが決定されます。

計画外のコンピュート・ノードの停止の場合、コンピュート・サービスはインスタンスを停止し、停止が続く場合は、影響を受けるインスタンスを他のコンピュート・ノードで再起動してコンピュート・ノードの退避を試みます。この自動化されたコールド移行は、リブート移行と呼ばれます。

インスタンスおよびコンピュート・サービスの高可用性構成

コンピュート・サービスの高可用性(HA)構成を使用すると、様々なタイプのコンピュート・ノード停止の結果を管理できます。インスタンス可用性リカバリ・アクションは、各インスタンスに設定されている唯一の高可用性構成です。その他の高可用性構成はすべてComputeサービスに設定され、すべてのインスタンスに影響します。

選択されたフォルト・ドメインは、インスタンス構成で指定されたフォルト・ドメインです。置き換えられたインスタンスは、その選択したフォルト・ドメインではないフォルト・ドメインにあります。

計画メンテナンス停止

コンピュート・ノードを退避する方法の詳細は、コンピュート・ノードのメンテナンス操作を参照してください。可能な場合、コンピュート・サービスは、実行中のインスタンスを同じフォルト・ドメイン内の他のコンピュート・ノードにライブ移行します。このセクションでは、コンピュートノードの退避を実行するときにコンピュートサービスのインスタンス可用性回復アクション(各インスタンスで設定)を使用する方法と、自動回復および自動解決のプロパティーについても説明します。

計画外停止

コンピュート・サービスは、次のコンピュート・ノードの停止条件下でインスタンスの停止および再起動移行を試行します。

  • ハードウェアステータスからの電源切断

  • 計算ノード・データ・ネットワークに到達できません

コンピュート・ノードで、コンピュート・サービスがインスタンスを移行できない停止が発生する可能性があります。たとえば、コンピュート・サービスがコンピュート・ノードにまったく到達できない場合、コンピュート・サービスはインスタンスを停止および再起動できません。

計画外停止が5分未満

計画外停止の場合、コンピュート・サービスは影響を受けるインスタンスを停止します。停止が5分未満の場合、コンピュート・サービスでは、停止前に実行されていたインスタンスの再起動がデフォルトで試行されます。実際の動作は、インスタンスとコンピュート・サービスの構成方法によって異なります。次の決定フローでは、この動作を制御する方法について説明します。

停止前に実行されていたインスタンスの再起動をComputeサービスで試行しますか。これがデフォルト値です。

  • はい。自動リカバリが有効で、インスタンスの可用性リカバリ・アクションがRESTORE_INSTANCEに設定されていることを確認します。停止したインスタンスのリカバリ状態の構成を参照してください。

    選択したフォルト・ドメインに一部のインスタンスを収容できなくなった場合、自動リカバリでは引き続きポーリングが行われ、インスタンスの再起動が試行されます。getForcedStoppedInstancesも参照してください。

    インスタンス可用性リカバリ・アクションがSTOP_INSTANCEに設定されている場合、自動リカバリが有効な場合でも、インスタンスは停止したままになります。

  • 番号自動リカバリを無効にします。停止前に実行されていたインスタンスは停止したままになります。

インスタンス可用性リカバリ・アクションの設定および自動リカバリの設定はいつでも変更でき、変更は次回のポーリング時に有効になります。

5分を超える計画外停止

計画外停止の場合、コンピュート・サービスは影響を受けるインスタンスを停止します。停止が5分以上続く場合、コンピュート・サービスはデフォルトで、コンピュート・ノードからインスタンスのリブート移行(コールド・マイグレーション)を試行します。同じフォルト・ドメイン内の他のコンピュート・ノードに対応できないインスタンスは、他のフォルト・ドメインに再起動移行されます。実際の動作は、コンピュート・サービスの構成方法によって異なります。次の決定フローでは、この動作を制御する方法について説明します。

実行中のインスタンスを再起動移行しますか。リブート移行は、特定のコンピュート・ノードで実行中の各インスタンスを停止して起動しています。コンピュート・インスタンスの高可用性構成も参照してください。

  • はい。VM高可用性が有効になっていることを確認します。

    同じフォルト・ドメイン内の別のコンピュート・ノードにインスタンスを収容できない場合、それらのインスタンスを別のフォルト・ドメインに再起動移行しますか。

    • はい。「Strict FD」が無効になっていることを確認します。どのフォルト・ドメインにも対応できないインスタンスは、Computeサービスによって停止されたままです。

      リブート移行後に、選択したフォルト・ドメインではないフォルト・ドメインで実行中のインスタンスを、リソースが使用可能になったときに、選択したフォルト・ドメインに自動的にライブ移行しますか。

      • はい。自動解決が有効になっていることを確認します。getDisplacedInstancesも参照してください。

      • 番号自動解決を無効にします。

    • 番号「Strict FD」を有効にします。停止前に実行されていて、現在のフォルト・ドメイン内の別のコンピュート・ノードに移行できないインスタンスは、Computeサービスによって停止されたままです。

  • 番号VMの高可用性を無効にします。停止前に実行されていたインスタンスは、Computeサービスによって停止されます。

コンピュート・サービスによって停止されたインスタンスを、選択したフォルト・ドメインで実行するように自動的にリストアしますか。はいの場合、自動リカバリが有効で、インスタンスの可用性リカバリ・アクションがRESTORE_INSTANCEに設定されていることを確認します。停止したインスタンスのリカバリ状態の構成を参照してください。

コンピュート・サービス構成の表示および設定

これらの構成設定の仕組みの詳細は、コンピュート・サービス構成コマンドを参照してください。

サービスWeb UIの使用

ナビゲーション・メニューで、「FD Instances」をクリックし、「Compute Service Detail」をクリックします。

コンピュート・サービス情報ページには、自動リカバリ、配置されていないインスタンスの自動解決、VM高可用性および厳密なFDの現在の設定が表示されます。これらの設定は、デフォルトで無効になっているStrict FDを除き、デフォルトで有効になっています。デフォルトでは、コンピュート・サービスがインスタンスを移行する場合、フォルト・ドメインの配置は厳密には適用されません。

「Compute Service Information」ページの「Controls」メニューを使用して、これらの構成設定の値を「Enabled」と「Disabled」の間で変更します。

サービスCLIの使用

show computeserviceコマンドを使用して、現在のコンピュート・サービス構成設定を表示します。次の例では、4つの高可用性構成設定(Auto Recovery Action EnabledAuto-Resolve Displaced Instances EnabledVM High Availability EnabledおよびStrict FD Enabled)のデフォルト値が設定されています。デフォルトでは、Strict FD Enabledを除き、これらの設定はすべてtrueです。デフォルトはfalseです。

PCA-ADMIN> show computeservice
Data:
 Id = unique_ID
 Type = ComputeService
 total CN cpu usage percent = 23.3
 total CN memory usage percent = 16.2
 Auto Recovery Action Enabled = true
 Auto-Resolve Displaced Instances Enabled = true
 VM High Availability Enabled = true
 Strict FD Enabled = false
 Name = Compute Service
 Work State = Normal

これらの設定を変更するには、次のリストのコマンドを使用します。showcustomcmds computeserviceコマンドは、コンピュート・サービス内のすべての高可用性構成コマンドをリストします。

PCA-ADMIN> showcustomcmds computeservice
    enableAutoRecoveryAction
    disableAutoRecoveryAction
    enableAutoResolveDisplacedInstances
    disableAutoResolveDisplacedInstances
    enableVmHighAvailability
    disableVmHighAvailability
    enableStrictFD
    disableStrictFD
    getForcedStoppedInstances
    getDisplacedInstances

たとえば、Auto Recovery Action Enabledを無効にするには、disableAutoRecoveryActionコマンドを実行します。厳密なフォルト・ドメイン強制を有効にするには、enableStrictFDコマンドを実行します。

Computeサービス構成コマンド

コンピュートサービスのHA構成用のサービス CLIコマンドを次のリストに示します。同等のサービスWeb UI設定にアクセスするには、ナビゲーション・メニューをクリックし、「FDインスタンス」をクリックします。コンピュート・サービス構成の表示および設定を参照してください。

これらの説明では、選択されたフォルト・ドメインは、インスタンス構成で指定されたフォルト・ドメインです。置き換えられたインスタンスは、その選択したフォルト・ドメインではないフォルト・ドメインにあります。

enableAutoRecoveryAction

コンピュート・サービスによって停止されたインスタンスの自動再起動を有効にします。これがデフォルト値です。インスタンスの可用性リカバリ・アクションがRESTORE_INSTANCEに設定されている場合、このコマンドにより、コンピュート・サービスによって停止されたインスタンスは、リソースが使用可能になったときに、選択したフォルト・ドメインで自動的に再起動されます。「停止したインスタンスのリカバリ状態の構成」およびgetForcedStoppedInstancesも参照してください。

インスタンスは、次の理由でComputeサービスによって停止された可能性があります。

  • すべての移行操作で強制オプションを指定した結果、一部のインスタンスを移行できませんでした。コンピュート・ノードのメンテナンス操作を参照してください。

  • 計画外のコンピュート・ノード停止の結果。

この自動リカバリ・プロパティは、管理メンテナンスの停止前または計画外停止後にいつでも設定して、コンピュート・サービスによって停止されたインスタンスを再起動できます。インスタンス可用性リカバリ・アクションがSTOP_INSTANCEに設定されている場合、「自動リカバリ」プロパティが有効になっている場合でも、インスタンスは停止したままになります。インスタンスの可用性リカバリ・アクションが後でRESTORE_INSTANCEに変更されると、後続の自動リカバリ・パスによってインスタンスが再起動されます。

disableAutoRecoveryAction

停止したインスタンスの自動再起動を無効にします。コンピュート・サービスによって停止されたインスタンスは、リソースが使用可能な場合、自動的に再起動されません。

enableAutoResolveDisplacedInstances

選択したフォルト・ドメインに実行中のインスタンスを戻すことができます。これがデフォルト値です。コンピュート・ノードの退避中にインスタンスが別のフォルト・ドメインに移動(配置解除)された場合、このコマンドは、そのフォルト・ドメインで十分なリソースが使用可能になると、それらのインスタンスを選択したフォルト・ドメインに自動的にライブ移行できるようにします。getDisplacedInstancesも参照してください。

この自動解決構成は、停止の前または後にいつでも設定して、置き換えられたインスタンスを再配置できます。停止したインスタンスは移行されません。

disableAutoResolveDisplacedInstances

選択したフォルト・ドメインへのインスタンスの返却を無効にします。コンピュート・ノードの退避中に別のフォルト・ドメインに移動されたインスタンスは、移動先のフォルト・ドメインに残ります。

enableVmHighAvailability

アクセスできないコンピュート・ノードから高可用性(再起動移行)を有効にします。これがデフォルト値です。

disableVmHighAvailability

リブート移行を無効にします。

enableStrictFD

厳密なフォルト・ドメイン強制を有効にします。コンピュート・ノードの退避中に、強制オプションが指定されている場合、同じフォルト・ドメイン内の別のコンピュート・ノードに移動できないインスタンスは停止されます。forceオプションを指定しなかった場合、移行操作は失敗します。

disableStrictFD

厳密なフォルト・ドメインの強制を無効にします。これがデフォルト値です。コンピュート・ノードの退避中に、同じフォルト・ドメイン内の別のコンピュート・ノードに移動できないインスタンスは、別のフォルト・ドメインに移動されます。Computeサービスの「Auto Resolve」プロパティが有効になっている場合、別のフォルト・ドメインへのこの移動は一時的なものです: 「Auto Resolve」が有効になっている場合、リソースが使用可能になると、移動したインスタンスは、選択したフォルト・ドメインにライブ移行されます。getDisplacedInstancesも参照してください。

getForcedStoppedInstances

移行操作で強制オプションの使用によって停止されたインスタンス、または計画外の停止に対応してコンピュート・サービスによって停止されたすべてのインスタンスをリストします。

PCA-ADMIN> getForcedStoppedInstances
Data:
 id                        displayName  compartmentId
 --                        -----------  -------------
 ocid1.instance.unique_ID  inst-name    ocid1.compartment.unique_ID

サービスWeb UIで、ナビゲーションメニューをクリックし、[FDインスタンス]をクリックしてから、[強制停止されたインスタンス]をクリックします。「アクション」メニューを使用して、OCIDsをコピーします。

getDisplacedInstances

選択したフォルト・ドメインではないフォルト・ドメインで現在実行されているインスタンスをリストします。実行されていないインスタンスは表示されません。

次の例では、実行中のインスタンスがフォルト・ドメイン1から移行されています。1つのインスタンスがフォルト・ドメイン2に配置され、1つがフォルト・ドメイン3に配置されています。

PCA-ADMIN> getDisplacedInstances
Data:
 id                        displayName  compartmentId                faultDomain     faultDomainSelected
 --                        -----------  -------------                -----------     -------------------
 ocid1.instance.unique_ID  inst-name    ocid1.compartment.unique_ID  FAULT-DOMAIN-3  FAULT-DOMAIN-1
 ocid1.instance.unique_ID  inst-name    ocid1.compartment.unique_ID  FAULT-DOMAIN-2  FAULT-DOMAIN-1

サービスWeb UIで、ナビゲーション・メニューをクリックし、「FD Instances」をクリックしてから、「Displaced Instances」をクリックします。「アクション」メニューを使用して、OCIDsをコピーします。

停止したインスタンスのリカバリ状態の構成

コンピュート・サービスがインスタンスを停止した場合、コンピュート・サービスのインスタンス可用性リカバリ・アクションおよび自動リカバリ・プロパティを設定することで、リソースを再度使用可能にしたときに停止したインスタンスの処理方法を構成できます。

コンピュート・サービスによってインスタンスを停止できる理由は、コンピュート・サービス構成コマンドenableAutoRecoveryActionコマンドの説明を参照してください。disableAutoRecoveryActionおよびgetForcedStoppedInstancesの説明も参照してください。

インスタンスの起動時または後続のインスタンス更新時に、インスタンスの可用性構成でインスタンス・リカバリ・アクションを設定します。

Compute Web UIで、ダイアログの可用性構成に関する項を参照して、インスタンスを作成または編集したり、インスタンス構成を作成または編集します。コンピュート・サービスによって停止されたインスタンスを再起動するには、「インフラストラクチャ・メンテナンス後にインスタンス・ライフサイクル状態をリストア」というラベルのボックスを選択します。これがデフォルト値です。停止したインスタンスを停止させるには、「インスタンスのリストア」ボックスの選択を解除します。

OCI CLIでは、コンピュート・インスタンスのlaunchまたはupdateコマンド、またはインスタンス構成のcreateまたはupdateコマンドで、--availability-configオプションまたはavailabilityConfigプロパティを使用します。recoveryActionRESTORE_INSTANCEまたはSTOP_INSTANCEに設定します。デフォルトの動作はRESTORE_INSTANCEです。

"availabilityConfig": {"recoveryAction": "STOP_INSTANCE"}

厳密なフォルト・ドメイン強制の有効化

厳密なフォルト・ドメイン強制を有効にするには、次のいずれかを実行します:

  • サービスWeb UIで、ナビゲーションメニューをクリックし、[FDインスタンス]をクリックして、[Compute Service Detail]をクリックします。「Compute Service Information」ページで、「Controls」メニューをクリックし、「Enable Strict FD」をクリックします。

  • サービスCLIで、enableStrictFDコマンドを実行します。

フォルト・ドメイン強制の影響の詳細は、コンピュート・サービス構成コマンドを参照してください。

現在のフォルト・ドメインに、移行する必要のあるすべてのインスタンスに対応するための十分なリソースがない場合は、次の手順を実行します。

  • 計画されたコンピュート・ノードの退避を実行する場合は、移行操作で強制オプションを指定して、現在のフォルト・ドメイン内のインスタンスを停止します。

  • enableAutoRecoveryActionコマンドを実行するか、サービスWeb UIで「自動リカバリの有効化」を選択します。

  • 各インスタンスのインスタンス可用性リカバリ・アクションが、デフォルトであるRESTORE_INSTANCEに設定されていることを確認します。停止したインスタンスのリカバリ状態の構成を参照してください。

コンピュート・ノードの退避の例を参照してください。