更新ETCD
操作场景
数据库的ETCD使用证书默认是5年期限,在ETCD证书即将过期时需要对ETCD进行更新。
操作步骤
- 以omm用户身份登录GaussDB 100所在的任一服务器。
- 完全停止集群。
- 停止业务。
- 停止集群。
gs_om -t stop
- 停止ETCD。
gs_om -t stopetcd
- 更新ETCD使用证书。
- 在$GAUSSTMP下新建tmp目录。
mkdir $GAUSSTMP/tmp
- 备份$CM_HOME/keys文件夹的内容到$GAUSSTMP下的新建目录tmp下。
cp $CM_HOME/keys/* $GAUSSTMP/tmp/
- 在$GAUSSTMP/tmp路径下,获取集群所有节点的backip和etcdlistenip,并删除重复的IP。
cd $GAUSSTMP/tmp
cat /opt/software/gaussdb/cluster.xml | grep -E 'backIp|etcdlistenIp' <PARAM name="backIp1" value="10.xx.xx.159"/> <PARAM name="backIp1" value="10.xx.xx.125"/>
其中,/opt/software/gaussdb/cluster.xml是集群的安装配置文件。
- 将去重后的IP地址追加到member.json和server.json的host键中。
请参考如下示例,在该实例中10.xx.xx.159和10.xx.xx.125是追加的IP地址。
{ "CN": "ETCD-CM-Cluster", "hosts": [ "10.xx.xx.159", "10.xx.xx.125", "127.0.0.1", "etcd", "localhost" ], "key": { "algo": "ecdsa", "size": 256 }, "names": [ { "C": "US", "ST": "CA", "L": "San Francisco" } ] }
- 在$GAUSSTMP/tmp路径下,通过generate-cert.sh生成新的etcd的keys文件。
cd $GAUSSTMP/tmp
sh generate-cert.sh
- 将4中生成的新*.pem和*.json文件复制到集群所有其他节点的$CM_HOME/../keys目录下。
假设其它节点的IP分别是192.168.0.2、192.168.0.3。
scp $GAUSSTMP/tmp/*.pem root@192.168.0.2:$CM_HOME/../keys/
scp $GAUSSTMP/tmp/*.json root@192.168.0.2:$CM_HOME/../keys/
scp $GAUSSTMP/tmp/*.pem root@192.168.0.3:$CM_HOME/../keys/
scp $GAUSSTMP/tmp/*.json root@192.168.0.3:$CM_HOME/../keys/
- 修改目录和文件权限
cd $CM_HOME/..; chmod 700 keys; chmod 600 keys/*
- 删除更新ETCD使用证书过程中使用的tmp目录及该目录下的文件。
rm -rf $GAUSSTMP/tmp
- 恢复集群环境。
- 启动ETCD。
gs_om -t startetcd
- 启动集群。
gs_om -t start
- 启动业务。
- 启动集群。
- 启动ETCD。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」关注作者【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。评论
- 备份$CM_HOME/keys文件夹的内容到$GAUSSTMP下的新建目录tmp下。
- 停止ETCD。