使用 CLI 验证和修复镜像卷拷贝

可以在命令行界面 (CLI) 中使用 repairvdiskcopy 命令来验证和修复镜像卷拷贝。

Attention: 仅当所有卷拷贝都已同步时,才能运行 repairvdiskcopy 命令。

发出 repairvdiskcopy 命令时,只能使用 -validate-medium-resync 参数之一。 还必须在命令行上将要验证和修复的的名称或标识指定为最后一个条目。 发出该命令后,不会显示任何输出。

-validate
仅当要验证镜像卷拷贝是否相同时,才使用此参数。 如果找到任何差异,该命令会停止并记录错误,该错误中包含逻辑块地址 (LBA) 以及第一个差异的长度。 可以使用该参数(每次从不同 LBA 开始)来对卷上的差异进行计数。
-medium
使用该参数可将所有卷拷贝上包含不同内容的扇区转换成虚拟介质错误。 完成后,该命令会记录事件,以指示找到的差异数、已转换成介质错误的差异数和未转换的差异数。 如果您不能确定正确数据是什么并且不想使用错误版本的数据,请使用该选项。
-resync
使用该参数可用指定主卷拷贝中的内容覆盖另一个卷拷贝。 该命令通过将主拷贝中的扇区拷贝到被比较的拷贝来改正任何不同扇区。 完成后,该命令过程会记录事件,以指示已改正的差异数。 如果您确信主卷拷贝数据正确或者主机应用程序可处理错误数据,请使用该操作。
-startlba lba
(可选)使用该参数可指定验证和修复的起始逻辑块地址 (LBA)。 如果先前使用了 validate 参数,则记录了错误,该错误中包含找到第一个差异(如果有)时的 LBA。 重新发出带有该 LBA 的 repairvdiskcopy,以避免重新处理比较结果相同的初始扇区。 继续重新发出带该参数的 repairvdiskcopy,以列出所有差异。
发出以下命令以验证并(如果必要)自动修复指定卷的镜像拷贝:
repairvdiskcopy -resync -startlba 20 vdisk8
注:
  1. 每次只能对一个卷运行一个 repairvdiskcopy 命令。
  2. 在启动 repairvdiskcopy 命令之后,不能使用该命令来停止处理。
  3. repairvdiskcopy -resync 命令运行时,不能更改镜像卷的主拷贝。
  4. 如果只有一个镜像拷贝,那么该命令会立即返回错误。
  5. 如果正在比较的拷贝变为脱机状态,那么该命令暂停并发生错误。 当拷贝重新变为联机状态时,该命令不会自动恢复。
  6. 如果一个拷贝可读但另一个拷贝发生介质错误,那么该命令过程会通过写入从另一个拷贝读取的数据来自动尝试修正介质错误。
  7. 如果在 repairvdiskcopy 处理期间未找到任何不同扇区,则在过程结束时记录一条参考错误。

使用 CLI 检查卷拷贝的验证和修复进度

使用 lsrepairvdiskcopyprogress 命令可显示镜像卷验证和修复的进度。 可以使用 -copyid 参数来指定卷拷贝。 要显示具有两个或更多拷贝(包含活动任务)的卷,请指定不带任何参数的命令;不可能只有一个包含活动任务的卷拷贝。

要检查镜像卷的验证和修复进度,请发出以下命令:
lsrepairvdiskcopyprogress –delim :
以下示例显示了命令输出的显示方式:
vdisk_id:vdisk_name:copy id:task:progress:estimated_completion_time
0:vdisk0:0:medium:50:070301120000
0:vdisk0:1:medium:50:070301120000