一、分享背景 最近工作中发现很多同学对存储中的多路径和分区不是特别清楚,知道是怎么回事,但是很难用语言清晰的表达出来,所以本文将某公司存储中的多路径究竟是怎么回事?FC中的分区又是怎么回事?
二、存储多路径 如图所示,server端有两张HBA卡,分别连接到两台交换机上:FC光交01和FC光交02。两台交换机分别连接外置存储的A、B控制器,存储中已规划出一个100GB的LUN。现在server到存储设备之间有多条链路,存储设备上的同一个卷(100GB的LUN),在主机端将呈现多个卷。 在图示中,用不同颜色虚线标记的链路,是4条独立的从server到存储设备的链路,当存储设备中的一个LUN映射给server后,由于server到存储设备的4条虚线链路是独立的,所以在server端将会看到4个独立的LUN。冗余路径提供了可靠性,但是会导致主机识别磁盘混乱,这种混乱的情况有一个名字:多路径问题。
如何解决:在存储设备上的同一个LUN,由于主机到存储设备有多条链路时,在主机端呈现的多个磁盘,多路径软件能够屏蔽这些磁盘,而生成一个虚拟的磁盘,读写操通过虚拟的磁盘进行。 多路径软件功能: 最优路径选择:选择多条路径中的最佳的路径进行操作,能获取最佳的性能。 路径I/O负载均衡:自动选择多条路径进行下发,提高IO性能,以及根据路径繁忙程度进行业务路径选择。 故障转移:业务链路发生故障的时候,故障转移( Failover )随之发生,实现业务不中断。 故障恢复:故障的业务链路恢复后,恢复(Failback)随之发生,用户无需介入,自动完成,且业务不中断。
操作系统自带多路径,如Windows使用的是MPIO,Linux使用的是DM-Multipath。某公司超融合平台也自带了多路径软件,所以无需再安装多路径软件。操作系统自带多路径大可以实现基本的故障转移和负载均衡功能,可以满足对可靠性要求不高的场景;而存储厂商提供的自研多路径通常更加专业,在可靠性以及其他方面如性能、可维护性、存储适配度等方面具有更佳表现。
三、FC分区 出于安全的原因,规划设计存储时需要对特定设备之间的访问进行限制,这可以利用zone的方式来实现。在一个设置了zone的光纤交换机中,只有在同一个zone中的设备,彼此之间才能进行通信。 如图所示,分区1标示的zone限制了一个主机(server03)和一台存储设备A之间的通信。这意味着server03只能发现存储A,并能与它进行通信。尽管其他的设备也连接到了相同的交换机,但是server03并不能与其他的主机或者存储设备进行通信。 分区2标示的zone限制了server02和存储A、B设备之间的通信。这意味这server02可以发现存储A、B设备,并能与他们通信。同理,server01可以有存储A、D设备通信。 存储C不属于任何一个zone,所以存储C不能任何其他的设备发现。 我们可以将一个设备加入到多个zone中,例如,我们可以发现,存储A设备既在分区1中,又在分区2和3中。
如图所示,在实践中,所有的设备都是连接到光纤交换机的。 在交换机内配置zone,可以使用图形界面或者命令行模式。(视具体交换机型号决定) 在一个交换机中,有两种主要的方法用于定义zone: 端口分区:在每个zone中,都列出了被连接设备在交换机上的端口号。这要求交换机的管理员,必须精确的知道设备的哪根光纤线连接到了交换机的哪个端口。 软分区:这也叫做WWN分区。在一个交换机中,同一个zone中的设备,通过 WWN列表来定义一个zone分区。
|