1. 首页 > 国产数据库教程 > 达梦DM教程 > 正文

DM教程FG002-达梦数据库安装规划与软硬件环境要求

内容简介:本文档风哥主要介绍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 依赖库要求

学习交流加群风哥微信: itpux-com
# 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核心数选择

# CPU核心数选择建议
– 小型应用:4-8核
– 中型应用:8-16核
– 大型应用:16-32核
– 超大型应用:32核以上
# CPU配置考虑因素
– 并发用户数
– 事务处理量
– 查询复杂度
– 并行处理需求

2.3.2 CPU参数调优

# CPU参数调优
– 启用CPU节能模式(根据实际情况)
– 配置CPU亲和性
– 调整进程优先级
– 关闭不必要的服务

2.4 操作系统参数调优

操作系统参数调优可以提高DM数据库的性能和稳定性。

2.4.1 Linux系统参数调优

# 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 用户创建

# 创建dmdba用户和组
# 创建组
$ 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 安装前准备

风哥提示:在安装DM数据库前,一定要做好充分的准备工作,包括硬件规划、软件环境准备、网络配置等。特别是生产环境,要确保所有的配置都符合最佳实践,这样才能保证数据库系统的稳定运行。

5.3.2 安装过程建议

  • 使用图形化安装时,仔细阅读每一步的提示
  • 使用命令行安装时,准备好响应文件
  • 安装过程中注意查看日志,及时发现问题
  • 安装完成后进行全面的验证

5.3.3 安装后配置

  • 配置合理的内存参数
  • 设置合适的归档策略
  • 配置监控和备份策略
  • 建立日常维护计划

5.3.4 性能优化建议

性能优化建议:

  • 合理配置数据库参数
  • 优化SQL语句
  • 定期收集统计信息
  • 监控系统性能,及时调整

本文档风哥教程参考DM官方文档《DM8安装手册》、《DM8系统管理员手册》等资料编写,。

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息