在达梦数据库部署前,我们需要做一些操作系统层面的配置和修改来部署或优化数据库。本文以银河麒麟V10操作系统为例,演示数据库安装部署之前需要在操作系统层面完成的步骤,后续可衔接各种架构的部署。
按照安全标准,数据库不能部署在root用户下,需创建dmdba用户及其对应dinstall所属组,并设置符合密码复杂度的用户密码
##两个节点的root用户都执行
groupadd dinstall
useradd -g dinstall dmdba
id dmdba
passwd dmdba
##两个节点的root用户都执行
mkdir -p /dmdb/{dmdbms,dmdata,dmarch,dmbak,soft}
chown -R dmdba:dinstall /dmdb/
chmod -R 755 /dmdb/
ls -ltrd /dmdb/
放宽dmdba用户的系统资源限制,调整参数说明如下:
##两个节点的root用户都执行
cat >> /etc/security/limits.conf<<EOF
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
EOF
##检查并让参数生效
cat /etc/security/limits.conf
ulimit -c unlimited
##两个节点的root用户都执行
cat /etc/pam.d/login
echo "session required pam_limits.so" >> /etc/pam.d/login
echo "session required /lib64/security/pam_limits.so" >> /etc/pam.d/login
cat /etc/pam.d/login
调整参数overcommit_memory,表示系统的内存分配策略可以选值为 0,1,2
0:表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1:表示内核允许分配所有的物理内存,不管当前的内存状态如何。
2:表示内核允许分配超过所有物理内存和交换空间总和的内存。
这里将其设置为0
##两个节点的root用户都执行
vi /etc/sysctl.conf
vm.overcommit_memory=0
##参数生效
sysctl -p
##两个节点的root用户都执行
##GRUB_CMDLINE_LINUX原有的内容不修改,只修改或添加涉及的参数
vi /etc/default/grub
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet transparent_hugepage=never numa=off"
##重新生成 /etc/grub2.cfg 配置文件
grub2-mkconfig -o /etc/grub2.cfg
达梦数据库的稳定运行,需要将磁盘的调度算法设置为 deadline
lsblk命令查询数据盘所在的盘符,一般为sd*或vd*该测试库未配置独立的数据盘,数据文件位于/目录下,因此数据盘为sda
查询数据盘的调度算法
cat /sys/block/sda/queue/scheduler
中括号选中的是当前的调度算法,当前调度算法已为deadline
修改调度算法
grubby --update-kernel=ALL --args="elevator=deadline"
重启并查询验证,验证无误
本次重启仅为测试用,实际生产可在后续一并重启
达梦数据库服务注册为系统服务的进程,如通过 systemctl 或者 service 方式设定随机自启动的数据库服务,其能打开的最大文件描述符、proc 数量等不受 limits.conf 控制,需要修改 /etc/systemd/system.conf 文件
##两个节点的root用户都执行
vi /etc/systemd/system.conf
DefaultLimitNOFILE=65536
DefaultLimitNPROC=10240
检查RemoveIPC的参数值,要求为RemoveIPC=no
systemctl show systemd-logind | grep -i removeipc
若参数值不为no,按以下方式调整
##修改logind.conf配置文件,设置RemoveIPC参数为no
vi /etc/systemd/logind.conf
RemoveIPC=no
##保存后重启服务
systemctl daemon-reload
systemctl restart systemd-logind
##检查验证
grep RemoveIPC /etc/systemd/logind.conf
RemoveIPC=no
##结果验证确认
loginctl show-session | grep RemoveIPC
systemctl show systemd-logind | grep -i removeipc
关闭SELINUX
##查看当前SELINUX状态
getenforce
##临时关闭SELINUX
setenforce 0
##永久关闭SELINUX
vi /etc/selinux/config
SELINUX=disabled
关闭防火墙
##查询防火墙状态
systemctl status firewalld
##关闭防火墙
systemctl stop firewalld
##禁止防火墙开机自启动
systemctl disable firewalld
若生产环境不能关闭防火墙,需配置防火墙策略,此处略
##两个节点的root用户都执行
su - dmdba
vi ~/.bash_profile
export DM_HOME="/dmdb/dmdbms"
export LD_LIBRARY_PATH="$DM_HOME/bin:$LD_LIBRARY_PATH"
export PATH=$DM_HOME/bin:$PATH
##验证并生效profile文件
cat ~/.bash_profile
source ~/.bash_profile
完成系统配置的修改后,重启服务器
将iso文件上传至 /dmdb/soft 目录,并挂载至 /mnt 目录下
##两个节点的root用户都执行
mount -o loop /dmdb/soft/dm8_20260428_x86_kylin10_sp1_64.iso /mnt
##两个节点的dmdba用户都执行
cd /mnt
##未配置图形化界面,使用非图形化安装
./DMInstall.bin -i
注意选项:
1.是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:
若无key文件暂时跳过
2.请选择安装目录 [/home/dmdba/dmdbms]:/dmdb/dmdbms
选择之前创建的dmdbms目录
##安装完成后,切换root用户
/dmdb/dmdbms/script/root/root_installer.sh
文章
阅读量
获赞
