注册
达梦数据库安装部署前环境检查
技术分享/ 文章详情 /

达梦数据库安装部署前环境检查

DM_184112 2026/07/31 145 0 0

1 环境与路径约定

屏幕截图 20260728 140748.png

2 部署前环境检查与操作系统参数优化

部署前检查的目的,是在执行安装程序之前确认操作系统、CPU、内存、存储、网络和关键内核参数满足数据库运行要求,并保留可追溯的检查结果。以下内容以本次 CentOS 7 x86_64 KVM 实训云主机为例,操作顺序参考项目上线规范第一章。

2.1 操作系统、体系架构与硬件信息

cat /etc/os-release | grep PRETTY_NAME
uname -a
uname -m
getconf LONG_BIT
lscpu

操作系统为 CentOS Linux 7 (Core),体系架构为 x86_64,系统位数为 64 位,CPU 为 1 个 Socket、6 个逻辑 CPU。安装介质的操作系统类型和 CPU 架构必须与主机匹配,否则可能出现可执行文件无法运行、段错误或依赖库不兼容。

2.2 磁盘挂载、容量与文件系统

检查挂载配置与实际挂载关系

cat /etc/fstab
mount -a
lsblk -f
df -Th /home/dmdba

先检查 /etc/fstab 是否存在错误,再执行 mount -a 验证开机挂载配置,最后用 lsblk 和 df 将数据库目录映射到实际磁盘。本次 /home/dmdba 位于 /dev/vda3,文件系统为 ext4,总容量约 47 GB,可用约 31 GB。系统盘建议使用 UUID 挂载;数据、归档和备份在生产环境中应尽可能分盘规划。

2.3 磁盘 I/O 与调度算法

查询调度算法并进行小块同步写测试

cat /sys/block/vda/queue/scheduler

dd if=/dev/zero of=/home/dmdba/io_test bs=8k  count=4k oflag=dsync
dd if=/dev/zero of=/home/dmdba/io_test bs=16k count=4k oflag=dsync
dd if=/dev/zero of=/home/dmdba/io_test bs=32k count=4k oflag=dsync
rm -f /home/dmdba/io_test

2.4 CPU、内存与服务器属性

资源利用率和虚拟化类型

free -m
virt-what

2.5 系统时间与防火墙

时间核对与同步

hwclock
systemctl status chronyd
chronyc tracking
date -s 'YYYY-MM-DD HH:MM:SS'
hwclock -w

防火墙检查

firewall-cmd --zone=public --list-ports
firewall-cmd --zone=public --query-port=5236/tcp

# 需要保留防火墙时,按安全策略开放数据库端口
firewall-cmd --zone=public --add-port=5236/tcp --permanent
firewall-cmd --reload

2.6 关闭 NUMA 与禁用透明大页

高内存压力下,NUMA 的本地节点回收可能造成内核态开销和 SQL 卡顿;透明大页的合并与拆分也可能造成不可预测的延迟。本次 CentOS 7 实训机通过 GRUB 内核参数同时关闭 NUMA 和透明大页。

numa=off transparent_hugepage=never
grub2-mkconfig -o /etc/grub2.cfg
reboot

重启后验证

dmesg | grep -i numa
cat /proc/cmdline
cat /sys/kernel/mm/transparent_hugepage/enabled

2.7 SELinux、arena 与 dmdba 环境变量

SELinux 检查

getenforce
grep '^SELINUX=' /etc/selinux/config

arena 参数核对

grep -n 'MALLOC_ARENA_MAX' /home/dmdba/dmdbms/bin/DmServiceDAMENG

MALLOC_ARENA_MAX=1 用于限制 glibc 为线程额外创建无法由数据库统一管理的 arena。新版本 DM8 已将该参数写入服务启动脚本,因此安装后应先检查是否已存在,避免在多个位置重复配置。

2.8 资源限制与 systemd 生效检查

交互登录用户读取 /etc/security/limits.conf;通过 systemd 启动的数据库服务还会受到 /etc/systemd/system.conf 或服务单元 Limit* 参数约束。两处都应配置并在重启后核对数据库进程的实际 limits。
/etc/security/limits.conf

dmdba soft core    unlimited
dmdba hard core    unlimited
dmdba soft data    unlimited
dmdba hard data    unlimited
dmdba soft fsize   unlimited
dmdba hard fsize   unlimited
dmdba soft nofile  65536
dmdba hard nofile  65536
dmdba soft nproc   10240
dmdba hard nproc   10240
dmdba soft nice    0
dmdba hard nice    0
dmdba soft as      unlimited
dmdba hard as      unlimited

/etc/systemd/system.conf

DefaultLimitFSIZE=unlimited
DefaultLimitDATA=unlimited
DefaultLimitCORE=unlimited
DefaultLimitNOFILE=65536
DefaultLimitAS=unlimited
DefaultLimitNPROC=10240
DefaultLimitNICE=0

修改 system.conf 后安排重启操作系统。重启后先通过 ulimit -a 检查 dmdba 登录会话,再查看 dmserver 进程实际限制。

su - dmdba -c 'ulimit -a'pid=$(pidof dmserver)
cat /proc/$pid/limits

2.9 内存参数、core 路径与 swap

overcommit_memory 与 swappiness

cat /proc/sys/vm/overcommit_memory
cat /proc/sys/vm/swappiness
cat /proc/sys/vm/min_free_kbytes

# /etc/sysctl.conf
vm.overcommit_memory = 0
vm.swappiness = 10

sysctl -p

core 文件路径

mkdir -p /home/dmdba/core
chown -R dmdba:dmdba /home/dmdba/core
chmod 700 /home/dmdba/core

# /etc/sysctl.conf
kernel.core_pattern = /home/dmdba/core/core-%e-%p-%s
sysctl -p
cat /proc/sys/kernel/core_pattern

swap 检查

free -m
swapon --show
# 临时关闭,重启后失效
swapoff -a
# 永久关闭前备份并编辑 /etc/fstab,注释 swap 行
cp -a /etc/fstab /etc/fstab.bak.$(date +%F_%H%M%S)
vi /etc/fstab

3 部署前检查结果汇总

屏幕截图 20260728 142204.png

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服