记一次公司级数据备份最佳实践

230 阅读2分钟

最近公司搬家,服务器也要拆分迁移到研发中心,组织了一次系统备份,不仅仅是数据,还包括运行环境,容器,私仓,镜像仓库等等许多东西,总结了一下整个过程中积累的经验:

首先需要梳理出备份数据的类型,做一个备份规划和方案:比如数据涉及到数据库文件,静态资源数据,容器镜像,私有仓库代码,环境文件等等,需要统计出文件的类型,大小,种类,粗粒度的能够反映整体情况即可。

其次,协调资源,成立专项小组,运维人手不够,后端来凑,我们一共组织了5个后端,1个运维,数据迁移小组共记6人。

最后,统计备份后的文件数目大小,确认数据无误,各个小的备份任务责任到人,便于后续恢复。

后续任务:环境恢复,数据恢复

以下记录了在过程中用到的各个工具

pigz + tar 压缩 / 解压

安装

yum install pigz

适用情况

碎片文件数量小,但是总量大,如:瓦片数据``gwc缓存

用法

tar --use-compress-program=pigz -cvf d.tgz *

优势

条目案例实际情况
能够充分利用CPU多核心与多线程性能CPU可以占满,压缩 / 打包分为多个进程
速度快 / 稳定1749767个文件 174.7GB共耗时

ncdu 查看目录大小

安装

yum install ncdu

适用情况

大量文件目录数据量的统计,如:瓦片数据文件夹``gwc缓存文件夹

用法

cd targetDir
ncdu

优势

条目案例实际情况
界面美观多线程扫描速度快1749767个文件 174.7GB

rsync 数据拷贝

适用情况

大文件的远程与本地传输

用法

rync -av --progress /opt/webdata /BakUp

优势

条目案例实际情况
多线程传输速度快 / 传输进度 / 时间估算 / 断点续传105GB单文件NFS同步耗时14min

回写式缓存

硬盘读写峰值速度能达到400MB/s,是一项非常牛逼的硬件技术