7.1.2 关键的设计原则
除了RPO和RTO设置外,其他重要的SAN扩展设计原则还包括:
·远距离光纤通道FC流控制
·诸如以下各类应用,包括:
·远程备份
·镜像和快照
·同步及异步复制
远距离FC流控制
缓冲区至缓冲区信用数(Buffer-to-Buffer Credit,BBCredit)机制提供了FC链路级别流控制。光纤登录(Fabric Login,FLOGI)过程将告知每一个N端口t和F端口可接收帧的BB_Credit峰值数目。同样,交换链路参数(Exchange Link Parameters,ELP)过程也将告知每一个E端口可接收的BB_Credit峰值端口数目。
说明:有关更多的F端口、N端口、E_端口、FLOGI以及ELP的技术细节,请参见第2章的注释。
图7-3展示了在一个近距离FC发送端口与接收端口光纤连接上的BB_Credit操作。每当发送端口发送一个帧,端口就将接收端口的BB_Credit计数器减1,当接收端口处理完一个已接收的帧后,向发送端口发送一个接收器准备就绪消息(Receiver Ready,R_RDY),发送端口收到R_RDY消息后,会将相应接收端口的BB_Credit计数器加1,如果发送端口的BB_Credit计数器的值变为0,帧发送将被中断,直至接收端口再次发送一个R_RDY消息。这种特殊的BB_Credit机制保证了不会因链路级缓冲溢出而发生帧丢失。
图 7-3 近距离FC BB_Credit操作
说明:R_RDY在FC术语中,也被称为原始信号。
每一个由发送端口送出的帧在接收端口返回R_RDY消息之前都被假设一直占用着接收端口缓冲区的空间,因此,如果超过特定距离的限制,受限于缓冲区容量或者是BB_Credit,系统就无法保证满(或线性)吞吐量,这不禁又使我们想起了第4章曾经讨论过的动态TCP吞吐限制。如何确定BB_Credit,使得指定距离范围内的光纤通道能得到充分利用,是实现SAN扩展之前就必须考虑的一个非常重要的设计问题。
由图7-4可知,随着距离的增加,发送端口收到来自接收端口R_RDY消息的时间也将跟着增加,一旦相应接收端口的BB_Credit变为0,发送端口就会形成一个“传输停滞-间隔”,端口在等待BB_Credit更新的过程中会耗尽发送端口所有可得的BB_Credit。因此,当光纤管道超过一定距离后,最大的稳定吞吐量将显著下降。这一现象被称为下垂。当光往返某个通道的时长超过了它携带足够多数据以填满接收端链路级缓冲区所需时间时,就会发生下垂。换句话说,也就是,必须有足够的BB_Credit才能保证特定距离的线路速率吞吐量。
图 7-4 长距离下FC BB_Credit操作
可以利用下面的数学公式来计算特定距离下能够充分利用光纤管道的BB_Credit。
·当BB_Credit<RTT/SF时,下垂发生的条件为:
·RTT为往返一次的时长
·SF是数据帧的串行延迟
·RTT受串行化、传播、处理以及发送延迟的影响:
·RTT为SF、PF、SR以及PR的和:
-SF为一个数据帧串行处理所需的时间
-PF为一个数据帧的传播延时
-SR为R_RDY串行时间
-PR为R_RDY传播时延
说明:当计算RTT时,可以忽略处理延时,因为和其他类型的延时相比,它无足轻重。
图7-5展示了在一个距离为80km的2G FC线路速率的网络上,计算BB_Credit来避免发生下垂的样例。这些计算仅用于示范,还可以使用行业标准作为一个粗略的指南:
·1个BB_Credit在满吞吐量时只能支持1公里的2G FC,或
·1 BB_Credit在满吞吐量时只能支持2公里的1G FC,或
图 7-5 计算BB_Credit以避免下垂
·2 BB_Credit在满吞吐量时只能支持1公里的4G FC等。
说明:1G FC=1.0625 Gbps;2G FC=2.125 Gbps;4G FC=4.25 Gbps;10G FC=10.51875 Gbps。
实际的行业标准也源于图7-5公式的计算结果。由于物理端口对BB_Credit数量需求有较高要求,因此在长距离传输中很难得到满线路速率吞吐量。某些FC交换机厂商推出了FC交换机线卡,这些线卡能够支持每个端口拥有千个左右的BB_Credit,克服了硬件的局限。
说明:可以用R_RDY欺诈来扩展超过允许协议允许范围的缓冲区信用数。此时,R_RDY信号通常被FC交换机用于指示已经接收到一个帧,每一个经过FC交换机的帧都将被互联传输结点拦截并模仿。
远程备份
远程备份有时也被称为远程vaulting,它们通常比像磁带备份这样的标准离线站点备份速度要快得多。远程备份一般会借助标准备份设备进行数据备份,例如Symantec(原来叫Veritas)NetBackup,只是备份站点位于远处。备份或归档的文档也可以被存储在磁带上,以便在需要的时候进行恢复。
镜像和快照
镜像是对原始数据卷100%的拷贝,备份数据卷和原始数据卷大小一致,数据块位置也一模一样,也因此得到了相同的元数据。当数据复制完成后,既可以从原始卷读出来也可以从备份卷读得。
说明:元数据为指向卷内任意时间点数据块的指针,当对数据块进行写、更新和删除操作时,也会修改元数据。
对于复制而言,一旦完成了镜像,备份卷就会与原始卷分离开来单独存放,同时加上时间标记。然后就可以通过读分离的镜像,将数据复制到远程DC,并对其进行更新。整个复制过程中,其他应用可以继续对原始卷进行读写操作,复制不会对正在运行的应用性能产生影响。
镜像特性总结如下:
·对数据卷和元数据为完全备份;
·创建了冗余的备份数据卷;
·占用了更多的磁盘空间;
·更长的复制时间;
·只有当全部复制都完成,镜像才可用。
快照是一个对元数据的暂态复制,同时包括自上一快照完成后任何发生了更新的数据块的备份。通常不会将快照看成是冗余数据,因为它只涉及了数据的一个备份,同时,消耗空间更少,并且随时可用。
快照完成之后,就不能再修改元数据,快照的元数据内包含了指向原始数据卷中原始数据块位置的指针。此时,应用可以继续对原始数据卷进行读写操作,任何有更新的数据块将被写到另外一个区域。通过读原始数据卷,可以将数据复制到远程DC,也可以将数据写到备份卷。不过,正在运行的应用和复制过程中访问原始卷的复制操作都将降低应用的性能。
快照特性总结如下:
·元数据按时间点复制;
·只复制有更新的数据块;
·只使用原始数据卷;
·占用空间较少;
·随时可用;
·支持按时间点回滚至最近一次快照。
说明:持续数据保护(Continuous Data Protection,CDP)可以在任意时间段回滚,因为尽管只有一个数据的备份,但所有的数据更新都被持续记录在日志中。
同步和异步复制
复制通常基于数组完成,一些基于数组的复制方法包括:
·EMC Symmetrix远程数据设备(Symmetrix Remote Data Facility,SRDF)
·Hitachi True备份
·IBM端到端远程复制(Peer-to-Peer Remote Copy,PPRC)
复制模式一般可以分成两种:同步和异步。当采用同步复制模式时,当远程复制完成后,本地主机系统才会收到一个SCSI写命令完成的信号。图7-6展示了一个同步复制的样例。
图 7-6 同步复制样例
同步复制优势在于它能够保证本地和远程FC磁盘阵列都能在本地主机系统继续下一个SCSI写之前完成更新,不利因素是主机必须要等待远程写完成。如果远程阵列位置比较远或者是通过高延时链路连接,性能将受到严重影响。
简单来说,采用同步复制模式时:
·当一个I/O操作完成后,数据必须被写到两个阵列上。
·两个阵列中的数据永远是完全同步,更新也一样。
·当谈到应用性能,首先要考虑站点间距离,因为随着距离增加,相应延时也会跟着变大。
使用异步复制模式时,本地主机在远程复制完成之前就会收到一个SCSI写命令完成的信号(远程复制将在稍后时间点进行异步更新)。图7-7展示了一个异步复制的样例。
异步复制模式的优势在于主机系统能够立刻收到本地FC磁盘阵列的应答,不用等待远程复制完成就可以紧接着进行后面的SCSI操作,不利之处为在远程复制完成之前,本地和远程数据备份是不一致。如果复制中有任何一个系统或链路发生故障,两个备份就不一定完全一样了。
简单来说,采用异步复制模式时:
·更新后的数据放在缓存中直到数据能够被复制为止;
·远程磁盘上的数据永远不会同步完成或同步更新;
·应用性能随着数据保护代价增加而增长;
·可以覆盖更远的物理距离范围,也可以容忍更高的延时。
图 7-7 异步复制样例
私营企业必须对每一种复制模式进行利弊进行评估以确定哪种模式将更适合他们的DC云计算环境,需要衡量的因素包括:
·实施成本
·DR站点目标,包括与主SAN地理位置是否接近
·数据丢失成本(high PRO)
·冗长的恢复时间(high RTO)
·基于应用的异构方案
如果能将同步和异步模式混合,可能会比单独采用某一种方式能得到更好的效果。对备份站点采用同步复制模式,但是对一个更远的第三备份站点使用异步复制。以一个关系数据库管理系统(Relational Database Management System,RDBMS)为例:
·使用同步复制,将重做日志备份到远程站点;
·使用异步复制,在特定时间点(夜间)或使用异步方式备份文件日志;
·固定地按时间点异步复制或备份数据和控制文件。