转载请联系: 郭晋兵 guojb@cloudbin.cn

本文中的备份使用脚本和crontab进行定期备份,此次备份使用全量备份,备份完成后会自动进行压缩操作。本备份方案包括3各部分:

  1. 一次性的备份脚本:ceph-backup.sh
  2. crontab定时任务
  3. 备份引擎: ceph-backup代码

步骤:

1. 安装ceph-backup备份引擎

将ceph-backup.tar安装程序拷贝到备份服务器本地目录下;

进入该目录进行安装:

#cd ceph-backup

#python setup.py install

注意:

  1. 根据环境的不同,有可能需要联网下载python库,所以要保持公网网络连接。
  2. Linux默认的pypi源在国外,下载插件很慢或者连不上,改到国内源。https://segmentfault.com/a/1190000006111096

2. 修改cephbackup.conf

首先创建配置文件目录

#mkdir /etc/cephbackup/

将配置文件拷贝至该目录中

#cp /root/ceph-backup/ceph-backup.cfg /etc/cephbackup/cephbackup.conf

拷贝完成后修改配置文件

3.  修改cephbackup.sh

该脚本负责按照cephbackup.cfg的配置执行cephbackup,然后检索备份目录,删除超过保留备份文件个数的最旧的备份。

#vim cephbackup.sh

在cephbackup_dir处填写备份文件存放的目录

Max_backups为备份目录内要保留的文件数量,本案例为3个备份

4. 编辑crontab

#crontab –e       #在root下创建crontab

0 0 * * * /root/cephbackup.sh           #该备份在每天的0点进行

1 0 * * 6 /root/cephbackup.sh           #该备份在每周六的0点1分进行

更多用法参考:https://www.cnblogs.com/aminxu/p/5993769.html

5. 备份还原

此次备份的脚本通过rbd方式进行,还原时同样为rbd方式。

#tar xzvf <data.tar.gz>                   #解压.gz的tar包

在平台创建云主机和云硬盘,为了保证一致性,新创建的云主机和云硬盘的name、flavor、network等配置要尽量相同;

创建完成后,在ceph中找到相应的位置;

#rbd -p <poolname> ls |grep <instance-ID>

#rbd -p <poolname> ls |grep <volume-ID>

找到新创建的云主机和云硬盘对应的磁盘后,将其删除:

#rbd -p <poolname> rm <instance-ID/volume-ID>

然后将解压出来的文件,替换为已删除的新创建的云主机和云硬盘的磁盘名称将其导入:

#rbd import -p <pool name> <nstance-ID/volume-ID> <(new)nstance-ID/volume-ID>

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据