• 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

      

  • 相关阅读:
    lambba表达式
    根据某个字段筛选list数据
    git和idea绑定
    gitee创建仓库
    用 Python 3 + PyQt5 擼了一個可以播放“任意”音樂的播放器
    zabbix 共享内存设置
    Zabbix高可用,实现zabbix的无缝切换,无故障时间
    python练习题100
    斐波那契数列python实现
    随机生成指定位数密码包括大小写数字特殊符号
  • 原文地址:https://www.cnblogs.com/lixinliang/p/11451531.html
Copyright © 2020-2023  润新知