浅谈云计算之SAN扩展系统设计
设计背景:不管是公有云还是私有云,为了提供服务的持续性(Business Continuity,BC)和数据的灾难恢复(Disaster Recovery,DR)都不可能只有一个数据中心(Data Center ,DC)。问题 是采用多个DC站点后,每个站点DC的数据要同步,以及为终端用户传输数据提供负载均衡,这些跨城域或广域的DC间该怎样进行数据复制和组织呢?
1.数据恢复衡量指标:恢复点目标(Recovery point objective,RPO)、恢复时间目标(Recovery time objective,RTO)
RPO是指DC损失的数据比例,RPO越小效果当然越好,但是恢复代价也越高。通常减小RPO的方法:开启连续的数据保护以及同步复制
RTO是DC恢复的时间,RTO越小效果也当然越好,但是恢复代价也越高。通常减小RTO的方法:具备聚簇或热备份系统
2.建立镜像和快照
镜像:就是对DC元数据的100%拷贝,备份数据卷和原始数据卷大小一样,数据块位置也一样。一旦完成镜像,就将镜像卷读取到远程DC存放。
在整个复制过程中,不影响应用程序对元数据的使用。
快照:快照是对DC元数据的暂态的拷贝存储。只复制从上次做快照起有更新的数据块,而且所有的更新都记录在日志中,因此存储需要的空间少,支持回滚到最近一次快照。持续数据保护就是做许多快照,使DC能在任意的时间段内回滚。
3.数据的同步和异步复制
复制通常就是基于数组完成的,通常的方法有:
EMC Symmetric 远程数据设备、Hitachi True 备份、IBM端到端远程复制。
同步复制:当服务器发出SCSI写命令时,就向A地和B地的磁盘阵列写入数据,当服务器都收到了A和B的SCSI写完成的回复命令时才开始发出下一条SCSI写命令。这样的好处在于能保证两地的磁盘阵列数据永远同步,缺点是如果某一路发生链路故障或者延时,造成服务器一直处于写等待状态,严重影响效率。
异步复制:当服务器发出SCSI写命令是,就向A和B地的磁盘阵列写入数据,服务器不用等到A和B都回复了才继续写,如果A回复了而B没回复就向A继续写入数据,对B的写入数据暂时写入缓存,B从缓存中不断读取数据写入远端B的磁盘阵列中。
至于企业运用中到底采用哪种方案,要考虑A、B的地理位置,带宽延迟、以及谁是主DC,谁是备用DC等。