监控存储域运行状况
存储域运行状况由 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。
repo_stats_cache_refresh_timeout 和 sd_health_check_delay 都可以在 /etc/vdsm/vdsm.conf 中配置。
监控存储池管理器运行状况
存储池管理器 (SPM) 是分配给数据中心中的一台主机的管理角色,使其能够管理数据中心的存储域。
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 如何监控存储健康。