对于物理服务器的存储配置来说,从RAID组中切分出来,为应用提供逻辑块容量的LUN,一直占据着基础地位。 现在,虚拟服务器环境能够把一个服务器抽象成物理特征,从而提高硬件资源的扩展性和利用率。 但是,仍需将存储提供给虚拟服务器和桌面虚拟机。虚拟管理程序作为虚拟化层扮演者一个重要的角色,即将物理存储资源抽象成虚拟设备。
那么,对于LUN会有怎样的变化?这取决于你使用怎样的虚拟化环境。 物理和虚拟驱动器以及LUN 暂且不管虚拟管理程序的类型,数据的持久化保存依赖于一些存储设备载体,如传统硬盘或者固态硬盘(SSD)。对于块设备存储,VMware的vSphere系列,包括ESXi和Microsoft的……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
对于物理服务器的存储配置来说,从RAID组中切分出来,为应用提供逻辑块容量的LUN,一直占据着基础地位。
现在,虚拟服务器环境能够把一个服务器抽象成物理特征,从而提高硬件资源的扩展性和利用率。
但是,仍需将存储提供给虚拟服务器和桌面虚拟机。虚拟管理程序作为虚拟化层扮演者一个重要的角色,即将物理存储资源抽象成虚拟设备。
那么,对于LUN会有怎样的变化?这取决于你使用怎样的虚拟化环境。
物理和虚拟驱动器以及LUN
暂且不管虚拟管理程序的类型,数据的持久化保存依赖于一些存储设备载体,如传统硬盘或者固态硬盘(SSD)。对于块设备存储,VMware的vSphere系列,包括ESXi和Microsoft的Hyper-V使用根本不同的策略来呈现物理存储。
vSphere系统使用存储阵列上配置过的LUN,使用VMware文件系统(VMFS)对其进行格式化。VMFS是一个专利文件格式用于存储虚拟机文件,利用了磁盘上的组织结构支持高粒度对象和块级锁。
使用VMFS的必要的原因是大多数vSphere部署时使用少量的大型LUN,每个LUN上会搭载很多虚拟机。故需要高效的锁机制来保证虚拟环境扩展时性能不会受到严重影响。
单个虚拟机是由多个独立文件构成的,包括VMDK(或称作虚拟机磁盘)在内。一个VMDK类似于一个物理服务器上的硬盘,一个虚拟vSphere上的客户端可能有多个VMDK文件,这取决于支持的逻辑驱动数、在使用的快照数以及VMDK的类型。
举例来说,对于精简配置的VMDK,存储按需分配,一个客户硬盘由一个主VMDK文件和多个VMDK数据文件构成,后者代表随着虚拟机写到磁盘上的数据越来越多,增量分配的空间单元。
与之对比的是,Microsoft则是把所有的虚拟机磁盘组件合并成单个文件,即所谓的VHD(虚拟硬盘)。VHD文件可以部署到已格式化过的Microsoft文件系统上,如NTFS或CIFS/SMB。
对于Hyper-V没有单独的LUN格式。VHD文件作为精简卷(即所谓的动态硬盘)进行扩张,即增加文件的大小,消耗磁盘上更多的空间。在VHD内部,Microsoft在定长VHD的尾部、动态VHD首尾部存有元数据信息。
与VMDK和VMFS相比,VHD在基于块的环境下更具优势。在这种环境下底层存储采用NTFS,即Microsoft用于Windows服务器上存储的标准文件系统。这就意味着VHD文件可以由系统管理员在卷或系统间进行简单拷贝,而不需要任何特定工具(当然前提是没有虚拟机运行)。
对虚拟机进行克隆也变得容易起来,只需简单得对VHD进行复制,用其作为新的虚拟机源文件即可。如果能用到Windows 2012的重删新特性就锦上添花了,因为这个特性可以显著减小从主VHD克隆出的虚拟机的空间消耗。
为性能进行设计
将服务器和桌面整合到虚拟化环境中意味着,跟传统的物理服务器相比,数据I/O特性发生了很大变化。I/O负载变得难以预测,因为来自虚拟化服务器的单个I/O命令可能以任何顺序出现,带来的大量随机I/O就不足为奇了。
这就是所谓的“I/O blender”效应,结果导致虚拟化环境使用的存储必须有能力处理I/O的大型卷;对于虚拟桌面,面临着“boot storms(启动风暴)”,这是由用户通常早上启动虚拟机,工作了一天之后关闭它导致的大量I/O请求导致的。
为保证性能,一般存储部署通常会使用这样一些选项:
· 用于虚拟化环境的全闪存阵列逐渐普及开来。对于虚拟化服务器,它可以提供一致性和可预见的性能;对于虚拟化桌面,它的高I/O带宽可以处理启动风暴的问题。
· 混合闪存阵列是对传统旋转式介质和固态存储的混合应用,针对固态存储上的活动I/O使用动态分层技术。它比全闪存阵列更具价格优势,因为很多部署上存在着大量不活动的VM数据。
· 高级特性——对于vSphere有VAAI(用于阵列集成的vStorage接口, vStorage APIs for Array Integration),对于Hyper-V有ODX(卸载式数据传输,Offloaded Data Transfer)。当执行诸如给虚拟机做副本或者初始化文件系统等常见任务时,二者均可以卸载来自管理程序的重复任务,减少存储网络上的数据传输。
最终,虚拟环境中的存储配置实际上是为部署的存储获取合适的IOPS。这似乎很难估算,但可以通过如下方式获得:将现存物理服务器作为迁移计划的一部分,或通过预先部署一些虚拟服务器然后通过IOPS命令测量。对于虚拟化桌面,最好保证每个桌面有大约5-10的IOPS,整个VDI集区的IOPS按比例扩大。虚拟化环境可能还需要内置额外的IOPS能力来应对启动风暴。
LUN性能和展现形式
对于块设备,LUN一般通过使用光纤通道,以太网光纤通道(FCoE)或者iSCSI等来呈现。光纤通道和FCoE通过使用特定的主机总线适配器(HBA)或CNA(聚合网络适配器),能够更容易的将主机IP流量从存储网络流量中隔离开来。但即使一个特定的存储网络可用,仍有一些重要的设计问题需要考虑。
首先,为保证存储的弹性和高性能,可以通过多个光纤通道接口来提供LUN。我们把存储弹性作为给定的,因为这一般是存储系统管理员的标准实践。就性能而言,多个HBA(或双口HBA)通过面向性能的分层技术允许vSphere和Hyper-V进行物理分段。
这可能看起来不是特别符合逻辑,但是要考虑到vSphere和Hyper-V使用的LUN会相当大,那么到单个LUN的队列深度就可能存在问题,尤其是在不同优先级的工作负载存在时。当部署了高性能的全闪存设备时这尤为重要。对于iSCSI连接,使用特定的NIC并配置多路径以实现链路冗余。Microsoft和VMware均提供有部署指南来描述如何启用iSCSI多路径。
LUN大小
关于这个话题,即讨论LUN的大小还是很有意义的。vSphere(Hyper-V不尽然 )限制了单个管理程序使用的LUN个数。通常,这些环境中存储是使用大型LUN(最大到2TB),以最大化总容量。因此,搭载许多主机的特定LUN上的用户会获得相同级别的性能。
从存储方面来看,创建很多2TB大小的LUN成本很高。因此,存储阵列的精简配置提供这样的可行性,使得LUN逐步扩大到2TB的容量,同时可以为一个主机提供多个LUN,从而保证尽可能多的LUN中进行分布式I/O。
LUN的局限和未来
在LUN级别对管理程序进行存储分组意味着,对提供给单个虚拟机的服务的质量进行了物理限制;一个LUN上的所有访问者享受的性能级别相同。
Microsoft推荐一个VM使用一个LUN,这样做在较大系统中也许会有限制(显然意味着大量管理开支),但是仍然可以这样实现。
VMware表示要实现vVOL——虚拟卷——从存储阵列到管理程序对虚拟机存储的物理特性进行抽象。这样做可以根据虚拟机优先级和I/O负载更好的进行粒度划分,即使他们存在于同一个物理盘阵上。
但是尽管一些公司致力于完全弃用存储阵列,很明显保留一个智能存储阵列受益颇多,其中一个好处就是它能够理解管理程序,并与之交流。
相关推荐
-
AI存储管理照进现实
编者注:这个AI存储管理专栏是《Storage》杂志和TechTarget撰稿人Jon Toigo在2019年 […]
-
存储硬件独立宣言
最近数据存储方面的动静好像都围绕着容量和性能,有少数时候会涉及如在线去重复和阵列间复制及镜像等增值功能。
-
Oracle ZFS存储系统
Oracle ZFS Storage使用机械式和闪存存储。ZS3-2和ZS4-4提供各种软件用于存储管理、加密以及安全。
-
存储管理理应获得重视
存储管理已经被忽视多年,不过众厂商又开始重新发力存储管理软件的开发。存储管理逐渐获得应有的重视。