zoukankan      html  css  js  c++  java
  • 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
    
  • 相关阅读:
    一个小厂算法工程师的2021个人年终总结
    优达学城 UdaCity 纳米学位
    Eclipse 常用可视化开发插件
    Android创建文件夹和文件
    Windows Mobile 播放声音文件
    C++实现顺序栈类
    c++实现的图类
    常见的字符串操作
    常见的链表操作
    取余数法实现哈希表(包括开放定址法和链地址法解决冲突)
  • 原文地址:https://www.cnblogs.com/lixinliang/p/14518946.html
Copyright © 2011-2022 走看看