etcd高可用集群

一、环境介绍

操作系统信息:CentOS 7 64位

服务器信息:

10.131.149.188    ceph-node2

10.131.149.189     ceph-node1

10.131.149.190    ceph-admin

关闭服务器防火墙

二、etcd部署前准备

1、设置免密登录

以下在每个节点都执行
ssh-keygen   # 3个回车
ssh-copy-id -i /root/.ssh/id_rsa.pub root@ceph-node1 # 需要最后输入一次ceph-node1的root密码
ssh-copy-id -i /root/.ssh/id_rsa.pub root@ceph-admin# 需要最后输入一次ceph-admin的root密码

2、所有机器上操作

ntp chrony时间同步:

yum install chrony -y

修改配置文件vi /etc/chrony.conf

allow 192.168.0.0/16 #允许10.131.149.188/189/190来同步时间

服务器进行ntp重启

systemctl start chronyd

查看一下332端口是否启动

 

然后我们先看一下客户端的时间

 

再chrony的配置文件修改一下/etc/chrony.conf

客户端启动chronyd

systemctl start chronyd.service

开启服务并加入开机自启动

systemctl start ntpd

systemctl enable ntpd

3.将本地时间按指定时区来同步

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #这里按上海时区来同步

查看时区

timedatectl status

 

三、部署etcd

[root@ceph-admin ~]# yum -y install etcd
修改三台机器上的etcd.conf配置文件
[root@ceph-admin ~]# vi /etc/etcd/etcd.conf
第一台服务器 10.131.149.188 ceph-node2:
# 节点名称
ETCD_NAME=ceph-node2
# 数据库存放位置
ETCD_DATA_DIR="/var/lib/etcd/etcd"
# 监听其他 Etcd 实例地址
ETCD_LISTEN_PEER_URLS="http://10.131.149.188:2380"
# 监听客户端地址
ETCD_LISTEN_CLIENT_URLS="http://10.131.149.188:2379,http://127.0.0.1:2379"
# 通知其他 Etcd 实例地址
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.131.149.188:2380"
# 初始化集群内节点地址
ETCD_INITIAL_CLUSTER="ceph-node2=http://10.131.149.188:2380,ceph-node1=http://10.131.149.189:2380,ceph-admin=http://10.131.149.190:2380"   
# 初始化集群状态,new 表示新建
ETCD_INITIAL_CLUSTER_STATE="new"
# 初始化集群
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
# 通知客户端地址
ETCD_ADVERTISE_CLIENT_URLS="http://10.131.149.188:2379"

第二台服务器 10.131.149.189 ceph-node1:
# 节点名称
ETCD_NAME=ceph-node1
# 数据库存放位置
ETCD_DATA_DIR="/var/lib/etcd/etcd"
# 监听其他 Etcd 实例地址
ETCD_LISTEN_PEER_URLS="http://10.131.149.189:2380"
# 监听客户端地址
ETCD_LISTEN_CLIENT_URLS="http://10.131.149.189:2379,http://127.0.0.1:2379"
# 通知其他 Etcd 实例地址
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.131.149.189:2380"
# 初始化集群内节点地址
ETCD_INITIAL_CLUSTER="ceph-node2=http://10.131.149.188:2380,ceph-node1=http://10.131.149.189:2380,ceph-admin=http://10.131.149.190:2380"
# 初始化集群状态,new 表示新建
ETCD_INITIAL_CLUSTER_STATE="new"
# 初始化集群
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
# 通知客户端地址
ETCD_ADVERTISE_CLIENT_URLS="http://10.131.149.189:2379"

第三台服务器 10.131.149.189 ceph-admin:
# 节点名称
ETCD_NAME=ceph-admin
# 数据库存放位置
ETCD_DATA_DIR="/var/lib/etcd/etcd"
# 监听其他 Etcd 实例地址
ETCD_LISTEN_PEER_URLS="http://10.131.149.190:2380"
# 监听客户端地址
ETCD_LISTEN_CLIENT_URLS="http://10.131.149.190:2379,http://127.0.0.1:2379"
# 通知其他 Etcd 实例地址
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.131.149.190:2380"
# 初始化集群内节点地址
ETCD_INITIAL_CLUSTER="ceph-node2=http://10.131.149.188:2380,ceph-node1=http://10.131.149.189:2380,ceph-admin=http://10.131.149.190:2380"
# 初始化集群状态,new 表示新建
ETCD_INITIAL_CLUSTER_STATE="new"
# 初始化集群
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
# 通知客户端地址
ETCD_ADVERTISE_CLIENT_URLS="http://10.131.149.190:2379"

四、安装并配置完成etcd后,分别为三台机器添加etcd服务,设置自动启动:
systemctl daemon-reload  

systemctl start etcd  

systemctl enable etcd
五、服务启动成功后,查看etcd各个节点状态:
etcdctl member list



六、etcd常用语句
设置开机启动:
systemctl enable etcd

启动etcd:
systemctl start etcd

查看状态:
systemctl status etcd

列出节点成员:
etcdctl member list

查看节点监控状态:
etcdctl cluster-health
上一篇:rook-ceph说明


下一篇:ceph环境清理