镜像卷

通过使用卷镜像,一个卷可以拥有两个物理拷贝。每个卷拷贝都可以属于不同的池,每个拷贝都具有与该卷相同的虚拟容量。在管理 GUI 中,星号(*) 表示镜像卷的主拷贝。主拷贝表示它是读请求的首选卷。

当服务器对镜像卷执行写操作时,系统会将数据同时写入这两个拷贝。当服务器对镜像卷执行读操作时,系统会选取其中一个拷贝进行读取。如果其中一个镜像卷拷贝暂时不可用(例如,由于提供池的存储系统不可用),那么服务器仍然可以访问该卷。系统会记住执行写操作的卷区域,并会在两个拷贝都可用时对这些区域进行再同步。

您可以创建具有一个或两个拷贝的,然后通过添加拷贝将非镜像转换为镜像以此方式添加拷贝时,系统 会同步新拷贝,以使其与现有相同。在同步过程中,服务器可以访问该

通过删除一个拷贝或分割一个拷贝以创建新的非镜像,可以将镜像转换为非镜像

拷贝可以是任意类型:映像卷、条带分割卷或顺序卷。卷拷贝还可以使用任意类型的容量节省 方法:自动精简配置、完全分配或压缩。两个拷贝可以属于不同类型。

您可以出于以下原因而使用镜像卷:
  • 通过保护卷不受单一存储系统故障的影响,以提高这些卷的可用性。
  • 为数据迁移提供具有更高可用性特征的备用方法。 使用数据迁移功能迁移卷时,在源和目标池上很容易出现故障。由于可以从源池中的非镜像卷开始,然后将拷贝添加到目标池中的该卷中,因此卷镜像提供了一种备用方法。在同步卷后,可以删除源池中的原始拷贝。在同步过程中,即使目标池出现问题,该卷仍然可用。
  • 在完全分配卷和自动精简配置卷之间转换。

在卷镜像同步后,如果镜像拷贝脱机且需要进行写 I/O 请求,或者如果发生镜像快速故障转移,那么镜像拷贝将变为不同步。快速故障转移会将主机系统与暂时慢速执行的镜像拷贝隔离,这会导致系统发生短暂的冗余中断。

注: 如果容量已完全分配,那么主卷在同步到卷拷贝之前将执行格式化。mkvdisk 命令 上的 -syncrate 参数可控制格式化和同步速度。

写操作快速故障转移

通过写操作快速故障转移,在处理主机写操作 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 数据的存储系统中。If one copy is slow because of 存储系统 performance, multiple copies on different volumes are affected. The copies may be configured from the storage pool that is associated with one or more 存储系统. 这种情况说明可能存在超负荷或其他后端性能问题。

发出 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 操作来提高数据可用性。 但这不影响数据完整性。如果任一后端存储系统损坏了数据,那么主机将面临采用与针对任何其他卷相同的方式读取该损坏数据的风险。因此,在对存储系统执行可能会影响一个拷贝的数据完整性的维护之前,检查两个卷拷贝是否同步,这一点非常重要。然后,在开始维护之前除去该卷拷贝。 例如,如果您需要使存储系统提供的磁盘数据归零,那么该方案将适用。