董志卫
作者董志卫2018-01-04 13:59
系统架构师, 李宁(中国)体育用品有限公司

一张图揭秘SAN网络运维

字数 5840阅读 2191评论 9赞 41

1.何为SAN网络

微信图片_20180104134245.png

百度百科:

存储区域网络(Storage Area Network,简称SAN)采用网状通道(Fibre Channel ,简称FC,区别与Fiber Channel光纤通道)技术,通过FC交换机连接存储阵列和服务器主机,建立专用于数据存储的区域网络。SAN经过十多年历史的发展,已经相当成熟,成为业界的事实标准(但各个厂商的光纤交换技术不完全相同,其服务器和SAN存储有兼容性的要求)。

SAN专注于企业级存储的特有问题。当前企业存储方案所遇到问题的两个根源是:数据与应用系统紧密结合所产生的结构性限制,以及小型计算机系统接口(SCSI)标准的限制。大多数分析都认为SAN是未来企业级的存储方案,这是因为SAN便于集成,能改善数据可用性及网络性能,而且还可以减轻管理作业。

个人理解:

来自百度百科的解释看起来永远是那么晦涩难懂,但毕竟是所谓的官方定义。下面主要聊聊SAN 网络在我的眼中是一个什么样的存在:

SAN网络(Storage Area Network,简称SAN),顾名思义就是存储区域网络,SAN网络最初主要是指FC-SAN,当然发展到现阶段目前常见的SAN有FC-SAN和IP-SAN,还有IB-SAN,其中FC-SAN为通过光纤通道协议转发SCSI协议,IP-SAN通过TCP协议转发SCSI协议。这里咱们主要的聊的主要内容就是FC-SAN。

想到SAN联想到一幅图片,多个主机通过光纤交换机连接后端存储和带库等设备,至于说如何连接那还是需要看具体需求,如图所示。

微信图片_20180104134351.png

后续的内容都将基于这一张图展开,SAN的运维过程当中,我们应该基于这张图进行完善和调优,谢谢大家。

2.SAN的网络组成

咱们结合这第一章节的最后的一张图进行分解,SAN网络以下几部分组成:主机层,交换层,存储层,另外还有SAN 网络的监控。下面我们就基于以上几个部分分别来说明一下SAN网络的中的具体细节

2.1 主机层

任何san网络的最终目的都是为上层业务系统搭建一个支撑平台,存储数据。因为业务系统是OS上面,底层的硬件部分就是主机部分,不管是虚拟化环境还是物理机。直接与SAN网络打交道的还是要通过物理硬件连接,后续才有虚拟化平台的进一步设置。

目前主机层面主要分两大阵营:X86和小型机 ,由于技术不断成熟和业务方案的有更多更好的选择的前提下,X86 阵营有了长足的发展,未来亦有可能会是压倒性的趋势。

主机设备市场上有很多品牌,市场上有很多,如IBM,HP,DELL,CISCO,曙光,华为,浪潮等。主机要想连接SAN网络,需要配置主机的端的HBA卡,常见的厂商主要有emulx,qlogic,IBM,DELL,HP,Brocade 等,下面贴上emulx和qlogic的卡
如图所示:

微信图片_20180104134537.png

微信图片_20180104134517.png

企业当中使用的主机HBA卡,一般来说都是LC接口的,由于交换机大多也都是LC 接口类型的,所以我们使用光纤大多lc-lc 类型的。

HBA卡经过了多年的发展,接口速率由原先的1GB,2GB,发展到前些年的4GB,8GB卡,再到近些年来的16GB,目前市场主流还是8GB和16GB的HBA卡,接口也从原先的单口卡发展为现在双口和四口,市场上新下的订单已经很少再可以买到单口的卡,除非是库存等。下面我贴一张FC 发展的过程图,这张图也是从其他文章里发现的,感觉很清晰就收藏了。

微信图片_20180104134622.png

光纤线:

HBA卡要想连接光纤交换机,中间必须要有线缆,这里贴一张企业常用的LC—LC的接口的类型的光纤线。

微信图片_20180104134710.png

当然光纤线接口类型还有其他类型,如SC,FC,ST等,但是常用的就是多模LC-LC 接口类型。这里就不详述单模和多模的区别,有兴趣的可以直接度娘。

2.2 交换层

介绍了主机,HBA卡和光纤线之后,我们这一块来介绍一下交换层这一块的内容,这其中核心部件就是FC光纤交换机和SFP 模块。光纤交换机市场也是非常的杂乱,每个硬件厂商基本上都有自己的产品,这其中当然有厂家独立的技术产品,也有OEM过来的产品型号进而推出的相关产品,下面就来用图来展示一下目前各大主流厂商的产品及相互关系,如图所示

微信图片_20180104134808.png

微信图片_20180104134839.png

微信图片_20180104134905.png

微信图片_20180104134933.png

这里在专门一张图展示一下Brocade 相应的产品图,最新的产品可以到相应的官方网站查询。

微信图片_20180104135000.png

相信大家或多或少的接触过不少光纤以太网交换机,一个小型的SAN网络基本通过一个或几个光纤交换机独立工作或者级联就可以支撑整个公司的SAN网络环境,在一个特大型的SAN网络当中只靠光纤交换机的级联就显得非常的低效和故障隐患太高,这时就需要一个路由器(router),大型TCP/IP 网络需要路由器,大型的SAN网络同样也需要路由器,通过路由的功能来实现交换机之间的互联与通讯,进行形成一个大型和复杂的网络。然而由于标准尚无明确的规定,导致各大厂商之间的路由出现了很多问题,往往都是自家产品的相互路由有比较好的兼容性。

光纤交换机目前市场主流的是接口速率16GB和32GB,端口从8口到80 口,更多的端口需要可以支持插入背板的光纤交换机,以来扩容端口的需求。产品可以参考上一张图片,光纤交换机的购买也可以按需购买,激活和扩容。也就是说购买一个光纤交换机,最初可以只是购买适合业务需求1/4或者1/2端口配置,后续根据需要扩容sfp模块和激活的license 。
这里我贴上一张sfp模块的截图:

微信图片_20180104135027.png

光纤交换机的使用方式在小型企业主要是独立和级联两种方式。独立自然就很好理解了,不和别的环境混用,这种情况下基本上用于环境比较小而且比较单一的时候,但凡有混合型需求:如需要接入的光纤交换机的主机数量很多,且很多时候需要冗余和共享,这个时候就需要考虑级联,来扩容交换机端口的数量。

2.2.1 级联:

博科交换机级联采用的是ISL方式,ISL是英文Inter-switch link的缩写,是用E-port端口将两台SAN交换机连接起来的一种方式。

那么在光纤交换机级联的时候需要考虑几个方面,要提前做好准备,

  1. 级联的license
  2. 交换机的微码
  3. Domain ID的设置
  4. 级联模式的选择

曾经做过的一个项目:
B80 分别级联以上各个交换机,B80和B5K跑核心业务,B24跑开发测试,交换机之间的级联通过两条线缆进行,如图所示。

微信图片_20180104135148.png

微信图片_20180104135219.png

级联后B80 端口类型如图所示:

微信图片_20180104135246.png

至于不同厂商之间的交换机之间的级联如何做,那么首先需要查阅一下设备兼容手册,尽量避免不同品牌交换机的直接的互联,保持良好的兼容性。

2.2.3 Zone 设置

在交换机层面操作最多的就是zone的划分设置,常见的zone的划分方式有基于别名,端口和基于WWN。有关zone 设置,这里做一个简要的介绍,有关详细的使用方法,可以查找相关文档。

划分zone 需要梳理的几个步骤

  1. Domain id 要设置
  2. Zonecreate 创建zone
  3. Cfgcreate 创建配置文件profile
  4. 添加第2步创建的zone到第3步的创建的profile 当中去
  5. 保存配置profile
  6. 激活profile,生效

其原理和实现大同小异,目前市场主流的就是博科和CISCO 两大产品的zone 划分设置,其配置方式有些区别,但是不难理解。CISCO的zone 主要是vsan,zoneset的概念,有过cicso操作经验的兄弟应该操作起来不是很陌生,下面这里分别基于博科和CISCO zone划分举两个实例,以供参考

(1) 博科

Zonecreate “power750_ds8100”,”1,20;1,0;1,1”
Cfgcreate “b80_config”
Cfgadd “b80_config”, “power750_ds8100”
Cfgsave
Cfgenable b80_config

(2) CISCO:

创建zone

conf t
zone name crm vsan 100
mem interface fc 1/20,fc 1/21,fc 1/22
exit

创建zoneset,zone加入zoneset

zoneset name zoneset_crm vsan 100
mem zone_crm
exit

激活zoneset
zoneset activate name zoneset_crm vsan 100
copy running-config startup-config

上面两个小例子只是工作当中zone划分设置的一个小小的场景,希望对大家有所参考。有关交换机在运维过程中,有很命令需要熟悉和掌握,这样在故障诊断时就会比较节省时间,大家需要针对具体的交换机系列进行积累,当然利用监控工具也是可以的。

2.3 存储层

存储层只是一个概括而已,主要是指连接在光纤交换机上用于提供数据存放的设备,如存储设备,磁带库设备,NAS设备等。存储设备大多都有2到多个控制器,控制器通过光纤设备连接到光纤交换机,在交换机上配置相应的Zone,从而识别主机,映射到主机,最终完成主机设备存储,带库等相关设备的操作。

存储连接到光纤交换机:

  1. 存储sfp一般的接口速率大多都是8GB或者16GB,速率都比较高。建议接到核心交换机上,以供大量主机使用
  2. 存储上联光纤交换机存储控制器连线要保证冗余,每个控制建议至少上联2跳线,4个线比较理想。

这一层设备其实没有太多好讲的,在SAN网络挡住主要就是连接到Switch,识别到主机,划分LUN映射给主机,其余什么逻辑组,lun条带大小,快照等功能,咱们在此不做详细介绍。

2.4 监控层

监控是运维的一把利器,如何运用好监控是应该是我们运维的一件重要的事情,只有这样才可以做到先人一步,快人一步,在这个数据为王时代,服务的好坏直接影响这未来的道路和方向。

其实监控单独拿到这里来说是不太准确的,也是不完整的,但是它是不可或缺的。在SAN运维方面,除了大型公司和互联网行业外,一般企业很少听说有SAN这方面的监控建议的。在此能分享一下社区会员有关这方面做的好的经验。

产品选择:

  1. 开源的有Stor2rrd,商业软件有Brocade Network Advisor,IBM TPC,Solarwinds Storage Resource Monitor
  2. Brocade Network Advisor + IBM TPC,Brocade Network Advisor选免费模式
  3. IBM TPC,HP SOM 国外贵缺乏定制化支持,国产也很多产品灵活,原理都是基于SMI-S、SNMP等采集设备配置数据
  4. nagios zabbix cactic.

有关光纤交换机的监控,其实如果可以使用产品厂商提供的相关产品应该是最好的,有的产品可以做到基于主机链路,光纤交换机,存储一条完整路径的监控,覆盖范围比较广,实施起来也比较复杂,各位可以根据企业的需求去选择。

存储管理监控:

目前存储管理监控都是基于SMI-S、SNMP、CLI等方式对设备进行数据采集(包括配置、容量、性能、告警等),目前这类产品很多,各厂商都有区别在于设备支持兼容性。

功能:

  1. 自动SAN拓扑
  2. 配置资产信息
  3. 容量信息
  4. 性能信息
  5. 告警信息
  6. 报表等

3.SAN 网络运维常见问题

常见问题:
http://www.talkwithtrend.com/Activity/index/op/question/id/1033

本次活动当中很多积极参与,提出了很多实际运维工作当中遇到的问题,也分享了很多解决办法和经验,这里分享几个比较典型的问题。在此感谢以下会员的积极分享:

ACDante,潘延晟,aix7,crystalwmagic,oniontech ,fuwangrong 等各位兄弟的大力支持分享。

1. SAN网络连接线如何避免乱,如何规划线路连接

布线离不开机房机柜、交换机、设备的安装规划,根据自身环境制定最适合的规划,比如设备安装、交换机是EOR、MOR还是TOR架构、是否有大对数光纤配线架都需要考虑,标签的记录名称是否规范化,机柜、设备、交换机的名称规范化也需要考虑。

微信图片_20180104135706.png

2. SAN环境下数据平滑迁移

在条件具备的情况下使用高级工具来配合我们完成迁移工作,迁移工具如:

  1. 命令 AIX平台上的mirrorvg,migratepv,migratelp,mklvcopy,cplv,backup,restore等
  2. 存储功能 快照,存储复制,虚拟存储网关等

3. SAN环境故障诊断

  1. 指示灯 (理解各种指示灯的意义)

  2. 是否是一个普遍还是独立的问题,例如io问题
    例:
    曾经遇到一个集群环境下多节点主机io 性能下降,其中最终问题是由于ds8000 一个控制器问题导致。

  3. hba卡故障
    例:
    存储端出现告警灯亮,登录storage manager 查看,出现链路切换,由于有过类似经验,直接定位是由于vmware 集群端主机其中hba卡异常导致,直接查看链路状态和hba卡硬件状态,配合查看交换机端口,很快就能定位故障hba

  4. 扫描问题
    例:
    曾经配置一套集群,集群三个节点,vmware 环境,添加存储器,扫描异常缓慢,本应几秒钟就可以完成的操作持续了将近1分钟,使用效果不好,表现在io和反应问题。最终更换hba卡,扫描立刻正常,各方面均OK。

  5. 交换机连接异常
    例:
    曾经通过ssh连接配置B24设备,由于该设备一直在使用状态,但是本次连接建立后直接就断,根本连不上,后来通过串口连接也都OK,使用telnet端口和ping ip地址去诊断均显示OK,ssh和telnet 就是登录不上,最终更换一个网线就正常了。
    有的时候交换机的telnet服务也会停止响应,需要使用串口登录进去,重启一下telnet服务也是可以解决。

  6. SAN网络的两个应用技巧

http://www.talkwithtrend.com/Question/408427

4.总结:

本文从大到小,从整体到细节,针对SAN网络进行了介绍和解释,从组成到原理进行适当的分析,并以实例形式分享了在运维工作当中的诸多问题,我们要看着理解的是

一个好的规划是好的运维的基础
一个好的监控是运维的保障
一个个细节使我们是我们需要在运维过程中去关注
一个个故障和经验需要我们去总结和学习

好了,本文到此分享结束,谢谢大家。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

41

添加新评论9 条评论

#shmilyxys系统架构师, 中天国富证券
2019-05-20 09:46
感谢分享
#colerofyou系统架构师, SUN
2019-04-09 18:22
写的很好,学习了。
#Alehandro系统工程师, compute
2019-03-04 08:32
感谢作者的分享。学习了。
#cppcc系统运维工程师, 北京开维创科技有限公司
2018-05-21 17:04
学习了,多谢
#keyanyuan127存储工程师, eccom
2018-01-19 15:34
嗯,不错,很全面!很细致!学习了!
#amolexcompany网络工程师, oplink
2018-01-17 22:19
学习了,灰常不错。
#iwycmq系统运维工程师, 昆仑健康保险
2018-01-09 21:43
感谢,学习了
#abczycxQA工程师, hykj
2018-01-08 15:15
感谢作者的分享。学习了。
#wuwenpin软件开发工程师, 南京
2018-01-05 12:10
不错,学习了。
Ctrl+Enter 发表

关于TWT  使用指南  社区专家合作  厂商入驻社区  企业招聘  投诉建议  版权与免责声明  联系我们
© 2019  talkwithtrend — talk with trend,talk with technologist 京ICP备09031017号-30