双活方案中的NAS复制及切换问题?

在同城双活的建设过程中,很多负载均衡的应用需要用到NAS来实现文件的共享,满足负载均衡的需求。
1、一般的NAS都采取网络复制到同城的方案,复制的内容一般没有办法实时同步,有一定的滞后,没有办法保证数据的完全一致,一旦生产发生问题,遇到需要切换的场景,可能会丢失一些数据。有些对于数据一致要求较高的应用可能因为文件的不一致造成异常(比如一些批量作业)。请问有什么好的解决办法?
2、请问在双活的建设过程中,关于NAS的双活或者容灾有没有好的成熟的解决方案或者产品?

3回答

LX11LX11  高级工程师 , 华为
zhuhaiqiang智诩chenlii赞同了此回答
1)当前业界已经具备NAS双活技术,NAS双活采用AP架构,使主机能够将两个存储系统的文件系统视为单个存储系统上的单个文件系统,并保持文件系统的实时双写存放和读取。2)华为Oceanstor存储具备免网关NAS双活能力,基于多租户(vStore Pair)双活机制,可以将主Store的网络资源、协议配置及...显示全部

1)当前业界已经具备NAS双活技术,NAS双活采用AP架构,使主机能够将两个存储系统的文件系统视为单个存储系统上的单个文件系统,并保持文件系统的实时双写存放和读取。
2)华为Oceanstor存储具备免网关NAS双活能力,基于多租户(vStore Pair)双活机制,可以将主Store的网络资源、协议配置及存储资源实时镜像到远端,保证两端资源实时一致。同时,该系列存储也具备SAN&NAS双活一体化能力,推荐使用。

收起
 2020-11-19
浏览211
chenmingfuchenmingfu  基础架构组长 , 宁夏银行股份有限公司
智诩赞同了此回答
如果是双活场景的话,可以考虑把nas存储也设置为双活,否则,采用主备复制的方式,nas文件系统在数据同步状态下 同城端主机是无法mount这些文件系统的,这将导致nas文件系统无法实时使用,可以根据实际nas文件应用场景区分,没必要同步的就两边分别独立挂载各自数据中心内的nas文件系...显示全部

如果是双活场景的话,可以考虑把nas存储也设置为双活,否则,采用主备复制的方式,nas文件系统在数据同步状态下 同城端主机是无法mount这些文件系统的,这将导致nas文件系统无法实时使用,可以根据实际nas文件应用场景区分,没必要同步的就两边分别独立挂载各自数据中心内的nas文件系统,这样也能解藕

收起
 2020-11-19
浏览191
craziersporecrazierspore  产品总监 , 华为
智诩赞同了此回答
首先看一些NAS的同步双写流程:① 同步双写由 SPACE 发起,当有主机 IO 时, SPACE 转发给 Pair ;② 由 Pair 根据当前状态决定是否双写,如果是同步双写,则将 IO 拆分成两个 IO ,一个由源文件系统 RIM 实际写入 SPACE ;③ 另一个 IO 通过目标文件系统 RIM 代理转发到从端;④ 由 E...显示全部

首先看一些NAS的同步双写流程:
① 同步双写由 SPACE 发起,当有主机 IO 时, SPACE 转发给 Pair ;
② 由 Pair 根据当前状态决定是否双写,如果是同步双写,则将 IO 拆分成两个 IO ,一个由源文件系统 RIM 实际写入 SPACE ;
③ 另一个 IO 通过目标文件系统 RIM 代理转发到从端;
④ 由 EPL 根据链路进行路由,通过 TCP 或 FC 或 iSCSI 链路转发到从端;
⑤ 当从端 EPL 接收到主端数据时,找到目标文件系统 RIM ,并由其写入目标文件系统的 SPACE 。
因此有关对于数据一致要求较高的应用可能因为文件的不一致造成异常的影响, 一般由于切换时间引起。影响切换时间长短的几个因素:

1、 协议类型,推荐使用 NFSv3 协议, NFSv3 属无状态协议, NFS 受故障影响小,故障后直接重试直到响应,而 CIFS 和 NFSV4 属有状态协议,故障后还需维护自身的状态信息,遇到加锁业务时切换时间会更长甚至断业务,而且CIFS没有锁和句柄同步,对于已经加锁的文件故障恢复后没法恢复锁导致文件冲突,比如打开的文件遇到双活故障场景恢复后只能另存为文件,无法原文件保存。

2、 挂载 NFS 时需要修改协议重试的时间参数: -o timeo=XX ,该参数的单位是 1/10 秒,默认值为 600 ,建议设置成 50 ,即重试时间 5 秒。如果设置时间太短,阵列还没切换完成,会导致重试次数较多,整体时间较长。举例: mount -t nfs -o vers=3,timeo=50 /11.11.11.1/FS /FS

3、 主机上运行的业务模型,如果是加锁类业务切换时间会比不加锁类业务时间长(针对 NFSv4 和 CIFS 协议),因为故障切换流程还需保障之前加锁的业务锁释放是否完成,是否会有锁冲突,比如 VMware 或者集群类业务。为了排除是加锁影响,测试时挂在文件系统是可以加上 nolock 参数。举例: mount -t nfs -o nolock /11.11.11.1/FS /FS

4、 主机业务压力,这个原理很简单,如果主机上业务压力较大,故障切换时间就相对较长,因此测试时需要调小主机的业务压力,减小下 IO 的并发。

5、 故障方式,掉电(拔电源)是非计划内的故障,需要阵列去感知掉电故障然后走仲裁,这里仲裁还需要静默 8 秒才切换,因此切换时间相对较长,而用下电或者重启的方式进行故障则是计划内的故障,阵列可以主动通知仲裁进行业务切换,会立即进行切换,最终的切换时间只由主机协议倒换时间长短决定,大概在 5~10 秒。

6、 故障不同站点,掉电非优先站点,则无业务切换流程,只有故障处理流程,切换时间大概在 5 秒左右。

收起
 2020-11-19
浏览191

提问者

chenxiaofei系统工程师, 徽商银行

核心存储选型优先顺序调查

发表您的选型观点,参与即得50金币。

问题状态

  • 发布时间:2020-11-16
  • 关注会员:4 人
  • 问题浏览:1070
  • 最近回答:2020-11-19