注册
达梦数据库部署前的系统配置
专栏/技术分享/ 文章详情 /

达梦数据库部署前的系统配置

谷顾咕 2026/05/29 233 0 0
摘要

在达梦数据库部署前,我们需要做一些操作系统层面的配置和修改来部署或优化数据库。本文以银河麒麟V10操作系统为例,演示数据库安装部署之前需要在操作系统层面完成的步骤,后续可衔接各种架构的部署。

1. 系统配置

1.1 创建用户和用户组

按照安全标准,数据库不能部署在root用户下,需创建dmdba用户及其对应dinstall所属组,并设置符合密码复杂度的用户密码

##两个节点的root用户都执行 groupadd dinstall useradd -g dinstall dmdba id dmdba passwd dmdba

1.2 创建数据库相关目录

##两个节点的root用户都执行 mkdir -p /dmdb/{dmdbms,dmdata,dmarch,dmbak,soft} chown -R dmdba:dinstall /dmdb/ chmod -R 755 /dmdb/ ls -ltrd /dmdb/

1.3 调整limits.conf参数

放宽dmdba用户的系统资源限制,调整参数说明如下:

  1. core file size 建议设置为 unlimited。并将 core 文件目录放到大的空间目录存放。
  2. data seg size 建议设置为 1048576 以上或 unlimited,此参数过小将导致数据库启动失败。
  3. file size 建议设置 unlimited (无限制),此参数过小导致数据库安装或初始化失败。
  4. open files 建议设置为 65536 以上或 unlimited。
  5. virtual memory 建议设置为 1048576 以上或 unlimited,此参数过小将导致数据库启动失败。
  6. max user processes 最大线程数这个参数建议修改为 10240。
##两个节点的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

1.4 调整pam.d/login

##两个节点的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

1.5 调整sysctl.conf

调整参数overcommit_memory,表示系统的内存分配策略可以选值为 0,1,2

0:表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。

1:表示内核允许分配所有的物理内存,不管当前的内存状态如何。

2:表示内核允许分配超过所有物理内存和交换空间总和的内存。

这里将其设置为0

##两个节点的root用户都执行 vi /etc/sysctl.conf vm.overcommit_memory=0 ##参数生效 sysctl -p

1.6 禁用透明大页并关闭NUMA

##两个节点的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

1.7 调整磁盘调度算法

达梦数据库的稳定运行,需要将磁盘的调度算法设置为 deadline

  1. 通过lsblk命令查询数据盘所在的盘符,一般为sd*或vd*

image.png

该测试库未配置独立的数据盘,数据文件位于/目录下,因此数据盘为sda

  1. 查询数据盘的调度算法

    cat /sys/block/sda/queue/scheduler

image.png

中括号选中的是当前的调度算法,当前调度算法已为deadline

  1. 修改调度算法

    grubby --update-kernel=ALL --args="elevator=deadline"

    重启并查询验证,验证无误

    本次重启仅为测试用,实际生产可在后续一并重启

1.8 调整system.conf参数

达梦数据库服务注册为系统服务的进程,如通过 systemctl 或者 service 方式设定随机自启动的数据库服务,其能打开的最大文件描述符、proc 数量等不受 limits.conf 控制,需要修改 /etc/systemd/system.conf 文件

##两个节点的root用户都执行 vi /etc/systemd/system.conf DefaultLimitNOFILE=65536 DefaultLimitNPROC=10240

1.9 调整RemoveIPC参数

检查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

1.10 关闭SELINUX和防火墙

  1. 关闭SELINUX

    ##查看当前SELINUX状态 getenforce ##临时关闭SELINUX setenforce 0 ##永久关闭SELINUX vi /etc/selinux/config SELINUX=disabled
  2. 关闭防火墙

    ##查询防火墙状态 systemctl status firewalld ##关闭防火墙 systemctl stop firewalld ##禁止防火墙开机自启动 systemctl disable firewalld

    若生产环境不能关闭防火墙,需配置防火墙策略,此处略

1.11 修改dmdba用户的环境变量

##两个节点的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

完成系统配置的修改后,重启服务器

2. 数据库软件部署

2.1 上传并挂载镜像包

将iso文件上传至 /dmdb/soft 目录,并挂载至 /mnt 目录下

##两个节点的root用户都执行 mount -o loop /dmdb/soft/dm8_20260428_x86_kylin10_sp1_64.iso /mnt

2.2 安装数据库软件

##两个节点的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
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服