OceanBase教程FG002-OceanBase软硬件环境规划选型
本文详细介绍OceanBase数据库的硬件和软件环境规划选型,帮助读者为OceanBase部署做好充分的准备。风哥教程参考OceanBase官方文档OceanBase8系统管理员手册、OceanBase8安装指南等内容。
OceanBase作为一款分布式数据库,对硬件和软件环境有特定的要求。合理的环境规划和选型是确保OceanBase稳定运行的基础,也是后续部署和运维的重要前提。
通过本文的学习,读者将掌握OceanBase的硬件配置要求、软件环境要求以及环境检查和优化方法,为OceanBase的部署和运行奠定坚实的基础。
目录大纲
Part01-基础概念与理论知识
1.1 环境规划重要性
环境规划是OceanBase部署的第一步,直接影响数据库的性能、可靠性和稳定性。合理的环境规划可以:
- 确保数据库性能达到预期目标
- 提高系统的可靠性和可用性
- 减少后续运维成本和风险
- 为业务增长预留足够的扩展空间
1.2 硬件配置原则
OceanBase硬件配置应遵循以下原则:
- 高性能:选择高配置的CPU、内存和存储
- 高可靠性:使用冗余设计,确保单点故障不影响系统
- 可扩展性:考虑业务增长,预留足够的扩展空间
- 成本效益:在性能和成本之间找到平衡点
Part02-生产环境规划与建议
2.1 硬件配置要求
生产环境建议配置:
2.1.1 CPU
- 测试环境:至少8核
- 生产环境:至少16核,推荐32核或更高
- 架构:x86-64或ARM64
2.1.2 内存
- 测试环境:至少32GB
- 生产环境:至少64GB,推荐128GB或更高
- 建议:内存大小应根据数据量和并发量确定,一般为数据量的20-30%
2.1.3 存储
- 类型:SSD磁盘,推荐NVMe SSD
- 容量:根据数据量确定,建议预留50%以上的空间
- IOPS:至少10000 IOPS,推荐50000 IOPS以上
- 延迟:低于1ms
2.1.4 网络
- 带宽:至少10Gbps
- 延迟:低于0.1ms
- 稳定性:无丢包,低抖动
2.2 软件环境要求
,风哥提示:。
2.2.1 操作系统
- Oracle Linux 9.3 / RHEL 9.3
- Oracle Linux 8.x / RHEL 8.x
- Oracle Linux 7.x / RHEL 7.x
- 国产麒麟操作系统 Kylin v10 SP3
- 欧拉操作系统 openEuler 20.03+
2.2.2 系统依赖
- glibc 2.17+
- libaio 0.3.109+
- ncurses 5.9+
- zlib 1.2.3+
2.2.3 系统参数
fs.file-max = 6815744
fs.nr_open = 6815744
# 网络参数
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_keepalive_intvl = 15,学习交流加群风哥微信: itpux-com。
# 内存参数
vm.swappiness = 0
vm.overcommit_memory = 2
vm.overcommit_ratio = 90
# 大内存页
vm.nr_hugepages = 16384
# 关闭透明大页
transparent_hugepage=never
# 关闭NUMA
numa_balancing=disable
# 内核参数
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
Part03-生产环境项目实施方案
3.1 环境检查
在部署OceanBase之前,需要进行详细的环境检查,确保所有硬件和软件条件都满足要求。
lscpu
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 32
On-line CPU(s) list: 0-31
Thread(s) per core: 2
Core(s) per socket: 8
Socket(s): 2,学习交流加群风哥QQ113257174。
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 85
Model name: Intel(R) Xeon(R) Gold 6248 CPU @ 2.50GHz
Stepping: 7
CPU MHz: 2500.000
BogoMIPS: 5000.00
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 1024K
L3 cache: 22528K
NUMA node0 CPU(s): 0-7,16-23
NUMA node1 CPU(s): 8-15,24-31
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l3 cdp_l3 invpcid_single intel_ppin ssbd mba ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm mpx rdt_a avx512f avx512dq rdseed adx smap clflushopt clwb intel_pt avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts hwp hwp_act_window hwp_epp hwp_pkg_req pku ospke avx512_vnni md_clear flush_l1d arch_capabilities
free -h
Mem: 125G 10G 110G 4.0G 5.0G 110G
Swap: 8.0G 0B 8.0G
lsblk -d -o NAME,TYPE,SIZE,MODEL
sda disk 1.8T INTEL SSDSC2KB01
sdb disk 1.8T INTEL SSDSC2KB01
sdc disk 1.8T INTEL SSDSC2KB01
ethtool eth0 | grep -E “Speed|Duplex”
Duplex: Full,更多视频教程www.fgedu.net.cn。
3.2 环境优化
根据环境检查结果,需要对系统进行优化,确保OceanBase能够高效运行。
cat > /etc/sysctl.d/oceanbase.conf << EOF
fs.file-max = 6815744
fs.nr_open = 6815744
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_keepalive_intvl = 15
vm.swappiness = 0
vm.overcommit_memory = 2
vm.overcommit_ratio = 90
vm.nr_hugepages = 16384
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
EOF
sysctl -p /etc/sysctl.d/oceanbase.conf
fs.nr_open = 6815744
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_keepalive_intvl = 15
vm.swappiness = 0
vm.overcommit_memory = 2
vm.overcommit_ratio = 90,更多学习教程公众号风哥教程itpux_com。
vm.nr_hugepages = 16384
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
cat >> /etc/security/limits.conf << EOF
* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536
* soft core unlimited
* hard core unlimited
EOF
Part04-生产案例与实战讲解
4.1 硬件选型实战
以一个中型生产环境为例,硬件选型如下:
- 服务器:2U机架式服务器
- CPU:Intel Xeon Gold 6248 (32核)
- 内存:128GB DDR4
- 存储:4×1.8TB NVMe SSD (RAID 10)
- 网络:双10Gbps网卡
- 数量:3台(三副本架构)
,from DB视频:www.itpux.com。
4.2 软件环境配置实战
yum install -y libaio-devel ncurses-devel zlib-devel
Complete!
systemctl stop firewalld
systemctl disable firewalld
sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/’ /etc/selinux/config
setenforce 0
cat /sys/kernel/mm/transparent_hugepage/enabled
echo ‘never’ > /sys/kernel/mm/transparent_hugepage/enabled
echo ‘never’ > /sys/kernel/mm/transparent_hugepage/defrag
cat >> /etc/fstab << EOF
tmpfs /dev/shm tmpfs defaults,size=64G 0 0
EOF
mount -o remount /dev/shm
Part05-风哥经验总结与分享
5.1 环境规划最佳实践
- 根据业务规模和数据量选择合适的硬件配置
- 优先选择高性能SSD,特别是NVMe SSD
- 确保网络带宽充足,延迟低
- 合理配置系统参数,优化系统性能
- 定期进行硬件健康检查,及时发现和更换故障部件
5.2 常见问题与解决方案
- 内存不足:增加内存或调整OceanBase内存参数
- 磁盘IO瓶颈:使用更高性能的SSD,优化存储配置
- 网络延迟高:检查网络设备,优化网络配置
- 系统参数配置不当:风哥教程参考官方文档,调整系统参数
- 硬件兼容性问题:选择经过验证的硬件配置
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
