大家好,这里是公众号 DBA 学习之路,分享一些学习国产数据库路上的知识和经验。
@TOC
前言
本周三崖山数据库 v23.5 版本正式发布了!这次最值得关注的就是全新的共享集群版本,新版本带来了不少实用功能:
- 共享集群全库闪回;
- 共享集群 SACN 与 VIP;
- 应用的实例亲和性及 TAF;
- YFS 磁盘级故障处理机制;
- 分区表转换:支持普通表和分区表互相转换;
- SQL 语句跟踪功能(10046 事件);
- SLOW LOG 完整日志输出;
这些功能里,很多都是 DBA 们期待已久的。后续可能会挨个进行测试,今天先给大家演示 YAC 23.5 的安装部署——环境搭好了,才能开始干活不是?
环境准备
本文以经典架构(2 台服务器,1 共享存储)为例,搭建双实例单库的共享集群环境,实例部署在不同服务器上。

服务器信息
国产数据库首选部署到国产系统上,最常用的应该就是银河麒麟 V10 了,本文选择最新版本进行测试安装。
| 主机名 |
IP |
版本 |
CPU |
内存 |
硬盘 |
| yac01 |
10.168.1.101 |
银河麒麟 Kylin V10 |
8C |
16G |
200G |
| yac02 |
10.168.1.102 |
银河麒麟 Kylin V10 |
8C |
16G |
200G |
网络信息
本文网络信息配置如下:
| 主机名 |
业务 IP |
VIP |
心跳 IP |
SCANIP |
| yac01 |
10.168.1.101 |
10.168.1.103 |
1.1.1.1 |
10.168.1.105 |
| yac02 |
10.168.1.102 |
10.168.1.104 |
1.1.1.2 |
10.168.1.105 |
对于共享集群部署,还需进行 IP 地址预留:
- 公网:主要用于外部业务访问 YashanDB、DBA 进行数据库管理以及数据库工具进行数据库命令调用等。
- 建议公网为每个集群预留 1 到 3 个 IP 地址作为 SCAN VIP,以满足后续可能的 SCAN 功能使用需要。
- 建议公网为每台服务器预留 1 个 IP 地址作为 VIP,以满足后续可能的 VIP 功能使用需要。
- 私网:主要用于 YashanDB 内部通信,也就是心跳 IP。
注意:多个 SCANIP 需要配置 DNS 解析,否则无法使用 SCANIP 切换功能,本文使用 1 个 SCANIP 进行部署。
服务器规划
共享集群配置推荐如下:
- CPU:推荐 8C 及以上;
- 内存:推荐 32G 及以上;
- 心跳网卡:内部通信的私网要求 10GE 以上;
- 公网网卡:如需使用 SCAN 或 VIP 功能,请确保同一集群中所有服务器用于配置公网子网的网卡支持 ARP/NDP 协议,且建议网卡名称保持一致便于运维,如需使用 NVMe over RDMA 传输协议,要求网卡类型为 RDMA,并已安装相应的驱动,处于正常运行状态;
- 共享存储:准备 1 台 SAN 共享存储,或者 1 套可搭建 NVMe-oF 分布式存储的 NVMe SSD;
注意:若使用虚拟机安装 YashanDB,必须将虚拟机的硬盘设置为独立-永久模式(例如,VMware 中需在虚拟机的【硬盘高级设置】中勾选模式为【独立】-【永久】,具体配置方法请以各虚拟机平台实际为准),否则在断电等场景下会出现磁盘文件破坏的情况。
共享存储规划
崖山文件系统管理(YFS)以磁盘作为存储管理的逻辑单元,并根据使用目的区别为如下两类:
- 系统盘:用于集群管理,仅支持 1、2、3 或 5 块相同大小的磁盘,每块磁盘容量至少 1G(当系统盘数量为 1 块且 AU Size 需配置为 32M 时,要求系统盘大小至少为 2G),此类磁盘的绝对路径将作为
--system-data 参数的值,以 , 分隔多个磁盘进行配置,例如 --system-data /dev/yfs/sys0,/dev/yfs/sys1,/dev/yfs/sys2。
- 数据盘:用于保存集群业务数据,1 块或多块相同大小的磁盘,请根据实际业务需求规划其数量和容量,此类磁盘的绝对路径将作为
--data 参数的值,以,分隔多个磁盘进行配置,例如 --data /dev/yfs/data0,/dev/yfs/data1,/dev/yfs/data2。
本次演示的环境是在虚拟化上进行操作,已划分 4 块盘进行多写入共享:
- 数据盘:1 块 100GB,规划绑定至
/dev/yas/data 路径。
- 系统盘:3 块 10GB,规划绑定至
/dev/yas/sys01,/dev/yas/sys02,/dev/yas/sys03 路径。
请选择合适的方式,以 root 用户在共享集群的所有服务器上执行对应操作绑定 LUN。
安装前准备(所有节点)
📢 注意:本章节内容均需要在所有节点执行,以节点一为例进行演示!
配置 /etc/hosts
部署 YAC 共享集群,必须配置主机名,服务器名称要求如下:
- 名称由字母、数字以及下划线组成,且必须以字母开头,长度为 [4,64] 个字符。
- 同一个 YashanDB 共享集群中的服务器名称不能相同。
- 建议每台服务器上只运行一个实例,若一台服务器需运行多个实例则要求将服务器名称设置为 [3,63] 个字符。
建议配置主机名解析:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| [root@yac01 ~]# cat<<-EOF>>/etc/hosts # 公网 IP 10.168.1.101 yac01 10.168.1.102 yac02 # VIP 10.168.1.103 yac01-vip 10.168.1.104 yac02-vip # 心跳 IP 1.1.1.1 yac01-priv 1.1.1.2 yac02-priv # SCANIP 10.168.1.105 yac-scan EOF
|
关闭防火墙
数据库安装均建议关闭防火墙:
1 2 3 4 5
| [root@yac01 ~]# systemctl stop firewalld [root@yac01 ~]# systemctl disable firewalld Removed /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
|
创建用户和组
主机创建用户如果有密码复杂性要求,不想设置密码太复杂的话,可以取消密码复杂度:
1 2 3
| [root@yac01 ~]# sed -i 's/^password\+[[:space:]]\+requisite[[:space:]]\+pam_pwquality.so/#&/g' /etc/pam.d/system-auth [root@yac01 ~]# sed -i 's/use_authtok$//' /etc/pam.d/system-auth
|
建议在所有服务器上创建 YashanDB 产品的安装用户,而非使用 root 身份执行安装部署:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
[root@yac01 ~]# groupadd YASDBA [root@yac01 ~]# useradd -d /home/yashan -m yashan [root@yac01 ~]# usermod -a -G YASDBA yashan [root@yac01 ~]# echo "yashan:yashan" | chpasswd [root@yac01 ~]# id yashan 用户id=1000(yashan) 组id=1001(yashan) 组=1001(yashan),1000(YASDBA)
[root@yac01 ~]# chmod +w /etc/sudoers
[root@yac01 ~]# cat<<-EOF>>/etc/sudoers yashan ALL=(ALL)NOPASSWD:ALL EOF [root@yac01 ~]# chmod -w /etc/sudoers
|
创建目录
所有 YashanDB 的实例节点都必须规划以下两个目录:
- HOME 目录:YashanDB 的产品目录,包含 YashanDB 所提供的命令、数据库运行所需的库及各关键组件。该目录由 yashan 用户执行安装部署时输入的 install-path 参数根据一定规则生成并创建。
- DATA 目录:对于共享集群,所有的数据文件和 redo 文件均需保存在共享存储上,DATA 目录将只用于存储实例运行相关的配置文件、日志文件等数据。该目录由 yashan 用户执行安装部署时输入的
--data-path 参数根据一定规则生成并创建。
HOME 目录和 DATA 目录均规划在 /data/yashan 下,yashan 用户需要对该目录拥有全部权限,可执行如下命令授权:
1 2 3 4 5 6 7 8 9
| [root@yac01 ~]# mkdir -p /home/yashan/install [root@yac01 ~]# chown -R yashan:yashan /home/yashan/install [root@yac01 ~]# mkdir /soft [root@yac01 ~]# mkdir -p /data/yashan [root@yac01 ~]# mkdir -p /data/yashan/yasdb_home [root@yac01 ~]# mkdir -p /data/yashan/log [root@yac01 ~]# chown -R yashan:yashan /data/yashan [root@yac01 ~]# chmod -R 777 /data/yashan
|
系统参数配置
当 YashanDB 安装在 Linux 环境中时,为使系统达到更好的性能,建议进行下述配置调整:
1 2 3 4 5 6 7 8 9
|
[root@yac01 ~]# echo "vm.swappiness = 0" >>/etc/sysctl.conf
[root@yac01 ~]# echo "net.ipv4.ip_local_port_range = 32768 60999" >>/etc/sysctl.conf
[root@yac01 ~]# echo "vm.max_map_count=2000000" >>/etc/sysctl.conf
[root@yac01 ~]# sysctl -p
|
资源配置
将部分资源限制值(使用 ulimit -a 可查看所有的资源限制值)调整为推荐值或以上。
1 2 3 4 5 6 7 8 9 10 11
| [root@yac01 ~]# cat<<-EOF>>/etc/security/limits.conf yashan soft nofile 1048576 yashan hard nofile 1048576 yashan soft nproc 1048576 yashan hard nproc 1048576 yashan soft rss unlimited yashan hard rss unlimited yashan soft stack 8192 yashan hard stack 8192 EOF
|
清理共享内存
部署 YashanDB 共享集群,还需在所有服务器上清理共享内存:
1 2
| [root@yac01 ~]# ipcrm -a
|
配置软件源
Linux 系统安装软件需要配置本地软件源。
⭐️ 配置 Linux 软件源可以参考为之前写的文章:DBA 必备:Linux 软件源配置全攻略
配置本地软件源的方式需要先挂载本地 ISO 安装镜像:
1 2 3
| [root@yac01 ~]# mount /dev/sr0 /mnt mount: /mnt: WARNING: source write-protected, mounted read-only.
|
一键配置 KylinV10 本地软件源:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
[root@yac01 ~]# mkdir -p /etc/yum.repos.d/bak [root@yac01 ~]# mv /etc/yum.repos.d/* /etc/yum.repos.d/bak mv: 无法将目录'/etc/yum.repos.d/bak' 移动至自身的子目录'/etc/yum.repos.d/bak/bak' 下
[root@yac01 ~]# cat <<-EOF > /etc/yum.repos.d/local.repo [BaseOS] name=BaseOS baseurl=file:///mnt/BaseOS enabled=1 gpgcheck=0 [AppStream] name=AppStream baseurl=file:///mnt/AppStream enabled=1 gpgcheck=0 EOF
[root@yac01 ~]# cat /etc/yum.repos.d/local.repo [BaseOS] name=BaseOS baseurl=file:///mnt/BaseOS enabled=1 gpgcheck=0 [AppStream] name=AppStream baseurl=file:///mnt/AppStream enabled=1 gpgcheck=0
|
确保软件源配置完成,就可以安装软件了。
安装依赖包
为保障 YashanDB 的正常安装和运行,请按如下来源及最低版本要求,在所有服务器环境中配置所需依赖项:
安装依赖包:
1 2 3
|
[root@yac01 ~]# dnf install -y openssl lz4 zlib zstd mpathpersist sshpass --skip-broken
|
安装完成后检查是否安装成功:
1 2 3 4 5 6 7 8 9
|
[root@yac01 ~]# rpm -q openssl lz4 zlib zstd mpathpersist sshpass openssl-1.1.1c-15.el8.x86_64 lz4-1.8.1.2-4.el8.x86_64 zlib-1.2.11-13.el8.x86_64 zstd-1.4.2-2.el8.x86_64 未安装软件包 mpathpersist 未安装软件包 sshpass
|
以上未安装软件包:
- sshpass:需要执行多服务器检测且 -u 指定的用户未配置免密登录时,脚本依赖 sshpass,可通过 sshpass -h 确认工具是否可用。通常更推荐配置免密登录。
- mpathpersist:服务器使用 DM-Multipath 多路径软件管理存储设备时,脚本依赖 mpathpersist。通常 multipath-tools 软件包会一同安装 mpathpersist,可通过 mpathpersist –help 确认工具是否可用。
检查 mpathpersist:
1 2
| [root@yac01 soft]# which mpathpersist /usr/sbin/mpathpersist
|
mpathpersist 已经跟随 multipath-tools 一起安装,所以只需要手动安装 sshpass 即可:
sshpass 下载地址:https://github.com/kevinburke/sshpass
安装方式如下:
1 2 3 4
| cd sshpass ./configure make && make install
|
检测 sshpass 是否安装:
1 2
| [root@yac01 sshpass-master]# which sshpass /usr/local/bin/sshpass
|
依赖包全部安装完成。
挂载共享盘
本文是通过虚拟化直接挂载的共享盘进行搭建,记得一定要打开虚拟化主机的 UUID 配置 disk.EnableUUID ="TRUE",否则无法获取到 UUID:

查看挂载成功的共享盘:
1 2 3 4 5 6 7 8 9 10 11 12 13
| [root@yac01 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 200G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 199G 0 part ├─kals-root 252:0 0 191.1G 0 lvm / └─kals-swap 252:1 0 7.9G 0 lvm [SWAP] sdb 8:16 0 100G 0 disk sdc 8:32 0 10G 0 disk sdd 8:48 0 10G 0 disk sde 8:64 0 10G 0 disk sr0 11:0 1 7.5G 0 rom /mnt
|
挂载好共享盘之后就可以配置 UDEV 绑盘了。
UDEV 绑盘
如果共享盘是多路径,建议可以先使用 multipath 进行绑盘,便于管理。
我这里只有一条路径,查看节点磁盘 wwid:
1 2 3 4 5 6 7 8 9
| [root@yac01 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdb 36000c291084988f077ae73b51c9300a9 [root@yac01 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdc 36000c294b908fb7c2aff5af247045fc0 [root@yac01 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdd 36000c295e01066faf6afd123dc3182e5 [root@yac01 ~]# /usr/lib/udev/scsi_id -g -u /dev/sde 36000c29a85edab15832930722fa30534
|
执行 udev 绑定:
1 2 3 4 5 6 7
| [root@yac01 ~]# cat<<-EOF >/etc/udev/rules.d/yashan-device-rule.rules KERNEL=="sd*",ENV{ID_SERIAL}=="36000c291084988f077ae73b51c9300a9",SYMLINK+="yas/data",OWNER="yashan",GROUP="YASDBA",MODE="0666",RUN+="/bin/sh -c 'chown -R yashan:yashan /dev/yas/data'" KERNEL=="sd*",ENV{ID_SERIAL}=="36000c294b908fb7c2aff5af247045fc0",SYMLINK+="yas/sys01",OWNER="yashan",GROUP="YASDBA",MODE="0666",RUN+="/bin/sh -c 'chown -R yashan:yashan /dev/yas/sys01'" KERNEL=="sd*",ENV{ID_SERIAL}=="36000c295e01066faf6afd123dc3182e5",SYMLINK+="yas/sys02",OWNER="yashan",GROUP="YASDBA",MODE="0666",RUN+="/bin/sh -c 'chown -R yashan:yashan /dev/yas/sys02'" KERNEL=="sd*",ENV{ID_SERIAL}=="36000c29a85edab15832930722fa30534",SYMLINK+="yas/sys03",OWNER="yashan",GROUP="YASDBA",MODE="0666",RUN+="/bin/sh -c 'chown -R yashan:yashan /dev/yas/sys03'" EOF
|
生效 udev:
1 2 3
| [root@yac01 ~]# udevadm control --reload-rules [root@yac01 ~]# udevadm trigger --type=devices --action=change
|
查看绑定后的盘:
1 2 3 4 5 6
| [root@yac01 ~]# ll /dev/yas/* lrwxrwxrwx 1 yashan yashan 6 11月 25 16:12 /dev/yas/data -> ../sdb lrwxrwxrwx 1 yashan yashan 6 11月 25 16:12 /dev/yas/sys01 -> ../sdc lrwxrwxrwx 1 yashan yashan 6 11月 25 16:12 /dev/yas/sys02 -> ../sdd lrwxrwxrwx 1 yashan yashan 6 11月 25 16:12 /dev/yas/sys03 -> ../sde
|
确保两个节点都绑定成功。
关闭透明大页
YashanDB 建议关闭透明大页,部分操作系统默认开启了透明大页选项,可执行以下命令确认:
1 2 3
| [root@yac01 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled [always] madvise never
|
显示结果:
- [always] madvise never:透明大页已开启。
- always [madvise] never:透明大页已开启。
- always madvise [never]:透明大页已关闭。
修改 /etc/default/grub 文件,在 GRUB_CMDLINE_LINUX 中添加或修改参数 transparent_hugepage=never:
1 2
| [root@yac01 ~]# sed -i 's/quiet/quiet transparent_hugepage=never/' /etc/default/grub
|
通过以下指令检查当前系统的引导类型:
1 2 3
| [root@yac01 ~]# [ -d /sys/firmware/efi ] && echo UEFI || echo BIOS BIOS
|
两种引导的启动文件路径分别为:
- BIOS:/boot/grub2/grub.cfg
- UEFI:/boot/efi/EFI/<distro_name>/grub.cfg,distro_name 为系统发行版本名称,例如 ubuntu、fedora、debian 等。
执行 grub2–mkconfig 指令重新配置 grub.cfg:
1 2 3 4 5 6 7
|
[root@yac01 ~]# grub2-mkconfig -o /boot/grub2/grub.cfg Generating grub configuration file ... done
|
重启操作系统,使配置永久生效:
验证透明大页已关闭:
1 2 3
| [root@yac01 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled always madvise [never]
|
结果应显示 always madvise [never]。
YAC 安装(主节点)
YashanDB 提供了多种部署形态,不同形态的安装过程,尤其是初始安装参数配置部分差异较大,本文使用可视化安装方式,对于新手比较友好。
解压安装软件
执行安装部署前,请以安装用户(yashan)登录数据库服务器,并进入 /home/yashan/install 安装目录解压安装包:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| [root@yac01 ~]# chown yashan:yashan /home/yashan/install/yashandb-23.5.1.100-linux-x86_64.tar.gz
[root@yac01 ~]# su - yashan [yashan@yac01 ~]$ cd install/ [yashan@yac01 install]$ tar -xf yashandb-23.5.1.100-linux-x86_64.tar.gz [yashan@yac01 install]$ ll drwxrwxr-x 2 yashan yashan 21 11月 3 11:02 bin -rw-rw-r-- 1 yashan yashan 302105919 11月 3 11:03 database-23.5.1.100-linux-x86_64.tar.gz drwxrwxr-x 3 yashan yashan 19 11月 3 11:02 depends -rwxrwxr-x 1 yashan yashan 1035 11月 3 11:03 install.sh drwxrwxr-x 6 yashan yashan 56 11月 3 11:02 om drwxrwxr-x 2 yashan yashan 4096 11月 3 11:02 plugins -rw-r--r-- 1 yashan yashan 330746513 11月 25 16:18 yashandb-23.5.1.100-linux-x86_64.tar.gz
|
启动 Web 服务
进入主节点安装目录下 Web 服务所在的目录,使用 yasom 启动 Web 服务端:
1 2 3 4 5 6 7 8
| [yashan@yac01 ~]$ cd /home/yashan/install/om [yashan@yac01 om]$ ./bin/yasom --web --listen 10.168.1.101:9001 2025-11-25 16:24:40 INFO [console] yasom.go:147 Version: 23.5.1.100 2025-11-25 16:24:40 INFO [console] deploy.go:60 deploy manager starting... 2025-11-25 16:24:40 INFO [console] activity.go:29 activity manager starting... 2025-11-25 16:24:40 INFO [console] convert.go:119 opt.GroupConfig: map[] 2025-11-25 16:24:40 INFO [console] static.go:21 routing vue app 2025-11-25 16:24:40 INFO [console] web.go:21 Server listen on: 10.168.1.101:9001
|
在 PC 端浏览器中访问可视化安装的网页地址:
http://10.168.1.101:9001/omweb

配置数据库信息
根据实际情况,配置数据库基本信息:
- 数据库名称:填写数据库集群名称,该名称也将作为初始数据库的名称(database name)。必须以字母开头,支持字母(区分大小写)、数字以及下划线,长度为[4,64]个字符,例如 yashandb。
- 数据库类型:选择数据库部署形态,例如集群。
集群模式需要添加其余节点:

填写好所有节点的信息:

检查确认安装路径等信息无误后单击【全部尝试校验】检查正确性:

确认信息无误后,单击【下一步】,配置开机自启 monit(sudo 在上面配置步骤已经完成,这里直接勾选就行),开启时,守护进程将在服务器开机后自行启动并拉起 YashanDB 的各个进程,间接实现数据库的开机自启动:

确认信息无误后,单击【下一步】。
配置集群节点信息
在弹出的节点规模配置对话框中,根据实际规划的实例数调整相关配置,单击【确定】保存信息:
- 语法模式:可根据业务需求选择 yashan 模式或 mysql 模式。若选定为 yashan 模式,安装后无法直接切换为 mysql 模式,只能卸载重装。
- 集群组数量:共享集群组的数量。例如 1 为搭建 1 个集群,2 为搭建一主一备集群,3 为搭建一主两备集群,以此类推。此例中以搭建 1 个集群为例。
- 主集群节点数量:选择主集群的数据库实例数量。
- 磁盘发现路径:填写为磁盘发现路径,用于发现集群共享存储的磁盘路径,该路径是磁阵数据存储盘路径和系统数据盘路径的父级目录,例如
/dev/yfs。
- 磁阵数据存储盘路径:填写为数据盘规划的共享存储 LUN 路径,例如
/dev/yfs/data0。
- 系统数据盘:填写为系统数据盘规划的共享存储 LUN 路径,例如
/dev/yfs/sys0、/dev/yfs/sys1和/dev/yfs/sys2。
- 网卡配置:可以将数据库监听地址、主备复制链路地址和共享集群网络通信链路地址配置为不同的网段,格式为
192.168.1.0/24。
- scan 配置:配置公网子网、SCAN 域名或 VIP 信息。 - public_network:共享集群对外提供服务的公网,格式为子网/子网掩码[/网卡名],网卡名可以省略,例如:
192.168.1.0/24; - scan_name:共享集群的 SCAN 域名,需配合 --public-network 参数使用; - vips:共享集群的 VIP 配置信息,格式为 IP 地址/子网掩码[/网卡名],例如:192.168.1.62/255.255.255.0/ens192,如果无法确保同一集群中所有服务器访问公网的网卡名一致,则必须省略网卡名。需配合 --public-network 参数使用,且 IP 地址应属于公网网段。VIP 个数与节点个数一致,多个 VIP 配置之间用逗号 , 隔开;

在 SYS 用户配置区域,设置数据库超级管理员 SYS 用户的密码,配置要求如下:
- 密码长度为
8-64 位。
- 密码中不能包含对应的数据库用户名称。
- 密码必须同时包含数字、字母和特殊字符。
- Linux OS 命令相关的特殊字符(例如
@、/、.、!、$、' 等)需进行转义。

在 yasom 配置区域,可根据实际情况调整 yasom 所在服务器和监听端口。
- yasom 所在服务器:默认为当前服务器 IP。
- LISTEN_ADDR:yasom 的监听端口,默认为 1675。
在插件配置区域,可按需选择需要安装的插件:

在节点配置区域,可按需调整以下配置(保持默认即可):



这个建议勾选上,否则部署过程中可能因为磁盘不干净导致报错:

确认信息无误后,单击【下一步】。
设置建库参数
在【数据库建库参数】页面,可参考共享集群配置文件按需增/删/改建库参数,参考共享集群 YFS 参数配置按需增/删/改 YFS 参数,参考共享集群 YCS 参数配置按需增/删/改 YCS 参数。
本文使用参数文件:

集群类型数据库 YFS 参数配置:

集群类型数据库 YCS 参数配置:

确认信息无误后,单击【下一步】。
部署数据库
在【数据库全局信息】页面,确认信息无误后,单击【部署】:


当出现下面提示时,表示部署完成,可以手动关闭网页,服务端会在一定时间内自动退出:

部署完成后,yasom 会在 /home/yashan/install/conf/CE/yashandb 目录中生成 hosts.toml 和 yashandb.toml 文件,其中 yasdb 为数据库名称,此目录为安装目录:
1 2 3 4 5 6 7
| [yashan@yac01 yasdb]$ pwd /home/yashan/install/conf/CE/yasdb [yashan@yac01 yasdb]$ ll 总用量 12 -rw-rw-r-- 1 yashan yashan 16 11月 25 17:06 deploy.uuid -rw------- 1 yashan yashan 1397 11月 25 17:06 hosts.toml -rw------- 1 yashan yashan 3431 11月 25 17:06 yasdb.toml
|
配置环境变量(所有节点)
部署命令成功执行后将会在 $YASDB_HOME 目录下的 conf 文件夹中生成 <<集群名称>>.bashrc 环境变量文件:
1 2 3 4 5 6 7
|
[yashan@yac01 ~]$ cd /data/yashan/yasdb_home/23.5.1.100/conf [yashan@yac01 conf]$ cat yasdb.bashrc >> ~/.bashrc
[yashan@yac01 conf]$ source ~/.bashrc
|
集群管理
ycsctl 是 YashanDB 的 YCS 管理工具,用户可使用本工具实现对共享集群的管理操作,包括集群级别的管理和节点级别的管理。
配置 YCS 环境变量
其中,节点级别的 ycsctl 命令要求节点上的 YCS 启动后才能执行,并配置 $YASCS_HOME 环境变量:
1 2 3 4 5 6 7
| [yashan@yac01 ~]$ echo "export YASCS_HOME=/data/yashan/yasdb_home/yasdb_data/ycs/ce-1-1" >> ~/.bashrc [yashan@yac02 ~]$ echo "export YASCS_HOME=/data/yashan/yasdb_home/yasdb_data/ycs/ce-1-2" >> ~/.bashrc
[yashan@yac01 conf]$ source ~/.bashrc [yashan@yac02 conf]$ source ~/.bashrc
|
检查集群
查看集群状态:
1 2
| [yashan@yac01 ~]$ ycsctl status [yashan@yac01 ~]$ ycsctl status -v
|


查看集群配置:
1
| [yashan@yac01 ~]$ ycsctl show config
|

查看集群磁盘组:
1 2 3
| [yashan@yac01 ~]$ ycsctl query disk [yashan@yac01 ~]$ yfscmd ls [yashan@yac01 ~]$ yfscmd lsdg
|

更多 ycsctl 用法可使用 ycsctl -H 查看。
检查数据库
检查数据库状态:
1 2
| [yashan@yac01 ~]$ yasboot cluster status -c yasdb -d [yashan@yac01 ~]$ yasboot cluster status -b group -c yasdb -d
|


查看实例状态:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| [yashan@yac01 ~]$ yasql / as sysdba YashanDB SQL Enterprise Edition Release 23.5.1.100 x86_64
Connected to: YashanDB Server Enterprise Edition Release 23.5.1.100 x86_64 - Linux
SQL> select instance_number,instance_name from gv$instance;
INSTANCE_NUMBER INSTANCE_NAME --------------- ---------------------------------------------------------------- 1 yasdb-1-1 2 yasdb-1-2
2 rows fetched.
|
创建用户和表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| SQL> create user lucifer identified by lucifer;
Succeed.
SQL> grant dba to lucifer;
Succeed.
SQL> conn lucifer/lucifer
Connected to: YashanDB Server Enterprise Edition Release 23.5.1.100 x86_64 - Linux
SQL> create table test(id number,name varchar2(20));
Succeed.
SQL> insert into test values (1,'lucifer');
1 row affected.
SQL> commit;
Succeed.
SQL> select * from test;
ID NAME
1 lucifer
1 row fetched.
SQL> create index idx_lucifer_id on test(id);
Succeed.
|
配置 monit
启动所有服务器上的 monit 进程:
1
| [yashan@yac01 ~]$ yasboot monit start -c yasdb -d
|

查看 monit 的监控状态简略信息:
1
| [yashan@yac01 ~]$ yasboot monit summary -c yasdb
|

配置开机自启(所有节点)
由于每次开机都需要启动 yasom 和 yasagent,然后再启动数据库:
1 2 3 4 5 6
| [root@yac01 ~]# yasboot process yasom start -c yasdb [root@yac01 ~]# yasboot process yasagent start -c yasdb
[root@yac01 ~]# yasboot cluster start -c yasdb
|

重启主机测试是否会开启:
1 2 3 4 5 6 7 8 9
| [root@ymp ~]# reboot
[yashan@yac01 ~]$ yasql / as sysdba YashanDB SQL Enterprise Edition Release 23.5.1.100 x86_64
Connected to: YashanDB Server Enterprise Edition Release 23.5.1.100 x86_64 - Linux
SQL>
|
本文篇幅过长,影响阅读体验,下一篇再演示 VIP 和 SCANIP 相关内容。
写在最后
本文简单记录了崖山共享集群的安装部署过程,总体来说比较简单易上手,大家感兴趣都可以玩玩!
如果有遗漏或者不足的地方,欢迎评论区补充或者投稿,感谢阅读!