内容简介:本文档风哥主要介绍DM达梦数据库的安装规划与软硬件环境要求,涵盖硬件配置、软件环境、网络要求、存储规划等内容,风哥教程参考DM官方文档《DM8安装手册》、《DM8系统管理员手册》等官方资料。本文档为DM数据库学习系列的第二篇,重点介绍安装前的规划工作和环境准备,为后续的安装实施打下基础。
Part01-基础概念与理论知识
1.1 DM数据库安装概述
DM数据库的安装是一个系统性工程,需要在安装前进行充分的规划和准备。正确的安装规划可以确保数据库系统的稳定性、性能和可维护性。
1.1.1 安装类型
- 图形化安装:通过图形界面进行安装,操作简单直观
- 命令行安装:通过命令行进行静默安装,适合自动化部署
- 定制安装:根据需要选择特定的组件进行安装
1.1.2 安装模式
- 典型安装:安装所有核心组件
- 最小安装:只安装必要的组件
- 自定义安装:根据需要选择组件
1.2 DM数据库硬件要求
DM数据库对硬件有一定的要求,不同规模的部署需要不同的硬件配置。
1.2.1 处理器要求
– 小型部署:至少4核CPU
– 中型部署:8核以上CPU
– 大型部署:16核以上CPU
– 超大型部署:32核以上CPU
# CPU架构
– x86_64架构
– ARM架构(部分版本支持)
1.2.2 内存要求
– 小型部署:至少8GB内存
– 中型部署:16GB以上内存
– 大型部署:32GB以上内存
– 超大型部署:64GB以上内存
# 内存配置建议
– 内存大小应根据数据库规模和并发用户数调整
– 建议内存为CPU核心数的2-4倍
1.2.3 存储要求
– 小型部署:至少500GB存储空间
– 中型部署:1TB以上存储空间
– 大型部署:2TB以上存储空间 风哥提示:
– 超大型部署:4TB以上存储空间
# 存储类型
– 推荐使用SSD存储
– 生产环境建议使用RAID 10
– 数据文件和日志文件建议分离存储
1.3 DM数据库软件要求
DM数据库对软件环境也有特定的要求,包括操作系统版本、依赖库等。
1.3.1 操作系统要求
- Linux系统:
- Red Hat Enterprise Linux 7.x/8.x/9.x
- CentOS 7.x/8.x/9.x
- Oracle Linux 7.x/8.x/9.x
- SUSE Linux Enterprise Server 12/15
- 国产操作系统:麒麟操作系统 v10 SP3、欧拉操作系统等
- Windows系统:
- Windows Server 2012 R2
- Windows Server 2016
- Windows Server 2019
- Windows Server 2022
1.3.2 依赖库要求
# Linux依赖库
– glibc 2.17及以上
– libstdc++ 6.0及以上
– libaio 0.3.109及以上
– libnsl 2.28及以上(某些版本需要)
# Windows依赖
– .NET Framework 4.0及以上
– Visual C++ Redistributable 2015-2019
1.4 DM数据库网络要求
网络环境对DM数据库的部署和运行也有重要影响。
1.4.1 网络带宽
- 单机部署:千兆网卡
- 集群部署:万兆网卡
- 远程复制:至少千兆带宽
1.4.2 端口要求
– 数据库服务:5236
– 监控服务:5237
– 集群服务:5238-5240
# 端口配置
– 确保端口未被占用
– 配置防火墙规则,开放必要端口
Part02-生产环境规划与建议
2.1 存储规划与磁盘布局
合理的存储规划可以提高数据库的性能和可靠性。
2.1.1 磁盘分区建议
– /boot:500MB
– /:50GB
– /swap:内存大小(最大8GB)
– /dm:剩余空间,用于DM数据库
– /dm/app:安装目录,10GB
– /dm/fgdata:数据文件,根据实际需求
– /dm/arch:归档日志,至少200GB 学习交流加群风哥QQ113257174
– /dm/backup:备份文件,至少500GB
– /dm/temp:临时文件,50GB
2.1.2 存储配置建议
- 数据文件和日志文件分离存储
- 使用SSD存储提高IO性能
- 配置适当的RAID级别确保数据安全
- 预留足够的空间用于数据增长
2.2 内存配置规划
内存配置对DM数据库的性能有重要影响。
2.2.1 内存分配建议
– 操作系统:预留20-30%内存
– 数据库缓冲池:50-60%内存
– 其他内存:10-30%内存
# 内存参数配置
– MEMORY_POOL_SIZE:内存池大小
– BUFFER:缓冲池大小
– SORT_AREA_SIZE:排序区大小
– HASH_AREA_SIZE:哈希区大小
2.2.2 大内存页配置
启用大内存页可以提高内存访问效率。
# 1. 检查大内存页支持
$ grep HugePages_Total /proc/meminfo
# 2. 计算需要的大内存页数
# 例如:需要8GB大内存页,每页2MB
# 8GB / 2MB = 4096页
# 3. 修改sysctl.conf
$ vi /etc/sysctl.conf
vm.nr_hugepages = 4096
# 4. 使配置生效 更多视频教程www.fgedu.net.cn
$ sysctl -p
2.3 CPU配置规划
CPU配置直接影响数据库的处理能力。
2.3.1 CPU核心数选择
– 小型应用:4-8核
– 中型应用:8-16核
– 大型应用:16-32核
– 超大型应用:32核以上
# CPU配置考虑因素
– 并发用户数
– 事务处理量
– 查询复杂度
– 并行处理需求
2.3.2 CPU参数调优
– 启用CPU节能模式(根据实际情况)
– 配置CPU亲和性
– 调整进程优先级
– 关闭不必要的服务
2.4 操作系统参数调优
操作系统参数调优可以提高DM数据库的性能和稳定性。
2.4.1 Linux系统参数调优
# 1. 修改sysctl.conf
$ vi /etc/sysctl.conf
# 共享内存
kernel.shmmax = 8589934592
kernel.shmall = 2097152
kernel.shmmni = 4096
# 信号量
kernel.sem = 250 32000 100 128
# 文件描述符
fs.file-max = 6815744 更多学习教程公众号风哥教程itpux_com
# 网络参数
net.core.somaxconn = 4096
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_fin_timeout = 30
# 使配置生效
$ sysctl -p
2.4.2 资源限制调优
# 修改limits.conf
$ vi /etc/security/limits.conf
# 添加以下内容
dmdba soft nproc 65536
dmdba hard nproc 65536
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft stack 10240
dmdba hard stack 32768
Part03-生产环境项目实施方案
3.1 安装前准备工作
安装前的准备工作是确保安装成功的关键。
3.1.1 环境检查
#!/bin/bash
# pre_check.sh
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: `http://www.fgedu.net.cn` from DB视频:www.itpux.com
echo “=== DM数据库安装前环境检查 ===”
# 检查操作系统版本
echo “\n1. 操作系统版本:”
cat /etc/redhat-release
# 检查系统架构
echo “\n2. 系统架构:”
uname -m
# 检查CPU信息
echo “\n3. CPU信息:”
cat /proc/cpuinfo | grep “model name” | head -1
cat /proc/cpuinfo | grep “processor” | wc -l
# 检查内存信息
echo “\n4. 内存信息:”
free -h
# 检查磁盘空间
echo “\n5. 磁盘空间:”
df -h
# 检查系统参数
echo “\n6. 系统参数:”
sysctl -a | grep kernel.shm
sysctl -a | grep kernel.sem
sysctl -a | grep fs.file-max
# 检查依赖库
echo “\n7. 依赖库检查:”
ldconfig -p | grep libaio
ldconfig -p | grep libstdc++
# 检查端口占用
echo “\n8. 端口检查:”
netstat -tuln | grep 5236
3.1.2 用户创建
# 创建组
$ groupadd dinstall
# 创建用户
$ useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
# 设置密码
$ passwd dmdba
# 验证用户
$ id dmdba
3.2 安装类型选择
根据实际需求选择合适的安装类型。
3.2.1 安装类型对比
- 图形化安装:
- 优点:操作直观,适合初学者
- 缺点:需要图形界面
- 适用场景:测试环境,初次安装
- 命令行安装:
- 优点:可自动化,无需图形界面
- 缺点:需要熟悉命令参数
- 适用场景:生产环境,批量部署
3.2.2 组件选择
– 服务器组件:必选,数据库核心服务
– 客户端工具:必选,包括disql、manager等
– 驱动程序:根据应用需求选择
– 接口开发工具:根据开发需求选择
– 示例数据库:可选,用于学习和测试
3.3 安装实施步骤
DM数据库的安装步骤需要按照一定的顺序进行。
3.3.1 图形化安装步骤
1. 挂载安装介质
2. 运行安装程序
3. 选择安装语言
4. 接受许可证协议
5. 选择安装类型
6. 选择安装目录
7. 选择组件
8. 开始安装
9. 完成安装
3.3.2 命令行安装步骤
1. 挂载安装介质
2. 解压安装包
3. 准备响应文件
4. 执行静默安装
5. 验证安装结果
3.4 安装后配置
安装完成后需要进行一系列配置。
3.4.1 环境变量配置
$ vi /home/dmdba/.bash_profile
# 添加以下内容
export DM_HOME=/dm/app
export PATH=$DM_HOME/bin:$PATH
export LD_LIBRARY_PATH=$DM_HOME/lib:$LD_LIBRARY_PATH
# 使环境变量生效
$ source /home/dmdba/.bash_profile
3.4.2 数据库实例创建
$ dminit path=/dm/fgdata db_name=fgedudb instance_name=fgedudb port_num=5236
# 注册服务
$ dmserver /dm/fgdata/fgedudb/dm.ini register
# 启动服务
$ systemctl start DmServiceFGEDUDB
# 验证服务状态
$ systemctl status DmServiceFGEDUDB
Part04-生产案例与实战讲解
4.1 环境检查实战
通过实际命令检查系统环境是否满足DM数据库的安装要求。
4.1.1 系统信息检查
[root@fgedu ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 8.5 (Ootpa)
[root@fgedu ~]# uname -a
Linux fgedu 4.18.0-348.el8.x86_64 #1 SMP Mon Oct 4 12:17:22 EDT 2021 x86_64 x86_64 x86_64 GNU/Linux
[root@fgedu ~]# nproc
16
[root@fgedu ~]# free -h
total used free shared buff/cache available
Mem: 32G 2.1G 28G 128M 1.8G 29G
[root@fgedu ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 50G 12G 38G 24% /
/dev/sdb1 1.8T 50G 1.7T 3% /dm
4.1.2 系统参数检查
[root@fgedu ~]# sysctl -a | grep kernel.shm
kernel.shmmax = 17179869184
kernel.shmall = 4194304
kernel.shmmni = 4096
[root@fgedu ~]# sysctl -a | grep kernel.sem
kernel.sem = 250 32000 100 128
[root@fgedu ~]# sysctl -a | grep fs.file-max
fs.file-max = 6815744
[root@fgedu ~]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
pending signals (-i) 32768
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 65536
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 65536
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
4.2 磁盘布局实战
合理的磁盘布局可以提高数据库性能和可靠性。
4.2.1 磁盘分区配置
[root@fgedu ~]# fdisk -l
Disk /dev/sda: 50 GiB, 53687091200 bytes, 104857600 sectors
Disk model: VMware Virtual disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x5f4d5e4c
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 1026047 1024000 500M 83 Linux
/dev/sda2 1026048 104857599 103831552 49.5G 8e Linux LVM
Disk /dev/sdb: 2 TiB, 2199023255552 bytes, 4294967296 sectors
Disk model: VMware Virtual disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 12345678-1234-1234-1234-1234567890ab
Device Start End Sectors Size Type
/dev/sdb1 2048 20971775 20969728 10G Linux filesystem
/dev/sdb2 20971776 419430399 398458624 190G Linux filesystem
/dev/sdb3 419430400 838860799 419430400 200G Linux filesystem
/dev/sdb4 838860800 1887436799 1048576000 500G Linux filesystem
/dev/sdb5 1887436800 2936012799 1048576000 500G Linux filesystem
4.2.2 挂载点配置
[root@fgedu ~]# cat /etc/fstab
# DM数据库挂载点
/dev/sdb1 /dm/app xfs defaults 0 0
/dev/sdb2 /dm/fgdata xfs defaults 0 0
/dev/sdb3 /dm/arch xfs defaults 0 0
/dev/sdb4 /dm/backup xfs defaults 0 0
/dev/sdb5 /dm/temp xfs defaults 0 0
4.3 操作系统调优实战
操作系统调优可以显著提高DM数据库的性能。
4.3.1 系统参数调优
[root@fgedu ~]# vi /etc/sysctl.conf
# 添加以下内容
# 共享内存
kernel.shmmax = 17179869184
kernel.shmall = 4194304
kernel.shmmni = 4096
# 信号量
kernel.sem = 250 32000 100 128
# 文件描述符
fs.file-max = 6815744
# 网络参数
net.core.somaxconn = 4096
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
# 内存管理
vm.swappiness = 10
vm.overcommit_memory = 0
[root@fgedu ~]# sysctl -p
4.3.2 资源限制调优
[root@fgedu ~]# vi /etc/security/limits.conf
# 添加以下内容
dmdba soft nproc 65536
dmdba hard nproc 65536
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft stack 10240
dmdba hard stack 32768
# 验证配置
[root@fgedu ~]# su – dmdba
[dmdba@fgedu ~]$ ulimit -n
65536
[dmdba@fgedu ~]$ ulimit -u
65536
Part05-风哥经验总结与分享
5.1 安装规划最佳实践
根据实际经验,总结DM数据库安装规划的最佳实践。
5.1.1 硬件规划建议
- 处理器:选择多核心、高主频的CPU
- 内存:尽可能配置充足的内存,至少16GB以上
- 存储:使用SSD存储,配置合理的RAID级别
- 网络:使用万兆网卡,确保网络带宽充足
5.1.2 软件规划建议
- 操作系统:选择稳定的Linux发行版,如RHEL 8.x
- 文件系统:使用xfs文件系统,性能更好
- 数据库版本:选择稳定的DM8版本
- 补丁:及时安装最新的补丁
5.2 常见安装问题及解决
在DM数据库安装过程中,常见的问题及解决方法。
5.2.1 权限问题
- 问题:安装时权限不足
- 解决:确保使用dmdba用户安装,检查目录权限
5.2.2 依赖问题
- 问题:缺少依赖库
- 解决:安装相应的依赖包,如libaio、libstdc++等
5.2.3 端口问题
- 问题:端口被占用
- 解决:检查端口占用情况,选择未被占用的端口
5.2.4 磁盘空间问题
- 问题:磁盘空间不足
- 解决:确保有足够的磁盘空间,合理规划分区
5.3 风哥建议与推荐
基于多年的数据库管理经验,提供一些实用的建议。
5.3.1 安装前准备
5.3.2 安装过程建议
- 使用图形化安装时,仔细阅读每一步的提示
- 使用命令行安装时,准备好响应文件
- 安装过程中注意查看日志,及时发现问题
- 安装完成后进行全面的验证
5.3.3 安装后配置
- 配置合理的内存参数
- 设置合适的归档策略
- 配置监控和备份策略
- 建立日常维护计划
5.3.4 性能优化建议
- 合理配置数据库参数
- 优化SQL语句
- 定期收集统计信息
- 监控系统性能,及时调整
本文档风哥教程参考DM官方文档《DM8安装手册》、《DM8系统管理员手册》等资料编写,。
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
