1. 首页 > 国产数据库教程 > Kingbase教程 > 正文

kingbase教程FG002-金仓数据库软硬件环境与安装规划实战解析

本文档风哥主要介绍金仓数据库(KingbaseES)安装前的软硬件环境准备和安装规划,包括硬件配置要求、操作系统配置、系统参数优化、安装目录规划等内容。风哥教程参考金仓官方文档安装指南、系统管理员手册等内容编写,适合DBA人员在学习和测试中使用,如果要应用于生产环境则需要自行确认。

Part01-基础概念与理论知识

1.1 金仓数据库安装前准备概述

金仓数据库安装前需要进行充分的准备工作,包括硬件环境检查、操作系统配置、系统参数优化等。良好的前期准备是确保数据库稳定运行的基础。

安装前准备 checklist:

  • 确认硬件配置满足最低要求
  • 选择合适的操作系统版本,更多学习教程公众号风哥教程itpux_com
  • 配置系统内核参数
  • 创建数据库专用用户
  • 规划安装目录和数据目录,from DB视频:www.itpux.com
  • 配置网络环境和防火墙
  • 准备安装介质和License

1.2 硬件环境要求详解

1.2.1 处理器要求


处理器配置要求:
架构支持:
– x86_64(Intel/AMD)
– ARM64(鲲鹏/飞腾)
– 国产芯片(龙芯/兆芯/海光)
最低配置:
– 2核及以上
– 支持64位指令集
推荐配置:
– 开发测试:4核
– 小型生产:8核
– 中型生产:16核
– 大型生产:32核及以上
CPU频率:
– 基础频率:2.0GHz及以上
– 睿频加速:支持Turbo Boost

1.2.2 内存要求


内存配置要求:
最低配置:
– 4GB RAM(仅适用于测试环境)
推荐配置:
– 开发测试:8GB-16GB
– 小型生产:32GB-64GB
– 中型生产:128GB-256GB
– 大型生产:512GB-1TB
内存分配建议:
– 数据库缓冲区:物理内存的25-40%
– 操作系统保留:至少4GB
– 应用程序预留:根据实际应用需求
– 可用内存 = 总内存 – 系统保留 – 应用预留
大页内存配置(推荐):
– 启用HugePages
– 每页大小:2MB或1GB
– 根据shared_buffers计算大页数量

1.2.3 磁盘存储要求


磁盘存储配置要求:
最低配置:
– 50GB可用空间
– SATA硬盘
推荐配置:
– 数据文件:SSD(SAS/NVMe)
– 日志文件:NVMe SSD(独立磁盘)
– 归档文件:SAS/SATA(大容量)
– 备份文件:独立存储或NAS
存储容量规划:
– 操作系统:50GB
– 数据库软件:10GB
– 数据文件:根据数据量估算(预留3年增长)
– 日志文件:100GB-500GB
– 归档文件:根据备份策略估算
– 临时文件:内存的2-3倍
RAID配置建议:
– 数据文件:RAID 10(性能+安全)
– 日志文件:RAID 1(快速写入)
– 归档文件:RAID 5(容量+安全)

1.3 软件环境要求详解

1.3.1 支持的操作系统


支持的操作系统版本:
国产操作系统(推荐用于信创项目):
– 麒麟操作系统 Kylin V10 SP2/SP3
– 统信UOS服务器版 V20(1020e/1050e)
– 欧拉 openEuler 20.03 LTS / 22.03 LTS
– 龙蜥 Anolis OS 7.x / 8.x
– 中科方德 NeoKylin V7/V8
国外操作系统:
– CentOS 7.x / 8.x / Stream
– Red Hat Enterprise Linux 7.x / 8.x / 9.x
– Oracle Linux 7.x / 8.x / 9.x
– Ubuntu Server 18.04 LTS / 20.04 LTS / 22.04 LTS
– SUSE Linux Enterprise Server 12 SP5 / 15 SP3
内核版本要求:
– 最低内核版本:3.10
– 推荐内核版本:4.18及以上

1.3.2 依赖软件包


# RHEL/CentOS/Oracle Linux 依赖包安装
yum install -y \
glibc \
libaio \
libaio-devel \
readline \
readline-devel \
zlib \
zlib-devel \
openssl \
openssl-devel \
libxml2 \
libxml2-devel \
libxslt \
libxslt-devel \
gettext \
tcl \
tk \
perl \
systemd-devel \
numactl-devel \
libicu-devel \
pam-devel \
libuuid-devel \
lz4-devel \
systemd-libs
# 验证安装
rpm -qa | grep -E “glibc|libaio|readline|zlib|openssl”

1.3.3 系统内核参数


# 编辑 /etc/sysctl.conf 文件,添加或修改以下参数
# 共享内存参数
kernel.shmmax = 68719476736
kernel.shmall = 16777216
kernel.shmmni = 4096
# 信号量参数
kernel.sem = 250 32000 100 128
# 文件句柄参数
fs.file-max = 6815744
fs.aio-max-nr = 1048576
# 网络参数
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 4194304
net.ipv4.tcp_rmem = 4096 87380 4194304
net.ipv4.tcp_wmem = 4096 16384 4194304
# 内存参数
vm.swappiness = 10
vm.dirty_ratio = 40
vm.dirty_background_ratio = 10
vm.overcommit_memory = 2
vm.overcommit_ratio = 90
# 应用配置
sysctl -p
# 验证配置
sysctl -a | grep -E “shmmax|shmall|file-max|swappiness”

1.4 安装规划要点

1.4.1 目录结构规划


金仓数据库目录结构规划:
/kingbase/ # 根目录
├── app/ # 安装目录
│ ├── KingbaseES/ # 数据库软件
│ │ ├── bin/ # 可执行文件
│ │ ├── lib/ # 库文件
│ │ ├── share/ # 共享文件
│ │ └── data/ # 默认数据目录(可选)
│ └── archive/ # 归档日志目录
├── fgdata/ # 数据目录(建议独立挂载)
│ ├── base/ # 数据库文件
│ ├── global/ # 全局数据
│ ├── pg_wal/ # WAL日志
│ ├── pg_stat/ # 统计信息
│ └── log/ # 运行日志
├── fgbak/ # 备份目录(建议独立挂载)
│ ├── full/ # 全量备份
│ ├── incr/ # 增量备份
│ └── archive/ # 归档备份
└── fglog/ # 日志目录
├── audit/ # 审计日志
└── error/ # 错误日志
权限规划:
– 安装目录:kingbase:kingbase 755
– 数据目录:kingbase:kingbase 700
– 备份目录:kingbase:kingbase 755

1.4.2 网络端口规划


默认端口配置:
数据库服务端口:
– 默认端口:54321
– 可配置范围:1024-65535
– 建议生产环境使用非默认端口
集群相关端口:
– 主备复制端口:54322(默认)
– 集群管理端口:54323(默认)
– 监控端口:54324(默认)
防火墙配置:
# 开放数据库端口
firewall-cmd –permanent –add-port=54321/tcp
firewall-cmd –permanent –add-port=54322/tcp
firewall-cmd –reload
# 或者限制特定IP访问
firewall-cmd –permanent –add-rich-rule=’rule family=”ipv4″ source address=”192.168.1.0/24″ port
protocol=”tcp” port=”54321″ accept’
firewall-cmd –reload

Part02-生产环境规划与建议

2.1 CPU与内存配置建议

2.1.1 CPU配置优化


CPU配置优化建议:
CPU亲和性配置:
# 编辑 /etc/default/grub
GRUB_CMDLINE_LINUX=”isolcpus=2-7 intel_pstate=disable”
# 更新grub
grub2-mkconfig -o /boot/grub2/grub.cfg
# 重启后验证
cat /proc/cmdline
CPU频率调节:
# 安装cpufrequtils
yum install -y cpufrequtils
# 设置为性能模式
cpufreq-set -g performance
# 或者通过sysfs设置
for cpu in /sys/devices/system/cpu/cpu[0-9]*; do
echo performance > $cpu/cpufreq/scaling_governor
done
NUMA配置:
# 查看NUMA拓扑
numactl –hardware
# 建议关闭NUMA(数据库服务器)
# 编辑 /etc/default/grub
GRUB_CMDLINE_LINUX=”numa=off”

2.1.2 内存配置优化


内存配置优化建议:
透明大页配置:
# 临时关闭
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
# 永久关闭
# 编辑 /etc/default/grub
GRUB_CMDLINE_LINUX=”transparent_hugepage=never”
# 更新grub并重启
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot
# 验证
cat /sys/kernel/mm/transparent_hugepage/enabled
# 应显示:always madvise [never]
HugePages配置:
# 计算所需大页数量(假设shared_buffers=32GB,大页大小2MB)
# 32GB = 32768MB
# 32768 / 2 = 16384 个大页
# 编辑 /etc/sysctl.conf
vm.nr_hugepages = 16384
vm.hugetlb_shm_group = 1001 # kingbase用户组ID
# 应用配置
sysctl -p
# 验证
grep HugePages /proc/meminfo

2.2 存储与网络规划

2.2.1 存储规划


存储规划建议:
磁盘分区方案:
# 使用LVM进行灵活管理
# 1. 创建物理卷
pvcreate /dev/sdb /dev/sdc /dev/sdd /dev/sde
# 2. 创建卷组
vgcreate vg_kingbase /dev/sdb /dev/sdc /dev/sdd /dev/sde
# 3. 创建逻辑卷
# 数据卷
lvcreate -L 500G -n lv_data vg_kingbase
# WAL日志卷(高性能SSD)
lvcreate -L 100G -n lv_wal vg_kingbase
# 归档卷
lvcreate -L 1T -n lv_archive vg_kingbase
# 备份卷
lvcreate -L 2T -n lv_backup vg_kingbase
# 4. 格式化
mkfs.xfs /dev/vg_kingbase/lv_data
mkfs.xfs /dev/vg_kingbase/lv_wal
mkfs.xfs /dev/vg_kingbase/lv_archive
mkfs.xfs /dev/vg_kingbase/lv_backup
# 5. 挂载
mkdir -p /kingbase/fgdata /kingbase/fgwal /kingbase/fgarchive /kingbase/fgbak
# 编辑 /etc/fstab
/dev/vg_kingbase/lv_data /kingbase/fgdata xfs defaults,noatime,nodiratime 0 0
/dev/vg_kingbase/lv_wal /kingbase/fgwal xfs defaults,noatime,nodiratime 0 0
/dev/vg_kingbase/lv_archive /kingbase/fgarchive xfs defaults,noatime,nodiratime 0 0
/dev/vg_kingbase/lv_backup /kingbase/fgbak xfs defaults,noatime,nodiratime 0 0
mount -a

2.2.2 文件系统优化


XFS文件系统优化:
挂载参数优化:
# 编辑 /etc/fstab
# 数据目录
/dev/sdb1 /kingbase/fgdata xfs defaults,noatime,nodiratime,nobarrier,logbufs=8,logbsize=256k,allocsize=64m 0
0
# WAL日志目录(更高性能)
/dev/sdc1 /kingbase/fgwal xfs
defaults,noatime,nodiratime,nobarrier,logbufs=8,logbsize=256k,sunit=512,swidth=4096 0 0
参数说明:
– noatime:不更新访问时间,减少IO
– nodiratime:不更新目录访问时间
– nobarrier:禁用写屏障(配合BBU使用)
– logbufs/logbsize:日志缓冲区配置
– allocsize:预分配大小
– sunit/swidth:条带单元和宽度(RAID优化)
IO调度器优化:
# 查看当前调度器
cat /sys/block/sdb/queue/scheduler
# 设置为deadline(SSD推荐)
echo deadline > /sys/block/sdb/queue/scheduler
# 永久设置
# 编辑 /etc/udev/rules.d/99-kingbase-disk.rules
ACTION==”add|change”, KERNEL==”sd[a-z]”, ATTR{queue/scheduler}=”deadline”

2.2.3 网络规划


网络规划建议:
网络拓扑:
┌─────────────────────────────────────────────────────────────┐
│ 业务网络 │
│ 192.168.1.0/24 │
│ │ │
│ ┌──────────┴──────────┐ │
│ │ 负载均衡器 │ │
│ │ (LVS/HAProxy) │ │
│ └──────────┬──────────┘ │
│ │ │
│ ┌────────────────┼────────────────┐ │
│ │ │ │ │
│ ┌────┴────┐ ┌────┴────┐ ┌────┴────┐ │
│ │ 主节点 │◄───►│ 备节点1 │◄───►│ 备节点2 │ │
│ └────┬────┘ └─────────┘ └─────────┘ │
│ │ │
│ │ 心跳网络 │
│ │ 10.0.0.0/24 │
│ │ │
│ ┌────┴────┐ │
│ │ 存储网络 │ │
│ │ 172.16.0.0/24 │
│ └─────────┘ │
└─────────────────────────────────────────────────────────────┘
网卡绑定配置(Bonding):
# 创建bond0接口
nmcli connection add type bond ifname bond0 mode 4
# 添加从属接口
nmcli connection add type ethernet ifname eth0 master bond0
nmcli connection add type ethernet ifname eth1 master bond0
# 配置IP
nmcli connection modify bond0 ipv4.addresses 192.168.1.10/24
nmcli connection modify bond0 ipv4.gateway 192.168.1.1
nmcli connection modify bond0 ipv4.dns 192.168.1.1
nmcli connection modify bond0 ipv4.method manual
# 激活连接
nmcli connection up bond0
网络参数优化:
# 编辑 /etc/sysctl.conf
# TCP连接优化
net.ipv4.tcp_max_syn_backlog = 8192
net.core.netdev_max_backlog = 65536
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_max_tw_buckets = 5000
sysctl -p

2.3 操作系统选型与配置

2.3.1 国产操作系统配置(麒麟V10)


麒麟操作系统 V10 SP3 配置:
系统安装选择:
– 版本:Kylin Linux Advanced Server V10 SP3
– 架构:x86_64 或 ARM64
– 安装类型:服务器版(最小化安装)
基础配置:
# 1. 配置主机名
hostnamectl set-hostname fgedu.net.cn
# 2. 配置网络
nmcli connection modify eth0 ipv4.addresses 192.168.1.10/24
nmcli connection modify eth0 ipv4.gateway 192.168.1.1
nmcli connection modify eth0 ipv4.dns “192.168.1.1 114.114.114.114”
nmcli connection modify eth0 ipv4.method manual
nmcli connection up eth0
# 3. 配置时区
timedatectl set-timezone Asia/Shanghai
# 4. 配置NTP
yum install -y chrony
systemctl enable chronyd –now
# 5. 关闭SELinux
setenforce 0
sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config
# 6. 关闭防火墙(或开放数据库端口)
systemctl stop firewalld
systemctl disable firewalld
# 7. 配置yum源(使用本地源或官方源)
cat > /etc/yum.repos.d/kylin.repo << 'EOF' [ks10-adv-os] name=Kylin Linux Advanced Server 10 - Os
baseurl=http://archive2.kylinos.cn/rpm/kylin/production/KY-KYLIN-GENERIC/10-SP3/ gpgcheck=0 enabled=1
EOF yum clean all yum makecache

2.3.2 资源限制配置


系统资源限制配置:
# 编辑 /etc/security/limits.conf
# 金仓数据库用户资源限制
kingbase soft nproc 65536
kingbase hard nproc 65536
kingbase soft nofile 65536
kingbase hard nofile 65536
kingbase soft stack 10240
kingbase hard stack 10240
kingbase soft memlock unlimited
kingbase hard memlock unlimited
kingbase soft core unlimited
kingbase hard core unlimited
# 系统全局配置
* soft nproc 65536
* hard nproc 65536
* soft nofile 65536
* hard nofile 65536
# 编辑 /etc/systemd/logind.conf
# 设置用户最大进程数
UserTasksMax=65536
# 编辑 /etc/profile.d/kingbase.sh
# 添加环境变量配置
cat > /etc/profile.d/kingbase.sh << 'EOF' # KingbaseES Environment export
KINGBASE_HOME=/kingbase/app/KingbaseES export PATH=$KINGBASE_HOME/bin:$PATH export
LD_LIBRARY_PATH=$KINGBASE_HOME/lib:$LD_LIBRARY_PATH export
MANPATH=$KINGBASE_HOME/share/man:$MANPATH EOF chmod 644 /etc/profile.d/kingbase.sh

Part03-生产环境项目实施方案

3.1 系统参数配置实战

3.1.1 内核参数配置脚本


#!/bin/bash
# kingbase_sysctl.sh
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn
# 金仓数据库系统参数配置脚本
echo “开始配置金仓数据库系统参数…”
# 备份原有配置
cp /etc/sysctl.conf /etc/sysctl.conf.bak.$(date +%Y%m%d_%H%M%S)
# 创建优化配置
cat >> /etc/sysctl.conf << 'EOF' # KingbaseES Kernel Parameters # 共享内存参数
kernel.shmmax=68719476736 kernel.shmall=16777216 kernel.shmmni=4096 # 信号量参数
kernel.sem=250 32000 100 128 # 文件句柄参数 fs.file-max=6815744 fs.aio-max-nr=1048576 # 网络参数
net.ipv4.ip_local_port_range=9000 65500 net.core.rmem_default=262144
net.core.rmem_max=4194304 net.core.wmem_default=262144 net.core.wmem_max=4194304
net.ipv4.tcp_rmem=4096 87380 4194304 net.ipv4.tcp_wmem=4096 16384 4194304
net.ipv4.tcp_max_syn_backlog=8192 net.core.netdev_max_backlog=65536
net.ipv4.tcp_tw_reuse=1 net.ipv4.tcp_fin_timeout=30 # 内存参数 vm.swappiness=10
vm.dirty_ratio=40 vm.dirty_background_ratio=10 vm.overcommit_memory=2
vm.overcommit_ratio=90 EOF # 应用配置 sysctl -p echo “系统参数配置完成!” echo “” echo “验证配置:” sysctl
-a | grep -E “shmmax|shmall|file-max|swappiness” | head -10

3.1.2 执行配置脚本


# 创建脚本文件
cat > /root/kingbase_sysctl.sh << 'EOF' #!/bin/bash # kingbase_sysctl.sh #
from:www.itpux.com.qq113257174.wx:itpux-com # web: http://www.fgedu.net.cn #
金仓数据库系统参数配置脚本 echo “开始配置金仓数据库系统参数…” # 备份原有配置 cp /etc/sysctl.conf
/etc/sysctl.conf.bak.$(date +%Y%m%d_%H%M%S) # 创建优化配置 cat>> /etc/sysctl.conf
<< 'SYSCTL_EOF' # KingbaseES Kernel Parameters kernel.shmmax=68719476736
kernel.shmall=16777216 kernel.shmmni=4096 kernel.sem=250 32000 100 128
fs.file-max=6815744 fs.aio-max-nr=1048576 net.ipv4.ip_local_port_range=9000
65500 net.core.rmem_default=262144 net.core.rmem_max=4194304
net.core.wmem_default=262144 net.core.wmem_max=4194304 vm.swappiness=10
vm.dirty_ratio=40 vm.dirty_background_ratio=10 vm.overcommit_memory=2
vm.overcommit_ratio=90 SYSCTL_EOF # 应用配置 sysctl -p echo “系统参数配置完成!” EOF #
赋予执行权限 chmod +x /root/kingbase_sysctl.sh # 执行脚本 sh /root/kingbase_sysctl.sh
# 输出结果 开始配置金仓数据库系统参数… 系统参数配置完成! 验证配置: kernel.shmmax=68719476736
kernel.shmall=16777216 kernel.shmmni=4096 fs.file-max=6815744
vm.swappiness=10

3.2 用户与权限配置

3.2.1 创建数据库用户


# 创建kingbase用户组和用户
# 创建用户组
groupadd -g 1001 kingbase
# 创建用户
useradd -u 1001 -g kingbase -m -d /home/kingbase -s /bin/bash kingbase
# 设置密码
echo “kingbase:Kingbase@123” | chpasswd
# 验证用户创建
id kingbase
# 输出
uid=1001(kingbase) gid=1001(kingbase) groups=1001(kingbase)
# 配置sudo权限(可选)
cat > /etc/sudoers.d/kingbase << 'EOF' kingbase ALL=(ALL) NOPASSWD:
/bin/systemctl * kingbase*, /bin/su – kingbase EOF chmod 440
/etc/sudoers.d/kingbase # 验证sudo配置 su – kingbase -c “sudo -l”

3.2.2 创建目录结构


#!/bin/bash
# create_kingbase_dirs.sh
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn
# 创建金仓数据库目录结构
echo “创建金仓数据库目录结构…”
# 创建目录
mkdir -p /kingbase/app
mkdir -p /kingbase/fgdata
mkdir -p /kingbase/fgwal
mkdir -p /kingbase/fgarchive
mkdir -p /kingbase/fgbak/full
mkdir -p /kingbase/fgbak/incr
mkdir -p /kingbase/fglog/audit
mkdir -p /kingbase/fglog/error
mkdir -p /kingbase/scripts
mkdir -p /kingbase/backup
# 设置权限
chown -R kingbase:kingbase /kingbase
chmod -R 755 /kingbase
chmod 700 /kingbase/fgdata
chmod 700 /kingbase/fgwal
chmod 750 /kingbase/fgarchive
chmod 750 /kingbase/fgbak
echo “目录结构创建完成!”
echo “”
echo “目录结构:”
tree -L 2 /kingbase
# 输出
目录结构:
/kingbase
├── app
├── fgbak
│ ├── full
│ └── incr
├── fgarchive
├── fgdata
├── fglog
│ ├── audit
│ └── error
├── fgwal
├── scripts
└── backup
9 directories, 0 files

3.3 安装目录规划

3.3.1 安装目录权限配置


# 安装目录权限配置
# 1. 软件安装目录
mkdir -p /kingbase/app
chown kingbase:kingbase /kingbase/app
chmod 755 /kingbase/app
# 2. 数据目录(独立磁盘挂载)
mkdir -p /kingbase/fgdata
chown kingbase:kingbase /kingbase/fgdata
chmod 700 /kingbase/fgdata
# 3. WAL日志目录(高性能存储)
mkdir -p /kingbase/fgwal
chown kingbase:kingbase /kingbase/fgwal
chmod 700 /kingbase/fgwal
# 4. 归档日志目录
mkdir -p /kingbase/fgarchive
chown kingbase:kingbase /kingbase/fgarchive
chmod 750 /kingbase/fgarchive
# 5. 备份目录
mkdir -p /kingbase/fgbak
chown kingbase:kingbase /kingbase/fgbak
chmod 750 /kingbase/fgbak
# 6. 日志目录
mkdir -p /kingbase/fglog
chown kingbase:kingbase /kingbase/fglog
chmod 755 /kingbase/fglog
# 验证权限
ls -ld /kingbase/*/
# 输出
drwxr-xr-x 2 kingbase kingbase 4096 Apr 9 10:00 /kingbase/app/
drwxr-x— 2 kingbase kingbase 4096 Apr 9 10:00
/kingbase/fgarchive/
drwx—— 2 kingbase kingbase 4096 Apr 9 10:00 /kingbase/fgbak/
drwx—— 2 kingbase kingbase 4096 Apr 9 10:00
/kingbase/fgdata/
drwxr-xr-x 2 kingbase kingbase 4096 Apr 9 10:00 /kingbase/fglog/
drwx—— 2 kingbase kingbase 4096 Apr 9 10:00 /kingbase/fgwal/

Part04-生产案例与实战讲解

4.1 小型系统安装规划案例

4.1.1 案例背景

某中小企业ERP系统数据库,用户数约100人,日交易量约1万笔。


案例概况:
业务类型:中小企业ERP系统
用户规模:100人
数据规模:
– 当前数据量:50GB
– 日增量:500MB
– 年增长率:30%
性能要求:
– 并发连接:50
– 响应时间:<500ms - 可用性:99.9% 预算限制: - 硬件预算:10万元以内 - 软件许可:标准版

4.1.2 硬件配置方案


硬件配置方案:
服务器配置:
– 型号:Dell PowerEdge R740 或华为2288H V5
– CPU:Intel Xeon Silver 4214R 2.4GHz 12核 x 1
– 内存:64GB DDR4 ECC
– 系统盘:2 x 480GB SSD RAID 1
– 数据盘:4 x 960GB SSD RAID 10
– 网卡:2 x 千兆网卡(绑定)
– 电源:双电源冗余
存储规划:
– 系统分区:200GB
– 数据库软件:50GB
– 数据文件:1.5TB
– 日志文件:200GB
– 备份空间:2TB(外接存储)
网络配置:
– 业务IP:192.168.1.10/24
– 网关:192.168.1.1
– DNS:192.168.1.1, 8.8.8.8

4.1.3 系统配置实战


# 操作系统:CentOS 7.9
# 1. 系统安装
# 选择最小化安装
# 分区方案:
# /boot 1GB
# / 100GB
# /var 50GB
# /tmp 20GB
# /swap 8GB
# 2. 基础配置
hostnamectl set-hostname fgedu-erp-db01
# 3. 配置网络
nmcli connection modify eth0 ipv4.addresses
192.168.1.10/24
nmcli connection modify eth0 ipv4.gateway 192.168.1.1
nmcli connection modify eth0 ipv4.dns “192.168.1.1
8.8.8.8″
nmcli connection modify eth0 ipv4.method manual
nmcli connection up eth0
# 4. 关闭不必要的服务
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g’
/etc/selinux/config
# 5. 配置系统参数
# 参考 Part03 的系统参数配置
# 6. 创建用户和目录
useradd -m -U kingbase
echo “kingbase:Kingbase@123” | chpasswd
mkdir -p
/kingbase/{app,fgdata,fgwal,fgarchive,fgbak,fglog}
chown -R kingbase:kingbase /kingbase
chmod 700 /kingbase/fgdata /kingbase/fgwal
chmod 750 /kingbase/fgarchive /kingbase/fgbak
# 7. 验证配置
su – kingbase -c “id”
ls -ld /kingbase/*

4.2 中型系统安装规划案例

4.2.1 案例背景

某省级政务系统数据库,支撑50个部门业务,并发用户约2000人。


案例概况:
业务类型:省级政务云平台数据库
覆盖范围:50个省级部门
用户规模:2000并发用户
数据规模:
– 当前数据量:2TB
– 日增量:10GB
– 年增长率:50%
性能要求:
– 并发连接:1000
– 响应时间:<200ms - 可用性:99.95% - TPS:2000+ 合规要求: - 等保三级 -
信创环境 – 国密算法

4.2.2 硬件配置方案


硬件配置方案:
主库服务器(2台):
– 型号:华为TaiShan 200 或 浪潮NF5280M6
– CPU:鲲鹏920 2.6GHz 48核 或 Intel Xeon Gold 6248R
– 内存:256GB DDR4 ECC
– 系统盘:2 x 960GB NVMe SSD RAID 1
– 数据盘:8 x 3.84TB NVMe SSD RAID 10
– 网卡:2 x 万兆网卡(绑定)+ 2 x 千兆网卡
– HBA卡:双口16Gb FC
– 电源:双电源冗余
存储配置:
– 全闪存阵列:华为OceanStor Dorado 3000 V6
– 容量:50TB可用
– 协议:FC
网络配置:
– 业务网络:万兆以太网
– 心跳网络:千兆以太网(独立)
– 存储网络:16Gb FC
备份存储:
– 类型:NAS或对象存储
– 容量:100TB

4.2.3 高可用架构


高可用架构设计:
┌──────────────┐
│ 负载均衡器 │
│ (LVS+Keepalived) │
└──────┬───────┘

┌───────────────┴───────────────┐
│ │
┌──────┴──────┐ ┌──────┴──────┐
│ 主库 │◄────同步复制────►│ 备库 │
│ Primary │ │ Standby │
│ 192.168.1.10│ │ 192.168.1.11│
└──────┬──────┘ └─────────────┘

│ 异步复制

┌──────────────┐
│ 异地灾备 │
│ 备库 │
│ 10.0.2.10 │
└──────────────┘
架构特点:
– 同城双活:主备同步复制,RPO=0
– 异地灾备:异步复制,RPO<5分钟 - 自动切换:KHA集群管理,RTO<60秒 -
读写分离:备库可承担读操作

4.3 大型系统安装规划案例

4.3.1 案例背景

某国有大型银行核心系统数据库,支撑全国业务,日交易量过亿。


案例概况:
业务类型:银行核心账务系统
业务范围:全国
用户规模:1亿+用户
数据规模:
– 当前数据量:100TB
– 日增量:500GB
– 历史数据:PB级
性能要求:
– 并发连接:10000+
– 峰值TPS:50000+
– 响应时间:<50ms - 可用性:99.999% - RPO=0,
RTO<30秒 合规要求: - 等保四级 - 信创环境 - 两地三中心

4.3.2 分布式架构方案


分布式集群架构:

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

联系我们

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

微信号:itpux-com

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