-----------------------------------重要说明------------------------------------
以下部分内容来网络,部分自华为存储官方教材
具体教材内容请移步华为存储官网进行教材下载
网络引用内容无法找到原创,如有侵权请通知
------------------------------------重要说明------------------------------------
a. 定义
OceanStor 9000的InfoReplicator特性提供目录级别的异步远程复制功能。支持多套OceanStor 9000系统之间,周期性自动完成数据复制或人工手动触发数据复制,经由IP链路( LAN或WAN均可)传输复制指定目录与文件,从而在异地保存一套数据备份。
主、从站点的远程复制主要包括如下三个业务阶段:
1. 主站点内的数据周期性或手动向从站点进行复制。
2. 主站点不可用时,将前端业务请求切换至从站点。
3. 当主站点恢复可用时,将前端业务请求切换回主站点。
b. 基础概念
l Pair
在InfoReplicator特性中, Pair是一条数据复制关系,描述了数据复制的来源和目标,以及数据复制的频率等相关规则。
创建Pair时,需指定本端站点除文件系统根目录(“ /”目录)之外的任意目录作为数据复制的来源(即主目录),并指定远端站点除文件系统根目录之外的任意空目录作为数据复制的目标(即从目录)。指定的从目录必须为空目录,否则无法创建Pair。
l 同步
同步是指将主目录里的数据向从目录复制和更新的过程, InfoReplicator特性基于Pair对数据进行同步,维持主、从目录间的数据一致性。
InfoReplicator支持全量同步与增量同步:
全量同步:是指将主目录中的所有数据全部复制到从目录中。
增量同步:是指将两次同步间隔期内主目录的增量数据(包括新增、修改、删除)更新到从目录中。
创建远程复制Pair后,需要用户手动触发初始同步,将主目录中的数据全量同步至从目录。后续在主目录新增、修改数据后,每启动一次同步,系统均采取增量同步的方式,即仅对上一次同步完成后的差异数据进行同步,以此减少数据复制时间,提升复制效率。当数据在主目录中被删除时,启动同步后,从目录中的该数据也将被自动删除。
InfoReplicator支持在复制数据的同时,将主目录的基本属性、扩展属性、 ACL( AccessControl List)与WORM( Write Once Read Many)等属性也一并复制到从端。此外,用户也可将主目录的NFS/CIFS共享等NAS协议配置信息导出备份,以便在主站点不可用时,在从站点导入已备份的NAS协议配置,进而使从端快速接管业务。
l 分裂
InfoReplicator支持对Pair进行分裂,即暂时中止主、从目录间的数据同步。分裂可以灵活满足用户的某些特定需求,例如:暂时性的链路维修、网络带宽扩容、归档从目录某一时间点的数据等。
当Pair被分裂后,正在进行的Pair同步任务将暂停, Pair所指定的两端目录的主从关系不变,前端业务对主、从目录的读写权限也不会产生变化。如果用户希望恢复Pair的数据同步,重新保持主、从目录的数据一致时,只需对已分裂的Pair手动启动一次同步操作即可。上次同步由于分裂操作导致未被复制到从目录的部分差异数据将继续进行同步,而已同步的部分则无需重新同步,这样也提升了数据同步的效率(此功能也被称为断点续传)。
分裂和同步结合使用,可以对远程复制的数据同步过程进行有效的控制。
c. 基于快照的异步复制
InfoReplicator基于目录快照实现主目录与从目录间的数据异步复制。对Pair启动初次同步时,存储系统自动为主目录创建一份该时间点的快照,作为本次数据同步的基准快照。而后续每次增量同步,系统则再次为主目录创建一份快照,并分析两次同步期间的差异日志,然后将差异部分的数据同步至从目录,这样系统无需遍历完整的目录树,提升了增量同步的效率。同时,利用快照文件数据内容不变的特性,保证主目录能够正常接收业务读写而不影响待同步的数据。因此,在此快照时间点后的数据修改则需要在下一次同步启动时才能同步到从目录当中,确保了数据的一致性。
例如,当用户针对主目录为“ /data”的Pair在14:00执行数据同步,并于14:10完成同步。在14:05用户修改了“ /data”目录内的文件A,由于该数据变更没有记录在14:00创建的主目录快照中,因此,本次数据变更在下次数据同步启动前,将不会同步到从目录。
当数据同步完成时,系统在从端集群为从目录创建一份一致性快照。因此,可以通过查看从目录是否存在本次同步的一致性快照来判断同步是否完成。 图描述了InfoReplicator是如何基于快照进行异步复制的。
为了确保在系统故障时可以根据备份的快照快速恢复数据,默认情况下,主、从端集群都各自保留最新的两份快照。后续每次同步完成后,上一次同步完成后保存的两份快照中较早创建的一份快照将被删除,而保存最新同步所建立的快照。当开启从目录快照保留时长限制功能后,每次同步后所建立的从目录一致性快照都将保留一段时间而不被删除,该期限可由管理员进行配置。系统故障时,可基于最近的一致性快照进行快照回滚,将数据还原。
远程复制快照目录位于创建Pair时指定的主目录之下,快照被命名为RepSnapPairxxxxxxxx-PairID-xx。其中, PairID是创建Pair时由系统自动生成的全局唯一的ID,可方便用户识别该快照目录属于哪个Pair。
d. 异步远程复制的数据同步方式
InfoReplicator采用全量同步和增量同步结合的方式,提供良好的数据同步效果。全量同步是指将主目录待同步的数据全量复制到从目录,增量同步则是指仅将前一次同步完成到本次同步启动期间发生变更的数据增量复制到从目录。 Pair初次同步采用全量同步的方式,而后续每次同步则采用增量同步的方式。
全量同步通常会占用大量的带宽,耗费时间也长,对系统性能影响大。
增量同步由于每次同步的数据量小,占用带宽会比全量同步小,耗费时间也短,对系统性能影响相较全量同步要小。
1. 用户手动启动初次同步。
2. 系统为主目录创建基准快照,并扫描主目录。
3. 在从目录创建与主目录完全一致的目录结构。
4. 将主目录的数据全量写入从目录对应位置。
5. 将主目录下目录和文件的属性(包括基本属性、扩展属性、 ACL、 WORM等)发送到从端,并写入对应目录和文件。
6. 数据复制完成后,从目录创建一致性快照。
由于InfoReplicator采用的是异步远程复制,当初始同步完成后,每次向主目录写入的新数据并不会立即被同步至从目录,而是由管理员手动启动一次同步或是等待Pair预先指定的同步周期到达后自动启动同步,系统才会将此期间所有写入的新数据一次性同步至从目录。该增量同步方式的实现原理如图所示。
1. 客户端向主目录写入数据N。
2. 写I/O成功后,主目录向客户端返回写请求成功,并记录差异日志。
3. 管理员手动启动同步,或同步周期到达时,系统自动启动同步。
4. 系统创建主目录本次同步的基准快照,并分析差异日志,确定待增量同步的数据。
差异日志记录了两次快照期间,主目录的数据与元数据的变化,包括文件与目录的创建、删除、重命名,属性修改,文件内容修改等。
5. 主端将差异日志打包成消息后发送到从端,从端解析消息,获取差异日志,将差异数据块同步写入到从目录对应的目录或文件当中。
6. 当主目录基准快照数量超过两份时,系统删除较早的一份快照,以节省系统空间。当基准快照数量少于或等于两份时,则不删除已有的基准快照。
7. 在从目录创建本次同步完成的一致性快照。
8. 根据当前从目录快照数量与快照保留策略(即从目录快照保留时长限制功能),删除多余的一致性快照。
e. Failover
InfoReplicator支持手动Failover,使业务在短时间内得到恢复,确保业务持续运行。Failover又称为故障切换或失效切换,在存储容灾领域,通常指生产站点因灾难或其他故障失效时,由灾备站点接管业务,保证业务正常运行。
InfoReplicator提供两种Failover方式。
l 取消从目录写保护
默认情况下,从目录处于写保护状态,以实现数据的正常复制。取消从目录写保护,可使从目录变为读写状态,允许为上层业务提供数据写服务。此时Pair的目录主从关系未发生变化,但是主目录不可向从目录同步数据。为保证数据的完整性,取消从目录写保护后,灾备站点会自动根据已保存的一致性快照回滚从目录,将从目录的数据还原至最近一次的一致性快照点状态。
l 主从切换
主从切换是指Pair中主、从目录的角色进行转换的过程。主从切换前必须已取消从目录写保护,切换后的Pair与原Pair使用相同的Pair ID标记。主从切换后,需为新的从目录设置写保护,确保数据由新的主目录向新的从目录进行同步。为保证数据的一致性,当启动从目录写保护后,生产站点会自动根据已保存的一致性快照回滚原主目录(即新的从目录),将原主目录的数据还原至最近一次的一致性快照点状态。
Failover流程和期间业务处理方式如图所示。为方便理解, 图将取消从目录写保护与主从切换作为一个连贯流程表示。实际应用中,当取消从目录写保护后,灾备站点即可正常接管业务,此时,用户可根据自身需求自主选择是否需要进行主从切换。
f. Failback
InfoReplicator支持手动Failback,在故障恢复后,快速将业务回切到生产站点。
Failback又称为故障回切或故障恢复,在存储容灾领域,通常是指当生产站点从故障中恢复时,重新将业务从灾备站点回切到生产站点。
由于InfoReplicator提供了取消从目录写保护和主从切换两种Failover方式,因此,用户可基于之前选择的Failover方式,结合业务需求,灵活采用Failback方式。
l 主从切换后 Failback
主从切换后,上层业务由灾备站点接管,新写入的数据由灾备站点向生产站点同步。Failback后,生产站点将回滚本端数据以维持数据一致性,建议先手工完成一次数据同步后再执行Failback的系列操作,避免最新写入的数据未同步到生产站点。详细业务处理流程如图6-10所示。
l 取消从目录写保护后 Failback
取消从目录写保护后,上层业务可以向从目录写入数据,因此,主、从目录的数据会不一致。此时如果需要Failback,将业务切回主端,用户需要明确以哪一端的数据为基准。
以主端数据为基准Failback:即不需要保留从端新写入的数据,直接恢复主、从端的数据同步即可。如图所示。
以从端数据为基准Failback:即需要通过同步从端数据至主端,以保持数据一致性,然后再将业务切回主端。如图所示。