随着对yashan数据库学习的深入,把yashandb的所有环境准备上,生产环境搭建可遇不可求,可以再自己本地的机器上准备一套,本文用vmware+centos7安装一套yashandb共享集群
一、YAC共享集群介绍
我们先了解一下yashandb共享集群,及集群的组件
yashandb共享集群具备1:1替代Oracle的能力,包含数据库实例、集群服务组件和共享存储管理的持久化文件。
YashanDB共享集群是一种单库多实例的多活集群,基于Shared-Disk的架构,各组件描述如下:
-
Instance:多个服务器上的数据库实例采用聚合内存技术,通过全局资源管理、全局缓存管理以及全局锁管理协同多实例对数据页和非数据类资源的访问,对外提供对等的、强一致的并发读写能力。
-
YCS:集群数据库高可用的核心部件,统一管理集群文件系统、数据库等资源,提供配置、启停、监控等能力,并在各种故障场景下提供仲裁服务,维护全局统一的拓扑状态。
-
YFS:承担集群文件系统管理职责,直接管理裸设备,并提供强一致的文件系统服务给数据库使用。
二、环境规划
1、服务器规划
ip | 操作系统 | 内存 | CPU | 网卡 | 硬盘 |
---|---|---|---|---|---|
192.168.150.125 | CentOS 7.9 |
6G | 4c | 1 | 150G |
192.168.150126 | CentOS 7.9 | 6G | 4c | 1 | 150G |
安装目录
HOME目录:/data/yashan/yasdb_home
DATA目录:/data/yashan/yasdb_data
官方建议
服务器配置
项目 | 推荐配置 | 最低配置 |
---|---|---|
操作系统 | CentOS 7.6以上,KylinOS V10,openEuler 22.03 | 如需使用大页内存,则要求Linux内核版本为2.6及以上 |
CPU | X86_64,ARM64 超线程,非超线程 推荐4C及以上;共享集群推荐8C及以上 |
CPU核数>2 |
内存 | 推荐16G及以上;共享集群推荐32G及以上 | >4G |
硬盘 | 推荐使用SSD 推荐存储空间50G及以上 |
>4G |
文件系统 | ext4或xfs | 不能为tmpfs |
网络 | 千兆以上以太网,支持TCP和UDP;共享集群内部均要求10GE,不包含RDMA | - |
2、共享存储规划
因为是搭建的版本23.2,按找23.2来规划
投票盘 | 1G |
YCR盘 | 1G |
数据盘 | 20G |
官方建议
版本23.2
YashanDB要求共享存储上必须规划出下述三类磁盘:
- 数据盘:一块或多块,根据业务实际情况规划,其中一块数据盘的路径将作为yasboot package ce gen命令的data选项参数。
- 投票盘:一块,建议规划为1G及以上,该盘路径将作为yasboot package ce gen命令的vote选项参数。
- YCR盘:一块,建议规划为1G及以上,该盘路径将作为yasboot package ce gen命令的YCR选项参数。
版本23.3
YashanDB要求共享存储规划2类磁盘:
- 系统盘:用于集群管理,仅支持1、3或5块相同大小的磁盘,建议每块磁盘容量至少1G,此类磁盘的绝对路径将作为
yasboot package ce gen
命令的--system-data
选项,以,
分隔多个磁盘,例如--system-data /dev/yfs/sys0,/dev/yfs/sys1,/dev/yfs/sys2
。 - 数据盘:用于保存集群业务数据,1块或多块相同大小的磁盘,请根据实际业务需求规划其数量和容量,此类磁盘的绝对路径将作为
yasboot package ce gen
命令的--data
选项参数,以,
分隔多个磁盘,例如--data /dev/yfs/data0,/dev/yfs/data1,/dev/yfs/data2
。
需要注意的是:所有系统盘和数据盘应被绑定至同一目录,该目录将作为yasboot package ce gen
命令的--disk-found-path
选项参数
三、环境准备
1、虚拟机准备
创建两台虚拟机,可以安装两台也可以克隆两台出来,这里直接用模板的虚拟克隆出来
为了长期保留环境选择完整克隆
2、共享存储准备
YAC共享集群最重要的就是共享存储的准备,直接关系到安装成败
在安装VMware软件的操作系统上,以管理员权限打开命令行工具cmd,在cmd下创建虚拟磁盘
C:\"Program Files (x86)"\VMware\"VMware Workstation"\vmware-vdiskmanager -c -s 1Gb -a lsilogic -t 2 "E:\virtual\vmware\yashan-YAC\YAC-DISK\shared-sys01.vmdk"
C:\"Program Files (x86)"\VMware\"VMware Workstation"\vmware-vdiskmanager -c -s 1Gb -a lsilogic -t 2 "E:\virtual\vmware\yashan-YAC\YAC-DISK\shared-sys02.vmdk"
C:\"Program Files (x86)"\VMware\"VMware Workstation"\vmware-vdiskmanager -c -s 20Gb -a lsilogic -t 2 "E:\virtual\vmware\yashan-YAC\YAC-DISK\shared-data04.vmdk"
分别打开两台虚拟机目录中的vmx文件,在最后一行添加:
scsi1.present = "TRUE"
scsi1.virtualDev = "lsilogic"
scsi1.sharedBus = "virtual"
scsi1:1.present = "TRUE"
scsi1:1.mode = "independent-persistent"
scsi1:1.filename = "E:\virtual