etcd数据库服务器集群中,节点的信息与状态的查询:
[root@mk8s ~]# etcdctl --endpoints https://127.0.0.1:2379/ --cacert /path/ca.crt --cert /path/etcd-client.crt --key /path/etcd-client.key member list -w table
+------------------+---------+------+-----------------------------+-----------------------------+
| ID | STATUS | NAME | PEER ADDRS | CLIENT ADDRS |
+------------------+---------+------+-----------------------------+-----------------------------+
| c19a991234778990 | started | mk8s | https://192.168.1.10:2380 | https://192.168.1.10:2379 |
+------------------+---------+------+-----------------------------+-----------------------------+
etcd数据库服务器集群中,用命令行恢复数据库的格式:
[root@mk8s ~]# etcdctl snapshot restore /path/etcd-snapshot-previous.db --initial-cluster="" --name="" --initial-advertise-peer-urls="" --data-dir=""
---------------------------------------------------------------------
恢复数据库时,用到的参数:
--initial-cluster # 集群创始人团队
--name # 当前节点是集群中的谁
--initial-advertise-peer-urls # 集群通信地址
--data-dir # 库在哪?
-----------------------------------------------------------------------
调用数据库命令行工具etcdctl
来用快照文件恢复数据库,
那么就要告诉root,
你现在要操作数据库的恢复动作,
就要说清楚,
这个数据库集群的
创始人团队,
创始人团队的具体信息是
创始人的名称=集群的通信地址
(节点的主机名)=(https://ip:2380),
如果是高可用集群,
创始人团队
就需要至少三台主机。
root联系集群的方式,
就是通过
--initial-cluster="1=a,2=a,3=a"
集群中有三个创始人,
它们的主机名分别是1,2,3,
他们的通信地址是a
好,第一步,能找到集群了。
------------------------------------------
然后是要恢复数据,
需要知道当前节点是集群中的谁,
因为
集群以外的节点
没有权限在集群里面操作数据库。
所以得知道
当前节点是集群中的谁,
需要知道当前节点的主机名,
--name
-------------------------------------------------
集群是谁,知道了,
当前节点是谁,也知道了,
那么往集群走的路怎么走?
集群的通信地址是什么?
所以就要有集群地址
--initial-advertise-peer-urls,
-------------------------------------------------
好知道怎么走了,
那把这个快照文件拿过去
具体放哪啊,
也需要告诉root
跟root说,
你把这个快照解压什么的
格式搞好,
然后把数据放到
/var/lib/etcd这个目录下,
目录的名称就叫etcd,
root就知道该怎么操作了。
--------------------------------------------------
说简单一点,就是,root要去恢复数据库,就需要知道:
哪个集群?
你是谁?
路怎么走?
到了放哪?