核心内容摘要
5步搞定!深度学习项目训练环境镜像使用全攻略
本文整合了 vSphere
1 环境中的三项特色实战方案通过隐藏 API 实现 vCenter 告警的自动确认与重置、无需 Enterprise Plus 许可和 vCenter 即可启用 SIOC 功能以及在 Dropbox 云存储上运行虚拟机的趣味实践为运维人员提供多样化的技术参考。
vCenter 告警自动化调用隐藏 API 实现确认与重置在 vSphere Client 中右键点击告警即可完成 “确认告警” 和 “重置为绿色状态” 操作但 vSphere SDK for Perl 默认仅支持AcknowledgeAlarm(确认告警)API重置告警的方法未公开。
通过挖掘隐藏 API可实现全流程自动化。
隐藏 API 挖掘过程查找线索vSphere Client 安装目录下的C:\Program Files\VMware\Infrastructure\Virtual Infrastructure Client\
1\Catalogs\Default\vim\task.vmsg文件中发现隐藏 API 方法setAlarmStatus其描述为 “设置实体的告警状态”。
验证方法通过 vSphere MOB 查看该方法的参数要求确认其用于重置告警;使用 Onyx 工具捕获 vSphere Client 操作的 API 调用验证重置告警时确实触发了setAlarmStatus方法。
集成隐藏 API 到 vSphere SDK for Perl需修改两个 Perl 模块文件(以 vMA
1 为例需用sudo权限编辑)修改 VIM25Runtime.pm路径/usr/lib/perl5/
5.
8/VMware/VIM25Runtime.pm添加SetAlarmStatus方法定义参考AcknowledgeAlarm的格式。
修改 VIM25Stub.pm路径/usr/lib/perl5/
5.
8/VMware/VIM25Stub.pm添加方法原型及参数定义参数需与 MOB 中显示的要求一致。
自动化脚本使用下载脚本alarmManagement.pl;核心功能列出所有红色 / 黄色状态的触发告警、自动确认告警、通过隐藏 API 重置告警;操作示例列出触发告警执行脚本后自动展示所有异常状态的告警信息;确认并重置告警指定告警 ID脚本调用AcknowledgeAlarm和setAlarmStatus完成全流程。
注意AcknowledgeAlarm API 已在 vSphere
x 及以上版本公开无需手动集成。
突破限制无需 Enterprise Plus 许可和 vCenter 启用 SIOCVMware 官方宣称 SIOC(存储 I/O 控制)需 Enterprise Plus 许可和 vCenter Server但通过 vsish 工具可直接在 ESXi
1 主机上启用该功能无需依赖上述条件。
核心原理SIOC 的核心控制逻辑位于 ESXi 主机本地vCenter 仅用于图形化配置。
通过 vsish 工具修改存储设备的iormState参数可直接启用 SIOC且该操作不依赖特定许可等级。
实操步骤(
开启 SIOC 日志监控进入 ESXi 技术支持模式设置 SIOC 日志级别(便于验证状态)bash esxcfg-advcfg -s 2 /Misc/SIOControlLogLevel开启日志监听过滤storageRM标签(SIOC 相关日志) bash tail -f /var/log/messages | grep storageRM初始状态下iormEnabled0表示 SIOC 未启用。
(
通过 vsish 启用 SIOC查看目标存储设备路径bash vsish -e ls /storage/scsifw/devices/查看当前iormState值(默认通常为 1596 或
bash vsish -e get /storage/scsifw/devices/[设备路径]/iormStateincrementiormState值 1(如 1596→
2000→
启用 SIOCbash vsish -e set /storage/scsifw/devices/[设备路径]/iormState [新值]验证日志中iormEnabled变为 1且 VMFS 数据存储中会生成.iormstats.sf latency 统计文件表明 SIOC 已启用。
关键说明适用范围仅支持 ESXi
1经典 ESX
1 无 vsish 工具无法使用;
注意事项通过该方法启用后vCenter 不会识别到 SIOC 已启用若需 vCenter 管理需通过 vCenter 重新配置;功能验证在两台免费许可的 ESXi
1 主机上测试设置不同虚拟机的磁盘份额SIOC 可正常根据份额调整 I/O 优先级队列深度会随 latency 动态调整。
趣味实践在 Dropbox 云存储上运行虚拟机Dropbox 支持跨设备文件同步可将小型虚拟机上传至 Dropbox通过多台 ESX 主机访问并运行实现简单的跨主机虚拟机容灾(非生产环境适用)。
前置准备一个 Dropbox 账号(免费账号 2GB 存储空间足够运行小型 Linux VM);创建小型虚拟机推荐 Debian 等轻量 Linux 系统磁盘容量控制在 1GB 左右;在 ESX 主机上配置 Dropbox 客户端确保能访问 Dropbox 存储目录。
操作步骤上传虚拟机将虚拟机的.vmx、.vmdk 等文件上传至 Dropbox 目录;注册并运行 VM在第一台 ESX 主机(如 “west”)上通过 vSphere Client 注册 Dropbox 目录中的虚拟机成功启动后可正常运行;跨主机容灾测试关闭 “west” 主机的虚拟机;在第二台 ESX 主机(如 “east”)上注册 Dropbox 中相同的虚拟机并启动虚拟机可快速恢复运行配置和数据与之前一致。
3.