云上的PolarDB数据库可做类似RAC这样的共享存储集群,那云下可以做吗?今天小编就和大家分享一个工具,它既可以在云下为PolarDB提供共享存储的服务,还可以在界面上一键创建和管理PolarDB共享存储集群。
1. 准备环境
主机名 | ip地址 | 内存/核数 | 角色 | 需安装 的软件 |
polardb-01 | 10.197.165.50 | 4G/2C | CLup管理端兼数据库存储节点 | CLup |
polardb-02 | 10.197.165.51,172.16.1.51,172.16.2.51 | 8G/4C | 数据库存储节点 | CLup-agent |
polardb-03 | 10.197.165.52,172.16.1.52,172.16.2.52 | 8G/4C | 数据库存储节点 | CLup-agent |
polardb-04 | 10.197.165.53,172.16.1.53,172.16.2.53 | 8G/4C | 数据库计算节点 | CLup-agent,polardb |
polardb-05 | 10.197.165.54,172.16.1.54,172.16.2.54 | 8G/4C | 数据库计算节点 | CLup-agent,polardb |
数据库服务器需要三网卡,三个不同网段的地址。并且各数据库存储节点挂载一块相同大小的磁盘。
2. 配置软件
在对应主机安装所需的软件:
1.安装CLup
wget -qO /tmp/clup.sh --no-check-certificate
https://get.csudata.com/csuinst/clup.sh && bash /tmp/clup.sh clup install
2.安装CLup-agent
wget -qO /tmp/clup.sh --no-check-certificate
https://get.csudata.com/csuinst/clup.sh && bash /tmp/clup.sh clup-agent install
3.安装polardb数据库,其中可以选择安装PolarDB-11和PolarDB-15。目前支持一键安装的系统架构和版本见下表:
① PolarDB For PG v11 支持
架构 | 发行版本 |
x86_64 | RHEL/CentOS 7 |
x86_64 | RHEL/CentOS/RockyLinux/AlmaLinux 8 |
x86_64 | RHEL/CentOS/RockyLinux/AlmaLinux 9 |
② PolarDB For PG v15 支持
架构 | 发行版本 |
x86_64 | RHEL/CentOS/RockyLinux/AlmaLinux 8 |
x86_64 | RHEL/CentOS/RockyLinux/AlmaLinux 9 |
wget -qO /tmp/clup.sh --no-check-certificate
https://get.csudata.com/csuinst/clup.sh && bash /tmp/clup.sh db install
安装额外的依赖(所有数据库服务器)
yum install psmisc ipmitool.x86_64 mdadm device-mapper-multipath device-mapper-multipath-libs iscsi-initiator-utils
3. 控制存储(共享盘)
以下所有操作均在CLup管理端操作。
在/opt/clup/conf/clup.conf配置文件中设置参数
vi /opt/clup/conf/clup.conf
esdisk_enable = 1
重启clup服务
systemctl restart clup
配置存储:/opt/clup/conf/cdpolar.yml,示例配置如下:
cp example_cdpolar.yml cdpolar.yml
vi cdpolar.yml
hosts:
polardb-01:
mip: 10.197.165.50
sips: [172.16.1.50,172.16.2.50]
acl: [172.16.1.0/24,172.16.2.0/24]
# 模式有iscsi、iser、knof、spdk
# spdk_sargs: -m e # 这是指定cpu的掩码,十六进制的数字,e即二进制的1110,使用cpu 1,2,3,即这几个CPU会100%
# iser_sargs: -t 6 # -t 参数指定io处理线程数
# iscsi_sargs: -t 6 # -t 参数指定io处理线程数
iscsi:
ssd01: /dev/disk/by-path/pci-0000:00:09.0-scsi-0:0:0:0
polardb-02:
mip: 10.197.165.51
sips: [172.16.1.51,172.16.2.51]
acl: [172.16.1.0/24,172.16.2.0/24]
iscsi:
ssd01: /dev/disk/by-path/pci-0000:00:09.0-scsi-0:0:0:0
polardb-03:
mip: 10.197.165.52
sips: [172.16.1.52,172.16.2.52]
acl: [172.16.1.0/24,172.16.2.0/24]
iscsi:
ssd01: /dev/disk/by-path/pci-0000:00:09.0-scsi-0:0:0:0
polardb-04:
mip: 10.197.165.53
sips: [172.16.1.53,172.16.2.53]
acl: [172.16.1.0/24,172.16.2.0/24]
polardb-05:
mip: 10.197.165.54
sips: [172.16.1.54,172.16.2.54]
acl: [172.16.1.0/24,172.16.2.0/24]
mds:
1:
cfdisks: [polardb-01.ssd01, polardb-02.ssd01, polardb-03.ssd01]
raid: raid5
metadata: 1.2
bitmap_chunk: 1M
esdisks:
# 盘的名称必须以nvmecsu开头,如下面的nvmecsu01
nvmecsu01: [1]
配置环境变量(root)
export PATH=/opt/clup/bin/:#PATH
初始化各数据库服务器
cdpolar init_env os -n polardb-01
cdpolar init_env os -n polardb-02
cdpolar init_env os -n polardb-03
cdpolar init_env os -n polardb-04
cdpolar init_env os -n polardb-05
格式化共享盘
cdpolar esdisk format -e nvmecsu01
接下来的操作需要在WebUi的界面——CLup中完成。
登录CLup(10.197.165.50:8090)
账号: admin
密码: cstech
进入ESDisk管理界面
在ESDisk信息界面中可以看到共享磁盘的共享情况,首次共享建议先取消共享,再共享
开启共享后,在主机挂载状态界面可挂载共享磁盘到计算节点(可多挂),如图所示
4. 创建PolarDB共享存储集群
创建VIP池
在集群定义中可创建Polardb共享存储集群
选择数据库主机、polardb软件,填写数据目录等信息
选择VIP池,并分配集群VIP
填写共享磁盘名称,检测后,进行磁盘格式化
剩下的步骤点击下一步即可。最后点击确定创建PolarDB共享存储集群
出现Success就表示创建成功了,可以使用该PolarDB共享存储集群了