目前支持两种方式搭建集群:

使用cluster_manager.sh或是手工搭建,推荐使用cluster_manager.sh搭建集群:

目录

4.1. 使用cluster_manager.sh搭建集群 ¶

4.1.1. 搭建集群 ¶

4.1.2. 管理进程 ¶

4.2. 手工搭建集群 ¶

4.2.1. 配置主机名称 ¶

4.2.2. 配置投票盘 ¶

4.2.3. 配置并启动corosync ¶

4.2.4. 配置并启动pacemaker ¶

4.2.5. 启动corosync-qdevice ¶

4.2.6. 配置crmsh ¶

4.2.7. crm配置资源 ¶


4.1. 使用cluster_manager.sh搭建集群 ¶

以下操作需要在集群中每个节点执行

目前提供一个cluster_manager.sh 脚本来帮助搭建集群与管理集群。

具体功能可以使用如下命令来查看该脚本提供的功能

sh cluster_manager.sh --help
Usage: cluster_manager.sh <options>
<options> may be:--help                  show this help, then exit-A, --all               config all(default) incldue init_db--exclude_data_init     config all(default) but excludeinit_db qdisk_init config_resouce--config_host           config host--clean_host            clean host--qdisk_init            init votingdisk--config_corosync       config corosync--start_corosync        start corosync--stop_corosync         stop corosync--status_corosync       corosync status--add_pacemaker_user    add pacemaker daemon user--remove_pacemaker_user remove pacemaker daemon user--add_env               add env variable--clean_env             clean env variable--config_pacemaker      config pacemaker--start_pacemaker       start pacemaker--stop_pacemaker        stop pacemaker--status_pacemaker      pacemaker status--config_qdevice        config qdevice--start_qdevice         start qdevice--stop_qdevice          stop qdevice--status_qdevice        qdevice status--config_datadir        config filesystem dir--config_kingbase       config kingbase log dir--init_db               init kingbase database--config_resource       crm configure resource--stop_resource         stop resource--mount_dir             mount dir--umount_dir            umount dir--clean_all             clean all config but not forkingbase data--start                 start corosync, wait for quorate, start pacemaker and qdevice--start_nowait          start corosync, pacemaker and qdevice, do not wait for quorate--stop                  stop qdevice pacemaker corosync--status                show corosync pacemaker qdevice status

要想使用该脚本,首先需要根据现实环境替换该脚本的一些初始化变量。

4.1.1. 搭建集群 ¶

推荐的搭建过程:

1 根据真实环境,配置好脚本的相关变量

2 选择一个节点执行qdisk_init操作

sh cluster_manager.sh --qdisk_init

3 每个节点执行如下命令

该命令除了初始化数据库data目录,以及配置资源外,其他步骤都已经完成

sh cluster_manager.sh --exclude_data_init

4 在最后一个节点执行如下命令

该命令完成数据库初始化,并配置资源,如果kingbase已经完成初始化,则--init_db不需要执行,没有使用init_db初始化数据库,则需要配置crmsh,具体查看手工搭建集群的配置crmsh章节,/root/.bashrc 为环境变量配置参数。

source /root/.bashrc
sh cluster_manager.sh --init_db
sh cluster_manager.sh --config_resource

5 使用如下命令,查看集群启动过程,

crm_mon

至此,整个集群搭建完毕

如果要一键清除安装的程序,每个节点执行如下命令

sh cluster_manager.sh --clean_all

注意

执行该命令,将会删除整个集群安装的目录,即install_dir变量指定的路径,同理会删除之前的cluster_manager.sh,如果要想重复测试,最好先保存配置好的cluster_manager.sh,该命令并不会清除已经初始化的kingbase的data目录,如果需要清除数据目录,需要手动挂载目录,并清除。

4.1.2. 管理进程 ¶

下面的操作,仅对执行节点有效

  1. 使用如下命令,查看集群进程

sh cluster_manager.sh --status
  1. 使用如下命令,启动集群进程

sh cluster_manager.sh --start
  1. 使用如下命令,停止集群进程

sh cluster_manager.sh --stop

4.2. 手工搭建集群 ¶

以下操作需要在集群中每个节点执行

4.2.1. 配置主机名称 ¶

  1. 编辑/etc/hostname

vi /etc/hostname

添加主机名node1

node1
  1. 执行如下命令,修改hostname

hostname node1
  1. 修改/etc/hosts文件,将主机名与IP地址对应

格式为先IP,然后空格,最后是主机名,示例如下

192.168.5.1 node1

4.2.2. 配置投票盘 ¶

  1. 执行fdisk -l命令查看,我们将/dev/sde作为共享磁盘投票盘

fdisk -lDisk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000be610Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    41943039    19921920   8e  Linux LVMDisk /dev/sdb: 33.3 GB, 33285996544 bytes, 65011712 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xfc8de79dDevice Boot      Start         End      Blocks   Id  SystemDisk /dev/mapper/centos-root: 18.2 GB, 18249416704 bytes, 35643392 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytesDisk /dev/mapper/centos-swap: 2147 MB, 2147483648 bytes, 4194304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytesDisk /dev/sdc: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytesDisk /dev/sdd: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytesDisk /dev/sde: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
  1. 使用mkqdisk 工具进行投票盘初始化

cd /opt/KingbaseHA/corosync-qdevice/sbin/
./mkqdisk -c /dev/sde -l kcluster
  1. 通过如下命令,可以查看共享磁盘状态

./mkqdisk -f kcluster -d/dev/block/8:64:
/dev/disk/by-id/scsi-36000c2900dc5b0faf12188476a673a3f:
/dev/disk/by-id/wwn-0x6000c2900dc5b0faf12188476a673a3f:
/dev/disk/by-path/pci-0000:13:00.0-scsi-0:0:2:0:
/dev/sde:Magic:                eb7a62c2Label:                kclusterCreated:              Mon Mar  1 12:01:00 2021Host:                 node3Kernel Sector Size:   512Recorded Sector Size: 512

4.2.3. 配置并启动corosync ¶

  1. 执行如下命令,配置corosync.conf

cd /opt/KingbaseHA/corosync/etc/corosync
vi corosync.conf

添加如下内容

totem {version: 2cluster_name: kclustertoken: 60000join: 3000crypto_hash: nonecrypto_cipher: noneinterface {knet_ping_interval: 1000knet_ping_timeout: 60000}
}nodelist {node {ring0_addr: node1nodeid: 1}node {ring0_addr: node2nodeid: 2}
}quorum {provider: corosync_votequorumdevice {timeout: 200000sync_timeout: 240000master_wins: 1votes: 1model: diskdisk {debug: 0interval: 2000tko: 60tko_up: 3upgrade_wait: 1master_wait: 4label: kclusterio_timeout: 1fence_timeout: 50000}}
}logging {debug: offto_logfile: yeslogfile: /opt/KingbaseHA/corosync/var/log/cluster/corosync.loglogger_subsys {subsys: QDEVICEdebug: off}
}

其中nodelist 是配置集群节点信息,每个节点只需提供name,nodeid,ring0_addr,其中name通常指定节点名称,一般用hostname,nodeid指集群节点号,需从1开始,ring0_addr指定节点通信接口,一般用hostname,corosync将会自动寻找hostname对应的ip,然后该ip对应的接口名称。

需要配置多个节点时,只需往该文件中加node{}

Quorum配置集群的投票信息,针对device,一般配置vote,该vote需要不小于集群节点数–1,disk中的label指明共享投票盘的位置,需要和使用mkqdisk工具初始化的-L对应。

  1. 执行如下命令将启动脚本拷贝到系统初始化脚本目录

cp /opt/KingbaseHA/corosync/corosync /etc/init.d/
  1. 执行如下命令,创建lock目录

mkdir -p /opt/KingbaseHA/corosync/var/lock/subsys
mkdir /opt/KingbaseHA/corosync/var/run
  1. 执行如下命令,配置corosync的logrotate

cp /opt/KingbaseHA/corosync/etc/logrotate.d/corosync /etc/logrotate.d/
  1. 执行如下命令启动corosync

/etc/init.d/corosync start
  1. 执行如下命令,查看corosync启动状态

tail -f /opt/KingbaseHA/corosync/var/log/cluster/corosync.logJul 17 10:09:10 [12256] node1 corosync notice [TOTEM ] A new membership
(1.14) was formed. Members joined: 1
Jul 17 10:09:10 [12256] node1 corosync notice [QUORUM] Members[1]: 1
Jul 17 10:09:10 [12256] node1 corosync notice [MAIN ] Completed service
synchronization, ready to provide service.

4.2.4. 配置并启动pacemaker ¶

  1. 执行如下命令,创建pacemaker管理用户

groupadd haclient
useradd hacluster -g haclient
  1. 执行如下命令,添加环境变量

vi /root/.bashrc

添加如下内容

export
PATH=/opt/KingbaseHA/python2.7/bin:/opt/KingbaseHA/pacemaker/sbin/:$PATH
export
PATH=/opt/KingbaseHA/crmsh/bin:/opt/KingbaseHA/pacemaker/libexec/pacemaker/:
$PATH
export
PATH=/opt/KingbaseHA/corosync/sbin:/opt/KingbaseHA/corosync-qdevice/sbin:
$PATH
export
PYTHONPATH=/opt/KingbaseHA/python2.7/lib/python2.7/site-packages/:
/opt/KingbaseHA/crmsh/lib/python2.7/site-packages:$PYTHONPATH
export
COROSYNC_MAIN_CONFIG_FILE=/opt/KingbaseHA/corosync/etc/corosync/corosync.conf
export CRM_CONFIG_FILE=/opt/KingbaseHA/crmsh/etc/crm/crm.conf
export OCF_ROOT=/opt/KingbaseHA/pacemaker/ocf/
export HA_SBIN_DIR=/opt/KingbaseHA/pacemaker/sbin/
  1. 执行如下命令,让环境变量生效

source /root/.bashrc
  1. 执行如下命令,拷贝启动脚本到系统初始化脚本位置

cp /opt/KingbaseHA/pacemaker/pacemaker /etc/init.d/
  1. 执行如下命令,配置pacemaker logrotate

cp /opt/KingbaseHA/pacemaker/etc/logrotate.d/pacemaker /etc/logrotate.d/
  1. 执行如下命令,创建lock目录

mkdir -p /opt/KingbaseHA/pacemaker/var/lock/subsys
  1. 执行如下命令,确保pacemaker的各个守护进程有权限操作对应目录

chown –R hacluster:haclient /opt/KingbaseHA/pacemaker
  1. 执行如下命令,启动pacemaker

/etc/init.d/pacemaker start
  1. 执行如下命令,查看pacemaker 日志,观察启动情况

tail -f /opt/KingbaseHA/pacemaker/var/log/pacemaker/pacemaker.log

4.2.5. 启动corosync-qdevice ¶

  1. 执行如下命令,拷贝qdevie启动脚本到系统存放初始化脚本的位置

cp /opt/KingbaseHA/corosync-qdevice/corosync-qdevice /etc/init.d/
  1. 执行如下命令,创建lock目录

mkdir -p /opt/KingbaseHA/corosync-qdevice/var/lock/subsys
  1. 执行如下命令,启动corosync-qdevice

/etc/init.d/corosync-qdevice start
  1. 查看启动的日志,该日志一般放在系统syslog里面,搜索关键字corosync-qdevice

tail -f /var/log/syslog2020-07-20T11:26:25.744754+08:00 localhost corosync-qdevice[5849]: m_arg = 16
2020-07-20T11:26:25.744784+08:00 localhost corosync-qdevice[5849]: m_seq = 16
2020-07-20T11:26:25.744814+08:00 localhost corosync-qdevice[5849]: }
2020-07-20T11:26:25.744845+08:00 localhost corosync-qdevice[5849]:
ni_state = 0x00000000 (None)
2020-07-20T11:26:25.744876+08:00 localhost corosync-qdevice[5849]:
ni_status.ps_ringid = 16,16
2020-07-20T11:26:25.744907+08:00 localhost corosync-qdevice[5849]:
ni_status.ps_member_count = 16
2020-07-20T11:26:25.744937+08:00 localhost corosync-qdevice[5849]: }
  1. 执行如下命令,查看qdevice状态

/opt/KingbaseHA/corosync-qdevice/sbin/corosync-qdevice-tool -sv -p
/opt/KingbaseHA/corosync-qdevice/var/run/corosync-qdevice/
corosync-qdevice.sock

4.2.6. 配置crmsh ¶

crmsh用于部署和运维过程中的资源配置、资源操作和存储查看,支持的相关子命令为:configure、resource、storage。其他子命令不在支持范围,可以使用crm_系列命令、corosync_系列命令替代。

  1. 配置crm.conf,路径为/opt/KingbaseHA/crmsh/etc/crm/crm.conf,在此配置文件中添加如下内容:

[core]
pager = less –R
  1. 配置crm_dns.conf,路径为/opt/KingbaseHA/crmsh/etc/crm/crm_dsn.conf,其中的password为base64编码,可通过echo -n‘123456’| base64得到编码后的密码。

# 注意配置需要顶格
[Kingbase reourse name1]        /* kingbase资源名 */
port=36321                      /* KingbaseES资源监听端口号 */
database=test /* 数据库名,一般使用系统自带的test数据库即可 */
username=system                 /* 数据库管理员 */
password=MTIzNDU2               /* 数据库管理员密码 */[Kingbase reourse name2]        /* kingbase资源名 */
port=36321
database=test
username=system
password= MTIzNDU2

4.2.7. crm配置资源 ¶

该操作,只需在某一台机器上执行

资源:

  • 两个VIP资源

  • 两个filesystem资源

  • 两个KingbaseES V8.6 数据库资源

  • fence资源

  • 一个pind的clone资源,ping外部网关

  1. 执行如下命令,配置fence

针对VMWARE ESXi环境和IPMI环境,给出两种不同的配置

  1. 使用fence_vmware_soap 验证可以fence的机器,注意机器的主机名需要与下面命令查出的主机名对应

fence_vmware_soap -a 192.168.4.5 -z -l root -p 'Kingbase@99'
--ssl-insecure -o list
--
R0cky_4.225,564db803-649a-98f3-4d63-d4988bcc8d67
centos7-node5_4.230,564d6e77-6ca0-25b3-b48d-4e80c27dc1f6
rocky_227,564d351d-d9d4-9c29-f570-4aead1476b1f
centos7-node6_4.231,564da140-cedc-7958-e477-966f08c1c21a
rocky_226,564dba52-7f8d-af92-9187-a75d3a74cebf
centos7-node4_4.225,564d9efe-8044-ba39-a946-b913730c6aeb
centos7-node3_4.224,564d22af-fbcc-2399-b67e-27a793933c54
rocky_228,564d9951-8830-1aec-f067-7673bf9e4053
centos7-node7_4.232,564dec1b-fb7b-1cb7-f961-c468df1ebb46
centos7-node1_4.222,564d8fed-770a-ca7d-8481-13270d38cf6f
Kylin-4.0.2-server-sp1-TEST2_4.39,564dfcb9-169a-d2fc-a8f2-bc4e56dd3755
DeepinTest1_4.42,564d4a66-cdf4-56c9-2b8e-ed5d595181c2
centos7-node2_4.223,564d7c7c-6f32-eedb-13a9-7577dc4d7c73
centos7-node8_4.229,564d7c7c-6f32-eedb-13a9-7577dc4d7c73
Kylin-4.0.2-server-sp1-TEST1_4.37,564dd89f-81dd-f515-e8a5-5eb844dd5240
vpn,564d87fa-9ce1-23c8-298d-fd3864265ceb
win7_215,564d359e-7c7b-54ef-7d68-724461456ef8
neokylin7-TEST1,564d1661-a21c-e4b8-9300-a168b2e58684
  1. 配置fence

crm configure primitive esxi_fence stonith:fence_vmware_soap \params ipaddr=192.168.4.5 login=root passwd='Kingbase@99'
pcmk_host_check=none ssl=1 ssl_insecure=1 \op monitor interval=60s \meta failure-timeout=5min
  1. 可以使用如下命令,测试fence,下面命令是给centos7-node4_4.225 发送reboot命令

fence_vmware_soap -a 192.168.4.5 -l root -p 'Kingbase@99' -z --ssl-insecure -o
reboot -n centos7-node4_4.225

看节点是否重启

下面是针对ipmi环境配置fence

  1. 针对ipmilan环境配置fence,需要注意IPMI设备一般为各个节点独占,因此需要为各个节点配置单独的fence资源。

针对node1设置fence

crm configure primitive fence_node1_ipmi stonith:fence_ipmilan \params ipaddr=192.168.2.100 login=Administrator
passwd="Admin@9000" pcmk_host_list=node1
lanplus=true ipmitool_path=/opt/KingbaseHA/ipmi_tool/bin/ipmitool \op monitor interval=60s \meta failure-timeout=5min

针对node2设置fence

crm configure primitive fence_node2_ipmi stonith:fence_ipmilan \params ipaddr=192.168.2.101 login=Administrator
passwd="Admin@9000" pcmk_host_list=node2
lanplus=true ipmitool_path=/opt/KingbaseHA/ipmi_tool/bin/ipmitool \op monitor interval=60s \meta failure-timeout=5min
  1. 执行如下命令,添加fence_node1_ipmi和fence_node2_ipmi的location约束。为了保证fence_node1_ipmi资源尽量不在节点node1,fence_node2_ipmi资源尽量不在节点node2,从而减少fence自己的概率,又由于资源在各个节点的默认分数为0,因此需要保证fence_node1_ipmi资源在node2的分数、fence_node2_ipmi在node1的分数均大于rsc_defaults resource-stickiness的分数。

crm configure location fence_node1_ipmi-on-node2 fence_node1_ipmi 1000: node2
crm configure location fence_node2_ipmi-on-node1 fence_node2_ipmi 1000: node1
  1. 可以使用如下命令,测试fence,下面命令是向192.168.2.100发送reboot命令。

fence_ipmilan -a 192.168.2.100 -l Administrator -p 'Admin@9000' -P
--ipmitool-path=/opt/KingbaseHA/ipmi_tool/bin/ipmitool -o reboot

看节点是否重启

  1. 执行如下命令 添加FIP1资源,其中 cid_netmask 最好与bond0接口其所在的非浮动IP的netmask保持一致,保证在集群中各节点都具有此同名网卡接口,可以使用ip addr查看

crm configure primitive FIP1 ocf:heartbeat:IPaddr2 \params ip="192.168.4.135" cidr_netmask="24" nic="bond0" \arp_sender="iputils_arping" \op monitor interval="30s" timeout="60s" \op start interval="0" timeout="60s" \op stop interval="0" timeout="60s" \meta failure-timeout=5min
  1. 执行如下命令,添加VIP1 location约束,多个节点,最好分数不一样

crm configure location FIP1-on-node1 FIP1 1000: node1
  1. 执行如下命令

添加FIP2资源,cidr_netmask最好与bond0接口原有非浮动IP的netmask保持一致,保证在集群中各节点都具有此同名网卡接口,可以使用ip addr查看

crm configure primitive FIP2 ocf:heartbeat:IPaddr2 \params ip="192.168.4.136" cidr_netmask="24" nic="bond0" \arp_sender="iputils_arping" \op monitor interval="30s" timeout="60s" \op start interval="0" timeout="60s" \op stop interval="0" timeout="60s" \meta failure-timeout=5min
  1. 执行如下命令,添加FILESYSTEM1资源,需确保每个节点/sharedata/data1目录存在,sharedata属主是root,data1属主改成数据库用户。使用如下命令查看存储设备/dev/sdc 对应的uuid

blkid /dev/sdc
/dev/sdc: UUID="d8f017f4-6c0a-4cd2-aee3-1a5c522f3cd8" TYPE="ext4"
  1. 增加资源

crm configure primitive FILESYSTEM1 ocf:heartbeat:Filesystem \params device="-U d8f017f4-6c0a-4cd2-aee3-1a5c522f3cd8" \directory="/sharedata/data1" fstype="ext4" \op start interval="0" timeout="60" \op stop interval="0" timeout="60" \op monitor interval="30s" timeout="60" OCF_CHECK_LEVEL="20" \meta failure-timeout=5min
  1. 执行如下命令,添加FILESYSTEM2,需确保每个节点/sharedata/data2目录存在,sharedata属主是root,data1属主改成数据库用户

查看uuid

blkid /dev/sdd
/dev/sdd: UUID="e56c1f6f-b791-4f0e-8780-5b3aeaef94d5" TYPE="ext4"
crm configure primitive FILESYSTEM2 ocf:heartbeat:Filesystem \params device="-U e56c1f6f-b791-4f0e-8780-5b3aeaef94d5" \directory="/sharedata/data2" fstype="ext4" \op start interval="0" timeout="60" \op stop interval="0" timeout="60" \op monitor interval="30s" timeout="60" OCF_CHECK_LEVEL="20" \meta failure-timeout=5min
  1. 执行如下命令,添加PINGD资源.目前来说,当网关与集群网络心跳共用同一个网络时,发生网络故障时,将会触发分区故障,而我们总是选择最小的ID当主节点,此时如果主节点刚好接口down掉,此时集群整个处于不能对外提供服务状态,此时考虑可以设置failure_action=”reboot”,failure_retries参数,当集群不能对外提供服务时,自身reboot,剩余的节点对外提供服务,后面基于heuristics测试选主做好之后,可以避免这种情况。

crm configure primitive PINGD ocf:pacemaker:ping \params host_list="192.168.4.1" multiplier="100" name="ping-in" \failure_score="100" failure_action=”reboot”failure_retries=3 \op monitor interval="2" timeout="90" \op start interval="0" timeout="90" \op stop interval="0" timeout="90" \meta failure-timeout=5min
  1. 执行如下命令,将PIND资源,变成clone资源

crm configure clone CLONE-PINGD PINGD
  1. 执行如下命令,添加一个分库资源,注意/sharedata/data1/data目录下的kingbase.conf需要手动配置port=36321,需要手动创建/home/kingbase/V8/Server/log目录

crm configure primitive DB1 ocf:kingbase:kingbase \params sys_ctl="/home/kingbase/V8/Server/bin/sys_ctl" \ksql="/home/kingbase/V8/Server/bin/ksql" \sys_isready="/home/kingbase/V8/Server/bin/sys_isready" \kb_data="/sharedata/data1/data" \kb_dba="kingbase" kb_host="0.0.0.0" \kb_user="system" \kb_port="36321" \kb_libs="/home/kingbase/V8/Server/lib" \kb_db="template1" \logfile="/home/kingbase/V8/Server/log/kingbase1.log" \op start interval="0" timeout="120" \op stop interval="0" timeout="120" \op monitor interval="9s" timeout="30" \meta failure-timeout=5min
  1. 执行如下命令,添加另一个分库资源,需要修改相应的/sharedata/data2/data/kingbase.conf中的port为36322

crm configure primitive DB2 ocf:kingbase:kingbase \params sys_ctl="/home/kingbase/V8/Server/bin/sys_ctl" \ksql="/home/kingbase/V8/Server/bin/ksql" \sys_isready="/home/kingbase/V8/Server/bin/sys_isready" \kb_data="/sharedata/data2/data" \kb_dba="kingbase" kb_host="0.0.0.0" \kb_user="system" \kb_port="36322" \kb_libs="/home/kingbase/V8/Server/lib" \kb_db="template1" \logfile="/home/kingbase/V8/Server/log/kingbase2.log" \op start interval="0" timeout="120" \op stop interval="0" timeout="120" \op monitor interval="9s" timeout="30" \meta failure-timeout=5min
  1. 执行如下命令,创建DB1组资源

crm configure group DB1_GROUP FIP1 FILESYSTEM1 DB1
  1. 执行如下命令,创建DB2组资源

crm configure group DB2_GROUP FIP2 FILESYSTEM2 DB2
  1. 添加DB1 location约束,多个节点,最好分数不一样

crm configure location DB1-on-node1 DB1_GROUP 1000: node1
crm configure location DB1-on-node2 DB1_GROUP 800: node2
  1. 添加DB2 location约束,为了达到负载均衡,DB2资源的在各个节点的分数要和VIP2正好相反。

crm configure location DB2-on-node1 DB2_GROUP 800: node1
crm configure location DB2-on-node2 DB2_GROUP 1000: node2
  1. 执行如下命令,创建资源约束

crm configure colocation cluster-colo1 inf: DB1_GROUP CLONE-PINGD
crm configure colocation cluster-colo2 inf: DB2_GROUP CLONE-PINGD
  1. 设置资源保留在原节点的分数,如果考虑高可用性,即重启节点,不对资源产生迁移,需确保location约束的分数+该分数都大于最大的location得到的分数,如果考虑性能,即资源负载问题,那么需要将该值设置的越小越好。

crm configure rsc_defaults resource-stickiness=500

金仓数据库KingbaseES Clusterware配置手册(搭建集群 )相关推荐

  1. 金仓数据库KingbaseES Clusterware配置手册(集群搭建前置操作 )

    搭建集群中各个操作,每个集群节点都需要执行,以root用户操作. 搭建Clusterware集群,需要一些前置操作,本章主要介绍前置操作.前置操作首先是部署包的处理,主要分为集成化安装包和绿色版安装包 ...

  2. 金仓数据库KingbaseES主备和读写分离集群使用手册(日常运维管理)

    对应10小节作的整改,包括但不限于一键启动的检查项目.对属于一键启动的检查项作个说明即可,比如 本检查属于一键启动默认检查项. 目录 7.1. 集群启停 ¶ 7.1.1. 一键启停方式 ¶ 7.1.2 ...

  3. 金仓数据库KingbaseES备份与恢复工具手册(还原与恢复)

    物理还原即使用sys_rman将当时做备份的物理文件恢复回来,但由于物理备份时,数据库还是会有不断的数据写入,因此拷贝过程中,物理文件可能已经发生了变化.数据库在物理还原(以下简称还原)结束后,还要进 ...

  4. 金仓数据库KingbaseES本地化配置LC_CTYPE和lLC_COLLATE

    区域支持指的是应用遵守文化偏好的问题,包括字母表.排序.数字格式等.KingbaseES使用服务器操作系统提供的标准 ISO C 和POSIX的区域机制. 区域支持是在使用initdb创建一个数据库集 ...

  5. 金仓数据库 KingbaseES 插件参考手册 pldbgapi

    67. pldbgapi 67.1. 插件pldbgapi简介 插件pldbgapi是KingbaseES 的一个扩展插件.主要用于PL/pgSQL语言的存储过程/函数的代码调试. 插件名为 pldb ...

  6. 金仓数据库 KingbaseES 插件参考手册 O

    61. oracle_fdw 61.1. 插件oracle_fdw简介 oracle_fdw是kingbaseES的一个扩展插件,它提供了一个外部数据包装器,可以方便高效的访问oracle数据库,包括 ...

  7. 金仓数据库 KingbaseES 插件参考手册 plsql_plprofiler

    68. plsql_plprofiler 68.1. 插件plsql_plprofiler简介 插件plsql_plprofiler是KingbaseES 的一个扩展插件.plsql_plprofil ...

  8. 金仓数据库 KingbaseES 插件参考手册 pg_partman

    66. pg_partman 66.1. 插件pg_partman简介 66.1.1. 功能和发展 partman是pg的一个扩展,可帮助使用者更轻松地管理基于time或serialid的分区表.pa ...

  9. 金仓数据库KingbaseES ORACLE_FDW常见问题

    ​  1. OCIEnvCreate错误 错误信息:error:error connecting to Oracle: OCIEnvCreate failed to create environmen ...

最新文章

  1. 【实战分享】使用Core Audio实现VoIP通用音频模块
  2. UIView常见属性
  3. linux主从服务器不能同步,Linux下redis的持久化、主从同步与哨兵详解
  4. linux ppc64 是什么,docker - 在(模拟)PPC64 Linux上的backtrace()segfaults - 堆栈内存溢出...
  5. 【李宏毅2020 ML/DL】P13 Backpropagation | 神经网络反向传播到底是怎么计算的
  6. jquery快速入门(二)
  7. 面向对象编程OOP Object oriented programing
  8. 写给我们奔三的80后们……
  9. 一次Linux驱动升级的问题记录
  10. 用堆栈和用递归分别实现倒序打印
  11. H5 video 播放器demo
  12. 2020年内蒙古自治区第十五届大学生程序设计竞赛榜单
  13. win10系统暴雪战网连不上服务器,win10系统暴雪战网无法登陆的解决方法
  14. Unity3D脚本中文系列教程(八)
  15. 韦伯望远镜拍摄图片震撼来袭!!
  16. (七) carla真实世界坐标系与全局俯视地图像素坐标系变换
  17. IP核Map编译报错:Buffers of the same direction cannot beplaced in series.
  18. 《一升的眼泪》日语台词
  19. win10下装黑苹果双系统_电脑笔记本win10系统重装一体机W7苹果mac双系统远程维修8虚拟机...
  20. vue.js devtools下载(亲测可用)

热门文章

  1. 第五章 STM32+LD3320语音识别控制淘宝USB宿舍书桌灯
  2. 国外整理的一套在线渗透测试资源合集
  3. bingMap的使用小结
  4. powershell_功能扩展模块PSReadline(psReadlinekeyhandler)相关功能函数以及快捷键绑定情况(by official document)
  5. 抖音直播间 开场话术讲解 促单话术 追单话术
  6. 二进制算法_本地二进制模式算法:其背后的数学❗️
  7. Java根据Calendar推算时间公共方法
  8. try catch的用法
  9. 关于env(safe-area-inset-bottom)的兼容问题
  10. 洛谷 P1104生日 C语言