一、部署前工作
1、介质下载
下载地址:https://www.dameng.com/list_103.html
结合服务器类型选择对应版本:
2、环境检查
硬件环境要求
用户应根据 DM 及应用系统的需求来选择合适的硬件配置,如 CPU 的指标、内存及磁盘容量等。档次一般应尽可能高一些,尤其是作为数据库服务器的机器,基于 Java 的程序运行时最好有较大的内存。其它设备如 UPS 等在重要应用中也应考虑。下面给出安装 DM 所需的硬件基本配置:
名称 |
要求 |
CPU |
Intel Pentium4(建议 Pentium 41.6G 以上)处理器 |
内存 |
256M(建议 512M 以上) |
硬盘 |
5G 以上可用空间 |
网卡 |
10M 以上支持 TCP/IP 协议的网卡 |
光驱 |
32 倍速以上光驱 |
软件环境要求
名称 |
要求 |
操作系统 |
Windows(简体中文服务器版 sp2 以上)/Linux(glibc2.3 以上,内核 2.6,已安装 KDE/GNOME 桌面环境,建议预先安装 UnixODBC 组件) |
网络协议 |
TCP/IP |
系统盘 |
至少 1G 以上的剩余空间 |
检查 Linux(Unix)系统信息
如果用户的 DM 软件安装包是经过数字签名的,请参照以下步骤进行操作,其他情况请忽略此步骤。
软件安装包的数字签名校验:
导入达梦公司的公钥,命令如下:
gpg --import dm-pub-key
将达梦公司的公钥添加到绝对信任列表:
gpg --edit-key 武汉达梦数据库有限公司 trust
验证达梦安装包的数字签名
gpg --verify dm.sign dm8_setup_xxx.iso
输出结果是“完好的签名”(“Good Signature”)则表示安装包文件完好无损。
用户在安装 DM 前,需要检查当前操作系统的相关信息,确认 DM 安装程序与当前操作系统匹配,以保证 DM 能够正确安装和运行。用户可以使用以下命令检查操作系统基本信息。如下图所示:
- 获取系统位数:getconf LONG_BIT
- 查询操作系统release信息:lsb_release -a
- 查询系统信息:cat /etc/issue
- 查询系统名称:uname -a
3、创建安装用户
为了减少对操作系统的影响,用户不应该以 root 系统用户来安装和运行 DM。用户可以在安装之前为 DM 创建一个专用的系统用户。
创建安装用户组 dinstall
groupadd -g 12349 dinstall
创建安装用户 dmdba
useradd -u 12345 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
初始化用户密码
passwd dmdba
注意:创建安装系统用户完成后,安装手册之后的操作默认使用安装系统用户进行操作。
4、Linux(Unix)下检查操作系统限制
运行 ulimit -a 进行查询:
参数使用限制:
data seg size
data seg size (kbytes, -d)
建议用户设置为 1048576(即 1GB)以上或 unlimited(无限制),此参数过小将导致数据库启动失败。
file size
file size(blocks, -f)
建议用户设置为 unlimited(无限制),此参数过小将导致数据库安装或初始化失败。
open files
open files(-n)
建议用户设置为 65536 以上或 unlimited(无限制)。
virtual memory
virtual memory (kbytes, -v)
建议用户设置为 1048576(即 1GB)以上或 unlimited(无限制),此参数过小将导致数据库启动失败。
如果用户需要为当前安装用户更改 ulimit 的资源限制,请修改文件/etc/security/limits.conf。
5、检查系统内存与存储空间
检查内存
为了保证 DM 的正确安装和运行,要尽量保证操作系统至少 1GB 的可用内存(RAM)。如果可用内存过少,可能导致 DM 安装或启动失败。用户可以使用以下命令检查操作内存:
获取内存总大小
grep MemTotal /proc/meminfo
获取交换分区大小
grep SwapTotal /proc/meminfo
free
6、检查存储空间
DM 完全安装需要 1GB 的存储空间
查询目录/mount_point/dir_name可用空间
df -h /data/dm
DM 安装程序在安装时将产生临时文件,临时文件需要 1GB 的存储空间,临时文件目录默认为**/tmp**。用户可以使用以下命令检查存储空间。如下图所示:
如果/tmp 目录不能保证 1GB 的存储空间,用户可以扩展/tmp 目录存储空间或者通过设置环境变量 DM_INSTALL_TMPDIR 指定安装程序的临时目录。具体命令如下所示:
mkdir -p /data/dm/dminstall
DM_INSTALL_TMPDIR=/data/dm/dminstall
export DM_INSTALL_TMPDIR
7、检查 NUMA
操作步骤:
步骤 1: 以 root 用户登陆。
步骤 2: 检查操作系统版本。
# numastat
# numactl --hardware
步骤 3: 查看 CPU。
# lscpu
步骤 4: 关闭 NUMA。
# vi /etc/default/grub
在 GRUB_CMDLINE_LINUX 参数的末尾增加 :numa=off
# cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root
rd.lvm.lv=centos/swap rhgb quiet transparent_hugepage=never numa=off "
GRUB_DISABLE_RECOVERY="true"
步骤 5: 重置 grub 配置文件。
# grub2-mkconfig -o /boot/grub2/grub.cfg
步骤 6: 重启操作系统。
# reboot
8、检查 SELinux
操作步骤:
步骤 1: 以 root 用户登陆。
步骤 2: 检查操作系统 selinux。
# vi /etc/selinux/config
# SELINUX=disabled
步骤 3: 生效。
# etenforce 0
9、检查 Transparent HugePages
步骤 1: 以 root 用户登陆。
步骤2:检查是否开启 TH。
# grep AnonHugePages /proc/meminfo
# cat /sys/kernel/mm/redhat_transparent_hugepage/enabled
# cat /sys/kernel/mm/redhat_transparent_hugepage/defrag
步骤 3: 关闭透明大页。
# grubby --update-kernel=ALL --args="transparent_hugepage=never"
步骤 4: 重启服务器。
10、检查 sysctl.conf
操作步骤:
步骤 1: 以 root 用户登陆。
步骤 2: 检查操作系统版本。
# vi /etc/sysctl.conf
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576vm.swappiness = 0
vm.dirty_background_ratio = 3
vm.dirty_ratio = 80
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100
参考参数:
# kernel.shmall = _PHYS_PAGES / 2 # See Shared Memory Pages
kernel.shmall = 197951838
# kernel.shmmax = kernel.shmall * PAGE_SIZE
kernel.shmmax = 810810728448
kernel.shmmni = 4096
vm.overcommit_memory = 2 # See Segment Host Memory 确定可以为进程分配多少内
存
vm.overcommit_ratio = 95 # See Segment Host Memory 用于应用程序进程的 RAM 的
百分比,其余部分保留给操作系统。在 Red Hat Enterprise Linux 上,默认值为 50
net.ipv4.ip_local_port_range = 10000 65535 # See Port Settings
kernel.sem = 500 2048000 200 4096
kernel.sysrq = 1
kernel.core_uses_pid = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.msgmni = 2048
net.ipv4.tcp_syncookies = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.conf.all.arp_filter = 1
net.core.netdev_max_backlog = 10000
net.core.rmem_max = 2097152
net.core.wmem_max = 2097152
vm.swappiness = 10
vm.zone_reclaim_mode = 0
vm.dirty_expire_centisecs = 500vm.dirty_writeback_centisecs = 100
#more than 64GB of memory
vm.dirty_background_ratio = 0
vm.dirty_ratio = 0
vm.dirty_background_bytes = 1610612736 #1.5GB
vm.dirty_bytes = 4294967296 # 4GB
#64GB of memory or less
vm.dirty_background_ratio = 3
vm.dirty_ratio = 10
计算方式:
kernel.shmall = ( _PHYS_PAGES / 2)
kernel.shmmax = ( _PHYS_PAGES / 2) * PAGE_SIZE
echo $(expr $(getconf _PHYS_PAGES) / 2)
echo $(expr $(getconf _PHYS_PAGES) / 2 * $(getconf PAGE_SIZE))
步骤 3: 生效。
# sysctl -p
11、检查 limit.conf
操作步骤:
步骤 1: 以 root 用户登陆。
步骤 2: 修改配置文件。
# vi /etc/security/limits.conf
* soft nproc 65536
* hard nproc 65536
* soft nofile 65536
* hard nofile 65536
dmdba soft nofile 4096
dmdba hard nofile 65536
二、部署Dm8(开发版)
1、执行软件安装
步骤1:安装包准备。
mkdir -p /data/dm/dm_iso
unzip dm8_20231011_x86_rh6_64.zip
mount dm8_20231011_x86_rh6_64.iso dm_iso
2、命令行安装
步骤1:选择安装语言。
步骤2:是否输入Key文件路径。
步骤3:是否设置时区。
步骤4:安装类型选择:选择自定义安装。
步骤5:选择安装目录。
步骤6:安装过程。
步骤7:使用root命令执行脚本。
3、创建数据库
使用dminit 工具创建数据库,数据页 PAGE_SIZE 大小为 16 K,默认的数据库名为 db_name=DAMENGcd /data/dm/dmdbms/bin./dminit PATH=/data/dm/dmdbms PAGE_SIZE=16
4、创建服务
cd /data/dm/dmdbms/script/root./dm_service_installer.sh -t dmserver -dm_ini /data/dm/dmdbms/DAMENG/dm.ini -p DMSERVER
5、启动数据库
systemctl start DmServiceDMSERVER
三、兼容性参数修改
修改参数文件,部分兼容MySQL
修改/data/dm/dmdbms/DAMENG/dm.ini文件。
完成后重启数据库。
注:本文档参考官方手册进行整理。