vSphere Proactive HA 設定ガイド:ハードウェア障害が発生する前にVMを自動移行する

VMware tutorial - IT technology blog
VMware tutorial - IT technology blog

会社でESXiホスト8台のVMwareクラスターを引き継いだ当初、iDRAC/iLOの警告監視は完全に手動でした——ベンダーの監視システムからメールを受け取り、SSHで確認し、問題があると判断した場合は手動でVMを別のホストにvMotionする、という流れです。その手順はある金曜の夜まではうまく機能していました。あるホストでPSU redundancyの障害が発生し、誰もメールをタイムリーに受信できませんでした。Standard HAがホストが完全にダウンしてから起動し、VMが落ちてから別のホストで再起動されました——そのホスト上の全ワークロードで実際のダウンタイムは約3〜4分でした。

その障害をきっかけに、Proactive HAについて本格的に調べ始めました——vCenterがホストが実際に障害を起こす前にVMを自動的に移行できる機能で、ベンダー自身の監視システムからのハードウェアヘルス警告シグナルに基づいて動作します。

従来のHAと手動による予防措置の問題点

監視が不足していたわけではありません——DellのiDRACやHPEのiLOは非常に詳細な警告を出します:メモリモジュール障害、PSU劣化、高温、NICエラーなど。問題は警告から行動までの間のギャップにあります。

  • メールで警告を受信 → 誰かが読む → 深刻度を評価 → vMotionするか判断 → 実行
  • 業務時間外:午前2時に警告が送信され、チームが読むのは翌朝8時
  • ハードウェアが劣化状態(PSU 1/2が障害)でも動作は続くが、リスクは非常に高い

標準のvSphere HAはホストがハートビートを失った後にしか反応しません——完全にダウンしてから約12秒のタイムアウトです。その時点でVMはすでにkillされており、別のホストで再起動されます。適切な再接続メカニズムを持たないデータベースやステートフルアプリケーションにとって、数分のダウンタイムは連鎖障害を引き起こすには十分です。

Proactive HAがこの問題を解決できる理由

Proactive HAはvSphere HAの拡張機能で、ベンダーのHardware Health Providerから直接シグナルを受け取ります——vCenterにインストールされたプラグインで、各ホストのiDRAC/iLOと接続します。Providerが問題を検出すると、重大度を評価し、ホストが完全に障害を起こす前にvCenterにシグナルを送信します。

実際のトリガーを見ると、フローは次のようになります:

  1. iDRAC/iLOがハードウェア障害を検知し、Hardware Health Providerに警告を送信
  2. Providerが重大度を分類:Moderate(負荷軽減)またはSevere(即時退避)
  3. vCenterがシグナルを受信 → DRSがVMを正常なホストに移行するようトリガー
  4. ホストは設定に応じてQuarantine ModeまたはMaintenance Modeに隔離される
  5. VMは実行状態のまま移行される——ダウンタイムなし

重要なポイント:VMはホストがまだ生きて安定している間にvMotionされます——ホストが死んでから再起動されるのではありません。

設定前の前提条件

Proactive HAは通常の本番クラスターが既に持っているもの以外に特別なものを要求しません:

  • vCenter Server 6.5以降(Proactive HAはこのバージョンから利用可能)
  • クラスターでvSphere HAが有効になっていること
  • DRSがFully AutomatedまたはPartially Automatedモードであること
  • ハードウェアに対応するHardware Health Providerがインストールおよび登録されていること
  • クラスターにvMotion可能な十分なキャパシティがあること(リソースがタイトでないこと)

各ベンダーには専用のプラグインがあります:

  • Dell: OpenManage Integration for VMware vCenter (OMIVV)
  • HPE: HPE OneView for VMware vCenter (OV4VC)
  • Lenovo: Lenovo XClarity Integrator for VMware vCenter

Proactive HAの設定手順

ステップ1:Hardware Health Providerのインストール

Dell環境を運用しているため、以下ではDell OMIVVを例として使用します:

  1. DellサポートサイトからアプライアンスのOVAをダウンロード(お使いのサーバーモデルで検索)
  2. 通常のVM展開と同様にvCenterにOVAをデプロイ
  3. OMIVVアプライアンスのWeb UIにアクセスしてvCenterに登録
  4. iDRACの認証情報を追加してOMIVVが各ESXiホストからヘルスデータをポーリングできるようにする

登録後、PowerCLIでProviderが認識されているか確認します:

# vCenterに接続
Connect-VIServer -Server vcenter.lab.local -User [email protected]

# クラスターに登録済みのHealth Providerの一覧を表示
$cluster = Get-Cluster -Name "Production-Cluster"
$cluster.ExtensionData.ConfigurationEx.ProactiveDrsConfig

# プロバイダー経由でホストのヘルスステータスを確認
Get-VMHost | Get-View | Select-Object Name, @{N='HealthStatus';E={$_.OverallStatus}}

ステップ2:クラスターでProactive HAを有効化

vSphere Clientで:クラスターを選択 → Configure → vSphere Availability → Edit → Proactive HAタブ → Enable Proactive HAをオン

またはPowerCLIを使用:

# Proactive HAを有効化してオートメーションレベルを設定
$cluster = Get-Cluster "Production-Cluster"
$spec = New-Object VMware.Vim.ClusterConfigSpecEx

$proactiveDrs = New-Object VMware.Vim.ClusterProactiveDrsConfigInfo
$proactiveDrs.Enabled = $true
$proactiveDrs.DrsAutomationLevel = "automatedLevel"  # または "manualLevel"

$spec.ProactiveDrsConfig = $proactiveDrs
$cluster.ExtensionData.ReconfigureComputeResource_Task($spec, $true)

Write-Host "Proactive HA enabled on cluster: $($cluster.Name)"

ステップ3:適切なRemediation Modeの選択

Moderateアラート(ハードウェアが劣化しているが重大ではない状態)では2つの対処方法があります:

  • Quarantine Mode:ホストは現在のVMを引き続き実行しますが、DRSからの新しいVMは受け付けません。チームはすぐに退避せずにハードウェアを対処する時間があります。
  • Maintenance Mode:ホストからすべてのVMをvMotionし、ホストをメンテナンス状態にします。Severeアラートに使用します。

私の設定:Moderate → Quarantine Mode、Severe → Maintenance Mode。この方法は安全性と不要なvMotionを避けることのバランスを取ります。

ステップ4:Automatedにする前のテスト

すぐにAutomatedにしないでください。まずManualモードで実行し、システムがどのように反応するか数日間観察します:

# Proactive HAシグナル後のDRS推奨事項を確認
Get-Cluster "Production-Cluster" | Get-DrsRecommendation | 
  Where-Object { $_.Reason -match "Proactive" } |
  Select-Object VMotionPriority, Reason, @{N='VM';E={$_.VirtualMachine.Name}}

# vCenterのProactive HAイベントを監視
Get-VIEvent -MaxSamples 200 | 
  Where-Object { $_.FullFormattedMessage -match "Proactive" } |
  Select-Object CreatedTime, FullFormattedMessage |
  Format-Table -Wrap

Dellサーバーで最も素早くテストする方法:冗長PSUケーブルの1本を抜きます。サーバーは正常に動作し続けます。iDRACがすぐにPSU redundancy lostを報告——OMIVVがアラートを受信し、Proactive HAが推奨事項をトリガーします。DRSが何を提案するか、ホストがQuarantine Modeに入るかどうかを観察し、その後PSUを接続し直します。

実際の運用経験からのベストプラクティス設定

1. 自動移行すべきでないVMを除外する

ライブマイグレーションをうまくサポートしないレガシーVMやバックアップジョブを実行中のVMは、例外リストに追加する必要があります。Proactive HAはトリガー時にこれらのVMをスキップします:

# VMを例外リストに追加 - Proactive HAはこのVMを自動移行しない
$vm = Get-VM "legacy-app-01"
$spec = New-Object VMware.Vim.ClusterConfigSpecEx

$vmOverride = New-Object VMware.Vim.ClusterDasVmConfigSpec
$vmOverride.Operation = [VMware.Vim.ArrayUpdateOperation]::add
$vmOverride.Info = New-Object VMware.Vim.ClusterDasVmConfigInfo
$vmOverride.Info.Key = $vm.ExtensionData.MoRef
$vmOverride.Info.DasSettings = New-Object VMware.Vim.ClusterDasVmSettings
$vmOverride.Info.DasSettings.VmToolsMonitoringSettings = New-Object VMware.Vim.ClusterVmToolsMonitoringSettings

$spec.DasVmConfigSpec = @($vmOverride)
(Get-Cluster "Production-Cluster").ExtensionData.ReconfigureComputeResource_Task($spec, $true)
Write-Host "VM override applied for: $($vm.Name)"

2. Admission controlを十分に広く保つ

8ホストのクラスターでは、admission controlを2ホスト障害に対応できるように設定しています——25%のキャパシティを予約することと同等です。Proactive HAはDRSが実際に移行する空きがある場合にのみ機能します。クラスターのリソースが満杯の場合、トリガーされても何もできません。

# 現在のadmission controlを確認
$cluster = Get-Cluster "Production-Cluster"
$cluster.ExtensionData.ConfigurationEx.DasConfig.AdmissionControlPolicy |
  Select-Object FailoverLevel, @{N='Policy';E={$_.GetType().Name}}

3. Proactive HAアクション用の専用アラートを作成する

VMが安全に移行されたからといって作業完了ではありません——ホストのハードウェアはまだ修理が必要です。vCenterにAlarmを作成してProactive HAイベント発生時に通知し、トリガーがいつ発生してもチームがタイムリーに対処できるシグナルを確保します。

8ホストクラスターでの展開後の結果

Proactive HAを有効にして以来、私のクラスターで3回の実際のハードウェアアラートがありました:

  • PSU redundancy障害2回(Moderateアラート):OMIVVがシグナルを送信 → ホストがQuarantine Modeに入る → DRSがそのホストに新しいVMをスケジュールしない → チームが通知を受け取り、午前中をかけてハードウェアを対処、実行中のVMには一切影響なし
  • メモリモジュール障害1回(Severeアラート):Proactive HAがホスト上の12台のVM全てのvMotionをトリガー → 約10分で完了 → ホストがMaintenance Modeに入る → ユーザーは何も気づかず

DellまたはHPEを運用していてOMIVV/OneViewをまだインストールしていない場合は、サードパーティの監視ツールよりも先にこれをセットアップすることを優先すべきです。vCenterに直接統合され、人手を必要とせず自動で対処します——午前2時に必要なまさにそれです。

Share: