1. 首页 > GBase教程 > 正文

GBase教程FG027-GBase硬件知识与操作系统

本文档详细介绍GBase数据库的硬件知识与操作系统要求,包括服务器硬件配置、存储系统、网络环境、操作系统选择与配置等内容。风哥教程参考GBase官方文档GBase硬件要求、GBase操作系统配置指南等。

通过本文档,您将了解GBase数据库的硬件需求和操作系统配置要点,为GBase数据库的部署和运行提供基础支持。

本文档适用于数据库管理员、系统工程师和IT运维人员,帮助您为GBase数据库搭建合适的硬件和操作系统环境。

目录大纲

Part01-基础概念与理论知识

1.1 硬件基础知识

硬件基础知识:

  • 服务器
    • CPU:中央处理器,负责执行计算任务,影响数据库的处理能力
    • 内存:存储数据和程序,影响数据库的缓存能力和性能
    • 存储:存储数据,影响数据库的读写速度和可靠性
    • 网络:连接服务器,影响数据库的通信速度和稳定性
  • 存储系统
    • 本地存储:服务器内置的硬盘,如SAS、SSD等
    • 存储阵列:独立的存储设备,如SAN、NAS等
    • 云存储:基于云服务的存储,如对象存储、块存储等
  • 网络设备
    • 交换机:连接服务器和网络,影响网络速度和稳定性
    • 路由器:连接不同网络,影响网络通信能力
    • 防火墙:保护网络安全,影响网络访问控制
  • 硬件性能指标
    • CPU性能:主频、核心数、缓存大小等
    • 内存性能:容量、带宽、延迟等
    • 存储性能:读写速度、IOPS、延迟等
    • 网络性能:带宽、延迟、丢包率等
  • 风哥提示:

1.2 操作系统基础知识

操作系统基础知识:

  • 操作系统类型
    • Linux:开源操作系统,如Red Hat Enterprise Linux、CentOS、Oracle Linux等
    • Windows:微软开发的操作系统,如Windows Server等
    • Unix:传统的服务器操作系统,如AIX、HP-UX、Solaris等
    • 国产操作系统:如麒麟操作系统、欧拉操作系统等
  • 操作系统核心组件
    • 内核:操作系统的核心,负责管理硬件资源和系统调用
    • 文件系统:管理文件和目录,如ext4、xfs、NTFS等
    • 进程管理:管理系统进程,如进程调度、进程通信等
    • 内存管理:管理系统内存,如内存分配、虚拟内存等
    • 网络管理:管理网络连接,如网络协议、网络接口等
  • 操作系统性能指标
    • CPU使用率:反映CPU的繁忙程度
    • 内存使用率:反映内存的使用情况
    • 磁盘I/O:反映磁盘的读写性能
    • 网络吞吐量:反映网络的传输能力

    学习交流加群风哥微信: itpux-com

  • 操作系统配置
    • 内核参数:如内存管理、网络配置、文件系统等参数
    • 系统服务:如SSH、NTP、防火墙等服务
    • 用户和权限:用户账户和权限管理
    • 安全配置:如密码策略、防火墙规则等

1.3 GBase数据库对硬件和操作系统的要求

GBase数据库对硬件和操作系统的要求:

  • GBase 8a MPP Cluster
    • 硬件要求
      • CPU:至少8核,推荐16核或更多
      • 内存:至少32GB,推荐64GB或更多
      • 存储:至少500GB,推荐1TB或更多,使用SSD或高速SAS硬盘
      • 网络:至少10Gbps,推荐25Gbps或更高
    • 操作系统要求
      • Red Hat Enterprise Linux 7.x/8.x/9.x
      • CentOS 7.x/8.x
      • Oracle Linux 7.x/8.x/9.x
      • 麒麟操作系统 v10 SP3
      • 欧拉操作系统 20.03 LTS
  • GBase 8s
    • 硬件要求
      • CPU:至少4核,推荐8核或更多
      • 学习交流加群风哥QQ113257174

      • 内存:至少16GB,推荐32GB或更多
      • 存储:至少200GB,推荐500GB或更多,使用SSD或高速SAS硬盘
      • 网络:至少1Gbps,推荐10Gbps或更高
    • 操作系统要求
      • Red Hat Enterprise Linux 7.x/8.x/9.x
      • CentOS 7.x/8.x
      • Oracle Linux 7.x/8.x/9.x
      • 麒麟操作系统 v10 SP3
      • 欧拉操作系统 20.03 LTS
  • GBase 8c
    • 硬件要求
      • CPU:至少8核,推荐16核或更多
      • 内存:至少32GB,推荐64GB或更多
      • 存储:至少500GB,推荐1TB或更多,使用SSD或高速SAS硬盘
      • 网络:至少10Gbps,推荐25Gbps或更高
    • 操作系统要求
      • Red Hat Enterprise Linux 7.x/8.x/9.x
      • CentOS 7.x/8.x
      • Oracle Linux 7.x/8.x/9.x
      • 麒麟操作系统 v10 SP3
      • 欧拉操作系统 20.03 LTS

风哥提示:GBase数据库的性能和稳定性与硬件和操作系统密切相关。选择合适的硬件配置和操作系统版本,是确保GBase数据库正常运行和性能优化的基础。

更多视频教程www.fgedu.net.cn

Part02-生产环境规划与建议

2.1 硬件规划

硬件规划建议:

  • 服务器选择
    • 类型:根据业务需求选择合适的服务器类型,如机架式、刀片式或塔式服务器
    • 配置:根据数据库类型和数据量选择合适的CPU、内存和存储配置
    • 冗余:配置冗余电源、风扇和网络接口,提高系统可靠性
    • 扩展性:考虑未来业务增长,选择具有良好扩展性的服务器
  • 存储规划
    • 存储类型:根据性能需求选择合适的存储类型,如SSD、SAS或NL-SAS
    • 存储容量:根据数据量和增长预期,规划足够的存储容量
    • 存储架构:选择合适的存储架构,如直连存储(DAS)、存储区域网络(SAN)或网络附加存储(NAS)
    • RAID配置:配置合适的RAID级别,如RAID 10,提高存储性能和可靠性
  • 网络规划
    • 网络架构:设计合理的网络架构,如核心-汇聚-接入三层架构
    • 网络带宽:根据数据传输需求,选择合适的网络带宽,如10Gbps或25Gbps
    • 网络设备:选择高性能、高可靠性的网络设备,如交换机和路由器
    • 网络冗余:配置网络冗余,如双链路、双交换机等,提高网络可靠性
  • 硬件监控
    • 监控工具:部署硬件监控工具,如IPMI、iDRAC或ILO
    • 监控指标:监控CPU、内存、存储、网络等硬件指标
    • 告警机制:配置硬件告警机制,及时发现和处理硬件问题

更多学习教程公众号风哥教程itpux_com

2.2 操作系统规划

操作系统规划建议:

  • 操作系统选择
    • 版本选择:选择GBase数据库支持的操作系统版本,如Red Hat Enterprise Linux 8.x或9.x
    • 发行版选择:根据企业需求和技术支持情况,选择合适的发行版
    • 国产操作系统:考虑使用国产操作系统,如麒麟操作系统或欧拉操作系统
  • 操作系统配置
    • 内核参数:优化内核参数,如内存管理、网络配置、文件系统等
    • 系统服务:关闭不必要的系统服务,减少系统开销
    • 安全配置:配置防火墙、SELinux等安全措施,提高系统安全性
    • 时区和时间同步:配置时区和NTP时间同步,确保系统时间准确
  • 文件系统规划
    • 分区方案:合理规划磁盘分区,如根分区、数据分区、日志分区等
    • 文件系统类型:选择合适的文件系统类型,如xfs或ext4
    • 挂载选项:配置合适的挂载选项,如noatime、nodiratime等
  • 操作系统监控
    • 监控工具:部署系统监控工具,如Nagios、Zabbix或Prometheus
    • 监控指标:监控CPU、内存、磁盘、网络等系统指标
    • from DB视频:www.itpux.com

    • 告警机制:配置系统告警机制,及时发现和处理系统问题

2.3 网络规划

网络规划建议:

  • 网络架构设计
    • 拓扑结构:设计合理的网络拓扑结构,如星型、树形或环形
    • 网络分段:将网络分为不同的网段,如业务网段、管理网段和存储网段
    • VLAN规划:配置VLAN,隔离不同类型的流量
  • 网络设备配置
    • 交换机配置:配置交换机的端口、VLAN、QoS等
    • 路由器配置:配置路由器的路由表、ACL等
    • 防火墙配置:配置防火墙规则,控制网络访问
  • 网络性能优化
    • 带宽规划:根据流量需求,规划足够的网络带宽
    • QoS配置:配置QoS,优先保障关键业务流量
    • 网络调优:优化网络参数,如MTU、TCP参数等
  • 网络安全
    • 访问控制:配置网络访问控制列表(ACL),限制网络访问
    • 加密传输:使用加密协议,如SSL/TLS,保护网络传输
    • 入侵检测:部署入侵检测系统(IDS),监控网络安全

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

3.1 硬件配置实施

硬件配置实施步骤:

# 硬件配置实施
## 1. 服务器硬件配置
– 服务器选型:
– 根据GBase数据库类型和业务需求选择服务器
– 确认服务器的CPU、内存、存储和网络配置
– 检查服务器的冗余配置,如电源、风扇等

– 服务器安装:
– 物理安装服务器到机柜
– 连接电源、网络和存储 cables
– 启动服务器,进行基本配置

– 服务器初始化:
– 配置服务器BIOS/UEFI
– 配置RAID阵列
– 安装操作系统

## 2. 存储配置
– 存储设备安装:
– 物理安装存储设备到机柜
– 连接电源和网络 cables
– 启动存储设备,进行基本配置

– 存储配置:
– 创建存储池或卷组
– 创建逻辑卷或LUN
– 配置RAID级别
– 配置存储访问控制

– 存储连接:
– 连接服务器到存储设备
– 配置存储多路径
– 测试存储连接和性能

## 3. 网络配置
– 网络设备安装:
– 物理安装网络设备到机柜
– 连接电源和网络 cables
– 启动网络设备,进行基本配置

– 网络设备配置:
– 配置交换机端口和VLAN
– 配置路由器路由表和ACL
– 配置防火墙规则

– 网络连接:
– 连接服务器到网络设备
– 配置服务器网络参数
– 测试网络连接和性能

## 4. 硬件测试
– 服务器测试:
– 测试服务器硬件状态
– 测试服务器性能
– 测试服务器冗余功能

– 存储测试:
– 测试存储连接状态
– 测试存储性能
– 测试存储冗余功能

– 网络测试:
– 测试网络连接状态
– 测试网络性能
– 测试网络冗余功能

## 5. 硬件监控部署
– 监控工具安装:
– 安装硬件监控工具,如IPMI、iDRAC或ILO
– 配置监控工具的访问权限

– 监控配置:
– 配置监控指标和阈值
– 配置告警机制
– 测试监控功能

– 监控验证:
– 验证监控数据的准确性
– 验证告警机制的有效性
– 验证监控系统的可靠性

3.2 操作系统配置实施

操作系统配置实施步骤:

# 操作系统配置实施
## 1. 操作系统安装
– 安装前准备:
– 下载操作系统安装镜像
– 准备安装介质,如USB或DVD
– 规划磁盘分区方案

– 操作系统安装:
– 启动服务器从安装介质
– 按照安装向导进行安装
– 配置分区、网络和用户信息
– 完成安装并重启服务器

– 安装后配置:
– 安装必要的系统补丁
– 安装必要的系统工具和软件
– 配置系统服务和开机启动项

## 2. 内核参数配置
– 查看当前内核参数:
– 使用sysctl命令查看当前内核参数
– 分析需要调整的参数

– 调整内核参数:
– 编辑/etc/sysctl.conf文件
– 添加或修改内核参数
– 应用内核参数更改

– 验证内核参数:
– 使用sysctl命令验证内核参数是否生效
– 测试系统性能和稳定性

## 3. 文件系统配置
– 磁盘分区:
– 使用fdisk或parted命令创建磁盘分区
– 格式化分区为合适的文件系统
– 挂载分区到指定目录

– 文件系统优化:
– 配置文件系统挂载选项
– 调整文件系统参数
– 测试文件系统性能

– 磁盘配额配置:
– 启用磁盘配额
– 配置用户和组的磁盘配额
– 测试磁盘配额功能

## 4. 系统服务配置
– 服务管理:
– 查看系统服务状态
– 启用必要的系统服务
– 禁用不必要的系统服务

– 服务优化:
– 配置服务参数
– 调整服务启动顺序
– 测试服务性能和可靠性

## 5. 安全配置
– 防火墙配置:
– 启用防火墙
– 配置防火墙规则
– 测试防火墙功能

– SELinux配置:
– 配置SELinux模式
– 调整SELinux策略
– 测试SELinux功能

– 用户和权限配置:
– 创建和管理用户账户
– 配置用户权限和组
– 测试用户和权限设置

## 6. 时间同步配置
– NTP配置:
– 安装NTP服务
– 配置NTP服务器
– 启动和启用NTP服务

– 时间同步验证:
– 检查系统时间
– 验证时间同步状态
– 测试时间同步准确性

## 7. 操作系统监控部署
– 监控工具安装:
– 安装系统监控工具,如Nagios、Zabbix或Prometheus
– 配置监控工具的访问权限

– 监控配置:
– 配置监控指标和阈值
– 配置告警机制
– 测试监控功能

– 监控验证:
– 验证监控数据的准确性
– 验证告警机制的有效性
– 验证监控系统的可靠性

3.3 网络配置实施

网络配置实施步骤:

# 网络配置实施
## 1. 网络设备配置
– 交换机配置:
– 登录交换机管理界面
– 配置交换机基本信息,如主机名、IP地址等
– 配置交换机端口,如速度、双工模式等
– 配置VLAN和端口所属VLAN
– 配置QoS和流量控制

– 路由器配置:
– 登录路由器管理界面
– 配置路由器基本信息,如主机名、IP地址等
– 配置路由表和静态路由
– 配置ACL和访问控制
– 配置NAT和端口转发

– 防火墙配置:
– 登录防火墙管理界面
– 配置防火墙基本信息,如主机名、IP地址等
– 配置防火墙规则,如入站和出站规则
– 配置VPN和远程访问
– 配置日志和告警

## 2. 服务器网络配置
– 网络接口配置:
– 配置网络接口IP地址和子网掩码
– 配置默认网关和DNS服务器
– 配置网络接口参数,如MTU、速度等

– 网络连接测试:
– 测试网络连通性,如ping命令
– 测试网络性能,如iperf命令
– 测试网络可靠性,如长时间ping测试

– 网络冗余配置:
– 配置网络绑定(bonding)或团队(team)
– 测试网络冗余功能,如链路故障切换

## 3. 网络安全配置
– 访问控制配置:
– 配置网络访问控制列表(ACL)
– 限制网络访问范围和权限
– 测试访问控制效果

– 加密传输配置:
– 配置SSL/TLS证书
– 启用加密传输协议
– 测试加密传输功能

– 入侵检测配置:
– 部署入侵检测系统(IDS)
– 配置IDS规则和告警
– 测试IDS功能

## 4. 网络监控部署
– 监控工具安装:
– 安装网络监控工具,如Nagios、Zabbix或Prometheus
– 配置监控工具的访问权限

– 监控配置:
– 配置网络监控指标和阈值
– 配置网络告警机制
– 测试网络监控功能

– 监控验证:
– 验证网络监控数据的准确性
– 验证网络告警机制的有效性
– 验证网络监控系统的可靠性

## 5. 网络性能优化
– 网络参数调优:
– 调整TCP/IP参数,如TCP窗口大小、超时时间等
– 调整网络接口参数,如MTU、缓冲区大小等
– 测试网络性能优化效果

– QoS配置:
– 配置服务质量(QoS)策略
– 优先保障关键业务流量
– 测试QoS效果

– 负载均衡配置:
– 配置网络负载均衡
– 分发网络流量到多个路径
– 测试负载均衡效果

Part04-生产案例与实战讲解

4.1 硬件配置实战

硬件配置实战:

# GBase 8a MPP集群硬件配置实战
# 1. 服务器硬件配置
# 服务器型号:Dell PowerEdge R750
# CPU:Intel Xeon Gold 6330 20核
# 内存:256GB DDR4
# 存储:4×1.92TB SSD + 2×4TB SAS
# 网络:2×25Gbps NIC
# 2. 存储配置
# 配置RAID 10:4×1.92TB SSD
# 配置RAID 1:2×4TB SAS
# 3. 网络配置
# 交换机:Dell PowerSwitch S5248F-ON
# 网络带宽:25Gbps
# VLAN配置:管理VLAN 100,业务VLAN 200
# 4. 硬件测试
# 测试服务器性能
# 安装测试工具
yum install -y
stress-ng
sysbench
# 测试CPU性能
stress-ng
–cpu 20
–cpu-method all
–metrics-brief
–timeout 60s
# 测试内存性能
sysbench memory
–memory-block-size=1K
–memory-total-size=100G
–memory-access-mode=rnd run
# 测试存储性能
sysbench fileio
–file-total-size=100G
–file-test-mode=seqwr
–file-num=64
–file-extra-flags=direct
–time=60 run
# 测试网络性能
# 在两台服务器之间测试
# 服务器1:
iperf3 -s
# 服务器2:
iperf3 -c 192.168.1.10 -t 60 -P 16

# 测试CPU性能输出
stress-ng: info: [12345] dispatching hogs: 20 cpu
stress-ng: info: [12345] successful run completed in 60.01s
stress-ng: info: [12345] metrics: 20 cpu, 60.01s, 2000.00ms/cpu, 40000.00ms total

# 测试内存性能输出
sysbench 1.0.20 (using system LuaJIT 2.0.4)

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time

Running memory speed test with the following options:
block size: 1K
total size: 100G
access mode: random
memory type: RAM
scope: global

Initializing worker threads…

Threads started!

Total operations: 104857600 (1747627.37 ops/sec)

102400.00 MB transferred (1706.67 MB/sec)

Test execution summary:
total time: 60.0015s
total number of events: 104857600
total time taken by event execution: 59.9998
per-request statistics:
min: 0.00ms
avg: 0.00ms
max: 0.10ms
approx. 95th percentile: 0.00ms

Threads fairness:
events (avg/stddev): 104857600.0000/0.00
execution time (avg/stddev): 59.9998/0.00

# 测试存储性能输出
sysbench 1.0.20 (using system LuaJIT 2.0.4)

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time

Extra file open flags: direct
128 files, 8192Kb each, 1024Mb total
Creating files for the test…
Extra file open flags: direct
Creating file test_file.0

Creating file test_file.127
1024Mb written in 0.95 seconds (1073.68 MB/sec)

Running file I/O test with the following options:
file size: 1024Mb
number of files: 128
block size: 16Kb
number of IO requests: 10000
read/write ratio: 0.50
periodic FSYNC enabled, calling fsync() each 100 requests
using synchronous I/O mode
doing sequential write test

Initializing worker threads…

Threads started!

File operations:
reads/s: 0.00
writes/s: 12500.00
fsyncs/s: 125.00

Throughput:
read, MiB/s: 0.00
written, MiB/s: 195.31

General statistics:
total time: 0.8000s
total number of events: 10000
total time taken by event execution: 0.7996
per-request statistics:
min: 0.05ms
avg: 0.08ms
max: 0.20ms
approx. 95th percentile: 0.10ms

Threads fairness:
events (avg/stddev): 10000.0000/0.00
execution time (avg/stddev): 0.7996/0.00

# 测试网络性能输出
Connecting to host 192.168.1.10, port 5201
[ 5] local 192.168.1.11 port 56789 connected to 192.168.1.10 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 2.84 GBytes 24.5 Gbits/sec 0 849 KBytes
[ 5] 1.00-2.00 sec 2.85 GBytes 24.6 Gbits/sec 0 849 KBytes
[ 5] 2.00-3.00 sec 2.85 GBytes 24.6 Gbits/sec 0 849 KBytes

[ 5] 59.00-60.00 sec 2.85 GBytes 24.6 Gbits/sec 0 849 KBytes
– – – – – – – – – – – – – – – – – – – – – – – – – –
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-60.00 sec 171 GBytes 24.5 Gbits/sec 0 sender
[ 5] 0.00-60.00 sec 171 GBytes 24.5 Gbits/sec receiver

iperf Done.

4.2 操作系统配置实战

操作系统配置实战:

# GBase数据库操作系统配置实战
# 1. 操作系统安装
# 安装Oracle Linux 8.9
# 分区方案:
# /boot:500MB
# /:50GB
# /gbase:剩余空间(用于GBase数据库)
# 2. 内核参数配置
# 编辑/etc/sysctl.conf文件
vi /etc/sysctl.conf
# 添加以下内核参数
cat >> /etc/sysctl.conf
<< EOF # GBase数据库内核参数 net.core.somaxconn=65535 net.ipv4.tcp_max_syn_backlog=65535 net.ipv4.tcp_fin_timeout=30 net.ipv4.tcp_tw_reuse=1 net.ipv4.tcp_tw_recycle=1 net.ipv4.ip_local_port_range=1024 65535 vm.swappiness=10 vm.max_map_count=262144 fs.file-max=6815744 kernel.sem=250 32000 100 128 kernel.shmmni=4096 kernel.shmall=1073741824 kernel.shmmax=4398046511104 EOF # 应用内核参数 sysctl -p # 3. 文件系统配置 # 挂载/gbase分区 mkdir -p /gbase mount /dev/sdb1 /gbase # 添加到/etc/fstab echo "/dev/sdb1 /gbase xfs defaults,noatime,nodiratime 0 0">> /etc/fstab # 4. 系统服务配置 # 禁用不必要的服务 systemctl stop firewalld NetworkManager systemctl disable firewalld NetworkManager # 启用必要的服务 systemctl start sshd ntpd systemctl enable sshd ntpd # 5. 安全配置 # 配置SELinux为permissive模式 setenforce 0 sed -i ‘s/SELINUX=enforcing/SELINUX=permissive/’ /etc/selinux/config # 6. 时间同步配置 # 配置NTP服务器 vi /etc/ntp.conf # 添加NTP服务器 cat >> /etc/ntp.conf
<< EOF server 0.cn.pool.ntp.org server 1.cn.pool.ntp.org server 2.cn.pool.ntp.org EOF # 重启NTP服务 systemctl restart ntpd # 7. 系统监控部署 # 安装Zabbix agent yum install -y zabbix-agent # 配置Zabbix agent vi /etc/zabbix/zabbix_agentd.conf # 修改Server和ServerActive # Server=192.168.1.50 # ServerActive=192.168.1.50 # 启动Zabbix agent systemctl start zabbix-agent systemctl enable zabbix-agent # 8. 系统性能优化 # 关闭透明大页 echo never> /sys/kernel/mm/transparent_hugepage/enabled echo never > /sys/kernel/mm/transparent_hugepage/defrag # 添加到/etc/rc.local cat >> /etc/rc.d/rc.local
<< EOF echo never> /sys/kernel/mm/transparent_hugepage/enabled echo never > /sys/kernel/mm/transparent_hugepage/defrag EOF chmod +x /etc/rc.d/rc.local # 关闭NUMA echo 0 > /proc/sys/kernel/numa_balancing # 添加到/etc/sysctl.conf echo “kernel.numa_balancing = 0” >> /etc/sysctl.conf sysctl -p

# 应用内核参数输出
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.ip_local_port_range = 1024 65535
vm.swappiness = 10
vm.max_map_count = 262144
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104

# 挂载分区输出
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 50G 5.0G 45G 10% /
/dev/sda1 500M 100M 400M 20% /boot
/dev/sdb1 950G 10G 940G 2% /gbase

# 服务状态输出
# systemctl status sshd ntpd
● sshd.service – OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2023-01-01 10:00:00 CST; 1h ago
Docs: man:sshd(8)
man:sshd_config(5)
Main PID: 1234 (sshd)
Tasks: 1
Memory: 10.0M
CPU: 100ms
CGroup: /system.slice/sshd.service
└─1234 /usr/sbin/sshd -D

● ntpd.service – Network Time Service
Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2023-01-01 10:00:00 CST; 1h ago
Docs: man:ntpd(8)
Main PID: 5678 (ntpd)
Tasks: 1
Memory: 5.0M
CPU: 50ms
CGroup: /system.slice/ntpd.service
└─5678 /usr/sbin/ntpd -u ntp:ntp -g

# 时间同步状态输出
# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*ntp1.aliyun.com 127.127.1.0 2 u 30 64 377 5.000 0.100 0.050
+ntp2.aliyun.com 127.127.1.0 2 u 25 64 377 6.000 0.050 0.030
-ntp3.aliyun.com 127.127.1.0 2 u 20 64 377 7.000 0.080 0.040

# 透明大页状态输出
# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]

# NUMA状态输出
# cat /proc/sys/kernel/numa_balancing
0

4.3 网络配置实战

网络配置实战:

# GBase数据库网络配置实战
# 1. 网络设备配置
# 交换机配置
# 登录交换机管理界面
# 配置VLAN
# vlan 100 name Management
# vlan 200 name Business
# 配置端口
# interface range ethernet 1/1-10
# switchport mode access
# switchport access vlan 200
# speed 25000
# duplex full
# no shutdown
# interface range ethernet 1/11-20
# switchport mode access
# switchport access vlan 100
# speed 1000
# duplex full
# no shutdown
# 2. 服务器网络配置
# 配置网络接口
vi /etc/sysconfig/network-scripts/ifcfg-ens192
# 添加以下配置
cat > /etc/sysconfig/network-scripts/ifcfg-ens192
<< EOF TYPE=Ethernet BOOTPROTO=static NAME=ens192 DEVICE=ens192 ONBOOT=yes IPADDR=192.168.1.10 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=192.168.1.5 EOF # 配置网络绑定 # 创建bond接口 cat> /etc/sysconfig/network-scripts/ifcfg-bond0
<< EOF TYPE=Bond NAME=bond0 DEVICE=bond0 BOOTPROTO=static ONBOOT=yes IPADDR=192.168.2.10 NETMASK=255.255.255.0 GATEWAY=192.168.2.1 BONDING_OPTS="mode=4 miimon=100" EOF # 配置物理接口 cat> /etc/sysconfig/network-scripts/ifcfg-ens224
<< EOF TYPE=Ethernet BOOTPROTO=none NAME=ens224 DEVICE=ens224 ONBOOT=yes MASTER=bond0 SLAVE=yes EOF cat> /etc/sysconfig/network-scripts/ifcfg-ens256
<< EOF TYPE=Ethernet BOOTPROTO=none NAME=ens256 DEVICE=ens256 ONBOOT=yes MASTER=bond0 SLAVE=yes EOF # 重启网络服务 nmcli connection reload nmcli connection up bond0 # 3. 网络连接测试 # 测试网络连通性 ping -c 5 192.168.1.1 ping -c 5 192.168.2.1 ping -c 5 www.baidu.com # 测试网络性能 iperf3 -s & iperf3 -c 192.168.1.10 -t 30 -P 8 # 测试网络冗余 # 模拟链路故障 ifdown ens224 # 测试网络连接 ping -c 5 192.168.2.1 # 恢复链路 ifup ens224 # 4. 网络安全配置 # 配置防火墙 firewall-cmd --permanent --add-port=5258/tcp firewall-cmd --permanent --add-port=5050/tcp firewall-cmd --permanent --add-port=5051/tcp firewall-cmd --reload # 5. 网络监控部署 # 安装网络监控工具 yum install -y net-snmp net-snmp-utils # 配置SNMP vi /etc/snmp/snmpd.conf # 添加以下配置 cat>> /etc/snmp/snmpd.conf
<< EOF rocommunity public 192.168.1.0/24 syslocation "GBase Database Server" syscontact admin@fgedu.net.cn EOF # 启动SNMP服务 systemctl start snmpd systemctl enable snmpd

# 网络接口配置输出
# ip addr
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group
default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens192: mtu 1500 qdisc mq state UP
group default qlen 1000
link/ether 00:11:22:33:44:55 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.10/24 brd 192.168.1.255 scope global noprefixroute ens192
valid_lft forever preferred_lft forever
inet6 fe80::211:22ff:fe33:4455/64 scope link
valid_lft forever preferred_lft forever
3: ens224: mtu 1500 qdisc mq
master bond0 state UP group default qlen 1000
link/ether 00:11:22:33:44:66 brd ff:ff:ff:ff:ff:ff
4: ens256: mtu 1500 qdisc mq
master bond0 state UP group default qlen 1000
link/ether 00:11:22:33:44:66 brd ff:ff:ff:ff:ff:ff
5: bond0: mtu 1500
qdisc noqueue state UP group default qlen 1000
link/ether 00:11:22:33:44:66 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.10/24 brd 192.168.2.255 scope global
noprefixroute bond0
valid_lft forever preferred_lft forever
inet6 fe80::211:22ff:fe33:4466/64 scope link
valid_lft forever preferred_lft forever

# 网络连通性测试输出
# ping -c 5 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.500 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.450 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=0.420 ms
64 bytes from 192.168.1.1: icmp_seq=4 ttl=64 time=0.480 ms
64 bytes from 192.168.1.1: icmp_seq=5 ttl=64 time=0.430 ms

— 192.168.1.1 ping statistics —
5 packets transmitted, 5 received, 0% packet loss, time 4ms
rtt min/avg/max/mdev = 0.420/0.456/0.500/0.030 ms

# 网络性能测试输出
Connecting to host 192.168.1.10, port 5201
[ 5] local 192.168.1.11 port 56789 connected to 192.168.1.10
port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 1.10 GBytes 9.44 Gbits/sec 0 849 KBytes
[ 5] 1.00-2.00 sec 1.12 GBytes 9.60 Gbits/sec 0 849 KBytes

[ 5] 29.00-30.00 sec 1.11 GBytes 9.52 Gbits/sec 0 849 KBytes
– – – – – – – – – – – – – – – – – – – – – – – – – –
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-30.00 sec 33.3 GBytes 9.52 Gbits/sec 0 sender
[ 5] 0.00-30.00 sec 33.3 GBytes 9.52 Gbits/sec receiver

# 网络冗余测试输出
# ifdown ens224
Device ‘ens224’ successfully disconnected.

# ping -c 5 192.168.2.1
PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data.
64 bytes from 192.168.2.1: icmp_seq=1 ttl=64 time=0.550 ms
64 bytes from 192.168.2.1: icmp_seq=2 ttl=64 time=0.520 ms
64 bytes from 192.168.2.1: icmp_seq=3 ttl=64 time=0.500 ms
64 bytes from 192.168.2.1: icmp_seq=4 ttl=64 time=0.530 ms
64 bytes from 192.168.2.1: icmp_seq=5 ttl=64 time=0.510 ms

— 192.168.2.1 ping statistics —
5 packets transmitted, 5 received, 0% packet loss, time 4ms
rtt min/avg/max/mdev = 0.500/0.522/0.550/0.020 ms

# ifup ens224
Device ‘ens224’ successfully connected.

# 防火墙配置输出
# firewall-cmd –list-ports
5258/tcp 5050/tcp 5051/tcp

# SNMP服务状态输出
# systemctl status snmpd
● snmpd.service – Simple Network Management Protocol (SNMP)
Daemon.
Loaded: loaded (/usr/lib/systemd/system/snmpd.service;
enabled; vendor preset: disabled)
Active: active (running) since Wed 2023-01-01 10:00:00 CST;
1h ago
Main PID: 12345 (snmpd)
Tasks: 1
Memory: 5.0M
CPU: 100ms
CGroup: /system.slice/snmpd.service
└─12345 /usr/sbin/snmpd -LS0-6d -f

Part05-风哥经验总结与分享

5.1 硬件选择经验

  • 根据业务需求选择硬件
    • 分析业务类型和数据量,选择合适的硬件配置
    • 考虑业务增长,预留足够的硬件资源
    • 根据数据库类型选择适合的硬件,如GBase 8a MPP集群需要更高的CPU和内存
  • 注重硬件可靠性
    • 选择知名品牌的服务器和存储设备
    • 配置冗余电源、风扇和网络接口
    • 使用RAID技术提高存储可靠性
  • 优化硬件性能
    • 选择高性能的CPU和内存
    • 使用SSD存储提高I/O性能
    • 配置高速网络,如10Gbps或25Gbps
  • 合理规划硬件资源
    • 根据数据库类型和规模,规划服务器数量和配置
    • 合理分配存储空间,避免空间不足
    • 优化网络架构,减少网络延迟
  • 定期维护硬件
    • 定期检查硬件状态,如温度、风扇、电源等
    • 及时更换故障硬件,避免影响系统运行
    • 定期清洁服务器和存储设备,保持良好的散热

5.2 操作系统配置经验

  • 选择合适的操作系统版本
    • 选择GBase数据库支持的操作系统版本
    • 考虑操作系统的稳定性和安全性
    • 优先选择长期支持(LTS)版本
  • 优化内核参数
    • 根据GBase数据库的需求,调整内核参数
    • 优化内存管理、网络配置和文件系统参数
    • 定期检查和调整内核参数,适应业务变化
  • 配置文件系统
    • 选择合适的文件系统类型,如xfs
    • 合理规划磁盘分区,分离系统和数据
    • 配置合适的挂载选项,如noatime、nodiratime
  • 优化系统服务
    • 关闭不必要的系统服务,减少系统开销
    • 启用必要的系统服务,如SSH、NTP等
    • 配置服务启动顺序,优化系统启动时间
  • 加强系统安全
    • 配置防火墙,限制网络访问
    • 调整SELinux模式,平衡安全性和可用性
    • 定期更新系统补丁,修复安全漏洞
  • 配置时间同步
    • 配置NTP服务,确保系统时间准确
    • 选择可靠的NTP服务器
    • 定期检查时间同步状态
  • 部署系统监控
    • 安装系统监控工具,如Zabbix、Prometheus等
    • 配置监控指标和告警机制
    • 定期分析监控数据,优化系统性能

5.3 常见问题与解决方案

  • 硬件常见问题
    • 服务器宕机
      • 原因:硬件故障、电源问题、温度过高等
      • 解决方案:检查硬件状态,更换故障部件,确保电源稳定,改善散热
    • 存储故障
      • 原因:硬盘故障、RAID损坏、存储控制器故障等
      • 解决方案:定期检查存储状态,使用RAID技术,及时更换故障硬盘
    • 网络故障
      • 原因:网络设备故障、线缆问题、配置错误等
      • 解决方案:检查网络设备状态,测试网络连通性,正确配置网络参数
  • 操作系统常见问题
    • 系统性能下降
      • 原因:资源不足、进程过多、内存泄漏等
      • 解决方案:监控系统资源使用情况,优化系统参数,关闭不必要的进程,排查内存泄漏
    • 系统启动失败
      • 原因:文件系统损坏、内核崩溃、引导配置错误等
      • 解决方案:使用救援模式修复文件系统,重建内核,检查引导配置
    • 安全问题

联系我们

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

微信号:itpux-com

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