最近更新日期:2005/10/25
1. 谁需要备份数据
2. 哪些 Linux 数据具有备份的意义 3. 选择的备份装置 4. 备份的种类: 完整备份(full backup), 部分备份(Implement backup) 5. 备份的工具选择: tar, dd, cpio... 6. VBird 的备份策略与 scripts: 6.1 系统备份 6.2 每日备份 6.3 远程备份 7. 本章习题练习 8. 针对本文的建议:http://phorum.vbird.org/viewtopic.php?t=23896 谁需要备份数据
前面的章节我们提到了相当多的 Linux 系统基础,这个时候我们再来谈一谈:『
若您的系统由于不预期的伤害,导致系统发生错误,该如何修复?
』这可是个相当大的问题呀!怎么说呢?又什么叫做『不预期的伤害?』
好了,假如您的 Linux 系统上面某些 Internet 的服务套件是最新的!也意味着可能是『相对最安全的』,
但是,这个世界目前是闲人相当的多的,你不知道什么时候会有所谓的『黑客软件』被提供出来,万一你在
Internet 上面的服务套件被入侵,导致你的 Linux 系统全毁,这个时候怎么办?!
『重新安装就好啦!』或许您会这么说,但是,像鸟哥管理的几个网站的数据,尤其是 MySQL 数据库的数据,这些都是弥足珍贵的经验资料,万一被损毁而就不回来的时候,不是很可惜吗? 这个还好哩,万一您是某家银行的话,呵呵!那么数据的损毁可就不是能够等闲视之的!! 关系的可是数千甚至上万人的身家财产!!这就是备份的重要性了!他可以最起码的稍微保障我们的数据有另外一份 copy 的备援以达到『安全回复』的基本要求! 如果是针对个人资料的话,那么在一般桌面计算机中,Norton 的『 Ghost 』应该算是一套好到不行的备份大师了! 最主要是 Ghost 可以针对整个 partition 来进行备份,所以啰,我们可以将 Windows 系统当中的整个 C 或者是整个 D 槽完整的备份下来。甚至在还原方面也是非常的快速,而且操作简便! 另外,由于个人桌面计算机所使用的数据量通常不大,所以当 ghost 完成之后,通常只要将数据刻录到光盘片当中,大约只要一至两片的光盘片也就绰绰有余啰! 那么将光盘片保存好,这就是最简易的数据备份模式啰! 此外,由于个人的数据变动性不大,所以数据的备份频率方面也不需要非常的频繁! 但是,万一您的主机有提供 Internet 方面的服务呢?又该如何备份啊? 举个例子来说,像是我们 Study Area 团队的讨论区网站 http://phorum.study-area.org 提供的是类似 BBS 的讨论文章, 虽然数据量不大,但是由于讨论区的文件是天天在增加的,每天都有相当多的信息流入, 由于某些信息都是属于重要的人物之留言,这个时候,我们能够让机器死掉吗? 再提到 2002 年左右鸟哥的讨论区曾经挂点的问题,以及 2003 年初 Study-Area 讨论区挂点的问题,讨论区一旦挂点的话,该数据库内容如果损毁到无法救回来, 嘿嘿!要晓得讨论区可不是一个人的心血耶!有的时候(像 Study-Area 讨论区)是一群热心 Linux 的朋友们互相建立交流起来的数据流通网,如果死掉了, 那么不是让这些热血青年的热情付之一炬了吗?!所以啰,建立备份的策略是相当的重要的。 基本上,『计算机是一个相当不可靠的机器』这句话在大部分的时间内还是成立的! 常常会听到说『要计算机正常的工作,最重要的是要去拜拜!』嘿嘿!不要笑!这还是真的哩! 尤其是在日前一些计算机周边硬件的生产良率 ( 就是将硬件产生出来之后,经过测试, 发现可正常工作的与不能正常工作的硬件总数之比值 ) 越来越差的情况之下,计算机的不稳定状态实在是越来越严重了! 举个例子来说,鸟哥曾经同时买过同一厂牌的 IxM 30GB 硬盘三颗,回来之后经过一个星期,嘿嘿!挂掉了两颗!其中一颗是有坏轨,另外一颗是『完全死掉』, 拿去公司要求修理,结果呢?嗯!店家直接拿了一棵新的给我,害我吓一跳,店家的工程师说 『唉呀!目前这个牌子的良率太差了,所以代理商为了怕麻烦,都会直接拿新的替换给我们啦!』 要晓得的是,当初那一颗完全死掉的硬盘,是我用来备份我的主机数据的.... 好在当时我将备份的资料放在三四个地方,还好.... 所以啰!由于计算机 ( 尤其是目前的计算机,操作频率太高、硬件良率太差、使用者操作习惯不良、 『某些』操作系统的当机率太高.... ) 的稳定性较差,所以啰!备份的工作就越来越重要了! 那么一般我们在备份时考虑的因素有哪些呢?
哪些 Linux 数据具有备份的意义
具有备份意义的档案通常可以粗分为两大类,一类是系统、一类则是类似网络服务的数据,
那么各有哪些档案需要备份的呢?我们就来稍微分析一下。
这方面的档案主要跟『账号与系统配置文件』有关系!
主要有哪些账号的档案需要备份呢?就是
/etc/passwd, /etc/shadow, /etc/group, /etc/gshadow, /home 底下的用户家目录等等,
而由于 Linux 默认的主机信息设定参数文件都在 /etc/ 底下,所以只要将这个文件备份下来的话,
那么几乎所有的配置文件都会存在的!
至于 /home 底下是每个人的家目录,自然也需要来备份一番!再来,由于使用者会有邮件吧!所以呢,这个 /var/spool/mail 内容也需要备份呦!另外,由于如果您曾经自行更动过核心,那么 /boot 里头的信息也就很重要啰!所以啰,这方面的数据您必须要备份的档案为:
这部份的数据可就多而且复杂了,如果您的网络套件设定都是以原厂提供的为主,那么您的配置文件案大多是在
/etc 底下,所以这个就没啥大问题了!但是若您的套件大多来自于自行的安装,那么
/usr/local 这个目录可就相当的重要了!这里我们假设我们提供的服务套件都是使用原厂的
RPM 安装的!所以要备份的数据文件有:
由上面的介绍来看的话,那么如果您的硬件或者是由于经费的关系而无法全部的数据都予以备份时,
鸟哥建议您至少需要备份这些目录呦!
有些数据是不需要备份的啦!例如我们在
档案权限与目录配置
里头提到的 /proc 这个目录是在记录目前系统上面正在跑的程序 ( processes
) ,这个数据根本就不需要记录的呢!所以就把他拿掉!此外,外挂的机器,例如
/mnt 或 /media 里面都是挂载了其他的硬盘装置、光驱、软盘驱动器等等,这些也不需要备份吧!?
所以啰!底下有些目录可以不需要备份啦!
选择的备份装置
在备份的时候,选择一个『数据存放的地方』也是很需要考虑的一个因素!
什么叫做数据存放的地方呢?讲个最简单的例子好了,我们知道说,较为大型的机器都会使用
tap 这一种磁带机来备份数据,而如果是一般个人计算机的话,很可能是使用类似
Mo 这一种可擦写式光盘片来存取数据!但是您不要忘记了几个重要的因素,那就是万一您的
Linux 主机被偷了呢?这不是不可能的,我们隔壁校区的研究室曾经遭小偷,里面所有的计算机都被偷走了!包括『
Mo 片』,当他们发现的时候,一开始以为是硬件被偷走了,还好,他们都有习惯进行备份,但是很不幸的,这一次连『备份的
MO 都被拿走了!』怎么办?!只能道德劝说小偷先生能够良心发现的将硬盘拿回来啰!唉~真惨....
这个时候,所谓的『远程备援系统』就显的相当的重要了! 什么是远程备援呀!说的太文言了!呵!简单的说,就是将你的系统数据『备份』到其他的地方去, 例如说我的机器在台南,但是我还有另一部机器在高雄老家,这样的话,我可以将台南机器上面重要的数据都给他定期的自动的 ftp 回去!也可以将家里重要的数据给他丢到台南来!这样的最大优点是可以在台南的机器死掉的时候, 即使是遭小偷,也可以有一个『万一』的备份所在!但是缺点是~~带宽严重的不足! 在这种状态下,所能采取的策略大概就是『仅将最重要的数据给他 ftp 回去啰!』至于一些只要系统从新安装就可以回复的咚咚!那就没有这个必要了!当然啰,如果你的网络是属于 T1 专线的话,那么完整备份将数据丢到另一地去,呵呵!也是很可行的啦!只是我没有那么好命....唉~穷人一个~ 在此同时,我们再来谈一谈,那么除了这个『相对较为安全的备份』方法之外, 毕竟这种网络备援系统实在是太耗带宽了!如果像我们一般家用的 ADSL 根本就是吃不消!那么怎么办!还有其他的方法吗?喔~那就只好使用近端的装置来备份啰! 这也是目前我们最常见到的备份方法!例如一般我们使用的 Tape, Mo, Zip, CD-RW, DVD-RW 还有备份用抽取式硬盘与携带式硬盘等等! 那么在选择上需要注意些什么呢?需要注意的地方有几点:
『备份』基本上在 Linux 主机上面也是蛮耗系统资源的!因为需要将系统的数据拷贝到其他装置上面去,这个时候
CPU 几乎是 loading 100%!您总不希望系统就这样给他挂点吧!?此外,有些系统的数据实在太多咯,
怎么样也备份不完!所以啰,越快的储存装置是越好的!如果您是个重视速度甚于一切的人,
那么我觉得抽取式硬盘是个不错的方式,只不过.....目前我知道的抽取式硬盘都需要冷启动才行,不太符合
Linux 主机 24 小时全年无休的状态....
但是硬盘真的越来越大、越来越便宜了,不使用速度快的硬盘来备份实在很可惜~ 加上目前的火线 (IEEE 1394) 以及 USB 2.0 外接式硬盘盒技术已经相当的成熟, 传输速度又快,又可以直接热拔插 (Plug and Play),接上 USB 硬盘, 整个复制一下,传输速度理论上可达 480Mbps (约 60 MBytes/second) ,快的哩! 复制完毕,又可以将硬盘带走,不需要与主机放置在一起,还可以避免同时被偷,真是不错。 但是,硬盘还是有一定的困扰,那就是『不接电源的硬盘需要很好很好的保养』。 我们知道计算机最好的保养就是常常开机去运作一下,免得长期不开机,造成受潮而损坏。 这个携带式硬盘只是偶而才会连上主机来进行备份的数据,除非您额外购买一部防潮箱来放置硬盘, 否则很容易损坏ㄟ!所以,近年来速度越来越快的 DVD-RW 就变的很方便啰!至于 tap ,在速度上完全是落后的.....至于使用第二颗硬盘备份,类似 Raid, 或者是安装一颗备份的硬盘在 Linux 系统当中,这个方案也很好, 而且速度上绝对是最具优势的!但是就如同我们刚刚提到的,万一你的机器被偷了,连带的, 这颗备份的硬盘自然也就不见了.....
这也是一个需要考虑的因素!而且常常是最大考虑的因素呢!虽然目前硬盘越来越便宜,
但是毕竟就如同前面说的,抽取式硬盘需要将系统冷启动,而建构在系统内的硬盘又同时具由不安全的成分在,
携带式硬盘可能又有不容易保存的特性,这个时候一个大容量的替代方案就显的很重要了!虽然
CD-RW 与 DVD-RW 可以提供不错的速度,但是其容量毕竟不足 (目前的 DVD-RW 片最大虽然可以突破
8.7GB ,但是,贵的很哩~期待新规格赶紧定义出来呢!),
所以说,具有大容量的 tap (磁带容量最小的一款也可以到达 8 GB 左右!)
就相当的具有这方面的优势了!而且携带方便,存放也容易!更可以带着走~~
在经费不短缺的情况下,我们当然会建议您上面的几个装置都买一买,
然后分别在不同的时间进行不同的备份作业(底下我们有些建议的啦!
^_^)!但是如果经费也是需要考虑的话,那么磁带机这个目前还算贵重的物品可能暂时还动不到!
这个时候近来渐渐便宜的 DVD-RW 就显的活跃的多了!而且光盘片也可以保存很久的ㄋㄟ~
当然,目前应该不会有人以软盘来备份了吧!?呵呵!软盘可是相当不安全的
(每次我看到有人拿软盘拷贝数据,我都会要他
copy 完成之后,立刻到另外一部计算机 copy 出来试看看,果不其然,十次里面有八次对方的软盘片都有问题~)
无论如何,如果经费够的话, Tape 备份数据真的是一个不错的点子!因为他的高容量让我好满意!
再来,如果经费稍微短缺的话,那么 DVD-RW 经常性的将数据刻录下来,这也是蛮好的,尤其 DVD
片又不占空间!再来,如果还是没有办法,那么一颗内建在
Linux 的硬盘用来备份也是不错的!什么!!连备份的硬盘都没有,唉!怎么跟我一样~
这个时候没办法啦,用原来的安装系统的硬盘,多留一个
partition 用来当作备份之用吧(这也是目前鸟哥常用的方法之一!)底下我们来看一看一些常见的装置代号!
备份的种类
讲了好多口水了,还是没有讲到重点,真是的....好了,再来提到那个备份的种类,
其实前面已经提到一些了!基本上,备份就可以直接分为『完全备份』与『部分备份』这两方面:
完全备份就是将根目录『 / 』里头所有的数据都给他一股脑儿的备份下来,不过,
这个时候所需要的『时间与备份装置的容量』
就显的相当的重要了!用在大型的企业是有一定的需求的,但是像我们这一种小网站的话,
完整的备份似乎太过于浪费的(毕竟我们可以用时间换取金钱....了不起又重新安装了....)。
但是刚刚完成的系统(还没有对外 Internet 上面服务)通常可以的话,就赶快给他备份一下吧! 这样的一个备份是最干净的!用在系统的最干净还原是相当有帮助的!这是因为有的时候我们的系统被入侵了,但是 root 并不知道,这个时候老是拿最近的备份数据来还原也没有用呀!因为连同被 cracker 修改过的档案也被我们备份下来了呀!呵呵!所以啰, 将一个最原始的系统的数据备份下来还是有其必要性的!此外, 这种完整备份的频率可不能太高,因为太耗系统资源了!
部分备份就如同上面提过的,备份那些最重要的数据就好了!反正系统不见的话,
只要重新安装就回来了,数据只要妥善的备份重点数据,那么系统的复原还是一个很快速的工作!
以鸟哥为例,我通常都喜欢仅备份最重要的信息,因为重新安装一次系统时间花的并不长
(一个钟头内一定可以搞定!)而账号、服务设定、原本系统的数据库、等等,几乎都只要
copy 回来就 OK 了!
如同上面提到的,这两个方式各有优缺点啦!那么如果可能的话,是否两个都来进行一下最好呢?呵呵!
答对了!给你拍拍手!我们通常的规划就是这样,重点部分的备份频率较高,可能每天都需要备份的!
至于如果是完整备份的话,那么一个星期、甚至一个月在备份一次都可以!目前鸟哥的系统上面就是每天备份
MySQL 数据库,然后每个星期备份所有的重要数据!例如:我们这个网站在开始营运初期,虽然交通流量很大了,还是常出状况, 那个时候重新安装了好几次(似乎是硬件的问题!),每次都是一个下午就搞定了!所以啰, 鸟哥是一直认为『重点备份』就真的是蛮重要的! 尤其很多时候,你的数据被吃掉都只是『某个网络服务』, 那么如果仅进行完整备份的工作时,呵呵!单单是将系统先读出来,再取出所要还原的部分, 呵呵!就可以累死你了.... 备份的工具选择
好了,选定了备份的装置与备份的频率之后,那么我要使用什么方式来备份呀!呵呵!
这个也要跟备份的种类相互配合呢!通常鸟哥在备份的时候,除非有磁带机或者有特殊的功用,否则通常我只使用
tar 啦!但是这里我们介绍一下
cpio 这个东西!如果你有磁带机的话,
cpio 可是相当好用的一个指令呢! ^_^ ,呵呵!
由于这两个指令我们早在『压缩工具』当中稍微提过了,
请再自行过去瞧一瞧去啰!另外,您或许会问道:『那么我为什么不直接给他
copy 过去备份的地点就好了呢!?』呵呵!既然可以在 copy
的过程里面增加压缩的功能来减低整个储存空间的消耗,为何不压缩?!那当然还是压缩一下比较好啰!
所以啊!鸟哥还是比较喜欢 tar, cpio 的啦!
在完整备份的工具里面,三个工具 tar,
cpio 与 dump 都很常被使用!此外,那个
dd 也是不错的指令喔!
至于 cpio 的话,他最大的好处就是『 cpio 连一般的装置文件都可以
copy 过来!』很棒吧!所以使用 cpio 进行完整备份是很棒的一个选择。不过需要注意的是,由于
cpio 需要配合 find 才可以正常的动作!这里请特别留意啰!另外,使用 cpio
常常配合另一颗完全用来备份的硬盘或者是磁带机才好!至于完整的指令用法请到
『压缩工具』 那一篇去查看啰!备份与反备份分别可以这样使用:
至于部分备份方面,我们就以简单的 tar 来说明一下吧!!假如我们需要备份的数据是每天的
MySQL 数据库时,由于我想让每天的数据都存成不同的档案,而要分别档案的新旧又以日期来分别最简单了!
所以我就可以这样做:
大致的工具就是这样了!此外,由于备份是长长久久的事业,所以我们需要的是『系统可以自己动作』的方式, 您说是吧!所以呢,这个时候就需要使用到 cron 的服务啦!还记得我们先前讲过的 例行性命令的建立 吗?赶快再去复习一下呀! 鸟哥的备份策略
其实鸟哥在备份的策略相当的简单,我并没有想要将整个系统完全的备份下来,因为太耗时间了!
而且就我的立场而言,似乎也没有这个必要,所以通常鸟哥只备份较为重要的档案而已!不过,由于我需要备份
/home 与网页数据,如果天天都备份,我想,系统迟早会受不了 (因为这两个部分就已经快要占去 1GB 的硬盘空间...)
,所以鸟哥就将我的备份分为两大部分,一个是每周备份,一个则是每日备份,备份的时间点都选择在凌晨的
3~4 点左右!这个时候我就写了两个简单的 scripts ,分别来储存我的数据。所以针对鸟哥的网站
(简称『鸟站』哈哈!)我的备份策略是这样的:
日常备份行为:
底下提供鸟哥的备份的 scripts ,希望对大家有点帮助!
我的动作是:1) 先将所有的数据通通丢到 /disk2/backup 底下去,然后
2) 进行压缩打包,并且传送到内部的 192.168.1.100 那部主机上面去。
每日备份资料 scripts:
再来,继续提供一下每日备份的数据:
远程备援系统:
除此之外,那么还有没有保险的方式呢?呵呵!刚刚前面不是提过远程备援吗?
最简单的说法就是『使用因特网的方法,将你的数据送到远程主机去备份!』那样就
OK 啦!那么我们怎么使用远程备份的方法呢?那就用最简易的 FTP 吧!详细的资料,
其实上面我们就已经提到的,您可以自行参考一下。这里仅提供一个简单的说明:
如何还原系统的考虑
既然有备份,自然就得要考虑到还原啰~一般来说,我们针对备份与还原的考虑通常有这两种:
那如果仅是一般个体户呢?例如鸟哥的网站,就是这样的代表。 那么我当然不必要选择完整备份了,因为即使我完整备份了,但是备份之初的数据如果就已经被入侵, 那我还原一个被入侵的数据有什么好处?加上目前的硬件等级都很高, 网络带宽都很够的前提之下,重新安装最新版 Linux 与更新到最新的套件,其实速度上是很快的。 如此一来,反正系统如果挂了,刚好整个 distribution 一起进行升级~似乎也不错啊~ ^_^ 总之,备份工具是死的,使用的您是活的,您在使用 tar, cpio, dd 等工具时, 必须要优先考虑您所想要达到的『目的』是什么,再根据这个目的,以及您所可以利用的『资源与经费』, 选择适当的备份方式与媒体,这样就足够啦!大家加油啦! ^_^
在这个章节当中,我们提到的大概都是属于中小企业环境所使用到的备份动作,
如果您所在的公司是大型企业的环境,那么不妨考虑外接式,或者是拥有完整备份储存网络的架构,
例如 SAN (Storage Area Network) 及 NAS (Network Attached Storage) 设备,
这样才能够更快速与高效率的储存与备份啊!^_^
不过,这两种架构当中,都需要比较高价位的光纤信道,或者是新技术的 iSCSI 协议的需求, 鸟哥还无缘碰到。除了 iSCSI 有接触到一部机器之外, SAN 还真是没有碰过..... 这两部分的企业应用,就有待您自行与相关的厂商接触了解啰! ^_^ 本章习题练习 ( 要看答案请将鼠标移动到『答:』底下的空白处,按下左键圈选空白处即可察看 )
Floppy, Mo, Zip, CD-RW, DVD-RW, 外接式 USB 硬盘, Tape,
外接式储存数组 (RAID),额外的储存架构,如 SAN, NAS 等。
2002/07/06:第一次完成 2003/02/12:重新编排与加入 FAQ 2005/10/25:旧版的数据已经移动到 此处 。 2005/10/25:主要是增加了一些简单的说明,以及将一些不合时宜的数据拿掉而已! |
|||||||||||
本网页主要以Firefox配合解析度 1024x768 作为设计依据 鸟哥自由软件整合应用研究室