この投稿では、RHEVM がストレージの健全性を監視する方法を詳しく説明します。
ストレージ プール マネージャーの状態を監視する
Storage Pool Manager (SPM) は、データ センター内のホストの 1 つに割り当てられる管理役割であり、データ センターのストレージ ドメインを管理できるようにします。 RHEVM は、SPM ポーリングレート 10 秒ごとに SPM の可用性とメタデータの整合性をチェックします。
これらのエンジン構成は、次のように確認できます。特定のユース ケースでサポート エンジニアが推奨しない限り、以下のパラメータを変更することはお勧めしません:
$ engine-config -g StoragePoolRefreshTimeInSeconds StoragePoolRefreshTimeInSeconds: 10 version: general $ engine-config -g SpmCommandFailOverRetries SpmCommandFailOverRetries: 3 version: general $ engine-config -g SPMFailOverAttempts SPMFailOverAttempts: 3 version: general $ engine-config -g DelayResetForSpmInSeconds DelayResetForSpmInSeconds: 20 version: general
ストレージ ドメインの状態を監視する
ストレージドメインの健全性は、RHEVM エンジンと KVM Vdsm の両方によって監視されます。
1. RHEVM はストレージドメインを監視します
RHEVM がホストのステータスをポーリングする時間間隔 (秒単位) は、デフォルトで 3 秒です。プロセス中に、ストレージのステータスがチェックされます。 getRepoStats レポートのコードがゼロでないか、lastcheck(statsGenTime – domStatus.checkTime) が MaxStorageVdsTimeoutCheckSec (デフォルトで 30 秒) よりも長い場合、ストレージ ドメインに問題が生じ、ドメインのタイマーが開始されます。ストレージ ドメインの障害タイムアウトは StorageDomainFailureTimeoutInMinutes (デフォルトは 5 分) です。この間に問題のあるストレージ ドメインのステータスが回復しない場合、ホストは非稼働として設定されます。その間に問題のあるドメインが復旧すると、RHEVM は KVM ホストを自動的にアクティブ化します。
関連するエンジン構成は次のとおりです:
$ engine-config -g VdsRefreshRate VdsRefreshRate: 3 version: general $ engine-config -g StorageDomainFailureTimeoutInMinutes StorageDomainFailureTimeoutInMinutes: 5 version: general $ engine-config -g MaxStorageVdsTimeoutCheckSec MaxStorageVdsTimeoutCheckSec: 30 version: general $ engine-config -g MaxStorageVdsDelayCheckSec MaxStorageVdsDelayCheckSec: 5 version: general
2. KVM ホスト モニター ストレージの健全性:
KVM ホストがストレージ ドメインにアクセスできない場合、操作不能になります。 Vdsm は、sd_health_check_delay 監視間隔でストレージを更新します。 getStorageDomainStats を呼び出して dom.getStats からドメインのステータスを取得し、そのステータスを _getDomsStats の repoStats 経由で RHEVM に返します。 /etc/vdsm/vdsm.conf で repo_stats_cache_refresh_timeout と sd_health_check_delay の両方を構成できます .