【IT168 专稿】摘要:在IT技术快速发展的今天,虚拟化技术日趋成熟,由于其在资金节省和IT效率提高上的优势日益明显,越来越多的企业也开始部署虚拟化平台。在企业环境中部署虚拟化平台的存储系统时,在考虑到性能的同时,还要充分考虑负载均衡和高可用性,这是确保整个虚拟化基础平台能够提供高质量可靠服务的基础。本文主要以VMware vSphere环境下的IBM DS5100为例来介绍如何进行存储设备的HA构架和配置,文章主要包括如下几个主要内容。
? IBM DS5100的基本内部结构介绍
? 高可靠性SAN构架设计
? 光纤交换机Zone的设计和配置(基于IBM Storage Area Network Web Tool)
? 存储系统Array、LUN的设计和配置(基于IBM System Storage DS Storage Manager)
示例环境介绍
在概述部分已经提到,本文主要以VMware vSphere 4.1环境下的DS5100为例来介绍存储的HA架构和配置,下面图1则是的笔者要介绍的虚拟化架构环境SAN组网示意图。
▲图1 SAN网络示意图
在图1中,在整个架构中包括三种类型的设备,Host Server, SAN Switch和Storage System。Server Group中的Host Server是用于部署vSphere4.1的应用服务器,用于运行所有的虚拟机,每一个Server Group在VMware环境中会配置为一个Cluster,每个Cluster中的所有机器会共享一定的存储空间。上图中的Storage System为这些应用服务器提供虚拟化需要用的存储空间, SAN Switch则是实现了Host Server和Storage System的连接。为了实现SAN网络上的高可用性,所有的Server和Storage System同时连接两台SAN Switch。在上述的虚拟化环境下, 每个Server Group只连接一个Storage System,Server Group 1/2/3分享Storage System1上面的存储空间,Server Group 4/5/6分享Storage System2上面的存储空间。在后面的组网、架构设计和配置时,会依据这个组网结构为基础进行说明。
IBM DS5100的基本内部结构
IBM System Storage DS5000系列磁盘存储系统是IBM的中端高性能磁盘存储系统,集成度非常高,从架构上能够支持线性的可扩张性,同时也能够非常容易的根据用户需求来进行负载均衡的定制,来实现高IOPS和MBPs的要求,能够在支持大容量的同时保证优异的性能,非常适合于虚拟化和整合。
为了有效的提升存储的I/O性能并做到高可靠性,就需要设计一套符合该存储特点的组网模式,因此,我们需要先大概了解一下DS5100的基本内部结构,在此基础上,便可以设计出能够充分发挥其优势的架构连接模式。如图2所示,DS5100主柜有两个相同的Controller模块,每个Controller模块有8个磁盘通道端口(红框部分,连接存储扩展柜),共分为4组,每一组的2个端口是通过一个回路开关(loop Switch)来控制的。每个Controller模块还有8个主机连接端口(篮框部分,连接主机或者SAN Switch),这8个主机连接端口由2个主机接口卡提供,每个卡上有4个端口,所有这些端口可以根据需要定制为4GB FC接口或者8GB FC接口。
▲图2 DS5100主机后面板接口示意图
DS5100的两个Controller模块之间通过内部连接模块连接,能够实现快速有效的控制交互和数据传输。每个Controller模块内部有一个专有ZIP ASIC芯片,该芯片被设计于专门支持I/O操作,来计算RAID的冗余信息,通过这个芯片来实现基于硬件的奇偶校验计算,这样会比通过软件计算快很多,这能够有效的保证整个系统的性能。
图3是DS5100的内部机构示意图,从图中可以看到,每个DS5100 Controller内部的磁盘通道端口模块和主机连接端口模块以Zip Processor模块为枢纽实现了内部连接,在DS5100内部这些通信是通过PCI Express总线来实现的。每个Controller模块的两个主机接口卡提供了8个主机接口,两个4口的4GB FC芯片组来连接磁盘通道接口, 其中一个4口4GB FC芯片组通过回路开关(loop Switch)连接本Controller模块上面的8个磁盘通道接口,另一个4口的4GB FC芯片组连接另外一个Controller模块上面的8个磁盘通道接口。
同理,另外一个Controller模块上的两个4口4GB FC芯片组也通过回路开关分别连接两个Controller模块上的16个磁盘通道端口。这样,就可以实现每个Controller都可以随时访问16个磁盘通道端口,每个主机接口通道的数据,都可以通过主机接口卡、Zip Processor模块、4口的4GB FC模块和回路开关来连接所有的磁盘通道接口。DS5100内部的处理芯片会根据各个通道接口的负载、扩展柜的连接情况、LUN的划分情况和数据读写目的来判断如何进行分流和回路开关的控制,最大程度上实现负载的均衡。
▲图3 DS5100主机内部结构示意图
高可靠性的SAN架构设计:主机与扩展柜链接
1.存储系统主机和扩展柜的连接
通过上一节DS5100的内部结构介绍可以了解到,DS5100有2个Controller,多个内部模块和端口,要实现高可靠性的架构,就必须要充分考虑冗余和负责均衡,即应该把主机通信和存储扩展柜的连接尽量的分布到所有的模块,芯片组和端口。
在连接磁盘存储扩展柜时,考虑到冗余和负载均衡,每个扩展柜都要同时连接Controller A和Controller B。同时考虑相邻的磁盘通道端口是通过一个回路开关控制,因此,建议使用如图4所示的配对方式。这样,在只有4个存储扩展柜的时候,可以采用图5所示的连接方式,可以完全使用所有的内部模块和回路开关模块。当存储扩展柜有8个时候,采用图6所示的连接方式,这样会使用了全部的磁盘通道端口。当扩展柜的数量大于8个时候,就需要两个或多个扩展柜先串联,然后再按照图6的方式连接到主柜。
▲图4 DS5100存储柜连接配对图
▲图5 四个扩展柜时连接示意图
▲图6 八个扩展柜时连接示意图
高可靠性的SAN架构设计:存储与SAN Switch连接
2.存储主机系统和SAN Switch的连接
在图1所示的组网示意图中提到,该环境里面是有两套存储系统和两个SAN Switch,每个存储系统将会支持3个Server Group.为了实现高可用性和负载均衡,两个DS5100主机需要同时连接两个SAN Switch。考虑到在可能的SAN Switch损坏或者某个Controller损坏的情况下还能够实现一定的负载均衡,建议采用如图7所示的连接方式,每个Controller的两个主机接口模块分别连接不同的SAN Switch,即两个Controller的1~4号主机连接端口连接到SAN Switch1, 5~8号主机连接端口连接到SAN Switch2。在这种情况,若任何一个SAN Switch损坏,DS5100的Controller A和Controller B还是能够有效的进行负载均衡;若DS5100的任何一个Controller损坏,两个SAN Switch也能够进行负载均衡。极端情况下,任何一个SAN Switch和一个Controller同时损坏的情况下,还是能够实现Host Server到DS5100存储系统的路径可达。
为了便于理解,在图7仅仅列出一个DS5100和2台Host Server跟SAN Switch的连接方式, 第二个DS5100和其他所有的Host Server也采用类似的方式同时连接。
SAN Switch的选择:在保证系统接口速度满足的基础上,要保证有足够的端口数,连接两个DS5100总共需要16个端口,连接Host Server时,每个Host Server只需要一个端口。
▲图7 SAN Switch组网示意图(1个DS5100和部分host Server)
3.Host Server和SAN Switch的连接
同存储主机系统类似,为了保证Host Server的高可用性,每个Host Server都配置了两个HBA光纤适配卡,两个HBA卡分别连接SAN Swith1和SAN Switch2.如图7所示。为了便于在SAN Switch上的配置,也为了便于后期的维护和纠错,建议每个Host Server的两个HBA接口连接到两个SAN Switch的相同编号的接口上。
光纤交换机Zone的设计
把DS5100和Host Server都连接SAN Switch后,整个SAN网络的物理连接部分基本完成。要实现所有的Host Server能够方便的连接到所需要的存储空间,同时要保证高可靠性和负载均衡,在光纤交换机和存储内部的配置也非常关键,本节先介绍光纤交换机想过的设计和配置。
1.光纤交换机Zone的设计
在SAN网络中,Zone是一个非常重要的概念,非常好的设计和配置Zone,能够消除许多潜在的常见问题,同时还能够保证充分发挥系统的性能。FC SWITCH上的Zone功能类似于以太网交换机上的VLAN功能,它是将连接在SAN网络中的设备(主机和存储),逻辑上划到为不同的区域内,使得不同区域中的设备相互间不能通过网络直接访问,从而实现网络中的设备之间的相互隔离。由于本文描述的场景是用于虚拟化的场景之下,有效的配置Zone还能够在保障性能的同时减低Host Server上面Multipath的数量,优化Host Server上vSphere的寻址管理能力。
在这里,我们推荐一个创建Zone的非常好的实践,那就是为每一个主机到存储的连接单独创建一个Zone,在图7中可以看到,每个DS5100存储的Controller A和Controller B分别有4个FC主机接口连接到SAN Switch上,因此,在创建Zone的时候,在SAN Switch上面,我们应该为每个Host创建至少2个Zone,分别连接到相应存储的Controller A和Controller B。 同理,在另外一个SAN Switch上,也为相同的主机建立两个Zone,分别连接到相应存储Controller A和Controller B的另外一组主机接口卡。这种方式,能够实现所有连接的完全隔离,也利于以后出现问题时的排查纠错。
以图7中的Host Server 1为例,可以分别在两个SAN Switch上创建如表1所示的Zone配置。在不同的应用场景中,也可以根据存储系统接口和Host Server接口的数量来复用存储系统的接口。
▲表1 SAN Switch ZONE配置表(Host Server 1)
按照这样建立Zone之后,每个Host Server会有4条路径到达存储系统,这4条路径覆盖了Host Server的2个HBA卡,2个SAN Switch和2个Controller的全部4个主机接口卡。 其中每个HBA有两条路径,每个SAN Switch有两条路径,每个Controller有两条路径。在存储系统上,每个4口的主机接口卡上都会有一条路径连接到主机。在这种情况下,即便出现坏掉一个SAN Switch同时还坏掉一个Controller的极端情况,也能够保证主机和存储数据的连通性。对于其他所有的Host Server,都可以根据上述示例来完成相应的Zone的设计。
SAN Switch Zone的基本配置
在完成了Zone的设计后,下面简单介绍一下Zone的创建主要过程,在这里,本文以IBM的24口交换机SAN24B为例来简单说明创建Zone操作步骤。IBM SAN24B光纤交换机的配置工具是基于Web的Storage Area Network Web tool,可以直接通过网络浏览器http连接SAN Switch的IP就可以。 在本节,仅仅列出配置Zone的基本必要操作步骤,具体的操作步骤细节,请参考其他文档。
步骤1、创建别名
为了便于管理和后期Zone的创建,我们可以根据SAN Switch上面主机或者存储的连接情况来创建别名,建议以Host Server的名字和Storage System的名字相应端口的名别。这样又有利后面Zone的创建,也利于以后出现问题是错误的排查。创建的过程如图8所示。
▲图8 SAN Switch创建别名步骤示意图
步骤2、创建Zone
别名创建好后,就可以根据Zone的设计逐个来创建Zone,创建Zone的时候,要明确每个 host server需要跟哪个DS5100的哪个Controller建立连接。创建过程如图9所示。
▲图9 SAN Switch创建ZONE步骤示意图
步骤3、创建配置文件并激活Zone
所有1对1 的Zone都创建完成后,把需要生效的Zone添加到Zone的配置文件中,然后激活这个配置文件,这样我们关于Zone的配置就正式生效了。创建过程如图10所示。
▲图10 SAN Switch创建Zone Config步骤示意图
存储系统DS5100的基本配置设计
在存储网络环境中,LUN Mapping是和Zone同样重要的一个概念。在多业务系统中,存储上的LUN Mapping或LUN Masking要与SAN Switch上的Zone功能配合起来使用,目的是使用不同的主机只能访问到不同的存储空间。一方面做到存储空间的隔离,同时能够充分利用存储上的空间,从而更方便的进行存储资源的管理与调配。
在LUN Mapping之前,Array的划分和Hot Spare Drive的设置也非常重要。尤其在虚拟化环境中,host Server需要持续的跟存储系统进行数据的交换,由于每个Host Server可能会由于用户的需求不同,导致对存储的访问流量不同,为了能够更好的实现高可用性和负载均衡,推荐如图11所示的配置方式。
▲图11 DS5100内部Array和HotSpare设计示意图
上述配置是在虚拟化环境下常用的一种配置模式,有如下的优势
? Hot Spare Drive在每个扩展柜里面预留一个,能够实现在任何一个硬盘损坏的情况下主动进行处理。对于系统管理员来说,可以非常轻松无时间压力的去处理坏掉的硬盘。
? 每个Array都跨所有的存储扩展柜,配置RAID5后,基本上所有的数据操作都会把负载分配到所有的扩展柜,这样可以有效的实现各个扩展柜的负载均衡,同时能够有效的均衡不同主机上不同规模的数据读写需求。
? 由于所有的Array都跨多个扩展柜,任何一个硬盘损坏或者任何一个扩展柜损坏,都不会影响整个存储系统的数据丢失,保证了高可用性。由于虚拟化环境下,每个存储空间上都可能运行着多个不同的虚拟业务系统,数据的高可靠性就显得更加重要。
按照图5或者图6所示的组网方式连接存储主柜和扩展柜后,同时按照图11所示的模式来划分Array,则可以在存储系统内部实现有效的负载均衡和性能优化。如图12所示,假定Controller A的主机连接端口8有1MB的数据流量,这些数据被分成4个256KB的块写到1到4号扩展柜上,同时还有256KB的奇偶校验数据到5号扩展柜上,则如图12所示,整个1.25MB的数据流量是以5个256KB的流量同时写到5个存储上去的,在实现数据操控的时候,DS5100系统会自动计算尽量通过更多的端口实现数据的并发操作,这样有效的保证了整个存储系的高可靠性和负载均衡。
▲图12 DS5100端口负载均衡示意图
存储系统DS5100的基本配置步骤
在完成整个存储系统的Array设计后,就可以开始对DS5100进行配置。在本文,以IBM公司对DS系列的存储提供了一个专业Client配置工具IBM System Storage DS Storage Manager10为例来简单介绍一些必要的配置过程,其他具体的操作步骤,请参考其他文档。
步骤1、配置存储的Hot Spare
Hot Spare硬盘是指该硬盘被预先插到扩展柜里面,当其他硬盘损坏是能够自动去替换损坏的硬盘,这可以为整个存储系统在出现硬盘故障时提供额外的保护。 如图11所示,考虑到不同扩展柜的数据通信需要通过存储主机,因此,我们建议hot spare drive保护的硬盘尽量在每一个扩展柜的内部,同时考虑到虚拟化环境下存储空间的需求非常大,因此,只在一个扩展柜上指定一个hot spare driver就够了。
初始配置入口如图13所示,进入配置界面后,选择所有的enclosure的slot16作为hot spare.
▲图13 配置HotSpare基本步骤示意图
步骤2、配置Array和LUN
在配置Array和LUN之前,应该确认目前存储系统已经升级了最新的微码,同时所有的Hot Spare已经全部配置完毕。同时,还要完成Array、LUN的设计,以及命名方式和RAID的配置模式。配置过程如图14所示,可以根据设计逐个创建Array,进入配置界面后,输入Array的名字,选择手工配置Array的模式,然后选择各个enclosure中slot号相同的disk来创建Array.
▲图14 Array创建示意图
然后,可以在Array下面创建LUN,为了实现较好的performance,若无特殊容量的逻辑硬盘需求,建议每个LUN的大小等同于单个物理硬盘的大小。
步骤3、配置主机组
在vSphere4.1的环境中,为了能够更好的实现资源共享和HA,建议采用Cluster的模式,把几台Host Server放到一个Cluster里面,每个Cluster作为一个Group共享一些相同存储空间。为了实现把LUN能够方便的映射到这个Server Group上面,需要在存储上面配置Host Group,如图15所示,创建Host Group之后,逐一添加每个Host的两个HBA 卡的port identifier。为了便于配置工作,建议在Storage配置之前,预先准备好所有Host Server的HBA WWPN地址。
▲图15 配置Host Group示意图
步骤4、Mapping LUN到主机
配置完Host Group,同时完成Array和LUN的创建之后,就可以Mapping LUN到相应的主机了。在进行该配置之前,一定要根据每个Server Group里面VM的数量需求和硬盘需求预先计算好需要的存储空间,完成LUN和Server Group的对应关系设计。设计完成后,可以如图16所示,进行LUN到Host Group的Mapping。Mapping完成之后,同时确认SAN Switch上面Zone正确的配置并激活了,那么所有的Host Server便可以实现到相应存储空间的正常访问了。
▲图16 Host Group的LUN Mapping示意图
总结及作者简介
本文介绍了在企业级虚拟化环境中部署存储系统时,如何根据存储系统的结构特点来设计SAN网络的构架和配置,来实现整个存储系统的高可靠性和负载均衡,从而为整个企业级虚拟化平台的高质量的可靠服务奠定基础。本文从SAN的架构设计,SAN Switch的设计和配置,存储系统内部Array的设计和配置等多个层次,充分考虑和设计了高可靠性和负载均衡,并能够在一个SAN Switch、一个存储Controller和一个存储扩展柜失效的极端情况下实现正常的数据访问。
本文通过分析了IBM DS5100存储系统的基本结构,给出了一套非常好的实践的SAN HA架构连接,该架构连接能够均衡的发挥DS5100的所有的内部模块和接口模块,实现了架构层面的高可靠性和负载均衡。同时以IBM的SAN24B光纤交换机为例,介绍了如何进行Zone的设计和配置,一方面实现了不同主机到存储系统访问的隔离,同时也实现了SAN网络连接的HA,并保证了SAN Switch各个端口的负载均衡。在DS5100的内部配置部分,介绍了如何进行Host Spare和Array的设计和配置,并给出了主要的配置步骤,实现了存储数据层面的高可靠性和负载均衡。
作者简介:
▲吴金强,云架构设计工程师
任职于某大型外资IT企业,从事企业云架构设计,具有丰富的IT架构和虚拟化经验,熟悉主流的虚拟化技术,熟悉IBM的服务器和磁盘存储产品。
▲周铁砚,存储工程师
任职于某大型外资IT企业,是一位存储工程师,专注于虚拟化方向、存储、Linux、开源软件,曾在多个行业中任职。
▲王益斌,系统架构师
任职于某大型外资IT企业,从事信息技术服务工作。熟悉IBM System x系列服务器,IBM Power System系列服务器,IBM DS系列存储器产品;熟悉IBM DB2数据库,熟悉IBM WAS应用服务器,熟悉IBM ITM监控管理平台。负责规划、设计和部署企业云计算平台环境。