#集群管理命令

# ycsctl create cluster

该命令用于创建一个新的集群,命令格式如下:

ycsctl create cluster clustername -ycsdisk diskpath [-clusterid id] [-o]

clustername

集群名称,要求4 ~ 64个字符,支持字母、数字以及下划线,且必须以字母开头。

diskpath

YCS投票盘的路径,路径部分必须是有效的磁盘路径。长度不大于256个字符。投票盘对应磁盘大小应该超过100M。

clusterid

集群唯一ID,要求1~32个十六进制字符,用于区分集群的唯一性。此选项非必选,通过yasboot部署共享集群时会自动生成唯一ID。

-o

表示覆盖上一个集群,如果加了此选项,则之前创建的集群配置信息都将被删除,请谨慎使用

# ycsctl set_ycr

该命令用于给当前集群配置参数,命令格式如下:

ycsctl set_ycr key value

key

支持对NETWORK_HB_TIMEOUT和DISK_HB_KEEP_ALIVE的离线修改,修改前请先停止集群运行。参数详细说明请参考共享集群配置

value

对应参数的取值范围中的某个整数值:

  • NETWORK_HB_TIMEOUT:取值范围[2,600],默认值为30。
  • DISK_HB_KEEP_ALIVE:取值范围[2,600],默认值为30。

# ycsctl add node

该命令用于在当前集群中添加一个节点,命令格式如下:

ycsctl add node nodename yascs_url

nodename

为添加的节点指定一个名称,要求4 ~ 64个字符,支持字母、数字以及下划线,且必须以字母开头。

YCS要求nodename必须与服务器名称一致(使用hostnamectl命令查看所在服务器的名称),否则集群将启动失败。

yascs_url

节点对应服务器的地址及端口,格式为:IPv4:PORT/[IPv6]:PORT,例如:192.168.1.2:1770或[fc00:7::126]:1688,IP地址具体规格见yasql章节。

多个YCS节点之间通过yascs_url实现互联,需保证所指定的IP地址之间路由可达,端口号没有冲突。

# ycsctl add yasdbinstance

该命令用于在当前集群中添加数据库实例,该数据库实例必须已安装在集群中的某个节点上,命令格式如下:

ycsctl add yasdbinstance nodename.yasdbinstancename startshell stopshell monitorshell

nodename

集群中已存在的节点名称。

yasdbinstancename

节点上已安装的数据库实例名称,必须与该数据库中的INSTANCE_NAME参数值一致。

startshell

数据库实例的启动脚本名称,集群中所有节点的启动脚本名称必须一致。

该shell脚本必须为sh脚本,名称要求4 ~ 64个字符,支持字母、数字以及下划线,且必须以字母开头。

stopshell

数据库实例的停止脚本名称,集群中所有节点的停止脚本名称必须一致。

该shell脚本必须为sh脚本,名称要求4 ~ 64个字符,支持字母、数字以及下划线,且必须以字母开头。

monitorshell

数据库实例的监控脚本名称,集群中所有节点的监控脚本名称必须一致。

监控脚本是预留功能,仅需在此处配置,不要求此脚本存在。

# ycsctl import

该命令用于给当前集群导入指定的配置脚本,命令格式如下:

ycsctl import srcfile

srcfile

srcfile即为指定的配置脚本的完整路径。

# ycsctl export

该命令用于给当前集群导出配置脚本的信息,命令格式如下:

ycsctl export destdir

destdir

destdir即为需要导出到的目标文件夹,导出脚本固定名为ycrbackup.sh。

# ycsctl show config

该命令用于查看当前集群的配置信息,命令格式如下:

ycsctl show config

示例

$ ycsctl show config
    Cluster name: yasdb_tt123, config version: 4   
    Voting disk: /dev/sdd
    Network timeout: 30s
    Disk heartbeat keep alive: 30s
    Default resource yasfs: enabled	  
    Shell in cluster:   
      Start shell:   start.sh
      Stop shell:    stop.sh
      Monitor shell: monitor.sh
    Nodes in cluster:  
      Node name: yas1, yascs/yasfs inter connect URL: 192.168.7.133:1788, Node ID: 1
        yasdb instance name:yasdb, yasdb instance id:1
      Node name: yas2, yascs/yasfs inter connect URL: 192.168.7.133:1789, Node ID: 2
        yasdb instance name:yasdb, yasdb instance id:1

Cluster name

当前集群名称。

config version

YCR配置版本,集群创建后,每创建一个资源或节点,配置版本就会加1。

Voting disk

YCS投票盘的路径,安装后不可修改。

Network timeout

指定YCS网络心跳超时时间,单位为s(秒),超过此时间,判定为网络超时,YCS进入故障处理流程。

可以通过ycsctl set_ycr命令进行修改,key为NETWORK_HB_TIMEOUT。

Disk heartbeat keep alive

YCS磁盘心跳超时时间,单位为s(秒),超过此时间,认为YCS节点出现磁盘心跳故障并且无法恢复,YCS进入故障处理流程。

可以通过ycsctl set_ycr命令进行修改,key为DISK_HB_KEEP_ALIVE。

Default resource yasfs

内嵌资源YFS,默认启动。

Start shell

数据库实例的启动脚本名称。

Stop shell

数据库实例的停止脚本名称。

Monitor shell

数据库实例的监控脚本名称。

Node name

集群中的节点名称。

yascs/yasfs inter connect URL

节点间的互联地址。

yasdb instance name

节点上数据库实例的名称。

yasdb instance id

节点上数据库实例的ID。