最近公司搬家,服务器也要拆分迁移到研发中心,组织了一次系统备份,不仅仅是数据,还包括运行环境,容器,私仓,镜像仓库等等许多东西,总结了一下整个过程中积累的经验:
首先需要梳理出备份数据的类型,做一个备份规划和方案:比如数据涉及到数据库文件,静态资源数据,容器镜像,私有仓库代码,环境文件等等,需要统计出文件的类型,大小,种类,粗粒度的能够反映整体情况即可。
其次,协调资源,成立专项小组,运维人手不够,后端来凑,我们一共组织了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,是一项非常牛逼的硬件技术