暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

AntDB数据库主备容模式安装示例

IT那活儿 2024-08-29
135
点击上方“IT那活儿”公众号--专注于企业全栈运维技术分享,不管IT什么活儿,干就完了!!!   

准备工作
1.1 个人虚拟机环境
  • redhat7.9;
  • 磁盘大小20G;
  • cpu2*2。
1.2 前置环境检查及配置
1.3 防火墙状态检查、关闭防火墙
1)关闭防⽕墙服务
systemctl stop firewalld.service
2)关闭防⽕墙⾃启动服务
systemctl disable firewalld.service
3)检查防⽕墙状态
systemctl status firewalld.service


标准指导操作
2.1 关闭numa和tuned
1)关闭numa
grubby --update-kernel=ALL --args="numa=off "
该命令修改的是这个⽂件:/etc/grub2.cfg
2)关闭tuned服务
systemctl stop tuned
systemctl disable tuned

3)这种⽅式修改后,重启主机⽣效
Reboot
4)重启后,验证grub的cmdline
cat /proc/cmdline
5)检查 numa
numactl --hardware
2.2 关闭透明大页
透明⼤⻚(即 Transparent Huge Pages,缩写为 THP)的使⽤可能会引起性能问题,因此建议关闭
1)检查透明⼤⻚的开启状态
cat /sys/kernel/mm/transparent_hugepage/enabled
  • 如果结果是[always] madvise never,则透明⼤⻚是开启状态,需要关闭;
  • 如果结果是always madvise [never],则透明⼤⻚是关闭状态,跳过此步骤;
2)关闭透明⼤⻚
echo never > /sys/kernel/mm/transparent_hugepage/enabled
  • echo never > sys/kernel/mm/transparent_hugepage/defrag检查透明⼤⻚开启状态。
3)关闭后再次检查为never状态
2.3 配置sysctl.conf
1)修改sysctl.conf⽂件
添加如下参数:
# add for antdb
kernel.shmmax=137438953472 137438953472
kernel.shmall=53689091
kernel.shmmni=4096
kernel.msgmnb=4203520
kernel.msgmax=65536
kernel.msgmni=32768
kernel.sem=501000 641280000 501000 12800
fs.aio-max-nr=6553600
fs.file-max=26289810
net.core.rmem_default=8388608
net.core.rmem_max=16777216
net.core.wmem_default=8388608
net.core.wmem_max=16777216
net.core.netdev_max_backlog=262144
net.core.somaxconn= 65535
net.ipv4.tcp_rmem=8192 87380 16777216
net.ipv4.tcp_wmem=8192 65536 16777216
net.ipv4.tcp_max_syn_backlog=262144
net.ipv4.tcp_keepalive_time=180
net.ipv4.tcp_keepalive_intvl=10
net.ipv4.tcp_keepalive_probes=3
net.ipv4.tcp_fin_timeout=1
net.ipv4.tcp_synack_retries=1
net.ipv4.tcp_syn_retries=1
net.ipv4.tcp_syncookies=1
net.ipv4.tcp_timestamps=1
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_max_tw_buckets=256000
net.ipv4.tcp_retries1=2
net.ipv4.tcp_retries2=3
vm.dirty_background_ratio=5
vm.dirty_expire_centisecs=6000
vm.dirty_writeback_centisecs=500
vm.dirty_ratio=20
vm.overcommit_memory=0
vm.overcommit_ratio= 120
vm.vfs_cache_pressure = 100
vm.swappiness=10
vm.drop_caches = 2
vm.min_free_kbytes = 2048000
vm.zone_reclaim_mode=0
kernel.core_uses_pid=1
kernel.core_pattern= /data/antdb/core/core-%e-%p-%s-%t
fs.suid_dumpable=1
kernel.sysrq=0

kernel.core_pattern的路径需要根据实际环境信息进⾏修改。
2)执⾏下⾯的命令让上述参数⽣效
sysctl -p
(执行该命令后会打印你所添加的参数,如显示sysctl: /etc/sysctl.conf(59): invalid syntax, continuing...则表示你该文件中第59行的写法有误,导致整改参数无法生效,请自行排查。)
2.4 ⽤户配置
1)新建⽤户
在需要安装AntDB的所有主机上新建⼀个普通的⽤户,如uatadb(或者使⽤已有的普通⽤户)
新建⽤户参考例⼦:
useradd -d /home/antdb antdb
passwd antdb

2)配置⽤户limit参数
编辑/etc/security/limits.conf ⽂件,配置antdb⽤户参数:
antdb soft nproc 65536
antdb hard nproc 65536
antdb soft nofile 278528
antdb hard nofile 278528
antdb soft stack unlimited
antdb soft core unlimited
antdb hard core unlimited
antdb soft memlock 250000000
antdb hard memlock 250000000

存⽂件后,执⾏su - antdb切换到antdb⽤户,执⾏ulimit -a 检查是否⽣效:
3)配置⽤户sudo权限
在安全允许的条件下,建议给antdb⽤户加上sudo权限。
root⽤户执⾏vi  sudoers文件 进⾏编辑界⾯,找到 Allow root to run any commands anywhere所在⾏,在⾏下⾯添加:
antdb ALL=(ALL) ALL
保存⽂件退出。
su - antdb 切换到antdb⽤户,执⾏sudo id,预期会提示输⼊⽤户密码,输出为:uid=0(root) gid=0(root) groups=0(root) 表示sudo权限添加成功。
确保安装包是antdb用户组权限下的,并将安装包进行解压:
三个节点关闭selinux:
手动配置互信,把生成的密钥拷贝到另外两个节点,在每个节点上都重复这个步骤,然后使用 ssh antdb@192.168.171.29 去访问其他节点,免密登录成功则互信已配置;配置的时候忘记截图了,如下使用的是crt的日志记录文件截图)
进行初始化文件参数配置:
当前集群三个节点ip为:192.168.171.28/29/30,其中,选用28为主;
初始化成功,数据一主两倍集群正常运行(crt日志记录截图):

END


本文作者:胡周盼(上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论