您可以在复原期间通过重命名块来更换磁盘。
在使用 ON-Bar 进行冷复原期间,通过指定新块路径和偏移量来重命名块。如果需要将存储空间复原到与完成备份的磁盘不同的磁盘上,该选项很有帮助。可以重命名任意类型的块,包括关键块和镜像块。
旧块必须包含在上一个 0 级备份中。
以下准则适用于新块:
- 新块不需要存在。可以以后安装新块并对包含它的存储空间执行热复原。如果指定不存在的块,ON-Bar 将重命名信息记录在块保留页中,但不复原数据。已重命名(但未复原)的块处于脱机状态,在 onstat -d 命令的输出中由 N 标志指示。
- 新块必须有正确的许可权。
- 新块必须包含在上一个 0 级备份中。
- 新块路径名不能与现有块相同,且偏移量不能重叠。
提示: 如果使用块名称的符号链接,可能不需要重命名块;而只需编辑符号名称定义即可。
要在复原期间重命名块:
-
关闭数据库服务器。
-
使用 -rename 选项和块信息选项来运行 onbar -r 命令。
如果要对主根块或镜像根块进行重命名,那么 ON-Bar 将更新 ROOTPATH 和 ROOTOFFSET 或者 MIRRORPATH 和 MIRROROFFSET 配置参数的值。旧版本的 onconfig 文件将另存为 $ONCONFIG.localtime。
-
执行 0 级归档,以便您可以复原重命名的块。
示例
下表列出在本部分的示例中使用的两个块的示例值。
元素 |
第一个块的值 |
第二个块的值 |
旧路径 |
/chunk1 |
/chunk2 |
旧偏移量 |
0 |
10000 |
新路径 |
/chunk1N |
/chunk2N |
新偏移量 |
20000 |
0 |
- 示例 1:通过在命令中提供块信息来重命名块
-
以下命令将块
chunk1 重命名为
chunk1N,将块
chunk2 重命名为
chunk2N:
onbar -r -rename -p /chunk1 -o 0 -n /chunk1N -o 20000
-rename -p /chunk2 -o 10000 -n /chunk2N -o 0
- 示例 2:通过在文件中提供块信息来重命名块
-
假设您有一个名为 listfile 的文件,其中包含以下内容:
/chunk1 0 /chunk1N 20000
/chunk2 10000 /chunk2N 0
以下命令将块 chunk1 重命名为 chunk1N,将块 chunk2 重命名为 chunk2N:
onbar -r -rename -f listfile