概要
应用场景:
支持对象存储到对象存储之间的数据比较与同步,并且生成比较报告供一致性检查。此场景支持两种数据捕获方式:
方式1:调用对象存储接口对源、备存储同步路径下的所有对象进行扫描、比对,获得增量对象(新增/差异),并将增量对象同步到目标端对应路径下;在海量对象场景下扫描/比对的对象太多,导致这种方式同步增量数据效率过低;
方式2:通过某些方式获取到增量对象信息(如:对象存储自行监控、通过应用数据库表获取等),并将增量对象的信息以某种类型文件存放;DTO通过读取文件内容来获取增量对象信息,并直接将源端对应的增量对象直接同步到目标端;此方式避免了扫描、比对海量对象的时间,提高海量对象场景的增量数据同步效率。
要求:要有应用/组件(一般是对象存储)负责实现监控增量对象并将增量对象以固定格式导出成文件的一系列动作。
前置条件
文件比较与同步的环境要求如下:
DTO主机需要安装dto安装包。详见安装DTO。
在MDR控制台中添加对象存储。详见资源管理·对象存储。
在MDR控制台中添加DTO主机并处于在线状态。详见资源管理·DTO主机。
MDR控制台需具备有dto的许可,并且该dto许可剩余允许传输量不为0。
新建文件比较与同步
点击左侧菜单栏-“资源同步管理”-“对象存储数据灾备”-“文件比较和同步”,进入文件比较和同步列表页,点击“新建”按钮,进入新建页面。
通用配置页面各配置项如下:
名称:任意指定,便于管理即可。
同步主机:下拉框中会列出已注册至MDR控制台的DTO同步主机供选用;
规则类型:包含三类规则:仅比较/文件比较与同步 / 文件清单同步,下文会分别介绍各类规则的作用和使用场景;
同步策略类型:“手动同步”“定期同步”和“间隔同步”。
手动同步:需手动启动规则。此选项为默认选项。
定期同步:可指定每个月的某几天或者每个星期的某几天中的某几个时间点开始同步,规则会在设置的时间自动开始运行。
间隔同步:指的是从上一次规则完成到下一次规则启动之间的间隔,最小间隔时间单位为秒。
定期同步策略:用户自行添加定期同步策略。可以设定多个不重叠的定时同步策略,彼此独立。
间隔同步策略:用户自行添加时间间隔同步策略。选择此规则开始时间,并设置间隔时间(单位为秒)。
源存储:用户自行选择要源端的存储数据用来做对比。
目标存储:用户自行选择对象存储数据作为目标存储对比。
同步路径映射:用户自行配置需要同步的数据路径。同步路径支持手动输入路径。
排除路径:用户自行选择将同步数据路径中的某些子路径设置为排除路径,排除路径中的数据不进行传输。
文件后缀名过滤:以后缀名为过滤条件,格式为“文件扩展名”,若多个过滤条件则用逗号隔开,如:“.txt”,“.doc”,“.rtf”。
排除:不同步源路径中该过滤项中定义的文件类型。
包含:只同步源路径中该过滤项中定义的文件类型。
文件日期过滤:通过正则表达式对同步路径下文件的日期进行筛选,文件日期符合正则表达式要求的文件被过滤出来。
排除:不同步源路径中符合筛选条件的文件。
包含:只同步源路径中符合筛选条件的文件。
比较设置页面各配置项如下:
比较类型:重镜像时的校验方式。
文件大小:通过源、目标文件的大小进行比较。
对象智能比对:提交规则时会判断备端存储是否支持自定义META,不支持则不允许规则提交。智能比对即:通过比文件当前的修改时间戳,和上一次同步时文件的修改时间戳(记录在自定义属性META中)来判断文件是否一致(如果修改时间戳一致则认为文件相同,如果修改时间戳不同,则继续对比文件的MD5)。
MD5校验:通过源、目标文件的MD5值进行比较(本地需计算md5,对象存储直接采用Etag,对象存储将收到文件的MD5值放在返回结果的ETag中)。
说明:对象存储返回分片上传文件的MD5有可能为空或是最后一个分片的MD5,因此对象存储的MD5并不完全可靠。“文件大小”比对最快;当文件较大时“对象智能比对”比“MD5校验”快(大文件本地计算md5很慢);当文件较小时“MD5校验”比“对象智能比对”快(对象存储的文件修改时间需从META中获取,一个文件就是一次请求)。
忽略目标端存在文件:DTO不再扫描目标端存储,直接拿源端拆解过后的目录进行传输,传输之前check目标端文件是否存在,如果不存在,就同步,否则跳过该文件;这种类型,可以支持对象存储单一目录上千万的文件。
传输线程数量:可以指定线程个数。一个线程处理一个目录。此选项用于提高数据复制的速度,默认为“10”,数值越高,可用于数据复制的线程越多,但会消耗更多的CPU和内存资源,请根据用户环境适当选择。
对象存储扫描线程数量:可根据需要指定1-10个线程数。
备端扫描:默认开启,开启后支持孤儿文件处理。
孤儿文件处理方式:
不处理:不删除孤儿文件,存在在目标端。
确认后删除:将孤儿文件计入孤儿文件列表,可通过规则管理界面的“更多·孤儿文件”按钮来查看,以及选择是否要将目标端的孤儿文件删除。
直接删除:将孤儿文件自动从目标端删除。
说明:定期同步或间隔同步策略时不允许配置“确认后删除”;选择“忽略目标端存在的文件”比较类型时,或者开启归档时不允许配置“直接删除”和“确认后删除”。
对象文件路径名:
和源端保持不变:区分大小写,和源端大小写保持一致。
全部为大写(传输时转换):在传输时,将源路径下的所有目录名、子目录名、文件名、文件后缀名全部转换为大写存储在目标路径下。
全部为小写(传输时转换):在传输时,将源路径下的所有目录名、子目录名、文件名、文件后缀名全部转换为小写存储在目标路径下。
备端文件压缩:指的是在本地将文件进行压缩,压缩完后传输到对象存储。仅限于本地到对象存储的规则才支持压缩,压缩传输后,目标端文件名会被修改为:原文件名.i2.zip。
备端文件加密:将同步到目标端数据加密存储。
标准加密:通过设置的加密密钥对源端文件加密后存放到目标端。
加密密钥:填写加密密钥,密钥要求:32字节的字符串作为密钥,支持数字、字母、字符的组合,不支持中文。
COS服务端加密:通过对接COS对象存储API接口,上传到该对象存储桶的文件都自动加密,需额外选择加密密钥类型:
加密密钥类型:支持两种加密密钥类型:
SSE-COS:使用SSE-COS加密密钥类型进行加密,无需额外配置;
SSE-C:使用SSE-C加密密钥类型进行加密,需要额外填写加密密钥;
加密密钥:填写加密密钥,密钥要求:32字节的字符串作为密钥,支持数字、字母、字符的组合,不支持中文。
保留结果数量:设置“文件比较与同步→报告”中保留的记录条数。
记录流水:默认关闭,开启后会将规则同步的所有文件相关信息(大小、MD5/etag、传输耗时、修改/更新时间)记录在同步主机/usr/drbksoft/dto/data/db/<规则UUID>.db文件中(默认路径),可供审计查看。
带宽设置页面各配置项如下:
全选:开启后,将会选择一周内的所有时间。此选项默认关闭。
时间范围:用户自行勾选具体的生效日。
选择带宽:根据用户需求选择需要执行限速的时间段,可以设定多个不重叠的限速规则,彼此独立,如果带宽设定为0,表示禁止传输。
归档设置页面各配置项如下:
启用归档:不勾选的话不启用归档功能。
文件名转换:归档文件的名称转换,支持两种转换方式:
保持不变:归档文件名与原文件名保持一致。
增加时间后缀:在归档文件名后自动添加归档时间后缀。
归档条件:
时间归档:按照填入文件时间类型的时间点与执行本地到对象存储时的时间点的差值(单位天)。这里的时间选项有两个:文件创建时间、文件修改时间,这两种类型可以只选择某一个,也可以多选,并可以选择几种类型间的关系是与还是或。
命名特征:使用正则表达式进行针对文件名的过滤。
文件类型:通过填入文件类型的后缀名进行对文件类型的过滤(如.txt等),可以匹配多个文件类型,文件后缀名与后缀名之间用“逗号隔开”(如.txt,.exe,.zip)。
归档策略:
同步所有文件,并删除本地符合条件的文件:将源目录下的所有文件全部同步到目标存储的目标目录中,并删除本地符合归档条件的文件。
只同步并删除符合条件的文件:只同步源目录中符合归档条件的文件到目标存储的目标目录中去,并删除本地符合归档条件的文件。
只同步但不删除符合条件的文件:只同步源目录中符合归档条件的文件到目标存储的目标目录中去,并且不删除源端本地符合归档条件的文件。