一种高性能廉价的网络存储应用方案
2017-04-27陈晨宋大勇陈景亮
陈晨 宋大勇 陈景亮
摘要:为了解决中小企业面临的高性能存储需求与存储解决方案价格高昂之间的矛盾,通过学习和研究Windows Server2012 R2提供的存储功能,结合实验环境下的使用经验,给出了基于文件服务器集群的虚拟化存储是一种适合中小企业应用的性能高且价格低廉的可行性方案的结论,并简要说明了方案的实施步骤。
关键词:计算机应用技术;网络存储;应用方案;Windows Server2012 R2;高性能;廉价
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)29-0030-04
在数字化信息技术遍布社会生活每个角落的今天,数据存储量呈爆炸式增长,每年的增长率在50%-60%,预计到2020年全球将总共拥有40ZB的数据量。越来越多的企业认识到在“大数据”时代的背景下,数据存储的必要性和重要性。在我国,日渐成为企业市场主力军的庞大的中小型企业在面临存储空间严重不足的困境时,却又要受困于高端存储方案成本过于高昂,难以承受之苦。依靠现有技术,构建一套高性能且价格相对低廉的存储方案来解决中小企业用户迫切的存储需求,具有明显的经济价值。
1网络存储技术在企业中的应用
网络存储系统是网络传输与存储系统的有机结合。网络存储将存储系统的特性与网络的并行性、灵活性、可扩展性、易管理性结合,充分发挥了网络的性能和优点,提高了整个存储系统的存储质量。给用户提供更加快速的数据访问,更加方便的存储管理和更加安全的数据存储。因此,网络存储已经成为企业用户数据存储的重要方式。
目前专业网络存储技术大致分为四种。1)直接附属存储(Direct Attached Storage-DAS),DAS的缺点是存储容量扩展困难,分布式存储时,难于管理和备份,因此不适合企业用户使用。2)网络附属存储(Network Attached Storage-NAS),NAS的优势在于具有良好的共享性、开放性、可扩展性,总拥有成本(TCO)低。主要缺点在于存储只能以文件方式访问,而不能像普通文件系统一样直接访问物理数据块,比如大型数据库就不能使用NAS;由于存储数据通过普通数据网络传输,因此会和网络上其他流量相互影响,尤其在备份和恢复数据过程中性能较低,这影响了它在企业级存储中的地位。3)存储区域网(storage Area Network-SAN),SAN具有高性能、高可用性、较高的灵活性、扩展方便、易于集中管理和可靠性高等优点,是需要海量数据存储,大规模高速备份的大型部门和数据中心的首选存储技术。但是,SAN最大的局限在于成本非常高昂,特别是使用光纤通道的情况下,这一缺点更为突出。因此,即使SAN具有其他存储方式无法比拟的性能优势,也很难在中小企业得到应用。4)Internet小型计算机系统接口(iSCSI:InternetSmall Computer System Interface),iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethemetl技术结合,使服务器可与使用IP网络的储存装置互相交换资料。是近年来发展较快热门的存储技术,其优势在于总拥有成本相对较低,操作简单,维护方便,扩充性强。利用iSCSI技术来构建存储区域网(iSCSI SAN),虽然性能上还与基于光纤通道的FCSAN有较大差距,但成本的大幅降低,为众多中小企业对经济合理和便于管理的存储需求提供了解决方案。目前,很多中小型企业已经部署或正在部署iSCSI SAN。与此同时,带宽的限制,IP网络的效率和延迟是该技术面临的难题。
不同的网络存储技术有各自的优势和局限性,为了既能充分利用物理设备高性能、高可用的优势,又打破了物理设备本身不可克服的局限性,存储虚拟化技术提供了解决的方法。存储虚拟化实际上是逻辑存储,把存储系统中各种分散的、异构的存储设备映射成一个虚拟存储池,屏蔽物理设备复杂性,增加一个管理层面。它可以提高整体利用率,有效简化基础设施的管理,降低管理成本,解决软硬件兼容问题。但是由于目前的虚拟存储技术商业产品大部分针对高端用户,采购价格高昂,影响了在中小企业中的推广。
2 Windows Server 2012 R2的存储功能
微软作为全球软件业的标志性企业,在存储革命的大潮中也投入了足够的关注,自微软推出Windows Storage Server以来,以存储虚拟化技术为核心,不断改进存储OS的性能和可用性,直到将存储OS的功能整合进Windows Server 2012 R2。Windows Server 2012 R2提供了一套完整的存储方案,其中很多重要的功能是以前只有在硬件级别上实现的,为中小企业用户构建高效廉价的存储系统提供了新的可能性。
Windows Server 2012 R2中提供的存储功能很多,如致力于改进SAN功能的卸载数据传输功能,自动TRIM和取消映射功能,内置的iSCSI目标服务器功能等。而SMB3.0和存储空间技术提供了一套微软特有的基于文件服务器及文件服务器集群的存储解决方案,这里重点介绍与该方案相关的存储功能。
2.1文件服务器/SMB3.0
文件和存储服务是Windows Server 2012和Windows Server2012 R2提供的服務器角色,默认情况下仅安装有该角色,足见其重要性。该角色默认只安装有存储服务与文件服务器两个角色服务。
SMB3.0是SMB(Server Message Block)最新版本,提供了许多新功能,如:SMB透明故障转移,SMB多通道,SMB直连等。SMB3.0能够在以太网上实现1Gbps的文件访问速度,从而能匹敌DAS的性能。因而在Windows网络环境中,SMB可以作为替代iSCSI的另一个选择。另一方向,基于文件服务器集群的Hy-per-V over SMB,与“存储空间”配合使用,在小型网络中可以显著提升网络存储的可用性。
2.2存储空间(Storage Spaces)
Windows存储空间是从Windows Server 2012开始引人的最重要的存储新功能,作为包括在Windows中的存储子系统,它可用来将符合行业标准的磁盘(例如SATA、SAS磁盘)组合为一个或多个存储池,然后基于存储池的可用空间创建称为“存储空间”的虚拟磁盘。存储空间提供完善的存储虚拟化功能,使用户能够对单一计算机和可伸缩多节点部署使用行业标准的存储。用户可以借助该功能实现高度可用并可根据需要以经济高效的方式扩充的存储。存储空间与故障转移群集集成以提供高可用性,并与群集共享卷(CSV)集成以支持扩展文件服务器部署。
2.3存储分层(Storage Tiering)
Windows Server 2012 R2改进存储空间,使之成为更适合企业级客户的存储分层。这种功能是在不同的数据种类之间进行动态数据块存储移动,自动地将经常访问的数据移到较快的存储层(固态硬盘),将不经常访问的数据移到较慢的存储层(传统硬盘)。
存储分层允许存储空间使用传统磁盘或固态硬盘创建虚拟磁盘,然后将数据传送到最适合数据使用模式的存储介质。Windows可以区分存储池内的传统磁盘介质和固态存储,使用heat-map算法来决定数据块活跃程度,并将“最热”数据块自动移到最快层级。存储分层这一以往只在高端存储方案中出现的功能对企业用户来说有两大好处,一是提高性能,数据被频繁读取的区块(热块)被动态地移至固态存储,实现最高效率地访问;二是降低成本,管理员不需要采购带RAID控制器的磁盘阵列,转而使用价格低得多的商用JBOD存储,还可以部分实现类似昂贵的SAN的功能。
2.4回写缓存(Write Back Cache)
回写缓存是Windows Server 2012 R2提供的与存储分层密切相关的新功能,目的在于改进虚拟磁盘的写入性能。存储空间可以使用存储池中现有的固态硬盘(随机访问时具有优越的性能)来创建回写缓存,该缓存针对电源故障提供容错能力,并且可以先在固态硬盘中缓冲小规模随机写入操作,然后将这些操作读入硬盘驱动器。这样存储空间可以减少随机写入的延迟,同时大大降低对其他数据传输的性能影响。
3使用Windows Server 2012 R2构建一种高效廉价的存储方案
与以往的存储解决方案不同,Windows Server 2012 R2提供了一个从小到大的非常广泛、灵活的存储构架,用户可根据需求从单个服务器开始逐步扩展到非常大的存储集群。虽然在性能上与SAN解决方案相比还有相当大的差距,但就中小企业需要兼顾高性能和低投入的需求来讲,微软特有的Hyper-Vover SMB存储解决方案,是一个合适的选择。
3.1存储方案的网络结构
Hyper-V over SMB存储方案的网络拓扑如图1所示。与SAN解决方案相比,多了一级文件服务器集群作为共享存储的提供者。
3.2存储方案的优势
1)有效降低成本。根据企业需求,可以最大限度地重用原有资产,如果不考虑文件服务器的高可用性,那么任何一台连接存储设备的PC都可以充当Hyper-V集群的共享存储的提供者,文件服务器的存储可以采用任何形式的存储模式(DAS、NAS和SAN),甚至可以是PC中的本地磁盘。如果实现文件服务器的高可以性,通过共享SAS连接JBOD,配合存储空间特性,可以在文件服务器集群中实现高可用性和扩展性,而JBOD机柜比传统的RAID存储阵列便宜。另外,Windows Server2012 R2学习难度低,使用简单,也使得培训和管理的成本进一步降低。
2)扩展性好。文件服务器集群的节点可根据需求进行扩展;每个文件服务器节点可连接2个以上JBOD,配合存储空间特性实现大容量虚拟磁盘,从而方便的扩展了存储空间。
3)兼容性好。文件服务器集群作为中间层,上层应用只需访问文件服务器而不必关心底层存储的实现细节,因而可以兼容不同型号的产品。
3.3存储方案主要配置步骤和方法
3.3.1部署基于SMB的Hyper-V
1)配置文件服务器集群
在两台服务器上安装Windows Server 2012 R2或Win—dows Server 2012之后,使用Windows PowerShell emdlet命令在每台服务器上添加文件和存储服务角色及故障转移群集功能,如下:
Install-WindowsFeature File-Services,FS-FileServer,Failover-Clustering
Install-WindowsFeature RSAT-Clustering-IneludeAllSub-Feature
如果使用SMB多通道,需确保安装2个具有相同类型和速度的网络适配器;
使用这两台服务器创建故障转移集群;
New-Cluster -Name ClusterName-Node FileServerl,File-Serve2
通過向外扩展文件服务器配置故障转移集群——在故障集群中创建外向扩展的服务器以用来持续托管SMB文件共享,其中,FSO是外向扩展的文件服务器集群名称,ClusterDisk 2是存储器名称
Add-ClusterSharedVolume“Cluster Disk 2”
Add-ClusterSealeOutFileServerRole-Name FSO
2)安装Hyper-V
要安装Hyper-V角色和Hyper-V Windows PowerShellcmdlets及工具,使用以下命令:
Install-WindowsFeature Hyper-V,Hyper-V-PowerShell,hy-per-V-Tools
3)创建SMB文件共享
Hyper-V用来存储虚拟机数数据的文件夹据要求访问SMB文件共享系统所需的特定权限。你需要确保Hyper-V計算机帐户、系统帐户、任何Hyper-V群集的群集计算机帐户和所有Hyper-V管理员均具有完全控制权限。
对于外向扩展文件服务器集群而言,键入下列内容来配置SMB文件共享(其中,HV1和HV2是运行Hyper-V的服务器,HVadmin是Hyper-V管理员账户):
#Createfolder
MDX:WMS
#Create file share
New-SmbShare-Name VMS1-Path X:WMS-FullAeeessDomain\HVAdmin,Domain\HV 1$,Domain\HV2$,DomainkHVC$
apply permissions
#Set NTFS permissions from the file share permissions
Set-SmbPathAcl-Name VMS1
4)在文件共享上创建虚拟机和虚拟硬盘文件
针对名称为FS1的文件服务器和名称为VMS文件共享系统创建名称为VM1的虚拟机:
New-VHD-Path\\FSIWMS\VM1.VHDX-VHDType Dy-namie-SizeBytes 127GB
New-VM-Name VM1-Path\\FS1WMS-Memou 1GB-VH-DPath\\FSlWMSWM1.VHDX
5)将虚拟机存储迁移至SMB文件共享
将虚拟机存储器迁移至SMB文件共享系统:
Move-VMStorage-VMName VM1-DesfinationStorage-Path\\FSTWMS
确认虚拟机是否正在使用SMB文件共享系统及工作负载是否未中断
Get-VM VM1 I FT Name.Path.State
Get-VMHardDiskDrive VM1 |FT VMName,Path
6)启动虚拟机向另一个群集节点的实时迁移
执行虚拟机向另一个集群节点的动态迁移
Move-ClusterVirtualMaehineRole-Name VM1-Node HV2 VmMigrationType Live
确认虚拟机是否已迁移至另一个集群节点且工作负载是否未中断
Get-ClusterGroup VM1 | FT Name.OwnerNode.State
7)将虚拟机移至另一台Hyper-V主机并迁移虚拟机存储
虚拟机向另一台Hyper-V主机的动态迁移
Move-VM-Name VM1-DestinationHost HV2
同时迁移虚拟机与直接相连的存储器,并将虚拟机存储器迁移至SMB文件共享系统
Move-VM-Name VM1-DestinationHost HV2-Destina-tionStoragePath\\FSTWMS
确定虚拟机是否已迁移至另一台Hyper-V主机,并正在使用SMB文件共享系统,且工作负载未中断
Get-VM VM1 | FT Name.Path.State
Get-VMHardDiskDrive VM1 | FT VMName.Path
3.3.2配置存储空间
1)创建存储空间
获取空闲物理磁盘
创建存储池
创建虚拟磁盘
基于虚拟磁盘创建卷
2)存储分层管理
在Windows Server 2012 R2中只能创建两个存储层,分别对应固态硬盘(SSD)和传统的硬盘驱动器(HDD),前者用于存储经常访问的数据,后者用于存储不经常访问的数据。
创建SSD存储池
$SSDTier=New-StorageTier-StoragePoolFriendlyName“TestPool”-FreindlyNmae SSD_Tier-MediaType SSD
创建HDD存储池
驻HDDTier=New-StorageTier-StoragePoolFriendlyName“TestPool”-FreindlyNmae HDD_Tier-MediaType HDD
新建一个虚拟磁盘并将其绑定到存储层
New-VirtualDisk-StoragePoolFriendlyName“TestPool”FreindlyNmae Tiered_VD -StorageTiers@($SSDTier,$HDDTi-er) -StorageTierSizes@(IOGB,40GB) -ResiliencySettingNmaeSimple
选项StorageTiers@($sSDTier,$HDDTier)指定所使用的存储层。
选项StorageTierSizes@(10GB,40GB)指定每个层的容量大小,顺序与前一选项保持一致。
基于该虚拟磁盘创建卷
Get-VirtualDisk I Get-Disk INew-Partion -Size 20GB -As-signDriveLetter IFormat-Volume -Force -confirin:$false
配置回写缓存
只要高速存储层的容量大于1GB,回写缓存在任何使用存储层的VHD上被自动地创建并使用。回写缓存的任何改动都必须在VHD创建的时候做出(而且VHD必须通过PowerShell创建),无法事后对回写缓存进行改动。创建虚拟磁盘时加上选项-WriteCacheSize,下例增加一个大小为1GB的回写缓存。
New-VirtualDisk -StoragePoolFriendlyName“TestPool”FreindlyNmae Tiered_VD -StorageTiers@($SSDTier,$HDDTi-er) -StorageTierSizes@(10GB,40GB) -ResiliencySettingNmaeSimple -WriteCacheSize 1GB
4结束语
在存储需求迅猛增长的今天,Windows Server 2012 R2特有的Hyper-V over SMB存储方案为中小企业提供了一种高效廉价的存储选择。在这一选择面前,如何根据企业自身条件,预见性的把握存储需求,在性能和投入之间找到最适合自身的平衡点,进一步细化和优化方案,挖掘和利用好各项功能,提高企业存储管理水平,是更需要深入研究的课题。