提升存储虚拟化效用的关键 |
发布时间: 2015/8/22 14:15:34 |
通过存储性能指标,可以评估监控存储系统支持服务器虚拟化环境的具体情况,这一过程中有许多因素要考虑。 服务器虚拟化的存储配置可以是Hypervisor或基于网络的文件或数据块的存储设备。当存储配置为Hypervisor,Hypervisor控制着访问许可,问题是两者之间的关系是,对于Hypervisor的任何影响都会影响到Hypervisor上运行的应用上性能指标,并且理解其对于Hypervisor的整体影响,非常重要。 配置为Hypervisor的存储对虚拟机而言就像是个SCSI设备,而通过网络提供的存储需要额外的驱动器,这和iSCSI类似。 Hypervisor配置的存储可以是光纤,iSCSI,NFS(在Hyper-V环境下为CIFS)或本地存储,不过当虚拟机连接存储设备时,存储以一般的SCSI设备形式工作,因此虚拟机使用客户端操作系统中通常的SCSI驱动器。Hypervisor将标准虚拟机SCSI驱动器的二进制指令翻译成光纤,iSCSI,NFS或本地SCSI设备可以识别的协议。二进制编解码的操作通过Hypervisor或使用IntelVT-x或AMDRVI指令结构的处理器完成。不管何种方式,虚拟机将存储识别为SCSI,而Hypervisor会将存储完全视为别的东西。 性能指标及解释方式以下三种方式是常用的虚拟存储的性能指标方式: 通过客户端操作系统测试存储性能指标 通过Hypervisor测试存储性能指标 通过存储邮件测试存储性能指标 每一种指标对应某种测试目的,不过有时也会引起误导。一些指标结果可能不会反映真实结果。 最不可靠的测试方式就是通过客户端操作系统反馈的信息,虚拟机并不需要接受整个处理器时钟周期,其中所含的数据并不准确。其实,涉及虚拟机处理器时钟周期的测试很难准确,因为虚拟机可能或可能不会接收整个处理器时钟。不过一些虚拟机的性能指标和处理器时钟周期无关,而这些性能指标是可信的。 通过Hypervisor的存储性能指标是较为可信的,也经常会用以测试中,不过这种指标同样会引起误导,因为测试数据可能在缓存或Hypervisor的队列中。 余下的基于存储硬件的指标是最为理想的,因为每家硬件供应商都会提供最为细致的数据,甚至细致到磁盘轴的速度。在许多情况下,这一数据和通过Hypervisor测试得到的数值是一样的,仅在高延迟的子系统会产生不同结果。不幸的是,并非所有的硬件系统供应商会公布这一数据,这种情况下你必须关注Hypervisor测试所得的信息,比较虚拟机得出的数据太不可靠了。 从虚拟化存储硬件层看,最重要的指标是读写延迟值,或者特定层面读取或写入磁盘所需的时间。其次重要的指标就是IOPS值。不过你不能只看着IOPS而对每秒的读写Kbps不闻不问。IOPS反映了操作层的性能;而Kbps反映的则是系统的实际读写性能。无论从Hypervisor或存储设备上看,IOPS是通常最受关注的指标,不过延迟才是最佳指标,其反映了存储是否存在问题。IOPS值会随着写入的数据块数量发生变化,并且在NFS或CIFS系统中,由于协议中未包含延迟指标,IOPS值很难获取。 有哪些可用工具呢?为了获取所有这些存储性能指标,你可以借助NetApp的Balance,SolarWindshield的StorageManager,Quest的vFoglightStorage和其它直接和硬件通讯的产品。这类产品可以通过存储管理接口标准(SMI-S)或直接通过存储厂商协议检测存储硬件层。 对于Hypervisor层,可以使用如VMwarevCenterOperation、vKernel、VMturbo和QuestvFoglight这类的工具,通过直接询问Hypervisor或间接使用Hypervisor的集中管理控制台,比如VMwarevCenter监测Hypervisor层。 最后,客户端操作系统提供自身的工具来收集存储性能指标。 整合了存储管理接口标准和基于Hypervisor的工具提供了最佳的功能组合来诊断延迟,IOPS和读写速度。因为只要Hypervisor不是在机器繁忙的状态,这些工具所提供的数据几乎是与其同步的。而在Hypervisor极度繁忙的情况下,硬件指标可能是反映存储性能的最佳选择。但是,由于Hypervisor中的资源相互关联,确保Hypervisor没有达到极度繁忙的状态总是必要的。 如果你的环境中并没有存储层的工具,比如在一些iSCSI服务器环境中,基于Hypervisor的工具或许是最佳选择。 |