免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1041 | 回复: 0
打印 上一主题 下一主题

Linux 备份策略 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-26 16:35 |只看该作者 |倒序浏览
备份因素考量
由于电脑 (尤其是目前的电脑,操作频率太高、硬体良率太差、使用者操作习惯不良、 ‘某些’作业系统的当机率太高....) 的稳定性较差,所以啰!备份的工作就越来越重要了! 那么一般我们在备份时考虑的因素有哪些呢?
备份哪些档案:
哪些资料对系统或使用者来说是重要的?那些资料就是值得备份的资料!例如 /etc/* 及 /home/* 等。
选择什么备份的媒介
是可读写光碟、另一颗硬碟、同一颗硬碟的不同 partition、还是使用网路备援系统? 哪一种的速度最快,最便宜,可将资料保存最久?这都可以考虑的。
考虑备份的方式
是以完整备份(类似 ghost)来备份所有资料,还是使用差异备份仅备份有被更动过的资料即可?
备份的频率:
例如 MySQL 资料库是否天天备份、若完整备份,需要多久进行一次?
备份使用的工具为何
是利用 tar 、 cpio 、 dd 还是 dump 等等的备份工具?
底下我们就来谈一谈这些问题的解决之道吧!
哪些 Linux 资料具有备份的意义
作业系统本身需要备份的档案
/etc/ 整个目录
/home 整个目录
/var/spool/mail
WWW 资料:/var/www 整个目录或 系统的使用者家目录
/boot
/root
如果你自行安装过其他的套件,那么 /usr/local/ 或 /opt 也最好备份一下!
网路服务的资料库方面:
软体服务提供的资料,以 WWW 及 MySQL 为例:
MySQL : /var/lib/mysql 整个目录
其他在 Linux 主机上面提供的服务之资料库档案!
不需要备份的目录
/dev :这个随便你要不要备份
/proc:这个真的不需要备份啦!
/mnt 与 /media:如果你没有在这个目录内放置你自己系统的东西,也不需要备份
/tmp :干嘛存暂存档!不需要备份!
备份用储存媒体的选择
储存媒体的考量
常见的储存装置代号
光碟机: /dev/cdrom (其实应该是 /dev/sdX 或 /dev/hdX)
磁带机: /dev/st0 (SCSI 介面), /dev/ht0 (IDE 介面)
软碟机: /dev/fd0, /dev/fd1
硬碟机: /dev/hd[a-d][1-16] (IDE), /dev/sd[a-p][1-16] (SCSI/SATA)
外接式 USB 硬碟机: /dev/sd[a-p][1-16] (与 SCSI 相同)

备份的种类、频率与工具的选择
完整备份之累积备份 (Incremental backup)
累积备份的原则

虽然完整备份在还原方面有相当良好的表现,但是我们都知道系统用的越久,资料量就会越大!如此一来, 完整备份所需要花费的时间与储存媒体的使用就会相当麻烦~所以,完整备份并不会也不太可能每天都进行的! 那你想要每天都备份资料该如何进行呢?有两种方式啦,一种是本小节会谈到的累积备份,一种则是下个小节谈到的差异备份。
所谓的累积备份 ,指的是在系统在进行完第一次完整备份后,经过一段时间的运作, 比较系统与备份档之间的差异,仅备份有差异的档案而已。而第二次累积备份则与第一次累积备份的资料比较, 也是仅备份有差异的资料而已。如此一来,由于仅备份有差异的资料,因此备份的资料量小且快速!备份也很有效率。 我们可以从下图来说明:



假如我在星期一作好完整备份,则星期二的累积备份是系统与完整备份间的差异资料;星期三的备份是系统与星期二的差异资料, 星期四的备份则是系统与星期三的差异资料。那你得要注意的是,星期二的资料是完整备份加第一次累积备份, 星期三的资料是完整备份加第一次累积与第二次累积备份,星期四的资料则是星期一的完整备份加第一次加第二次加第三次累积 备份。 由于每次都仅与前一次的备份资料比较而已,因此备份的资料量就会少很多!
如何还原?
经过上面的分析,我们也会知道累积备份的还原方面比较麻烦! 假设你的系统在星期五的时候挂点了!那你要如何还原?首先,你必须要还原星期一的完整备份,然后还原星期二的累积备份, 再依序还原星期三、星期四的累积备份才算完全复原!那如果你是经过了九次的累积备份,就得要还原到第九次的阶段, 才是最完整的还原程序!
--------------------------------------------------------------------------------
累积备份使用的备份软体
完整备份常用的工具有 dd, cpio, dump/restore 等等。因为这些工具都能够备份装置与特殊档案! dd 可以直接读取磁碟的磁区 (sector) 而不理会档案系统,是相当良好的备份工具!不过缺点就是慢很多! cpio 是能够备份所有档名,不过,得要配合 find 或其他找档名的指令才能够处理妥当。以上两个都能够进行完整备份, 但累积备份就得要额外使用脚本程式来处理。可以直接进行累积备份的就是 dump 这个指令啰!详细的指令与参数用法, 这里仅列出几个简单的范例而已。
# 1. 用 dd 来将 /dev/sda 备份到完全一模一样的 /dev/sdb 硬碟上:
[root@www ~]# dd if=/dev/sda of=/dev/sdb
# 由于 dd 是读取磁区,所以 /dev/sdb 这颗磁碟可以不必格式化!非常的方便!
# 只是你会等非常非常久!因为 dd 的速度比较慢!
# 2. 使用 cpio 来备份与还原整个系统,假设储存媒体为 SATA 磁带机:
[root@www ~]# find / -print | cpio -covB > /dev/st0 --exclude /backupdata -jcvp -f /backupdata/system.tar.bz2 /

完整备份之差异备份 (Differential backup)
差异备份与累积备份有点类似,也是需要进行第一次的完整备份后才能够进行。只是差异备份指的是:每次的备份都是与原始的完整备份比较的结果。所以系统运作的越久,离完整备份时间越长, 那么该次的差异备份资料可能就会越大!差异备份的示意图如下所示




差异备份常用的工具与累积备份差不多!因为都需要完整备份嘛!如果使用 dump 来备份的话,那么每次备份的等级 (level) 就都会是 level 1 的意思啦!当然啦,你也可以透过 tar 的 -N 选项来备份喔!如下所示:
[root@www ~]# tar -N '2009-06-01' -jpcv -f /backupdata/home.tar.bz2 /home

# 只有在比 2009-06-01 还要新的档案,在 /home 底下的档案才会被打包进 home.bz2 中!
# 有点奇怪的是,目录还是会被记录下来,只是目录内的旧档案就不会备份。
此外,你也可以透过 rsync 来进行镜像备份喔! 这个 rsync 可以对两个目录进行镜像 (mirror) ,算是一个非常快速的备份工具!简单的指令语法为:
[root@www ~]# rsync -av 来源目录 目标目录
# 1. 将 /home/ 镜像到 /backupdata/home/ 去
[root@www ~]# rsync -av /home /backupdata/
# 此时会在 /backupdata 底下产生 home 这个目录来!
[root@www ~]# rsync -av /home /backupdata/
# 再次进行会快很多!如果资料没有更动,几乎不会进行任何动作!
根据分析 (注2) ,差异备份所使用的磁碟容量可能会比累积备份来的大,但是差异备份的还原较快, 因为只需要还原完整备份与最近一次的差异备份即可。无论如何,请依据你自己的喜好来选择备份的方式吧!
假设 /home 为一个独立的档案系统,而 /backupdata 也是一个独立的用来备份的档案系统,那如何使用 dump 将 /home 完整的备份到 /backupdata 上呢?可以像底下这样进行看看:
# 1. 完整备份
[root@www ~]# dump -0u -f /backupdata/home.dump /home
# 2. 第一次进行累积备份
[root@www ~]# dump -1u -f /backupdata/home.dump.1 /home
# 使用 restore 还原整个系统
[root@www mnt]# restore -r -f /backupdata/home.dump
[root@www mnt]# restore -r -f /backupdata/home.dump.1
关键资料备份
底下的案例是依据日期来备份 mysql 的资料库喔!
[root@www backup]#tar -jpcvf /backup/mysql.`date +%Y-%m-%d`.tar.bz2 /var/lib/mysql
我的备份策略是这样的
主机硬体:使用一个独立的 filesystem 来储存备份资料,此 filesystem 挂载到 /backup 当中;
每日进行:目前仅备份 MySQL 资料库;
每周进行:包括 /home, /var, /etc, /boot, /usr/local 等目录与特殊服务的目录;
自动处理:这方面利用 /etc/crontab 来自动提供备份的进行;
异地备援:每月定期的将资料分别 (a)烧录到光碟上面 (b)使用网路传输到另一部机器上面。



本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/108545/showart_2131545.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP