用etcd管控mysql各个节点,etcd 单节点部署、备份与恢复(示例代码)

etcd 部署

wget https://github.com/etcd-io/etcd/releases/download/v3.3.13/etcd-v3.3.13-linux-amd64.tar.gz

tar -zxvf etcd-v3.3.13-linux-amd64.tar.gz

cd etcd-v3.3.13-linux-amd64

目录下有两个可执行文件etcd 和 etcdctl

cp etcd /usr/bin/

cp etcdctl /usr/bin/

添加以下内容:

$ cat /usr/lib/systemd/system/etcd.service

[Unit]

Description=Etcd Server

After=network.target

[Service]

Type=simple

WorkingDirectory=/data/etcd

EnvironmentFile=-/etc/etcd/etcd.conf

ExecStart=/usr/bin/etcd

[Install]

WantedBy=multi-user.target

mkdir -p /data/etcd

mkdir -p /etc/etcd/

添加以下内容:

$ cat /etc/etcd/etcd.conf

ETCD_NAME=default

ETCD_DATA_DIR="/data/etcd/default.etcd/"

ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"

ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379"

systemctl start etcd.service

备份操作:

[root@xy-test05 ~]# cat /opt/etcdbak.sh

#!/bin/bash

local_ip=`ip a | grep 172.24 | awk -F/ ‘{print $1}‘ | awk ‘{print $2}‘`

date=$(date +%Y-%m-%d)

backup_path="/data/dataetcd_back"

mkdir -p /data/dataetcd_back

cd $backup_path

备份如果出错的话执行以下操作:

export ETCDCTL_API=3

etcdctl --endpoints localhost:2379 snapshot save $local_ip-snapshot-$date.db

if [ $? -eq 0 ];then

/usr/bin/rsync -av $local_ip-snapshot-$date.db 172.24.119.35::yunwei_etcd_backup/${local_ip}/$date

rm -rf $local_ip-snapshot-$date.db

fi

etcd 恢复操作:

etcd 恢复之前配置文件:

$ cat /etc/etcd/etcd.conf

ETCD_NAME=default

ETCD_DATA_DIR="/data/etcd/default.etcd/"

ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"

ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379"

操作:

export ETCDCTL_API=3

cd /data/etcd/

etcdctl snapshot restore /data/etcdnew/172.24.119.41-snapshot-2019-08-30.db --data-dir=./data/etcd/default.etcd

此时会在/data/etcd/ 下新建立 data目录,因此会改变存储路径,此时需要进行数据目录的修改

mv default.etcd default.etcd_bak

mv /data/etcd/data/etcd/default.etcd /data/etcd/

rm -rf /data/etcd/data

保持配置文件不变:

$ cat /etc/etcd/etcd.conf

ETCD_NAME=default

ETCD_DATA_DIR="/data/etcd/default.etcd/"

ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"

ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379"

$ systemctl restart etcd

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值