这是我参与8月更文挑战的第19天,活动详情查看:8月更文挑战”
卷镜像(HyperMirror)特性可以使一个LUN可以拥有2个物理副本。每个副本的空间可以来源于本地存储池,也可以来 源于外部 LUN。每个副本都具有与镜像 LUN 相同的虚拟容量。当服务器对镜像 LUN 执行写操作时,系统会将数据同时写入每个副本。当服务器对镜像 LUN 执行读操作 时,系统会选取其中一个副本进行读取。如果其中一个镜像副本暂时不可用(例如, 由于提供存储池的存储系统不可用),那么服务器仍然可以访问 LUN。系统会记住执 行写操作的 LUN 区域,并会在镜像副本恢复后,对这些区域进行再同步。
技术原理:
卷镜像的实现过程分为三个阶段:创建镜像 LUN、同步和分裂。
1. 创建镜像 LUN
镜像 LUN 的创建过程如图所示:
a. 对一个普通 LUN(本地 LUN 或外部 LUN)执行创建镜像 LUN 操作,此时 镜像 LUN 完全继承普通 LUN 的存储空间;同时继承普通 LUN 的基本属性和 业务,主机侧不中断业务。
b. 创建镜像 LUN 过程中会在本地自动生成一个镜像副本 A,普通 LUN 变为镜 像 LUN,并将数据存储空间交换到镜像副本 A,镜像 LUN 从镜像副本 A 中 同步数据。
c. 此后需再给镜像 LUN 添加一个镜像副本 B,创建之初从镜像副本 A 同步数 据。此时普通 LUN 具有空间镜像功能,同时拥有镜像副本 A 和镜像副本 B 两份镜像数据。
镜像 LUN 创建完成后,主机下发 I/O 的情况:
a. 当主机对镜像 LUN 下发读请求时,存储系统会以轮询方式在镜像LUN和镜像副本之间进行读操作。当镜像 LUN 或者某个镜像副本故障时,主机侧业务不受影响。
b. 当主机对镜像 LUN 下发写请求时,存储系统会以双写方式对镜像 LUN 和镜 像副本进行写操作。
2.同步
同步过程的原理如下图所示。当一个副本从故障恢复或从数据不完整恢复到数据完整的过程中,增量从完整的镜像副本同步数据,最终达到镜像副本间的数据完全一致。
3. 分裂
在业务需要隔离一个副本时,可执行分裂操作,将副本从镜像 LUN 中隔离,此时 镜像 LUN 不具备数据镜像功能,同时镜像副本记录此后的数据差异,当需要重新 建立镜像关系时,根据差异增量同步差异数据。