### etcd 部署linux
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.targetgit
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"github
systemctl start etcd.servicebash
### 備份操做:
[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
firest
### etcd 恢復操做:cdn
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"blog
操做:
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/dataip
保持配置文件不變:
$ 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 etcdget