#服务器准备
# 服务器配置
下表仅列示安装YashanDB所需服务器硬件及操作系统的推荐配置与最低要求,所有已兼容认证的服务器和操作系统请查阅YashanDB兼容列表 (opens new window)。
Note:
YashanDB安装手册列出了适配下表所列环境的通用步骤和命令,若在其他兼容环境中的实际步骤、命令等存在细微差异,建议参考对应操作系统的官方指引或联系系统服务商解决。
| 项目 | 推荐配置 | 最低配置 |
|---|---|---|
| 操作系统 | Redhat Enterprise Linux 7、8、9 CentOS 7.6及以上 openEuler 22.03 LTS KylinOS V10(ARM架构:推荐使用V10 SP3 2303的52.33内核、海光CPU:推荐使用V10 SP3 2303的52.45内核) | 如需使用大页内存,则要求Linux内核版本为2.6及以上 如需使用基于TCP的NVMe oF协议,则要求Linux内核版本为5.0及以上 |
| CPU | X86_64、ARM64、龙芯 超线程,非超线程 推荐4C及以上;共享集群推荐8C及以上 | CPU核数>2 |
| 内存 | 推荐16G及以上;共享集群推荐32G及以上 | >4G |
| 硬盘 | 推荐使用SSD,分布式集群要求为NVMe SSD 推荐存储空间50G及以上 | >4G |
| 文件系统 | ext4或xfs | 不能为tmpfs或者devtmpfs |
| 网络 | 千兆以上以太网,支持TCP和UDP;共享集群内部均要求10GE,不包含RDMA | - |
| 网卡 | 推荐为每个子网(例如公网、私网,尤其是私网)配置多块网卡,通过Linux网络绑定技术bond给网卡做冗余 在部署共享集群时,如需使用SCAN或VIP功能,请确保同一集群中所有服务器用于配置公网子网的网卡支持ARP/NDP协议,且建议网卡名称保持一致便于运维 在部署分布式集群时,要求存储网络为RDMA网卡,并已安装相应的驱动,处于正常运行状态 | - |
Caution:
若使用虚拟机安装YashanDB,必须将虚拟机的硬盘设置为独立-永久模式(例如,VMware中需在虚拟机的【硬盘高级设置】中勾选模式为【独立】-【永久】,具体配置方法请以各虚拟机平台实际为准),否则在断电等场景下会出现磁盘文件破坏的情况。
# 共享存储配置
| 项目 | 推荐配置 | 最低配置 |
|---|---|---|
| 硬盘 | SSD/HDD都支持,品牌和介质不交叉组合 | - |
| LUN | 4块或6块以上: 3块或5块系统盘(1G及以上。当系统盘数量为1块,并且AU Size配置为32M时,系统盘大小至少为2G。) 其他为数据盘(50G及以上) | - |
| 接口 | 存储设备及操作系统支持Direct IO,支持512字节内存对齐和IO大小对齐 存储设备支持通过 pread64、pwrite64 接口一次性读写512字节整倍数,即支持一次性读写如下所有大小:512字节、1024字节、1536字节...32M | - |
| 协议 | 如需使用基于SCSI持久预留的I/O Fencing,要求支持SCSI-3协议(及以上)和SPC-3命令集(SCSI Primary Commands-3,及以上),且支持类型5的持久预留(Write Exclusive – Registrants Only) | - |
Note:
共享集群支持两种I/O Fencing方法,推荐使用基于SCSI持久预留的I/O Fencing,但该方法对共享存储的能力有一定要求。在安装部署过程会自动调用fenceScsiCheck脚本检测共享存储等设备/环境是否符合要求。
fenceScsiCheck脚本检测报错时,并不会阻塞安装部署,但共享集群的I/O Fencing方法将被配置为在途I/O保护算法。如仍需使用基于SCSI持久预留的I/O Fencing,请根据相应的错误提示进行调整。
# 部署规模
单机主备部署
单机部署最小规模配置为1台服务器,但无法构建高可用环境。
可使用多台服务器构建主备形态的高可用环境。
共享集群部署
共享集群部署配置2台以上服务器+1台共享存储(可选),搭建集群内高可用的多实例数据库。
出于性能考虑,建议在生产环境中选配共享存储。
可使用多台服务器构建主备形态的高可用集群。
分布式集群部署
分布式集群部署配置2台以上CN服务器+3台以上DN服务器,搭建集群内高可用的多计算实例+智能分布式存储网络的数据库。
存算一体分布式集群部署
存算一体分布式集群部署最小规模配置1台服务器,MN、CN、DN部署在同一台服务器上。
可使用至少3台服务器构建成MN/DN主备形态和CN多活的高可用环境。
# 安装示例服务器列表
以下将列出安装示例所用到的服务器信息,所有服务器均为X86_64架构并安装CentOS 7.6操作系统,网段规划均不区分公网和私网。
在生产环境中,请根据实际需求合理规划网段,建议划分相互独立且隔离的公网网段和私网网段。
# 单机单库部署
单机单库部署中,YashanDB将只安装在一台服务器上,无备库。
| 服务器名称 | 服务器IP | 角色 |
|---|---|---|
| host0001 | 192.168.1.2 | 主 |
# 单机主备部署
单机主备部署将以三台服务器分别为主、备、备角色作为示例,搭建一主两备的高可用环境。
| 服务器名称 | 服务器IP | 角色 |
|---|---|---|
| host0001 | 192.168.1.2 | 主 |
| host0002 | 192.168.1.3 | 备 |
| host0003 | 192.168.1.4 | 备 |
# 单机级联备部署
单机级联备部署将以三台服务器分别为主、备、级联备角色作为示例,搭建一主一备一级联备的高可用环境。
| 服务器名称 | 服务器IP | 角色 |
|---|---|---|
| host0001 | 192.168.1.2 | 主 |
| host0002 | 192.168.1.3 | 备 |
| host0003 | 192.168.1.4 | 级联备 |
# 双复制组主备部署
双复制组主备部署将以六台服务器分别为主group(按节点部署1主2备)、备group(首节点为备,其他节点为级联备)作为示例,搭建两地双复制组的高可用环境。
| 服务器名称 | 服务器IP | 角色 |
|---|---|---|
| host0001(A机房) | 192.168.1.2 | 主group:1-1:1(主) |
| host0002(A机房) | 192.168.1.3 | 主group:1-2:2(同步备) |
| host0003(A机房) | 192.168.1.4 | 主group:1-3:3(同步备) |
| host0004(B机房) | 192.168.10.5 | 备group:2-1:4(异步备) |
| host0005(B机房) | 192.168.10.6 | 备group:2-2:5(级联备) |
| host0006(B机房) | 192.168.10.7 | 备group:2-3:6(级联备) |
# 共享集群部署
共享集群部署以两台服务器+一台共享存储为示例,搭建双实例单库的典型共享集群环境。
服务器:(假设规划相互独立且隔离的公网和私网2个子网)
| 服务器名称 | 网段配置 | 服务器IP | 角色 |
|---|---|---|---|
| host0001 | 公网网卡ens192:192.168.1.0/24 私网网卡ens224:172.16.1.0/24 | ens192:192.168.1.2 ens224:172.16.1.2 | 数据库实例1 |
| host0002 | 公网网卡ens192:192.168.1.0/24 私网网卡ens224:172.16.1.0/24 | ens192:192.168.1.3 ens224:172.16.1.3 | 数据库实例2 |
预留IP地址:
在23.4.4.100及以上版本中,如需使用SCAN功能,公网网卡对应的子网为每个集群预留1 - 3个IP地址作为SCAN VIP,本文以192.168.1.100、192.168.1.101以及192.168.1.102为例。
SCAN是共享集群部署中的可选拓展功能,如需使用应遵循如下规则:
服务器的网卡必须为以太网卡,且支持ARP/NDP协议。
必须先为集群配置公网信息(安装部署时yasboot package ce gen命令指定--public-network参数或安装完成后执行ycsctl add network命令指定)后才能使用SCAN。
需为集群规划1 - 3个SCAN VIP地址,且统一采用IPv4或IPv6。
配置SCAN后,通过SCAN域名连接数据库的驱动或客户端也应为配套的23.4.4.100及以上版本。
在DNS服务器中,根据规划的SCAN域名(例如scan.example.com)和预留的SCAN VIP配置DNS解析规则,例如:
# DNS记录 scan.example.com IN A 192.168.1.100 …… # 反向解析记录 100.1.168.192.in-addr.arpa IN PTR scan.example.com ……
在23.4.2.100及以上版本中,如需使用VIP功能,公网网卡对应的子网还需为每台服务器预留1个IP地址作为VIP,本文以192.168.1.62和192.168.1.63为例。
VIP是共享集群部署中的可选拓展功能,如需使用应遵循如下规则:
服务器的网卡必须为以太网卡,且支持ARP/NDP协议。
必须先为集群配置公网信息(安装部署时yasboot package ce gen命令指定--public-network参数或安装完成后执行ycsctl add network命令指定)后才能使用VIP。
同一共享集群中的所有节点必须采用统一的VIP配置策略:
节点统一配置VIP或不配置。
VIP统一采用IPv4或IPv6。
VIP地址应规划为预留的空闲IP地址。
VIP必须属于公网子网,且必须与实例监听地址(LISTEN_ADDR)处于相同子网。
共享存储:(存储上已按配置要求划分4个LUN)
| LUN名称 | LUN路径 | 角色 |
|---|---|---|
| LUN1 | /dev/mapper/lun03-sys0 | 系统盘 |
| LUN2 | /dev/mapper/lun03-sys1 | 系统盘 |
| LUN3 | /dev/mapper/lun03-sys2 | 系统盘 |
| LUN4 | /dev/mapper/lun01-data0 | 数据盘 |
# 主备集群部署
主备集群部署以四台服务器+两台共享存储为示例,搭建主备双实例的共享集群环境。
服务器:(假设不规划隔离子网)
| 服务器名称 | 网段配置 | 服务器IP | 角色 |
|---|---|---|---|
| host0001 | 网卡ens192:192.168.1.0/24 | 192.168.1.2 | 主集群数据库实例1 |
| host0002 | 网卡ens192:192.168.1.0/24 | 192.168.1.3 | 主集群数据库实例2 |
| host0003 | 网卡ens192:192.168.10.0/24 | 192.168.10.4 | 备集群数据库实例1 |
| host0004 | 网卡ens192:192.168.10.0/24 | 192.168.10.5 | 备集群数据库实例2 |
预留IP地址:
在23.4.4.100及以上版本中,如需使用SCAN功能,公网网卡对应的子网为每个集群预留1 - 3个IP地址作为SCAN VIP,本文以192.168.1.100、192.168.1.101以及192.168.1.102为例。
SCAN是共享集群部署中的可选拓展功能,如需使用应遵循如下规则:
服务器的网卡必须为以太网卡,且支持ARP/NDP协议。
必须先为集群配置公网信息(安装部署时yasboot package ce gen命令指定--public-network参数或安装完成后执行ycsctl add network命令指定)后才能使用SCAN。
需为集群规划1 - 3个SCAN VIP地址,且统一采用IPv4或IPv6。
配置SCAN后,通过SCAN域名连接数据库的驱动或客户端也应为配套的23.4.4.100及以上版本。
在DNS服务器中,根据规划的SCAN域名(例如scan.example.com)和预留的SCAN VIP配置DNS解析规则,例如:
# DNS记录 scan.example.com IN A 192.168.1.100 …… # 反向解析记录 100.1.168.192.in-addr.arpa IN PTR scan.example.com ……
在23.4.2.100及以上版本中,如需使用VIP功能,公网网卡对应的子网还需为每台服务器预留1个IP地址作为VIP,本文以192.168.1.62和192.168.1.63为例。
VIP是共享集群部署中的可选拓展功能,如需使用应遵循如下规则:
服务器的网卡必须为以太网卡,且支持ARP/NDP协议。
必须先为集群配置公网信息(安装部署时yasboot package ce gen命令指定--public-network参数或安装完成后执行ycsctl add network命令指定)后才能使用VIP。
同一共享集群中的所有节点必须采用统一的VIP配置策略(主备集群之间VIP配置策略可以不同):
节点统一配置VIP或不配置。
VIP统一采用IPv4或IPv6。
VIP地址应规划为预留的空闲IP地址。
VIP必须属于公网子网,且必须与实例监听地址(LISTEN_ADDR)处于相同子网。
共享存储:(每台共享存储上已按配置要求分别划分4个LUN)
| 共享存储 | LUN名称 | LUN路径 | 角色 |
|---|---|---|---|
| 共享存储1 | LUN1 | /dev/mapper/lun03-sys0 | 主集群系统盘1 |
| 共享存储1 | LUN2 | /dev/mapper/lun03-sys1 | 主集群系统盘2 |
| 共享存储1 | LUN3 | /dev/mapper/lun03-sys2 | 主集群系统盘3 |
| 共享存储1 | LUN4 | /dev/mapper/lun01-data0 | 主集群数据盘 |
| 共享存储2 | LUN1' | /dev/mapper/lun04-sys0 | 备集群系统盘1 |
| 共享存储2 | LUN2' | /dev/mapper/lun04-sys1 | 备集群系统盘2 |
| 共享存储2 | LUN3' | /dev/mapper/lun04-sys2 | 备集群系统盘3 |
| 共享存储2 | LUN4' | /dev/mapper/lun02-data0 | 备集群数据盘 |
# 分布式集群部署
分布式集群部署以两台CN服务器+三台DN服务器为示例,搭建双实例单库的典型分布式集群环境。
服务器:
| 服务器名称 | 服务器IP | 角色 |
|---|---|---|
| host0001 | 192.168.1.2 | 计算节点1 |
| host0002 | 192.168.1.3 | 计算节点2 |
| host0003 | 192.168.1.4 | 数据节点1 |
| host0004 | 192.168.1.5 | 数据节点2 |
| host0005 | 192.168.1.6 | 数据节点3 |
# 存算一体分布式部署
示例一:以三台服务器,包含1个MN组(MN节点1主2备),2个CN,1个DN组(DN节点1主1备)的规格作为示例环境。
| 服务器名称 | 服务器IP | 角色 |
|---|---|---|
| host0001 | 192.168.1.2 | MN:1-1(主),DN:3-2(备) |
| host0002 | 192.168.1.3 | MN:1-2(备),CN:2-1 |
| host0003 | 192.168.1.4 | MN:1-3(备),CN:2-2,DN:3-1(主) |
示例二:以三台服务器,包含1个MN组,2个CN,1个DN组(DN组和MN组均为1主2备)的规格作为示例环境。
| 服务器名称 | 服务器IP | 角色 |
|---|---|---|
| host0001 | 192.168.1.2 | MN:1-1(主),DN:3-2(备) |
| host0002 | 192.168.1.3 | MN:1-2(备),CN:2-1,DN:3-3(备) |
| host0003 | 192.168.1.4 | MN:1-3(备),CN:2-2,DN:3-1(主) |

