vSphere资源管理:vMotion与DRS深度解析
在虚拟化环境中,资源的有效管理和分配至关重要。vMotion和Storage vMotion的结合,以及vSphere Distributed Resource Scheduler (DRS) 的运用,为我们提供了强大的工具来实现这一目标。
vMotion与Storage vMotion结合
从vSphere 5.1开始,vMotion和Storage vMotion可以结合成一个单一的过程,也就是所谓的无共享vMotion。这一特性允许VMware管理员在不依赖昂贵的共享存储(如NAS或SAN)的情况下,将工作负载在不同主机之间迁移,且不受存储类型的限制,本地存储、混合共享存储或标准共享存储都可以使用。
一般来说,结合vMotion和Storage vMotion的唯一要求是两个主机必须共享相同的L2(二层)网络,并且需要使用vSphere Web Client,因为传统的vSphere Client未启用此功能。下面通过几个例子来详细说明不同存储场景下的数据流动情况:
-
示例1:双主机本地存储
- 两个主机通过单一vMotion网络连接,且都使用本地数据存储。
- 迁移VM时,先进行存储迁移,因为硬盘通常比内存大且速度慢,所以存储迁移所需时间比内存迁移长。存储迁移完成后,再进行内存复制。所有数据都通过同一个vMotion VMkernel网络传输。
-
示例2:本地存储与SAN存储混合
- 两个主机通过单一vMotion网络连接,一个使用本地数据存储,另一个使用SAN数据存储。
- 数据流动与示例1类似,只是接收数据的主机将数据推送到SAN存储网络,而不是本地数据存储。
-
示例3:共享Fibre Channel SAN存储
- 两个主机通过单一vMotion网络连接,且都使用共享的Fibre Channel SAN数据存储。
- vMotion网络负责传输内存数据,而Storage vMotion会智能地检测到两个主机都能看到源和目标数据存储,因此会使用存储网络而不是vMotion网络来迁移数据。
以下是使用结合vMotion和Storage vMotion将VM迁移到不同主机和数据存储的具体步骤:
1. 若Web Client未运行,则启动它。
2. 导航到“主机和集群”或“虚拟机和模板”视图。
3. 在左侧的清单树中,右键单击要迁移虚拟磁盘的VM,然后选择“迁移”。此时会打开一个对话框,用于启动vMotion和Storage vMotion操作。
4. 选择“更改主机和数据存储”,然后点击“下一步”。如果集群主机是vSphere 5.0或更早版本,此选项将变灰不可用。
5. 选择目标资源,然后点击“下一步”。
6. 选择要将VM迁移到的主机,然后点击“下一步”。
7. 选择目标数据存储或数据存储集群。
8. 选择所需的虚拟磁盘格式(与源格式相同、厚置备延迟置零、厚置备立即置零或精简置备),然后点击“下一步”继续。
9. 如有需要,更改vMotion优先级,然后点击“下一步”查看更改。
10. 最后,查看即将进行的更改,然后点击“完成”。
在结合vMotion和Storage vMotion时,先进行存储迁移,原因有二:一是硬盘比内存大且速度慢,存储迁移所需时间更长;二是磁盘存储的变化率通常比内存小。如果先进行vMotion操作,在等待Storage vMotion任务完成时,内存位图文件会变得更大。
vMotion和Storage vMotion(或两者结合)是手动调整资源负载或利用率的有效方法,但它们本质上是被动工具。vSphere DRS和Storage DRS则利用vMotion和Storage vMotion实现自动化,帮助平衡集群间的利用率。
vSphere分布式资源调度器(DRS)
vMotion和Storage vMotion是手动平衡VMware ESXi主机负载的方法,而vSphere Distributed Resource Scheduler (DRS) 则在此基础上实现了负载平衡的自动化。
DRS是vCenter Server的一个功能,主要有两个功能:
- 当VM开机时,决定集群中的哪个节点应该运行该VM,即智能放置。
- 随着时间的推移评估集群的负载,要么为迁移提供建议,要么使用vMotion自动移动VM,以实现更平衡的集群工作负载。
DRS作为vCenter Server中的一个进程运行,因此必须有vCenter Server才能使用DRS。默认情况下,DRS每5分钟(即300秒)检查一次集群的工作负载是否平衡。当集群中发生某些操作(如添加或删除ESXi主机、更改VM的资源设置)时,也会触发DRS。DRS会计算集群的不平衡情况,应用任何资源控制(如预留、份额和限制),并在必要时为集群内的VM迁移生成建议。根据vSphere DRS的配置,这些建议可以自动应用,即DRS会自动在主机之间迁移VM,以维持集群平衡。
DRS在对ESXi主机进行集群化时支持使用资源池。如果主机是启用HA的集群的一部分,则必须同时启用DRS才能创建资源池。
通过右键单击启用DRS的集群,选择“设置”,点击左侧的“vSphere DRS”标题,然后点击“编辑”,可以查看DRS属性。DRS集群的自动化级别有三种选择:手动、部分自动化和完全自动化。点击“DRS自动化”旁边的三角形,可以找到影响完全自动化设置操作的滑块。这些设置控制VM的初始放置和VM在主机之间的自动移动。下面分别介绍不同自动化级别的行为:
-
手动自动化行为
- 当DRS集群设置为手动时,每次开机VM时,集群会提示您选择该VM应托管的ESXi主机。对话框会根据当时的适用性对可用主机进行评级,优先级越低,选择越好。
- 当DRS检测到集群中ESXi主机之间的负载不平衡时,会建议进行vMotion迁移。这是一个平均化的过程,通常需要较长时间才能检测到不平衡。一般来说,除非不平衡情况持续超过5分钟,否则DRS很少会提出建议。可以通过在清单中选择集群,然后选择“DRS”选项卡来查看推荐的迁移列表。从“监控” -> “DRS”选项卡中,点击“立即运行DRS”按钮可以同意任何待处理的DRS建议并启动迁移,vMotion会自动处理迁移。
-
部分自动化行为
- 如果在DRS自动化设置中选择“部分自动化”,DRS会在VM首次开机时自动决定该VM应在哪个主机上运行(无需提示执行开机任务的用户),但在“DRS”选项卡上进行所有迁移时仍会提示。也就是说,初始放置是自动化的,但迁移仍然是手动的。
-
完全自动化行为
- 完全自动化设置会在不提示的情况下做出初始放置决策,并根据所选的自动化级别(滑块)自动做出vMotion决策。
- DRS集群的完全自动化设置有五个滑块位置,取值范围从保守到激进。保守设置会自动应用优先级为1的建议,其他迁移会列在“DRS”选项卡上,需要管理员批准。如果将滑块从最保守设置向右移动一格,则会自动应用优先级为1和2的所有建议,优先级高于2的建议将等待管理员批准。当滑块移到激进设置时,集群中任何导致建议的不平衡都会自动批准(即使是优先级为5的建议)。需要注意的是,这可能会给ESXi主机环境带来额外的压力,因为即使是轻微的不平衡也会触发迁移。
在很多情况下,优先级为1的建议与集群负载关系不大。通常,优先级为1的建议是由以下两种情况之一导致的:
-
主机进入维护模式
:维护模式是一种主机设置,可防止ESXi主机执行任何与VM相关的功能。当主机进入维护模式时,其上运行的VM必须关闭或迁移到其他主机,然后主机才能实际进入维护模式。也就是说,启用DRS的集群中的ESXi主机将自动生成优先级为1的建议,将所有VM迁移到集群内的其他主机。
-
DRS亲和规则生效
:这将在后面详细讨论。
下面是一个mermaid流程图,展示了结合vMotion和Storage vMotion迁移VM的过程:
graph LR
A[启动Web Client] --> B[导航到视图]
B --> C[右键选择VM并迁移]
C --> D[选择更改主机和数据存储]
D --> E[选择目标资源]
E --> F[选择目标主机]
F --> G[选择目标数据存储]
G --> H[选择虚拟磁盘格式]
H --> I[更改vMotion优先级]
I --> J[查看更改]
J --> K[完成迁移]
监控集群的详细性能对于任何虚拟基础设施管理员来说都是一项重要任务,特别是监控整个集群的CPU和内存活动,以及集群内VM的各自资源利用率。集群对象详细信息窗格的“摘要”选项卡包含集群配置信息以及当前负载分布的统计信息。此外,“查看资源分布图表”可以显示集群中ESXi主机的当前资源分布情况。虽然资源分配和分布不一定是性能的直接指标,但它仍然是一个有用的指标。
为了让管理员能够根据特定环境自定义vSphere DRS的行为,vSphere允许创建DRS规则。vSphere DRS支持三种类型的DRS规则:
-
VM亲和规则
:在Web Client中称为“保持虚拟机在一起”,用于确保某些VM始终在同一主机上运行。例如,对于一个多层应用程序,其中Web应用程序服务器和后端数据库服务器需要频繁通信,使用亲和规则可以让它们在同一服务器的高速总线上通信,而不是通过网络。
- 创建VM亲和规则的步骤如下:
1. 若Web Client未运行,则启动它,并连接到vCenter Server实例。因为DRS和DRS规则只能在连接到vCenter Server实例时进行管理,连接到特定ESXi主机时无法管理。
2. 导航到“主机和集群”视图。
3. 右键单击需要存在规则的DRS集群,选择“设置”选项。
4. 点击“DRS规则”选项。
5. 点击窗格顶部附近的“添加”按钮。
6. 为规则输入一个名称,并选择“保持虚拟机在一起”作为要创建的规则类型。
7. 点击“添加”按钮,将必要的VM包含在规则中,只需选中要包含在DRS规则中的VM的复选框。
8. 点击“确定”。
9. 审查新规则配置,确保其正确。
10. 点击“确定”。
-
VM反亲和规则
:在Web Client中称为“分离虚拟机”,用于确保某些VM始终分布在不同的ESXi主机上。例如,在有两个邮件服务器VM的环境中,管理员通常不希望两个邮件服务器都驻留在同一ESXi主机上,而是希望将它们分别部署在集群中的两个不同ESXi主机上,这样一个主机的故障只会影响其中一个邮件服务器。
- 创建VM反亲和规则的步骤与创建VM亲和规则类似:
1. 若Web Client未运行,则启动它,并连接到vCenter Server实例。
2. 导航到“主机和集群”视图。
3. 右键单击需要存在规则的DRS集群,选择“设置”选项。
4. 点击“DRS规则”选项。
5. 点击窗格顶部附近的“添加”按钮。
6. 为规则输入一个名称,并选择“分离虚拟机”作为要创建的规则类型。
7. 点击“添加”按钮,将必要的VM包含在规则中,只需选中要包含在DRS规则中的VM的复选框。
8. 点击“确定”。
9. 审查新规则配置,确保其正确。
10. 点击“确定”。
- 需要注意的是,使用VM亲和和VM反亲和规则时,可能会创建不合理的规则。例如,在只有两个主机的DRS集群中创建一个包含三个VM的“分离虚拟机”规则,vCenter Server会生成报告警告,因为DRS无法满足规则的要求。
-
主机亲和规则
:在Web Client中称为“虚拟机到主机”,用于控制集群中哪些主机可以运行哪些VM。此规则在vSphere 4.1中首次引入,之前的版本不可用。
- 在创建主机亲和规则之前,需要先创建至少一个VM DRS组和至少一个主机DRS组。创建VM或主机DRS组的步骤如下:
1. 若Web Client未运行,则启动它,并连接到vCenter Server实例。
2. 导航到“主机和集群”视图。
3. 右键单击启用DRS的集群,选择“设置”。
4. 从“设置”窗格中,点击“DRS组”。
5. 要创建DRS组,点击“添加”按钮。
6. 为新的DRS组提供一个名称。
7. 从下拉列表中选择组的类型。
8. 根据组的类型,点击“添加”并选择要添加到组中的适当VM或主机,使用复选框选择每个项目。如果集群中有大量VM或主机,对话框右上角提供了一个过滤器。
9. 完成添加或删除VM或主机后,点击“确定”。
10. 在集群“设置”对话框中点击“确定”,保存DRS组并返回Web Client。
- 创建好VM DRS组和主机DRS组后,就可以定义主机亲和规则了。主机亲和规则将VM DRS组和主机DRS组与首选的规则行为结合在一起。主机亲和规则的行为有四种:
- 必须在组中的主机上运行
- 应该在组中的主机上运行
- 不得在组中的主机上运行
- 不应该在组中的主机上运行
- 这些规则大多是自解释的。每个规则要么是强制性的(“必须”),要么是优先性的(“应该”),再加上亲和性(“运行在”)或反亲和性(“不运行在”)。带有“必须”的强制性主机亲和规则不仅会被DRS遵守,也会被vSphere HA和vSphere DPM遵守。例如,如果故障转移会违反必需的主机亲和规则,vSphere HA将不会执行故障转移。而优先规则可能会被违反,管理员可以创建基于事件的警报来监控优先主机亲和规则的违反情况。
尽管大多数VM应该利用DRS的负载平衡功能,但管理员可能会坚持某些企业关键VM不参与DRS。在这种情况下,可以使用VM覆盖功能。在集群设置窗格中,“DRS组”和“DRS规则”下方列出了“VM覆盖”。此对话框允许您在每个VM的基础上设置HA和DRS设置,这些设置可以与集群设置不同。聚焦于DRS,可用的自动化级别有:
- 完全自动化
- 部分自动化
- 手动
- 使用集群设置
- 禁用
前三个选项的工作方式在前面已经详细讨论过。“禁用”选项会关闭DRS,包括启动时的自动主机选择和迁移建议。默认的“使用集群设置”选项会让VM接受集群设置的自动化级别。
通过合理运用vMotion与Storage vMotion的结合,以及灵活配置DRS规则和自动化级别,我们可以实现对vSphere环境中资源的高效管理和优化分配,提高虚拟基础设施的性能和可靠性。
vSphere资源管理:vMotion与DRS深度解析
不同DRS规则的应用场景与案例分析
前面介绍了VM亲和规则、VM反亲和规则和主机亲和规则,下面通过具体案例来深入了解它们的应用场景。
VM亲和规则案例
假设某企业有一个电商应用,包含前端的Web服务器VM和后端的数据库服务器VM。这两个VM之间需要频繁进行数据交互,如果它们部署在不同的主机上,数据传输会经过网络,可能会产生延迟。通过创建VM亲和规则(保持虚拟机在一起),可以确保这两个VM始终在同一台ESXi主机上运行,利用主机内部的高速总线进行通信,提高数据传输效率,从而提升整个电商应用的性能。
VM反亲和规则案例
在一个金融机构的数据中心,有多个用于处理交易的VM。为了避免单点故障对业务造成重大影响,管理员可以创建VM反亲和规则(分离虚拟机),将这些交易处理VM分散部署在不同的ESXi主机上。这样,即使某一台主机出现故障,也只会影响到该主机上的部分VM,不会导致整个交易处理系统瘫痪,提高了系统的可靠性和可用性。
主机亲和规则案例
某大型企业的研发部门有一组专门用于软件开发和测试的VM,这些VM对计算资源和特定的软件环境有较高要求。管理员可以创建主机亲和规则,将这些VM与特定的一组高性能ESXi主机关联起来,确保它们只能在这些主机上运行。这样可以为研发部门提供稳定、高效的运行环境,同时也便于对这些主机进行集中管理和维护。
集群性能监控与DRS规则的动态调整
为了确保vSphere集群的性能和资源利用率始终处于最佳状态,需要对集群进行实时监控,并根据监控结果动态调整DRS规则。
监控指标与方法
监控集群性能时,重点关注的指标包括CPU利用率、内存利用率、网络带宽和存储I/O等。可以通过vCenter Server的监控界面查看这些指标的实时数据和历史趋势。此外,还可以使用第三方监控工具,如Nagios、Zabbix等,对集群进行更全面、深入的监控。
根据监控结果调整DRS规则
- CPU利用率过高 :如果发现某个ESXi主机的CPU利用率持续过高,可能需要调整VM的分布。可以通过查看DRS的迁移建议,将部分VM迁移到其他CPU利用率较低的主机上。如果频繁出现这种情况,可能需要考虑增加主机资源或调整主机亲和规则,将对CPU资源要求较高的VM集中分配到高性能主机上。
- 内存不足 :当某个主机的内存利用率接近或达到上限时,可能会导致VM运行缓慢甚至出现性能问题。此时,可以通过DRS将一些内存占用较大的VM迁移到内存资源充足的主机上。同时,也可以检查VM的内存分配是否合理,是否存在过度分配的情况。
- 存储I/O瓶颈 :如果存储I/O成为集群性能的瓶颈,可能需要调整Storage vMotion的策略,将一些对存储I/O要求较高的VM迁移到存储性能更好的存储设备上。此外,还可以考虑优化存储配置,如增加存储阵列的带宽、调整存储缓存等。
总结与建议
通过对vMotion与Storage vMotion的结合使用,以及vSphere DRS的深入了解和灵活配置,我们可以实现对虚拟资源的高效管理和优化分配。以下是一些总结和建议:
合理使用vMotion与Storage vMotion
- 在进行VM迁移时,优先考虑结合vMotion和Storage vMotion,确保存储迁移先于内存迁移,以减少迁移过程中的数据变化和延迟。
- 根据不同的存储场景(本地存储、共享存储等),合理选择迁移策略,充分利用网络资源,提高迁移效率。
灵活配置DRS规则和自动化级别
- 根据企业的业务需求和资源状况,选择合适的DRS自动化级别。对于对性能要求较高、变化较快的环境,可以选择完全自动化;对于对稳定性要求较高、变化较慢的环境,可以选择手动或部分自动化。
- 合理运用VM亲和规则、VM反亲和规则和主机亲和规则,优化VM的分布,提高系统的性能和可靠性。同时,定期检查和调整DRS规则,确保其符合实际业务需求。
加强集群性能监控
- 建立完善的集群性能监控体系,实时关注CPU、内存、网络和存储等关键指标的变化。
- 根据监控结果及时调整DRS规则和资源分配,确保集群始终处于最佳运行状态。
下面是一个表格,总结了不同DRS规则的特点和应用场景:
| 规则类型 | 特点 | 应用场景 |
| ---- | ---- | ---- |
| VM亲和规则 | 保持VM在同一主机上运行 | 多层应用程序、频繁数据交互的VM |
| VM反亲和规则 | 分散VM到不同主机上运行 | 避免单点故障、提高系统可靠性 |
| 主机亲和规则 | 控制VM在特定主机组上运行 | 对资源有特殊要求的VM、集中管理和维护 |
最后,为了更直观地展示DRS根据集群性能调整VM分布的过程,给出一个mermaid流程图:
graph LR
A[监控集群性能指标] --> B{是否出现性能瓶颈?}
B -- 是 --> C[分析瓶颈类型]
C -- CPU --> D[查看CPU利用率高的主机]
D --> E[通过DRS迁移VM到低利用率主机]
C -- 内存 --> F[查看内存不足的主机]
F --> G[迁移大内存VM到充足主机]
C -- 存储I/O --> H[查看存储I/O瓶颈主机]
H --> I[通过Storage vMotion迁移VM到高性能存储]
B -- 否 --> J[继续监控]
E --> J
G --> J
I --> J
通过以上的介绍和分析,希望能帮助大家更好地理解和运用vMotion与DRS,提升vSphere环境下的资源管理能力和虚拟基础设施的性能。
超级会员免费看
1300

被折叠的 条评论
为什么被折叠?



