想咨询,如果企业选用了存储虚拟化方案,在构建两地三中心(或异地灾备时),是否建议采用存储虚拟化统一部署灾备方案,实现存储灾备(或双活)?也想了解到具体目前此种实施方案的成功案例多吗?或者是针对存储虚拟化的厂商给出的最佳实践(包括异地灾备),非常感谢
收起在这个问题上,首先得看数据库的工作方式:
如果想实现拉伸的数据库集群,也就是说两个数据中心的数据库节点共同组成了一个集群,比如说ORACLE RAC。那么就得实现存储虚拟化集群。无论是操作系统层还是ORACLE的ASM是没法儿实现远距离的存储镜像。但是使用哪种存储虚拟化集群呢?是类似VPLEX的模式还是类似SVC、NetApp MCC的模式呢?如果是VPLEX,存储虚拟化节点之间也是一个AA的集群,它可以两边同时写入,但是这样就会照成数据库层和存储层两层内都会有数据竞争。如果是SVC,那么存储虚拟化节点在同一时刻只能由一边写入,也就是说数据库节点写入的时候,必然有一边需要跨数据中心远距离写,而且存储虚拟化节点还好把这个写再同步回来,保证两边存储数据同步。这样就等于数据写入走了两个来回。很麻烦。
目前这种两边都写入的双活方案,很少。大部分的解决方案都是数据库的单边写入。故障时刻热切换。或者是读写分离。