金仓数据库KingbaseES Clusterware配置手册(搭建集群 )
目前支持两种方式搭建集群:
使用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. 管理进程 ¶
下面的操作,仅对执行节点有效
使用如下命令,查看集群进程
sh cluster_manager.sh --status
使用如下命令,启动集群进程
sh cluster_manager.sh --start
使用如下命令,停止集群进程
sh cluster_manager.sh --stop
4.2. 手工搭建集群 ¶
以下操作需要在集群中每个节点执行
4.2.1. 配置主机名称 ¶
编辑/etc/hostname
vi /etc/hostname
添加主机名node1
node1
执行如下命令,修改hostname
hostname node1
修改/etc/hosts文件,将主机名与IP地址对应
格式为先IP,然后空格,最后是主机名,示例如下
192.168.5.1 node1
4.2.2. 配置投票盘 ¶
执行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
使用mkqdisk 工具进行投票盘初始化
cd /opt/KingbaseHA/corosync-qdevice/sbin/ ./mkqdisk -c /dev/sde -l kcluster
通过如下命令,可以查看共享磁盘状态
./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 ¶
执行如下命令,配置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对应。
执行如下命令将启动脚本拷贝到系统初始化脚本目录
cp /opt/KingbaseHA/corosync/corosync /etc/init.d/
执行如下命令,创建lock目录
mkdir -p /opt/KingbaseHA/corosync/var/lock/subsys mkdir /opt/KingbaseHA/corosync/var/run
执行如下命令,配置corosync的logrotate
cp /opt/KingbaseHA/corosync/etc/logrotate.d/corosync /etc/logrotate.d/
执行如下命令启动corosync
/etc/init.d/corosync start
执行如下命令,查看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 ¶
执行如下命令,创建pacemaker管理用户
groupadd haclient useradd hacluster -g haclient
执行如下命令,添加环境变量
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/
执行如下命令,让环境变量生效
source /root/.bashrc
执行如下命令,拷贝启动脚本到系统初始化脚本位置
cp /opt/KingbaseHA/pacemaker/pacemaker /etc/init.d/
执行如下命令,配置pacemaker logrotate
cp /opt/KingbaseHA/pacemaker/etc/logrotate.d/pacemaker /etc/logrotate.d/
执行如下命令,创建lock目录
mkdir -p /opt/KingbaseHA/pacemaker/var/lock/subsys
执行如下命令,确保pacemaker的各个守护进程有权限操作对应目录
chown –R hacluster:haclient /opt/KingbaseHA/pacemaker
执行如下命令,启动pacemaker
/etc/init.d/pacemaker start
执行如下命令,查看pacemaker 日志,观察启动情况
tail -f /opt/KingbaseHA/pacemaker/var/log/pacemaker/pacemaker.log
4.2.5. 启动corosync-qdevice ¶
执行如下命令,拷贝qdevie启动脚本到系统存放初始化脚本的位置
cp /opt/KingbaseHA/corosync-qdevice/corosync-qdevice /etc/init.d/
执行如下命令,创建lock目录
mkdir -p /opt/KingbaseHA/corosync-qdevice/var/lock/subsys
执行如下命令,启动corosync-qdevice
/etc/init.d/corosync-qdevice start
查看启动的日志,该日志一般放在系统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]: }
执行如下命令,查看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_系列命令替代。
配置crm.conf,路径为/opt/KingbaseHA/crmsh/etc/crm/crm.conf,在此配置文件中添加如下内容:
[core] pager = less –R
配置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外部网关
执行如下命令,配置fence
针对VMWARE ESXi环境和IPMI环境,给出两种不同的配置
使用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
配置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
可以使用如下命令,测试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
针对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
执行如下命令,添加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
可以使用如下命令,测试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
看节点是否重启
执行如下命令 添加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
执行如下命令,添加VIP1 location约束,多个节点,最好分数不一样
crm configure location FIP1-on-node1 FIP1 1000: node1
执行如下命令
添加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
执行如下命令,添加FILESYSTEM1资源,需确保每个节点/sharedata/data1目录存在,sharedata属主是root,data1属主改成数据库用户。使用如下命令查看存储设备/dev/sdc 对应的uuid
blkid /dev/sdc /dev/sdc: UUID="d8f017f4-6c0a-4cd2-aee3-1a5c522f3cd8" TYPE="ext4"
增加资源
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
执行如下命令,添加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
执行如下命令,添加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
执行如下命令,将PIND资源,变成clone资源
crm configure clone CLONE-PINGD PINGD
执行如下命令,添加一个分库资源,注意/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
执行如下命令,添加另一个分库资源,需要修改相应的/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
执行如下命令,创建DB1组资源
crm configure group DB1_GROUP FIP1 FILESYSTEM1 DB1
执行如下命令,创建DB2组资源
crm configure group DB2_GROUP FIP2 FILESYSTEM2 DB2
添加DB1 location约束,多个节点,最好分数不一样
crm configure location DB1-on-node1 DB1_GROUP 1000: node1 crm configure location DB1-on-node2 DB1_GROUP 800: node2
添加DB2 location约束,为了达到负载均衡,DB2资源的在各个节点的分数要和VIP2正好相反。
crm configure location DB2-on-node1 DB2_GROUP 800: node1 crm configure location DB2-on-node2 DB2_GROUP 1000: node2
执行如下命令,创建资源约束
crm configure colocation cluster-colo1 inf: DB1_GROUP CLONE-PINGD crm configure colocation cluster-colo2 inf: DB2_GROUP CLONE-PINGD
设置资源保留在原节点的分数,如果考虑高可用性,即重启节点,不对资源产生迁移,需确保location约束的分数+该分数都大于最大的location得到的分数,如果考虑性能,即资源负载问题,那么需要将该值设置的越小越好。
crm configure rsc_defaults resource-stickiness=500
金仓数据库KingbaseES Clusterware配置手册(搭建集群 )相关推荐
- 金仓数据库KingbaseES Clusterware配置手册(集群搭建前置操作 )
搭建集群中各个操作,每个集群节点都需要执行,以root用户操作. 搭建Clusterware集群,需要一些前置操作,本章主要介绍前置操作.前置操作首先是部署包的处理,主要分为集成化安装包和绿色版安装包 ...
- 金仓数据库KingbaseES主备和读写分离集群使用手册(日常运维管理)
对应10小节作的整改,包括但不限于一键启动的检查项目.对属于一键启动的检查项作个说明即可,比如 本检查属于一键启动默认检查项. 目录 7.1. 集群启停 ¶ 7.1.1. 一键启停方式 ¶ 7.1.2 ...
- 金仓数据库KingbaseES备份与恢复工具手册(还原与恢复)
物理还原即使用sys_rman将当时做备份的物理文件恢复回来,但由于物理备份时,数据库还是会有不断的数据写入,因此拷贝过程中,物理文件可能已经发生了变化.数据库在物理还原(以下简称还原)结束后,还要进 ...
- 金仓数据库KingbaseES本地化配置LC_CTYPE和lLC_COLLATE
区域支持指的是应用遵守文化偏好的问题,包括字母表.排序.数字格式等.KingbaseES使用服务器操作系统提供的标准 ISO C 和POSIX的区域机制. 区域支持是在使用initdb创建一个数据库集 ...
- 金仓数据库 KingbaseES 插件参考手册 pldbgapi
67. pldbgapi 67.1. 插件pldbgapi简介 插件pldbgapi是KingbaseES 的一个扩展插件.主要用于PL/pgSQL语言的存储过程/函数的代码调试. 插件名为 pldb ...
- 金仓数据库 KingbaseES 插件参考手册 O
61. oracle_fdw 61.1. 插件oracle_fdw简介 oracle_fdw是kingbaseES的一个扩展插件,它提供了一个外部数据包装器,可以方便高效的访问oracle数据库,包括 ...
- 金仓数据库 KingbaseES 插件参考手册 plsql_plprofiler
68. plsql_plprofiler 68.1. 插件plsql_plprofiler简介 插件plsql_plprofiler是KingbaseES 的一个扩展插件.plsql_plprofil ...
- 金仓数据库 KingbaseES 插件参考手册 pg_partman
66. pg_partman 66.1. 插件pg_partman简介 66.1.1. 功能和发展 partman是pg的一个扩展,可帮助使用者更轻松地管理基于time或serialid的分区表.pa ...
- 金仓数据库KingbaseES ORACLE_FDW常见问题
1. OCIEnvCreate错误 错误信息:error:error connecting to Oracle: OCIEnvCreate failed to create environmen ...
最新文章
- 【实战分享】使用Core Audio实现VoIP通用音频模块
- UIView常见属性
- linux主从服务器不能同步,Linux下redis的持久化、主从同步与哨兵详解
- linux ppc64 是什么,docker - 在(模拟)PPC64 Linux上的backtrace()segfaults - 堆栈内存溢出...
- 【李宏毅2020 ML/DL】P13 Backpropagation | 神经网络反向传播到底是怎么计算的
- jquery快速入门(二)
- 面向对象编程OOP Object oriented programing
- 写给我们奔三的80后们……
- 一次Linux驱动升级的问题记录
- 用堆栈和用递归分别实现倒序打印
- H5 video 播放器demo
- 2020年内蒙古自治区第十五届大学生程序设计竞赛榜单
- win10系统暴雪战网连不上服务器,win10系统暴雪战网无法登陆的解决方法
- Unity3D脚本中文系列教程(八)
- 韦伯望远镜拍摄图片震撼来袭!!
- (七) carla真实世界坐标系与全局俯视地图像素坐标系变换
- IP核Map编译报错:Buffers of the same direction cannot beplaced in series.
- 《一升的眼泪》日语台词
- win10下装黑苹果双系统_电脑笔记本win10系统重装一体机W7苹果mac双系统远程维修8虚拟机...
- vue.js devtools下载(亲测可用)
热门文章
- 第五章 STM32+LD3320语音识别控制淘宝USB宿舍书桌灯
- 国外整理的一套在线渗透测试资源合集
- bingMap的使用小结
- powershell_功能扩展模块PSReadline(psReadlinekeyhandler)相关功能函数以及快捷键绑定情况(by official document)
- 抖音直播间 开场话术讲解 促单话术 追单话术
- 二进制算法_本地二进制模式算法:其背后的数学❗️
- Java根据Calendar推算时间公共方法
- try catch的用法
- 关于env(safe-area-inset-bottom)的兼容问题
- 洛谷 P1104生日 C语言