SinoDB数据库搭建HDR的几种方法

  SinoDB数据库其中的一种高可用方案是HDR,搭建HDR环境有几种不同的方法,现给予分别介绍。
前置条件:
  主备机的主机名、防火墙、互信、onconfig、sqlhosts、chunk文件都已经按要求设置好了。

1、落地的方式
  该方法实施简单,不容易出错,缺点是要落地,数据量越大,该方法越不合适使用,具体可以参考:https://forum.sinoregal.cn/t/topic/186

2、标准输入输出方式
pri上执行: 在pri上的sinodbms用户下执行如下指令,此时pri的窗口不能退出(通过脚本挂在后台执行就没有这个要求),根据操作系统的不同,ssh的指令不一样。

ontape -s -L 0 -t STDIO|ssh hdr_hostname/ip “. .bash_profile;ontape -p -t STDIO”

  在执行此命令时,需要输入hdr_hostname/ip的sinodbms用户的密码。

pri上执行: 在hdr节点上recovery完成后,需要在pri节点执行:

onmode -d primary hdr

hdr上执行:

onmode -d secondary pri

  通过标准输入输出方式,全备的文件不需要落地,但是数据量如果太大,其构建HDR环境也比较慢。

3、通过ifxclone的方式
pri上执行: 在pri上确认ENABLE_SNAPSHOT_COPY值为1,如果非1,执行如下指令

onmode -wf ENABLE_SNAPSHOT_COPY=1

hdr上执行: 确保hdr上的FULL_DISK_INIT值为1

hdr上执行: 在hdr上执行如下指令

ifxclone -S sourceDB -I sourceIP -P sourcePort -t targetDB -i targetip -p targetPort -d HDR -L -T

例如:ifxclone -S pri -I 172.126.144.40 -P 7081 -t hdr -i 172.126.144.39 -p 7081 -d HDR -L -T

  通过ifxclone的方式,全备文件不需要落地,搭建HDR环境快速,在数据量较大的环境下,优势明显。

4、底层存储拷贝的方式
  也可以通过底层存储拷贝的方式,拷贝一份数据到hdr节点上,然后通过指令设置,也可以搭建hdr环境,该方法需要系统岗和存储岗的配合,通常比较少用。