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
    

      

  • 相关阅读:
    用Live Writers发布Blog
    ScribeFire
    再再上传一个图片
    jQuery页面加载初始化常用的三种方法
    JS 20200101T00:00:00.000000Z 日期格式转换、Sun Jul 04 2021 00:00:00 GMT+0800 (中国标准时间)转20210704 00:00
    vue 组件传值 props $emit $event
    jquery或js如何判断一个层是显示还是隐藏
    js合并俩个数组的三种方法
    uniapp生命周期
    SVN版本冲突
  • 原文地址:https://www.cnblogs.com/lixinliang/p/12217292.html
Copyright © 2011-2022 走看看