文章目录
- 61 KVM Skylark虚拟机混部-使用及最佳实践
- 61.1 使用Skylark
- 61.1.1 启动服务
- 61.1.2 创建虚拟机
- 61.1.3 虚拟机运行
- 61.2 最佳实践
- 61.2.1 虚拟机业务推荐
- 61.2.2 虚拟机绑核配置
61 KVM Skylark虚拟机混部-使用及最佳实践
61.1 使用Skylark
61.1.1 启动服务
初次启动:
# systemctl start skylarkd
重新启动(修改配置文件后需重启):
# systemctl restart skylarkd
61.1.2 创建虚拟机
Skylark 借助虚拟机 XML 配置文件的partition
标签标识虚拟机优先级属性。
创建低优先级虚拟机,其 XML 需做如下配置:
<domain>
...
<resource>
<partition>/low_prio_machine</partition>
</resource>
...
</domain>
创建高优先级虚拟机,其 XML 需做如下配置:
<domain>
...
<resource>
<partition>/high_prio_machine</partition>
</resource>
...
</domain>
后续创建虚拟机流程和一般流程无异。
61.1.3 虚拟机运行
Skylark 能感知到虚拟机创建事件,纳管所有高、低优先级虚拟机,并围绕 CPU、功耗、LLC/MB 等资源做自动化 QoS 管理。
61.2 最佳实践
61.2.1 虚拟机业务推荐
- 高优先级虚拟机业务推荐:时延敏感类业务,如 web 服务、高性能数据库、实时渲染、机器学习推理等。
- 低优先级虚拟机业务推荐:非时延敏感类业务,如视频编码、大数据处理、离线渲染、机器学习训练等。
61.2.2 虚拟机绑核配置
为了让高优先级虚拟机达到最佳性能,推荐高优先级虚拟机 vCPU 与物理 CPU 一对一绑核。为了让低优先级虚拟机充分利用空闲物理资源,推荐低优先级虚拟机 vCPU 范围绑核,且绑核范围覆盖高优先级虚拟机绑核范围。
同时为了防止出现因高优先级虚拟机长时间占满 CPU 导致低优先级虚拟机无法被调度的情况,需要预留少量低优先级虚拟机专用的 CPU,该部分 CPU 不可让高优先级虚拟机绑定,且要求让低优先级虚拟机绑定。
👍 点赞,你的认可是我创作的动力!
⭐️ 收藏,你的青睐是我努力的方向!
✏️ 评论,你的意见是我进步的财富!