论文部分内容阅读
小心误区
假设你为一家中小企业工作,想把几台Windows服务器连接到iSCSI SAN上。这些服务器很新,每台配有四块板载千兆网卡,但是仅有一块网卡连接到一台交换机上,且是一台不易管理的低端千兆交换机。
乍一看,你似乎可以将SAN插入到交换机中,为其分配IP地址,在服务器上安装微软iSCSI启动器(initiator),并配置iSCSI启动器,以便连接到SAN,就可以上路了。这确实可行,你能够从服务器上加载SAN存储系统,很可能可以凑合着运行,只要你对它没有过高的要求。不过,如果把庞大的生产负载加到SAN卷上,这种设计的不足之处很快就会暴露出来。
以这种方式连接到iSCSI存储系统存在几个问题:没有交换机或网卡的冗余性,SAN上没有负载均衡机制,没有对通过交换机的iSCSI流量进行优化所需的任何功能;而且可能最糟糕的是,存储流量将与前端客户端流量争夺带宽。
正确构建iSCSI
以上情形中缺少的部件很明显:一台还不错的交换机。一台好的交换机是iSCSI SAN的一个关键部分。虽然任何千兆交换机都可与iSCSI协同运行,但是如果选用价格低廉的、不易管理的交换机,将会错失一些很重要的功能。
首先,交换机不能堵塞。也就是说,它需要能够在其所有端口上同时处理全速的输入输出,而并非所有交换机都有这项功能。
其次,要能够支持流量控制。流量控制是一种第二层以太网协议,允许接收端的主机可以要求发送端的主机减缓发送数据量。这可以防止出现服务器或SAN发送的数据量超过接收方的接收能力的情况,否则会导致大量低效率的TCP重发,结果导致总体性能差强人意。
第三,交换机能支持巨型帧。典型的以太网数据包局限于1500字节以内,巨型帧可以扩大到9000字节。这很重要,因为可以减少需要通过线路传输的数据包数量,从而带来高的链路效率和低延迟。
最后,能支持虚拟局域网。通常希望把iSCSI流量隔离到它自己的虚拟局域网上,这一方面是为了提高性能,但最主要还是作为一种快捷的方式来确保未授权的主机无法连接到SAN。
一旦选择了一款很好的交换机,在条件允许时可购买两台,作为冗余。双核心网络架构一直是个好办法,当块级存储系统在网络上运行时,这种架构显得更重要。因为如果把一台普通服务器从普通网络上断开,那么在大多数情况下,最糟糕的事情就是所有用户都断开连接,直到服务器重新连上。但是当在网络上运行块级存储系统时,断开对存储系统的访问可能会引起不稳定,并导致服务崩溃。虽然几乎总是可以从这种事件中恢复过来,数据也不会损失,但是最好能够避免。部署两台交换机对实现这个目标就大有帮助。
选好交换机后,就可以把服务器和SAN连接到交换机上了。在服务器端,使用每台服务器上四块网卡中的两块连接到两台交换机中的每一台。同样,在SAN上,将SAN的接口划分给两台交换机。这样你就有了一条完全冗余、专用的路径通向存储系统。服务器的前端客户端流量就没必要与后端存储流量争夺带宽了,反之亦然。
下一步是配置服务器,让它连接到SAN上。这一步稍微有点复杂。微软iSCSI启动器在很大程度上简化了配置iSCSI入口(SAN)、连接到iSCSI目标(一个卷或一组卷)的工作。不过,还需要研究一下多路径输入输出(MPIO)是如何工作的,那样才能正确配置。
在理想情况下,对于专门用来访问存储系统的每块网卡而言,至少会有一路连接通向每个iSCSI目标。这不但提供了路径冗余(以防其中一个网卡或交换机出现故障),还允许SAN在不同的SAN接口之间对那两路入站连接进行负载均衡。不是所有SAN平台都能这么做,但是对能这么做的SAN来说,这项操作很有意义。
许多SAN厂商发布的软件包可以安装iSCSI启动器和路径管理设备特定模块(DSM),后者会以最适合SAN的方式,智能化地建立MPIO连接,戴尔EqualLogic的Host Integration Toolkit 就是这方面的一个例子。如果厂商提供了这样一款软件包,务必要充分利用起来,因为这一般会带来更好的性能,配置及维护起来将容易得多。
获得顺畅运行的架构
以这种方式配置了iSCSI网络后,实际的iSCSI互连将很少或从来不会成为影响性能或可靠性问题的一个因素。在大多数入门级SAN环境中,iSCSI互连还没有成为限制因素,每台有两条千兆链路的服务器就已经让SAN的磁盘保持良好状态的机械能力完全达到最大值。
如果是运行大得多的服务器或SAN环境,所设计的具体细节可能会有所变化,可能是在服务器中使用万兆以太网和iSCSI主机总线适配器/融合网络适配器(HBA/CNA),以卸载发送iSCSI数据包的部分工作量。然而,由高质量的交换机和正确实施的MPIO组成双核心网络这个基本概念仍然适用。
虽然部署iSCSI似乎很容易,但实际上却相当复杂,因为有好多不同的方式来配置它。如果你是iSCSI方面的新手,就要确保认真规划,并测试配置,之后再推广到生产环境中。
假设你为一家中小企业工作,想把几台Windows服务器连接到iSCSI SAN上。这些服务器很新,每台配有四块板载千兆网卡,但是仅有一块网卡连接到一台交换机上,且是一台不易管理的低端千兆交换机。
乍一看,你似乎可以将SAN插入到交换机中,为其分配IP地址,在服务器上安装微软iSCSI启动器(initiator),并配置iSCSI启动器,以便连接到SAN,就可以上路了。这确实可行,你能够从服务器上加载SAN存储系统,很可能可以凑合着运行,只要你对它没有过高的要求。不过,如果把庞大的生产负载加到SAN卷上,这种设计的不足之处很快就会暴露出来。
以这种方式连接到iSCSI存储系统存在几个问题:没有交换机或网卡的冗余性,SAN上没有负载均衡机制,没有对通过交换机的iSCSI流量进行优化所需的任何功能;而且可能最糟糕的是,存储流量将与前端客户端流量争夺带宽。
正确构建iSCSI
以上情形中缺少的部件很明显:一台还不错的交换机。一台好的交换机是iSCSI SAN的一个关键部分。虽然任何千兆交换机都可与iSCSI协同运行,但是如果选用价格低廉的、不易管理的交换机,将会错失一些很重要的功能。
首先,交换机不能堵塞。也就是说,它需要能够在其所有端口上同时处理全速的输入输出,而并非所有交换机都有这项功能。
其次,要能够支持流量控制。流量控制是一种第二层以太网协议,允许接收端的主机可以要求发送端的主机减缓发送数据量。这可以防止出现服务器或SAN发送的数据量超过接收方的接收能力的情况,否则会导致大量低效率的TCP重发,结果导致总体性能差强人意。
第三,交换机能支持巨型帧。典型的以太网数据包局限于1500字节以内,巨型帧可以扩大到9000字节。这很重要,因为可以减少需要通过线路传输的数据包数量,从而带来高的链路效率和低延迟。
最后,能支持虚拟局域网。通常希望把iSCSI流量隔离到它自己的虚拟局域网上,这一方面是为了提高性能,但最主要还是作为一种快捷的方式来确保未授权的主机无法连接到SAN。
一旦选择了一款很好的交换机,在条件允许时可购买两台,作为冗余。双核心网络架构一直是个好办法,当块级存储系统在网络上运行时,这种架构显得更重要。因为如果把一台普通服务器从普通网络上断开,那么在大多数情况下,最糟糕的事情就是所有用户都断开连接,直到服务器重新连上。但是当在网络上运行块级存储系统时,断开对存储系统的访问可能会引起不稳定,并导致服务崩溃。虽然几乎总是可以从这种事件中恢复过来,数据也不会损失,但是最好能够避免。部署两台交换机对实现这个目标就大有帮助。
选好交换机后,就可以把服务器和SAN连接到交换机上了。在服务器端,使用每台服务器上四块网卡中的两块连接到两台交换机中的每一台。同样,在SAN上,将SAN的接口划分给两台交换机。这样你就有了一条完全冗余、专用的路径通向存储系统。服务器的前端客户端流量就没必要与后端存储流量争夺带宽了,反之亦然。
下一步是配置服务器,让它连接到SAN上。这一步稍微有点复杂。微软iSCSI启动器在很大程度上简化了配置iSCSI入口(SAN)、连接到iSCSI目标(一个卷或一组卷)的工作。不过,还需要研究一下多路径输入输出(MPIO)是如何工作的,那样才能正确配置。
在理想情况下,对于专门用来访问存储系统的每块网卡而言,至少会有一路连接通向每个iSCSI目标。这不但提供了路径冗余(以防其中一个网卡或交换机出现故障),还允许SAN在不同的SAN接口之间对那两路入站连接进行负载均衡。不是所有SAN平台都能这么做,但是对能这么做的SAN来说,这项操作很有意义。
许多SAN厂商发布的软件包可以安装iSCSI启动器和路径管理设备特定模块(DSM),后者会以最适合SAN的方式,智能化地建立MPIO连接,戴尔EqualLogic的Host Integration Toolkit 就是这方面的一个例子。如果厂商提供了这样一款软件包,务必要充分利用起来,因为这一般会带来更好的性能,配置及维护起来将容易得多。
获得顺畅运行的架构
以这种方式配置了iSCSI网络后,实际的iSCSI互连将很少或从来不会成为影响性能或可靠性问题的一个因素。在大多数入门级SAN环境中,iSCSI互连还没有成为限制因素,每台有两条千兆链路的服务器就已经让SAN的磁盘保持良好状态的机械能力完全达到最大值。
如果是运行大得多的服务器或SAN环境,所设计的具体细节可能会有所变化,可能是在服务器中使用万兆以太网和iSCSI主机总线适配器/融合网络适配器(HBA/CNA),以卸载发送iSCSI数据包的部分工作量。然而,由高质量的交换机和正确实施的MPIO组成双核心网络这个基本概念仍然适用。
虽然部署iSCSI似乎很容易,但实际上却相当复杂,因为有好多不同的方式来配置它。如果你是iSCSI方面的新手,就要确保认真规划,并测试配置,之后再推广到生产环境中。