崖山从0到1系列06-崖山数据库双机高可用环境部署
简单步骤
环境:
两台机器
192.168.127.39 192.168.127.40
基础配置:
调整机器的时钟,确保机器时钟一致。
检测机器之前的网络通信情况,确保个节点通信正常
创建yashan用户
home目录和data目录划分。
数据文件、redo文件以及归档文件存储的划分。
部署一主一备场景:
检查主备服务器的网络通信、时钟等,确保网络通信正常,时钟一致。
1.生成部署文件(yashandb.toml和hosts.toml两个配置文件)
yasboot package se gen --cluster yashandb -u yashan -p password --ip 192.168.127.39,192.168.127.40 --port 22 --install-path /data1/yashan/yasdb_home -data-path /data1/yashan/yasdb_data --begin-port 1688 --node 2
2.调整配置文件(手动调整)
需要调整的参数有:REDO_FILE_NUM、 REDO_FILE_PATH, REDO_FILE_SIZE,UNDO_FILE_INIT_SIZE,归档路径等
3.执行安装
yasboot package install -t hosts.toml -i yashandb-23.2.0.27-linux-x86_64.tar.gz
4.数据库部署
yasboot cluster deploy -t yashandb.toml
5.设置sys用户密码
yasboot cluster password set --new-password yashandb_123 --cluster yashandb
6.检测安装是否成功
检查整个集群的状态:yasboot cluster status --cluster yashandb --detail
检测主备连接情况:select * from v$archive_dest_status;
检测主备的同步情况:简单业务测试
7.配置参数调优
使用参数自适应功能,使用高级包DBMS_PARAM来生成推荐参数
安装参数调整:依据实际需要调整yashandb.toml配置文件中的安装参数。其中,可在group级别设置YashanDB的所有建库参数,在node级别设置YashanDB的所有配置参数。
REDO_FILE_PATH:设置为了保证数据库的性能稳定,redo文件需要单独使用一块磁盘,避免同数据文件抢占IO。
REDO_FILE_NUM和REDO_FILE_SIZE:调整redo文件的大小和数量。
设置归档路径参数:正常业务场景下,归档文件需要单独使用一块磁盘来存储。需要手动配置归档的磁盘目录。
配置参数调优
1.执行参数优化高级包,生成最佳参数配置:EXEC DBMS_PARAM.OPTIMIZE();
2、查看推荐参数的报告:SELECT DBMS_PARAM.SHOW_RECOMMEND() FROM DUAL;
3.将推荐的参数写入配置文件:EXEC DBMS_PARAM.APPLY_RECOMMEND();
4、重启数据库,生效配置参数。
开启仲裁自动切换开关,调整配置最大保护模式和零丢失模式
一主一备高可用安装详细步骤
两台机器安装崖山db
192.168.127.39/40
系统准备
升级Openssl到1.1.1o(源码安装)
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
tar -zxvf openssl-OpenSSL_1_1_1o.tar.gz
cd openssl-OpenSSL_1_1_1o
./config --prefix=/usr/local/openssl
make && make install
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig -v
openssl version
关闭交换分区
# sysctl -w vm.swappiness=0
# echo "vm.swappiness=0">> /etc/sysctl.conf
# sysctl -w net.ipv4.ip_local_port_range='32768 60999'
echo "net.ipv4.ip_local_port_range=32768 60999" >> /etc/sysctl.conf
# sysctl -w vm.max_map_count=2000000
echo "vm.max_map_count=2000000" >> /etc/sysctl.conf
系统限制
echo "
* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536
* soft rss unlimited
* hard rss unlimited
* soft stack 8192
* hard stack 8192
" >> /etc/security/limits.conf
配置大页内存
$ grep -i huge /proc/meminfo
#vi /etc/sysctl.conf
追加以下配置:
vm.nr_hugepages=16
vm.nr_overcommit_hugepages=0
#关闭透明大页
# cat /sys/kernel/mm/redhat_transparent_hugepage/enabled
ca