文章
· 六月 20, 2022 阅读大约需 8 分钟

IRIS/HealthConnect 高可用机制 Mirror 的配置

安装Arbiter

为了将自动故障转移扩展到尽可能广泛的故障情况,InterSystems建议你为每个镜像配置一个仲裁机。

要充当仲裁者,系统必须有一个正在运行的ISCAgent进程。由于ISCAgent是与InterSystems IRIS一起安装的,任何承载一个或多个InterSystems IRIS实例的系统都符合这一要求,可以被配置为仲裁者而无需进一步准备;但是,承载一个或多个故障转移或DR异步镜像成员的系统不应该被配置为该镜像的仲裁者。

没有托管InterSystems IRIS实例的系统可以通过安装Arbiter方式的作为仲裁者。请从InterSystems公司下载适合你的仲裁者系统平台的ISCAgent安装包,然后,安装ISCAgent。

注意:Arbiter的版本要和InterSystems IRIS安装版本保持一致。

 

在Windows上安装Arbiter

在Windows系统上,只需执行安装文件,例如ISCAgent-2020.1.0.540.0-win_x64.exe。

在Linux上安装Arbiter

[root@arbiterhost home]# gunzip ISCAgent-2020.1.0.540.0-lnxrhx64.tar.gz
[root@arbiterhost home]# tar -xf ISCAgent-2020.1.0.540.0-lnxrhx64.tar
[root@arbiterhost home]# ./ISCAgent/agentinstall

启动、停止、检查ISCAgent状态

systemctl start ISCAgent.service
systemctl stop ISCAgent.service
systemctl status ISCAgent.service

设置、终止开机自动启动ISCAgent

sudo systemctl enable ISCAgent.service
sudo systemctl disable ISCAgent.service

 

启动 ISCAgent 服务

在所有的服务器中(主机,备机,仲裁机),ISCAgent必须被配置为在系统启动时自动启动。

a. 进入管理工具——服务,选择ISCAgent,将启动类型改为自动。点启动ISCAgent。

b. Windows防火墙中允许ISCAgent TCP端口2188,同时新建出站、进站规则。允许web端口 52773,超级端口1972。

入站规则中运行文件和打印机共享(回显请求 - ICMPv4-In)

 

配置主failover成员(Primary failover成员)

a. 进入Management Portal界面,选择菜单 系统管理 – 配置 – 镜像配置 – 创建镜像。如果选项为灰不可选,先点击 启动镜像服务,再选择 '服务已启用'。

b. 创建Mirror,输入相关信息并保存。

镜像信息部分

镜像名称(Mirror Name) : 有效的名称必须是1至15个字母数字字符;小写字母会自动替换为大写字母的对应物。

要求SSL/TLS (Use SSL/TLS): 指定是否要为镜像内的所有通信要求SSL/TLS安全(建议)。如果你选择了 "需要SSL/TLS",而实例还没有一个有效的SSL/TLS配置用于镜像,在完成这个程序之前,你可以直接点击设置SSL/TLS链接,在这个成员上创建所需的SSL/TLS配置。你也可以取消创建镜像程序,并浏览到SSL/TLS配置页面(系统>安全管理>SSL/TLS配置)。

使用仲裁器(Use Arbiter): 指定你是否要配置一个仲裁器(建议)。如果你选择使用仲裁器,你必须提供你想配置为仲裁器的系统的主机名或IP地址以及其ISCAgent进程使用的端口(默认为2188)。

使用虚拟IP(User Virtual IP):如果你选择使用虚拟IP,系统会提示你提供一个IP地址、无类别域间路由(CIDR)掩码和网络接口。

故障转移成员的压缩模式,异步成员的压缩模式 : 分别指定在从主站向备份和异步成员传输之前是否压缩日志数据,以及对每个成员使用哪种压缩类型;两者的默认设置都是 "系统选择",它优化了故障转移成员之间的响应时间以及主站和异步站之间的网络利用率。 一般使用默认设置。

Allow Paralle Dejournaling :确定哪种类型的镜像成员可以运行并行的Dejournal。Paralle Dejournaling允许多个作业在单个数据库中处理独立的globals,而不是只限于并行处理独立的数据库。

镜像故障转移成员信息:

镜像成员名:为你在这个系统上配置的故障转移成员指定一个名称(默认为系统主机名称和InterSystems IRIS实例名称的组合)。镜像成员名称不能包含空格、制表符或以这些标点符号 : [ ] # ; / * = ^ ~ ,字母字符在保存前会转换为大写字母。镜像成员名称的最大长度是32个字符。

超级服务器地址: 输入外部系统可用于与该故障转移成员通信的 IP 地址或主机名称。

代理端口: 输入此故障转移成员上 ISCAgent 的端口号,接受提示中提供的已安装代理的端口。

 

配置备failover成员(backup failover成员)

进入Management Portal界面,选择菜单 系统管理 – 配置 – 镜像配置 – 加入为故障转移。如果选项为灰不可选,先点击 启动镜像服务,再选择 '服务已启用'。

镜像名称:创建的镜像名称

其他系统上的代理地址: 输入您在配置第一个故障转移成员时指定的超级服务器地址。

代理端口 :输入您在配置第一个故障转移成员时指定的 ISCAgent 的端口。

InterSystems IRIS 实例名称 : 输入配置为第一个故障转移成员的InterSystems IRIS实例的名称。

 

配置异步镜像成员

选择 系统管理 – 配置 – 镜像设置 – 加入为异步。如果选项为灰不可选,先点击 启动镜像服务,再选择 '服务已启用'。

在‘加入为异步’页面填入创建的第一个镜像成员名称、地址、实例名称。

镜像名称:创建的镜像名称

故障转移系统的代理地址 :输入您在配置所选故障转移成员时指定的超级服务器地址。

代理端口 - 输入您为所选故障转移成员指定的 ISCAgent 端口。

InterSystems IRIS 实例名称 - 输入您配置为选定故障转移成员的 InterSystems IRIS 实例的名称。

选择合适的Async镜像成员类型

修改镜像设置

进入菜单 系统管理 – 配置 – 镜像配置 – 编辑镜像

可以修改设置的各个参数:

 

添加镜像数据库

 

创建一个镜像数据库

在主failover成员服务器上,选择系统管理– 配置 – 系统配置– 本地数据库

选择 新建数据库,按照提示输入数据库名称、存放数据库文件位置。注意在输入关于数据库的详情页面,镜像数据库? 选择 是。

在每一个failover成员服务器以及异步成员服务器按照上面步骤同样创建本地数据库。注意在输入关于数据库的详情中确保每一个成员的Mirror DB Name相同(本地的数据库名称可以不同)。

 

将已有数据库配置为镜像数据库

 

将主机已有数据库加入镜像

在主failover成员management port中,从菜单中选择 配置数据库

选中需要镜像的数据库,点击 添加到镜像 来添加需要mirror 的数据库

 

选择需要添加进入Mirror 的数据库并点击添加

 

此时从镜像监视器 中可以看到 镜像数据库 增加了我们刚才添加的数据库

数据库备份

对此主服务器的需要mirror 的数据库进行备份并获取备份文件,并拷贝至备机。执行备份可以通过management portal 运行实现。

management portal -> 系统管理 -> 配置-> 数据库备份 ->备份数据库列表

系统操作-> 备份 -> 完全备份列表

注意:这里需要关注主机本身journal 的保存时间,因为mirror 的同步机制是主机推journal 给备机,所以如果备份的时间为1月1 日零点,主机journal 保存时间为1天,备份需要2天,则中间1天的时间差所产生的数据是没有办法恢复的。

数据库备份恢复

在备Failover成员的%SYS 命名空间下使用^BACKUP routine, 将备份文件恢复至备机,则可在备机中看到恢复的数据库已只读方式被挂载

caught up 数据库

在备机上进入 系统操作 - 镜像监视器 ,可见备机的镜像有need activation 状态,点击Activate,结束后,下一步点击 catchup。

最终可见备机为 active,caught up 状态。

删除镜像配置

删除镜像配置必须按照下面顺序执行:删除异步成员,然后删除备份failover成员,最后删除主failover成员。

删除异步成员

进入菜单 系统管理 – 配置 – 镜像设置 – 编辑异步:

如果想要移除报表服务的异步成员,使用Leave mirror链接。

如果想要移除所有的链接异步成员以及相关配置,使用Remove Mirror Configuration按钮:

 

移除备failover成员

想要移除failover成员必须在%SYS命名空间下 执行^MIRROR routine。

a. 在 Terminal中切换到%SYS命名空间,执行d ^MIRROR

b. 选择Mirror Configuration

c. 选择Remove This Failover Member(如果在主failover服务器上操作则选择Remove Other Mirror Member)

d. 按照提示操作,最后重启实例.

 

移除主failover成员

想要移除failover主成员必须在%SYS命名空间下 执行^MIRROR routine。

a. 在 Terminal中切换到%SYS命名空间,执行d ^MIRROR

b. 选择Mirror Configuration

c. 选择Remove This Failover Member

d. 按照提示操作,最后重启实例.

e. 选择Remove This Failover Member

f. 按照提示操作,最后重启实例.

 

移除镜像数据库

从Async成员中移除数据库不会对failover成员的数据库有任何影响,但是如果从failover成员中移除数据库,也必须从其他failover成员以及Async成员中移除相应的数据库。想要从镜像配置中整体移除数据库需要遵循下面的顺序:主Primary failover成员 -> 备份Backup failover成员 -> Async成员。

a. 进入菜单 系统操作 – 镜像监视器

b. 在镜像数据库中点击 移除

断开连接/开始连接镜像成员

可以临时断开备failover镜像成员或者Async镜像成员。

进入菜单 系统操作 – 镜像监视器 选择 在这个成员上终止镜像

 

在虚拟环境下配置镜像操作

在虚拟环境下进行镜像配置,同时建议进行下面配置以提高可靠性:

· 应该为每一个failover成员进行虚拟主机(virtual host)的配置,保证每一个failover成员不会指向同一个物理上的host。

· 为了避免单一指向存储的损坏,每一个failover成员上Caché实例使用的存储应该固定分配到相互隔离的磁盘阵列或者磁盘组中。

· 有些虚拟架构下自动执行的操作,比如虚拟主机迁移到备用存储,可能造成failover成员间的短暂连接中断。如果在记录中竟让发现类似这样的中断警告,可以进入修改镜像配置的页面,在Advanced Mirror Settings下适当提高QoS Timeout设置的时间。

· 当进行计划维护操作(比如快照snapshot管理)时,会引起镜像成员中的连接中断,可以在备机的Mirror Monitor页面选择Stop Mirror on this server,临时断开备份backup成员,以避免相应的mirror警告信息。

· 在配置Mirror主备服务器中,不建议使用systemctl 设置开机自动启动IRIS。因为在主备切换过程中,如果使用systemd启动关闭IRIS不是成对出现,或者使用iris start/stop instance 不是成对出现,则有可能出现不可预知错误。

 

配置成功状态

主机状态:

备机状态:

讨论 (0)1
登录或注册以继续