作法4 保障存取资源:负载平衡
虚拟环境的应用,除了要考虑透过备援系统提高整个环境的稳定与高可用性外,还要考虑到前端服务质量的维持问题。如同我们在一开始提到的,用户导入服务器虚拟化的目的是降低成本,但并不希望前端原有的服务能力因虚拟化而有所降低。
维持服务质量的具体方式是透过硬件资源的调配,确保前端的服务不因离、尖峰时间或需求的变化而受到影响,在任何时刻都能获得必要的硬件资源。
从另一方面来看,导入服务器虚拟化的一大目的是在尽量拉高硬件资源(处理器、内存等)的利用率,避免系统资源闲置而造成浪费。但除了提高利用率外,更重要的是「利用的效率」,也就是要把系统资源分配到「对」的地方。否则即使将处理器利用率拉高到90%以上,但却没有妥善将运算能力分配到最需要的服务上,就会影响到关键服务的执行能力。
虚拟环境中一般会有分别负担不同服务的多个虚拟机器,而这些服务通常会有优先级的区别,也就是某个虚拟机器执行的服务比另一个虚拟机器的服务更重要,显然的,更重要的服务就需要更优先资源分配。理论上,不同服务所需要的硬件资源是可以事先预测的,在导入虚拟化之前,管理人员就应该针对预订执行的不同服务优先程度,替不同虚拟机器配置好需要的硬件资源。
但实务上要事先就拟好十全十美的资源分配,几乎是不可能的事,不管事先的资源分配规画多么精确详尽,一旦系统上线运行,总是会碰到各种未预料到的突发状况,而使原先作好最佳化的资源分配变调。这时候就是自动负载平衡机制上场的时刻,与其透过人工监控不断手动调整资源分配,不如让自动化的负载平衡系统负责,让这些系统持续监控系统资源利用状况,并依预设政策动态调节资源分配,让系统资源的调配能维持在最佳状态。
目前一些较专业的虚拟平台都提供了动态负载平衡的功能,如VMware ESX的Distributed Resource Service(DRS)、Virtual Iron的Live Capacity等。事实上,我们可以把这种虚拟机器的动态负载平衡看作是前面提到的在线迁移功能的延伸,系统先透过Virtual Center或Virtualization Manager之类的管理平台,收集整个虚拟环境中的硬件资源讯息,并监控虚拟主机的工作负荷与实体主机资源使用状况,然后依照事先定义的政策执行动态调整,使整个环境的硬件资源利用达到最佳化。
跨越实体虚拟的资源管理
对于同时执行数十个甚至上百个虚拟机器的环境,拥有一套能监控整个环境的运行与资源使用状况的管理工具,的确是有效管理虚拟环境不可或缺的。
VMware与Virtual Iron都提供了Virtual Center或Virtualization Manager,这类平台可监控与管理整个环境资源使用,但有一些限制:仅能用于支持自身的Hypervisor,而且Virtual Center还必须额外付费购买。
除了虚拟平台厂商的管理平台外,一些服务器厂商也能提供类似的管理工具,如HP的VSE(Virtual Server Environment)就是,它是一套虚拟化管理工具,主要是搭配HP Integrity、ProLiant系列服务器与BladeSystem c-Class刀锋服务器。VSE可同时分析实体及虚拟机器的资源利用状况,必要时可以将系统负载,迁移到其它服务器,以协助达成系统配置的最佳化,而且还能支持多家厂商的Hypervisor(VMware、Citrix和微软等)。
另外Sun的xVM Ops Center、IBM的Virtualization Manager,以及Fujitsu的Systemwalker Resource Coordinator,也都是功能类似的管理平台,不过由于这些工具的部份功能(如硬件健康状态侦测、故障回报等),都必须搭配特定型号服务器才能作用,因此限制便是只能搭配自家厂牌的服务器使用。
储存端的服务质量调节
前面提到的服务质量调节主要都集中在主机端,但我们从虚拟平台的架构中可以看到,所有虚拟机器的I/O资源都是依靠底层的共享储存设备提供,因此储存设备是极关键的环节,它对效能及前端虚拟机器服务质量的影响非常大。
因为整个环境中所有实体主机,都是存取同一套储存设备,仅仅在不同实体机器上迁移虚拟机器,并不能完全确保虚拟机器的服务质量,如果造成效能问题的主要原因是在I/O,那么,在上层如何迁移虚拟机器都于事无补,无论怎么迁移,I/O仍旧是同一个来源。
这么一来,解决之道就是在储存端也进行服务质量的调配,依前端对存取需求的优先性,分派不同的I/O资源,设法针对前端特定服务,去确保能取得足够的效能,避免系统满载时,冲击到需要高存取效能的前端服务器。
传统上,储存设备的调节效能作法,多半是切割高速缓存给不同的磁盘区。但快取的大小,只是影响储存装置存取效能的因素之一,并不能充分达到调节效能需求的效果。
因此,目前许多厂商都在储存设备中整合了更精细的资源调配功能。如NetApp的FlexShare,便能综合考虑快取大小、存取的IOPS与频宽上限等参数,以Volume为单位设定存取资源的优先程度,当系统满载时,FlexShare可让高优先等级的Volume维持在高效能状态,其余的Volume根据指定等级来提供服务。用户还能设定更精细的存取政策,就像是在白天上班时间,优先把资源调度给数据库应用的Volume;到了夜晚离峰时间,再把备份用的Volume转到较高的优先级。
EMC的服务质量管理器(Quality of Serive Manager,QoS)也能提供类似的功能。QoS可以监控系统的存取状态,依据响应时间、频宽与吞吐量来调节效能,在这种方式中,同样也能制定出细致的存取政策。至于HDS的QoS工具Hitachi Virtual Partitioning Manager与Server Priority Manager,则具备从传输端口、高速缓存到磁盘的三层式资源调配架构,能搭配虚拟平台的动态负载平衡(如VMware的DRS)确保关键应用所需的资源。
虚拟环境的应用,除了要考虑透过备援系统提高整个环境的稳定与高可用性外,还要考虑到前端服务质量的维持问题。如同我们在一开始提到的,用户导入服务器虚拟化的目的是降低成本,但并不希望前端原有的服务能力因虚拟化而有所降低。
维持服务质量的具体方式是透过硬件资源的调配,确保前端的服务不因离、尖峰时间或需求的变化而受到影响,在任何时刻都能获得必要的硬件资源。
从另一方面来看,导入服务器虚拟化的一大目的是在尽量拉高硬件资源(处理器、内存等)的利用率,避免系统资源闲置而造成浪费。但除了提高利用率外,更重要的是「利用的效率」,也就是要把系统资源分配到「对」的地方。否则即使将处理器利用率拉高到90%以上,但却没有妥善将运算能力分配到最需要的服务上,就会影响到关键服务的执行能力。
虚拟环境中一般会有分别负担不同服务的多个虚拟机器,而这些服务通常会有优先级的区别,也就是某个虚拟机器执行的服务比另一个虚拟机器的服务更重要,显然的,更重要的服务就需要更优先资源分配。理论上,不同服务所需要的硬件资源是可以事先预测的,在导入虚拟化之前,管理人员就应该针对预订执行的不同服务优先程度,替不同虚拟机器配置好需要的硬件资源。
但实务上要事先就拟好十全十美的资源分配,几乎是不可能的事,不管事先的资源分配规画多么精确详尽,一旦系统上线运行,总是会碰到各种未预料到的突发状况,而使原先作好最佳化的资源分配变调。这时候就是自动负载平衡机制上场的时刻,与其透过人工监控不断手动调整资源分配,不如让自动化的负载平衡系统负责,让这些系统持续监控系统资源利用状况,并依预设政策动态调节资源分配,让系统资源的调配能维持在最佳状态。
目前一些较专业的虚拟平台都提供了动态负载平衡的功能,如VMware ESX的Distributed Resource Service(DRS)、Virtual Iron的Live Capacity等。事实上,我们可以把这种虚拟机器的动态负载平衡看作是前面提到的在线迁移功能的延伸,系统先透过Virtual Center或Virtualization Manager之类的管理平台,收集整个虚拟环境中的硬件资源讯息,并监控虚拟主机的工作负荷与实体主机资源使用状况,然后依照事先定义的政策执行动态调整,使整个环境的硬件资源利用达到最佳化。
跨越实体虚拟的资源管理
对于同时执行数十个甚至上百个虚拟机器的环境,拥有一套能监控整个环境的运行与资源使用状况的管理工具,的确是有效管理虚拟环境不可或缺的。
VMware与Virtual Iron都提供了Virtual Center或Virtualization Manager,这类平台可监控与管理整个环境资源使用,但有一些限制:仅能用于支持自身的Hypervisor,而且Virtual Center还必须额外付费购买。
除了虚拟平台厂商的管理平台外,一些服务器厂商也能提供类似的管理工具,如HP的VSE(Virtual Server Environment)就是,它是一套虚拟化管理工具,主要是搭配HP Integrity、ProLiant系列服务器与BladeSystem c-Class刀锋服务器。VSE可同时分析实体及虚拟机器的资源利用状况,必要时可以将系统负载,迁移到其它服务器,以协助达成系统配置的最佳化,而且还能支持多家厂商的Hypervisor(VMware、Citrix和微软等)。
另外Sun的xVM Ops Center、IBM的Virtualization Manager,以及Fujitsu的Systemwalker Resource Coordinator,也都是功能类似的管理平台,不过由于这些工具的部份功能(如硬件健康状态侦测、故障回报等),都必须搭配特定型号服务器才能作用,因此限制便是只能搭配自家厂牌的服务器使用。
储存端的服务质量调节
前面提到的服务质量调节主要都集中在主机端,但我们从虚拟平台的架构中可以看到,所有虚拟机器的I/O资源都是依靠底层的共享储存设备提供,因此储存设备是极关键的环节,它对效能及前端虚拟机器服务质量的影响非常大。
因为整个环境中所有实体主机,都是存取同一套储存设备,仅仅在不同实体机器上迁移虚拟机器,并不能完全确保虚拟机器的服务质量,如果造成效能问题的主要原因是在I/O,那么,在上层如何迁移虚拟机器都于事无补,无论怎么迁移,I/O仍旧是同一个来源。
这么一来,解决之道就是在储存端也进行服务质量的调配,依前端对存取需求的优先性,分派不同的I/O资源,设法针对前端特定服务,去确保能取得足够的效能,避免系统满载时,冲击到需要高存取效能的前端服务器。
传统上,储存设备的调节效能作法,多半是切割高速缓存给不同的磁盘区。但快取的大小,只是影响储存装置存取效能的因素之一,并不能充分达到调节效能需求的效果。
因此,目前许多厂商都在储存设备中整合了更精细的资源调配功能。如NetApp的FlexShare,便能综合考虑快取大小、存取的IOPS与频宽上限等参数,以Volume为单位设定存取资源的优先程度,当系统满载时,FlexShare可让高优先等级的Volume维持在高效能状态,其余的Volume根据指定等级来提供服务。用户还能设定更精细的存取政策,就像是在白天上班时间,优先把资源调度给数据库应用的Volume;到了夜晚离峰时间,再把备份用的Volume转到较高的优先级。
EMC的服务质量管理器(Quality of Serive Manager,QoS)也能提供类似的功能。QoS可以监控系统的存取状态,依据响应时间、频宽与吞吐量来调节效能,在这种方式中,同样也能制定出细致的存取政策。至于HDS的QoS工具Hitachi Virtual Partitioning Manager与Server Priority Manager,则具备从传输端口、高速缓存到磁盘的三层式资源调配架构,能搭配虚拟平台的动态负载平衡(如VMware的DRS)确保关键应用所需的资源。
| 上一页 第 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] 页 下一页 |









