总结:整理不易,如果对你有帮助,可否点赞关注一下?
更多详细内容请参考:Linux运维实战总结
一、安装前准备
1.1、硬件环境
数据守护集群安装部署前需要额外注意网络环境和磁盘 IO 配置情况,其他环境配置项建议请参考安装前准备工作。
1.2、集群规划
说明:由于资源限制只有2台服务器,确认监视器IP为172.18.1.42。
- | A机器(主库) | B机器(备库) | 说明 |
---|---|---|---|
操作系统 | Kylin Linux Advanced Server V10 (Tercel) | Kylin Linux Advanced Server V10 (Tercel) | |
CPU架构 | ARM64 | ARM64 | |
主机名 | dmdb01 | dmdb02 | |
业务IP | 172.18.1.42 | 172.18.1.67 | |
心跳IP | 172.18.1.42 | 172.18.1.67 | |
实例名 | dmdb01 | dmdb02 | |
实例端口 | 5236 | 5236 | |
MAL端口 | 5336 | 5336 | |
MAL守护进程端口 | 5436 | 5436 | |
守护进程端口 | 5536 | 5536 | |
OGUID | 45331 | 45331 | |
守护组 | GRP1 | GRP1 | |
安装目录 | /home/dmdba /dmdbms | /home/dmdba /dmdbms | |
实例目录 | /data/dmdba/data | /data/dmdba/data | |
归档目录 | /data/dmdata/arch | /data/dmdata/arch | |
备份目录 | /data/dmdata/dmbak | /data/dmdata/dmbak |
1.3、集群架构
实时主备由一个主库以及一个或者多个配置了实时(Realtime)归档的备库组成,其主要目的是保障数据库可用性,提高数据安全性。
实时主备系统中, 主库提供完整的数据库功能,备库提供只读服务。主库修改数据产生的Redo日志,通过实时归档机制,在写入联机Redo日志文件之前发送到备库,实时备库通过重演Redo日志与主库保持数据同步。当主库出现故障时,备库在将所有Redo日志重演结束后,就可以切换为主库对外提供数据库服务。
1.4、切换模式说明
切换方式 | dmarch | dmwatcher | dmmonitor | 监视器要求 |
---|---|---|---|---|
故障手动切换 | ARCH_WAIT_APPLY=0 | DW_MODE=MANUAL | MON_DW_CONFIRM=0 | 1、手动切换:集群各节点的 bin 目录中,存放非确认监视器配置文件。 |
故障自动切换 | ARCH_WAIT_APPLY=0或ARCH_WAIT_APPLY=1 | DW_MODE=AUTO | MON_DW_CONFIRM=1 | 1、手动切换:集群各节点的 bin 目录中,存放非确认监视器配置文件。2、自动切换:在确认监视器上(非集群节点),存放确认监视器配置文件,并注册后台自启服务。 |
1、ARCH_WAIT_APPLY 参数,设置为 0:高性能模式;设置为 1:事务一致模式。
2、故障手动切换情境下 ARCH_WAIT_APPLY 只能为 0。故障自动切换情境下 ARCH_WAIT_APPLY 可以为 0,也可以为 1。
3、ARCH_WAIT_APPLY 参数设置的判断依据为业务是否要查询备机最新数据。如果需要,则配置为 1(较大性能衰减);如果不需要,则配置为 0。
二、初始化环境
1.1、关闭防火墙和selinux
说明:以下操作分别在dmdb01和dmdb02主机上执行。
systemctl stop firewalld && systemctl disable firewalld
setenforce 0
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux
1.2、修改主机名
说明:分别在对应主机上修改主机名。
[root@dmdb01 ~]# hostnamectl set-hostname dmdb01 && bash
[root@dmdb02 ~]# hostnamectl set-hostname dmdb02 && bash
1.3、修改hosts文件
说明:以下操作分别在dmdb01和dmdb02主机上执行。
vim /etc/hosts
172.18.1.42 dmdb01
172.18.1.67 dmdb02
1.4、新建数据库管理用户和组
说明:以下操作分别在dmdb01和dmdb02主机上执行。
# 1、创建用户组dinstall
[root@dmdb01 ~]# groupadd dinstall -g 2001
# 2、创建用户dmdba
[root@dmdb01 ~]# useradd -G dinstall -m -d /home/dmdba -s /bin/bash -u 2001 dmdba
# 3、修改dmdba用户密码
[root@dmdb01 ~]# passwd dmdba
1.5、修改内核参数
说明:以下操作分别在dmdb01和dmdb02主机上执行。
[root@dmdb01 ~]# vi /etc/sysctl.conf
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
vm.dirty_ratio = 80
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100
kernel.core_pattern = /data/dmdata/core.%e.%p
vm.swappiness=10
vm.dirty_background_ratio = 0
vm.min_free_kbytes = 2097152
使参数生效,执行
sysctl -p
1.6、修改文件打开最大数
说明:以下操作分别在dmdb01和dmdb02主机上执行。
# 执行以下命令,修改dmdba用户资源限制,文件末尾添加如下内容:
[root@dmdb01 ~]# vim /etc/security/limits.conf
dmdba soft nice 0
dmdba hard nice 0
dmdba soft as unlimited
dmdba hard as unlimited
dmdba soft fsize unlimited
dmdba hard fsize unlimited
dmdba soft nproc 65536
dmdba hard nproc 65536
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft core unlimited
dmdba hard core unlimited
dmdba soft data unlimited
dmdba hard data unlimited
1.7、目录规划及权限设置
说明:以下操作分别在dmdb01和dmdb02主机上执行。
1、创建目录
# 实例保存目录
[root@dmdb01 ~]# mkdir /data/dmdata/data -pv
# 归档保存目录
[root@dmdb01 ~]# mkdir /data/dmdata/arch -pv
# 备份保存目录
[root@dmdb01 ~]# mkdir /data/dmdata/dmbak -pv
2、设置目录权限
# 设置目录属主和属组dmdba:dinstall,并给路径下的文件设置755权限
[root@dmdb01 ~]# chmod 755 /data
[root@dmdb01 ~]# cd /data
[root@dmdb01 ~]# chown -R dmdba:dinstall dmdata
[root@dmdb01 ~]# chown -R dmdba:dinstall dmdata/data
[root@dmdb01 ~]# chown -R dmdba:dinstall dmdata/arch
[root@dmdb01 ~]# chown -R dmdba:dinstall dmdata/dmbak
[root@dmdb01 ~]# chmod -R 755 dmdata
[root@dmdb01 ~]# chmod -R 755 dmdata/data
[root@dmdb01 ~]# chmod -R 755 dmdata/arch
[root@dmdb01 ~]# chmod -R 755 dmdata/dmbak
1.8、外挂iso文件
说明:以下操作分别在dmdb01和dmdb02主机上执行。
[root@dmdb01 ~]# mkdir -p /dmiso
[root@dmdb01 ~]# mount -o loop dm8_20240123_HWarm_kylin10_64.iso /dmiso/
1.9、配置环境变量
说明:以下操作分别在dmdb01和dmdb02主机上执行。
[root@dmdb01 ~]# su - dmdba
[dmdba@dmdb01 ~]$ vim /home/dmdba/.bash_profile
export DM_HOME=/home/dmdba/dmdbms
export PATH=