通过使用卷镜像,一个卷可以拥有两个物理拷贝。每个卷拷贝都可以属于不同的池,每个拷贝都具有与该卷相同的虚拟容量。在管理 GUI 中,星号(*) 表示镜像卷的主拷贝。主拷贝表示它是读请求的首选卷。
当服务器对镜像卷执行写操作时,系统会将数据同时写入这两个拷贝。当服务器对镜像卷执行读操作时,系统会选取其中一个拷贝进行读取。如果其中一个镜像卷拷贝暂时不可用(例如,由于提供池的存储系统不可用),那么服务器仍然可以访问该卷。系统会记住执行写操作的卷区域,并会在两个拷贝都可用时对这些区域进行再同步。
您可以创建具有一个或两个拷贝的卷,然后通过添加拷贝将非镜像卷转换为镜像卷。 以此方式添加拷贝时,系统会同步新拷贝,以使其与现有卷相同。 在同步过程中,服务器可以访问该卷。
通过删除一个拷贝或分割一个拷贝以创建新的非镜像卷,可以将镜像卷转换为非镜像卷。
卷拷贝可以是任意类型:映像卷、 条带分割卷或顺序卷。 卷拷贝还可以使用任意类型的容量节省 方法:自动精简配置、压缩或完全分配。 两个拷贝可以属于不同类型。
在使用卷镜像时,请考虑如何分配候选定额磁盘。 卷镜像维护定额磁盘上的部分状态数据。 如果定额磁盘不可访问,并且卷镜像无法更新状态信息,那么可能需要使镜像卷处于脱机状态以维护数据完整性。 为了确保系统的高可用性,请确保在不同存储系统上分配和配置多个定额候选磁盘。
在卷镜像同步后,如果镜像拷贝脱机且需要进行写 I/O 请求,或者如果发生镜像快速故障转移,那么镜像拷贝将变为不同步。 快速故障转移会将主机系统与暂时慢速执行的镜像拷贝隔离,这会导致系统发生短暂的冗余中断。
通过写操作快速故障转移,在处理主机写操作 I/O 期间,系统会向两个拷贝提交写操作(超时值为 10 秒)。 如果一个写操作成功,而另一个写操作耗时超过 10 秒,那么较慢的请求将超时并终止。 慢速拷贝 I/O 结束序列的持续时间取决于从中配置镜像拷贝的后端。 例如,如果 I/O 发生在光纤通道网络上,那么 I/O 结束序列通常在 10 到 20 秒内完成。但此序列的完成时间偶尔也会超过 20 秒。 当 I/O 结束序列完成后,将更新卷镜像配置,以记录慢速拷贝现在不再同步。配置更新完成后,写 I/O 可在主机系统上完成。
卷镜像停止使用慢速拷贝 4 到 6 分钟;随后的 I/O 请求将由剩余的同步拷贝来满足。 在此期间,同步将暂挂。 此外,卷的同步进度将显示低于 100%,并在卷接收更多主机写操作时降低。 在拷贝暂挂完成后,卷镜像同步将恢复,并且慢速拷贝开始同步。
在同步期间,如果未同步拷贝上的另一个 I/O 请求超时,那么卷镜像将再次停止使用该拷贝 4 至 6 分钟。 如果某个拷贝始终很慢,那么卷镜像将每隔 4 至 6 分钟再次尝试同步该拷贝,并发生另一次 I/O 超时。 该拷贝不会用于另一个 4 至 6 分钟的时间段,且会逐渐变为不同步。 同步进度将随着写入更多的卷区域而逐渐减慢。
当定期发生写操作快速故障转移时,在处理变为不同步的镜像拷贝的 I/O 数据的 存储系统 内可能存在底层性能问题。 如果一个拷贝因为存储系统性能原因而比较慢,那么会影响不同卷上的多个拷贝。 可以从与一个或多个存储系统关联的存储池配置拷贝。 这种情况说明可能存在超负荷或其他后端性能问题。
输入 mkvdisk 命令 以创建新卷时,缺省情况下,mirror_write_priority 参数设置为 latency。 启用快速故障转移。 但是,可通过更改 chvdisk 命令上的 mirror_write_priority 参数值来控制快速故障转移。 如果 mirror_write_priority 设置为 redundancy,那么禁用快速故障转 移。 系统会将完整的 SCSI 启动程序层错误恢复过程 (ERP) 应用于所有镜像写 I/O。如果一个拷贝变慢,那么 ERP 最 多可以耗时 5 分钟。 如果写操作仍然失败,拷贝将脱机。 请认真考虑,是保持冗余更加重要,还是保持故障转移和主机响应时间(代价是暂时失去冗余)更为重要。
读操作快速故障转移影响系统处理读 I/O 请求的方式。 读操作快速故障转移确定系统会首先尝试读操作的卷拷贝。 读操作主拷贝是系统首 次尝试执行读 I/O 的拷贝;它是由用户指明的读算法确定的。
系统每次将主机读 I/O 请求提交至一个卷拷贝。 如果该请求成功,那么系统会返回数据。 如果不成功,那么系统会重试将请求提交至其他卷 拷贝。
通过读操作快速故障转移,当读操作主拷贝运行读 I/O 缓慢时,系统会故障转移至其他拷贝。 这意味着系统会在接下来的 4 - 6 分钟内首先针对另一个拷贝尝试读 I/O。 然后,系统会还原为读取原始读操作主拷贝。 在此期间,如果对其他拷贝的读 I/O 也运行缓慢,那么系统会立即还原。 并且,如果读操作主拷贝发生更改,那么系统会还原为尝试新的读操作主拷贝。 当系统拓扑发生更改或者主拷贝或本地拷贝发生更改时,会发生此类情况。 例如,在标准拓扑中,系统通常会首先尝试读取主拷贝。 如果在读操作快速故障转移期间更改卷的主拷贝,系统会还原为立即读取新设置的主拷贝。
读操作快速故障转移功能在系统上始终启用。 在此过程中,系统不会暂挂卷或使拷贝不同步。
卷镜像可通过即使在某一后端存储系统发生故障时,也支持主机对卷继续执行 I/O 操作来提高数据可用性。 但此镜像不影响数据完整性。 如果任一后端存储系统损坏了数据,那么主机将面临采用与针对任何其他卷相同的方式读取该损坏数据的风险。 因此,在对存储系统执行可能会影响一个拷贝的数据完整性的维护之前,检查两个卷拷贝是否同步,这一点非常重要。 然后,在开始维护之前除去该卷拷贝。 例如,如果您需要使存储系统提供的磁盘数据归零,那么该方案将适用。