第18章 使用镜像

第18章 使用镜像[@more@]

镜像是对块做镜像,但必须对数据库空间(以及Blob空间、智能在对象空间,下同)的所有块做镜像,而不允许对数据库空间中的特定块做镜像。可随时启动对数据库空间的镜像,但必须执行0级备份该镜像才会开始。
一、使用镜像
1.1 使数据库服务器脱机并启用 MIRROR 配置参数
将 ONCONFIG 中的 MIRROR 配置参数设置为 1
1.2 使数据库服务器联机
1.3 为镜像数据分配磁盘空间
1.4 启动镜像

1.4.1 对已有数据库空间启动镜像
使用 onspaces -m 启动镜像(使用 onspaces -r 停止镜像)
以下 onspaces 命令启动对数据库空间 db_project(它包含 data1 和 data2 两个块)的镜像:
onspaces -m db_project
-p /dev/data1 -o 0 -m /dev/mirror_data1 0
-p /dev/data2 -o 5000 -m /dev/mirror_data2 5000

1.4.2 当新建数据库空间时启动镜像
当创建数据库空间 db_acct 时,添加唯一的块 /dev/chunk1 并添加镜像块 /dev/mirror_chk1 :
onspaces -c -d db_acct -p /dev/chunk1 -o 0 -s 2500 -m /dev/mirror_chk1 0

1.4.3 对已启动镜像的数据库空间再添加新的块
向已镜像的数据库空间添加块时,必须添加相应的镜像块。如:
onspaces -a db_acct -p /dev/chunk2 -o 5000 -s 2500 -m /dev/mirror_chk2 5000


1.5 镜像块的脱机和复原
如果镜像块所在磁盘出现故障,则可以令镜像块脱机,重新分配磁盘空间,然后再复原镜像块。
如果数据库服务器操作期间发生 I/O 错误,那么发生错误的块的状态将更改为脱机。(onstat -d 的输出的主块状态为 PD- ,镜像块的状态为 MD-
1.5.1 脱机镜像块
以下示例使一个块(它是数据库空间 db_acct 的一部分)脱机:
onspaces -s db_acct -p /dev/mirror_chk1 -o 0 -D
1.5.2 复原镜像块
要恢复具有路径名/dev/mirror_chk1 和 0 千字节偏移量的块,可发出以下命令:
onspaces -s db_acct -p /dev/mirror_chk1 -o 0 -O

由此可见创建块时最好使用链接(link)。


1.6 停止镜像:
onspaces -r 数据库空间名
当停止数据库空间的镜像时,该数据库空间上的所有镜像块都被释放,这些块立即可用于重新分配给其它存储空间

请使用浏览器的分享功能分享到微信等