当前位置: 首页 > news >正文

Rancher 单节点 docker 部署备份与恢复

Rancher 单节点 docker 部署备份与恢复

1. 备份集群
  1. 获取 rancher server 容器名,本例为 angry_aryabhata

    docker ps | grep rancher/rancher6a27b8634c80   rancher/rancher:v2.5.14           xxx		   angry_aryabhata
    
  2. 停止容器

    docker stop angry_aryabhata
    
  3. 创建备份容器,其中 rancher-data-06071539 建议按照日期时间命名

    docker create --volumes-from angry_aryabhata --name rancher-data-06071539 rancher/rancher:v2.5.14
    

    打包容器内数据目录,此处 --volumes-from 需填写上一步的容器名称

    docker run --volumes-from rancher-data-06071539 -v $PWD:/backup:z \
    busybox:latest tar pzcvf \
    /backup/rancher-data-backup-v2.5.14-06071539.tar.gz /var/lib/rancher
    
  4. 查看当前目录下是否有备份文件 rancher-data-backup-v2.5.14-06071539.tar.gz

    在这里插入图片描述

  5. 删除第 3 步创建的备份数据容器

    docker rm -f rancher-data-06071539
    
  6. 重新启动 rancher server 容器即可

    docker start angry_aryabhata
    

2. 恢复集群
  1. 为了对比验证,首先删除 rancher server 数据目录,此时 rancher 已完全崩溃

    rm -rf /home/rancher/
    
  2. 停止 rancher server 容器

    docker stop angry_aryabhata
    
  3. 从备份文件恢复

    docker run --volumes-from angry_aryabhata -v $PWD:/backup \
    busybox:latest sh -c "rm /var/lib/rancher/* -rf && \
    tar pzxvf /backup/rancher-data-backup-v2.5.14-06071539.tar.gz"
    
  4. 重新启动 rancher server 容器

    docker start angry_aryabhata
    

3. 备份脚本

如果不想手动执行命令,可以使用以下脚本备份,本人 shell 水平有限,如有错误或优化空间还请指正~

#!/bin/bash# 获取 Rancher 容器名称
container_name=$(docker ps | grep rancher/rancher | awk '{print $NF}')echo "容器名:$container_name"echo "第一步:停止 Rancher 容器"docker stop $container_nameecho "第二步:创建备份容器"
# 获取当前日期
current_date=$(date "+%Y%m%d")docker create --volumes-from $container_name \--name rancher-data-$current_date \rancher/rancher:v2.5.14echo "第三步:打包数据文件"
# 以日期戳命名备份文件
file_name="/backup/rancher-data-backup-v2.5.14-$current_date.tar.gz"docker run --volumes-from rancher-data-$current_date -v $PWD:/backup:z \busybox:latest tar pzcvf $file_name /var/lib/rancher# 判断备份文件是否生成到当前目录下
file_name_local=$(basename "$file_name")
if [ -f "$file_name_local" ]; thenecho "备份文件已生成:$file_name_local"
elseecho "备份文件未生成,请检查!"exit 1
fiecho "第四步:删除备份容器"docker rm -f rancher-data-$current_dateecho "第五步:重新启动 Rancher 容器"docker start $container_name
http://www.lryc.cn/news/272175.html

相关文章:

  • WPF容器的背景对鼠标事件的影响
  • pve虚拟机无法开机‘ha-manager set vm:101 --state started‘ failed: exit code 255
  • 官宣!亚信安全TrustOne实力代言“中国新一代终端安全”
  • Text visualization : pipeline,wordle,phrase net,word tree
  • C# WPF上位机开发(报表导出)
  • CentOS7安装部署Zookeeper
  • OceanBase入选Gartner®云数据库管理系统魔力象限“荣誉提及”
  • Oracle 19C DBA管理常用命令
  • BIO和NIO编程(待完善)
  • 基于RocketMQ实现分布式事务
  • TikTok社会学:短视频如何塑造社会认知?
  • 小秋SLAM入门实战深度学习所有文章汇总
  • linux搭建git仓库
  • 19. Mysql 循环语句
  • 【qt】解决qt里编辑qss后失效问题(qt编码问题)
  • MySQL数据库高级SQL语句及存储过程
  • 使用idea构建父子类springboot项目教程
  • TCP_可靠数据传输原理
  • Python随机点名
  • HarmonyOS4.0系统性深入开发07创建一个ArkTS卡片
  • 胡润研究院发布《2023胡润中国最具历史文化底蕴品牌榜》
  • MFC编程技巧与范例详解01
  • TPS5430正负电源模块
  • 【LeetCode 面试经典150题】45. Jump Game II 跳跃游戏II
  • RustDesk连接客户端提示key不匹配 Key Mismatch无法连接(已解决)
  • puppeteer入门指南
  • vue3按钮点击频率控制
  • (一)Matlab数值计算基础
  • 《MySQL系列-InnoDB引擎02》InnoDB存储引擎介绍
  • 单片机大小端模式