R e d H a t E n t e r p r i s e L i n u x备份方法
【T e c h T a r g e t中国原创】对文件作定期地备份工作是经常被系统管理员忽略的问题之一。在如下三种情况下备份副本会显得意义重大:系统崩溃及文件丢失的时候;发生火灾或地震等重大灾害的时候;当用户或系统管理员误删除或不小心破坏某个文件的时候。即使您已经采用了R A I D机制,文件备份依然是必需的。因为虽然R A I D可以保护在硬盘故障的时候数据不丢失,但在发生灾难和文件误操作的时候是无能为力的。所以建立定期的备份机制,并把备份介质保存在家里或者是完全异地的其它防火设施或建筑内是很重要的。
当我们开始进行硬盘分区时就要考虑备份方面的需求,确保备份设备的容量大小和硬盘分区大小相匹配。虽然我们也可以把一个分区备份到多个不同的卷上,但毕竟对单个卷进行备份和恢复会更加易于维护。
我们必须定期对文件系统做备份。备份的文件通常保存于磁带或其它形式的可移动介质上。而备份的周期则更多取决于系统特点和用户需求。
我们可以根据如下规则来评估备份计划:假设系统宕机,您可以容忍多少生产数据丢失?理想情况下,我们应该每隔几分钟对系统内的文件作一次备份,这样可以确保不会丢失超过几分钟的生产数据。
但事实上折衷的办法是:您多久希望完成一次文件备份?因为备份进程通常会降低系统内其它用户的访问速度,而且会花费一定的时间完成,另外还需要购买和存放备份所需的磁带或磁盘介质。
要努力避免备份活动的文件系统。如果发生这种情况会导致数据不一致,而且无法从备份文件完成恢复过程。打开文件备份时备份软件提供的特殊功能之一,而且还要取决于目标系统自身的特点。
关于备份还有一个问题是:什么时候运行备份?除非您计划让所有用户离线,然后关闭系统到单用户状态,然后在系统静止的情况下来执行备份任务。根据系统特点不同,很多时候在午夜进行备份任务会比较好。备份进程对客户的影响可以降到最低,而且在文件被备份程序读取时可以保持静态。
全备份指的是对所有文件做备份,跟什么时候创建和访问过无关。而增量备份则指的是对上次全备份之后新创建或修改过的文件做备份。
系统使用越频繁,对文件系统的备份间隔要越短。常用的备份规则之一是:每天进行一到两次增量备份,每周进行一到两次全备份。
选择备份介质
如果本地系统可以连接到网络,您可以把备份数据写入到其它系统连接的磁带驱动器上。这项技术通常用于网络计算机环境中,以降低为每台服务器配置本
地磁带驱动器所需的高成本,同时也更加易于管理网络系统中多台服务器的备份任务。
看起来用户倾向于使用磁带系统做备份。由于磁带设备具有超大容量的特点,使用磁带可以简化系统备份任务,也更容易实施和维护定期地备份任务。
保存备份数据的其它介质还包括可擦写C D、D V D和可移动硬盘。这些设备尽管在大量数据备份时不如磁带的性价比高,但是它们比磁带使用方便而且可以大幅提高性能。
下一部分介绍几款备份工具。
有大量的备份工具可以用于系统备份,而且它们都支持各种备份介质。L i n u x系统的备份很多是基于t a r或c p i o备份命令的,通过基本命令附加对应的参数可以创建备份列表,从而方便地管理备份任务。
您可以通过t a r、c p i o或 d u m p/r e s t o r e命令来创建系统的全备份或部分备份。每种命令都可以创建一个包含或归档了多个文件在内的大文件。而且除了文件内容本身外,归档过程还为每个文件创建文件头用于标记。
该文件头信息可以用于从归档文件中解压指定文件,然后恢复文件访问权限和被修改的数据。归档文件在创建时可以被保存在磁盘,写入磁带备份系统或者是通过网络保存在远端。
为协助完成系统备份,这些命令通常还提供了非常方便的文件打包方法,方便文件移动到远程站点。T a r命令就是用于这一目的的,在I n t e r n e t上很多可用软件包都是以t a r归档文件格式打包的。
A M A N D A(A d v a n c e d M a r y l a n d A u t o m a t i c N e t w o r k D i s k A r c h i v e r)命令是最流行的备份系统之一,通过d u m p或t a r命令并借助S a m b a的优势来完成
W i n d o w s系统备份。A m a n d a命令可以把L A N上的多种不同主机备份到同一个磁带设备上。用户通过y u m可以安装a m a n d a,请参考a m a n d a用户手册获取详细内容。
t a r:归档文件
T a r磁带归档命令可以用于备份或从归档中恢复文件,通过对归档文件的压缩节省存储空间。在没有指定归档设备的情况下,t a r采用默认的输入输出路径。通过-f参数,t a r可以引用-f变量提供的备份设备名称,而且该参数还能定向到网络上的其它系统。尽管t a r的参数很丰富,多数情况下只会用到其中几个。如下命令可以显示所有参数列表:
#T a r––h e l p|l e s s
大多数t a r的参数可以选用简写(仅一个字母)或者是描述符的方式。使用描述符方式时需要在前边加上两个连接符,例如--h e l p。应用单字母的方式可
以组成一个单行的命令句,而且不许要任何前置连接符。考虑到跟其它命令的兼容性,使用前置的描述符也挺好。
虽然下面两条命令看起来差别很大,实际上它们实现的t a r功能相同。第一行中通过单字母方式组成单行命令;而第二行使用描述符完成同样功能。
#T a r–z t v f/d e v/s t0
#t a r––g z i p––l i s t––v e r b o s e––f i l e/d e v/s t0
两个t a r命令都是以/d e v/s t0(f,f i l e)的磁带为源创建一个目录文件(v,v e r b o s e)列表(t,l i s t),用g z i p(z,g z i p)完成解压过程。跟传统U N I X t a r 命令不同的是,G N U版本命令需要完整路径来读取文件头。
表16-1的选项列出了t a r命令的不同操作方式,在使用t a r命令时需要包含如下这些参数在内。
表16-1:t a r命令
–c,–t,和–x参数使用最为频繁,还有很多其它参数可以更改t a r命令的运行结果,例如-j参数,可以指定通过b z i p2(162页)来完成文件压缩和解压过程。
C p i o:归档文件
C p i o(c o p y i n/o u t)程序跟t a r类似,不同点在于可以使用包括t a r格式在内的多种不同的归档文
件格式。通常情况下c p i o读取标准输入设备中需要进行归档文件的文件名,然后以标准输出方式生成归档文件。当需要从归档中提取文件时,c p i o读取归档文件作为标准输入。
跟t a r类似,通过以单字母或描述符方式调用参数可以实现差异化的结果。不同点在于,当带有附加信息的时候两种使用方式在语法上会有差别。
在单字母格式下,需要在参数和附加信息之前加入空格;而在描述符格式下,两者之间需要加入等号作分隔,这里不加空格。
运行带有––h e l p的c p i o命令可以显示所有参数的列表。
完成简单的备份过程
在对系统做诸如更换硬盘或升级L i n u x内核这样的大动作之前,最好先对所有或部分文件做归档,这样在发生意外的情况下可以恢复任何所需的文件。T a r 或c p i o可以很好支持这种类型的备份。例如,如果你所拥有的S C S I磁带驱动器设备(例如/d e v/s t0)正好可以支持用单盘磁带来备份所有的文件,那么使用如下的命令可以建立对整个系统的备份磁带:
#c d/
#t a r–c f/d e v/s t0.
运行所有的命令之前都先通过c d命令来改变根目录,这样可以确保完成对整个系统的备份。接下来的T a r命令可以在/d e v/s t0(f)设备上创建一个归档(c)。如果归档的同时您希望压缩文件,用如下的命令代替,通过加入参数j 调用b z i p2来压缩。
#t a r–c j f/d e v/s t0.
您还可以联合使用f i n d和c p i o命令来备份系统。如下命令创建一个输出文件并设置I/O数据块大小为5120字节(默认是512字节):
#c d/
#f i n d.–d e p t h|c p i o–o B>/d e v/s t0
linux版本命令接下来这个命令从之前的备份系统恢复文件到/h o m e目录下。通过冗余命令的方式从归档(-i)处恢复文件、保留修改信息并根据需要创建目录。
#c d/
#c p i o–i v m d/h o m e/*</d e v/s t0
实际应用中,您可能需要在备份的时候排除部分目录下的文件。例如,不对/t m p 或/v a r/t m p(或跟它相关的,/u s r/t m p)中的文件做备份可以节省空间。而且,对/p r o c中的文件也不要做备份,因为/p r o c文件系统并不是真正的磁盘文件,而是L i n u x内核用于保留操作系统和内存信息的区域,因此无需备份/p r o c目录,而且即使备份也无法恢复。另外,对于通过网络从其它系统映射来的文件系统也不需要备份。
不要备份F I F O,备份结果是不可控的。如果您想采用更简单的方法实现,只需创建一个文件其中包括了所有无需备份文件的文件名,然后在备份程序中使用适当的命令读取该文件从而排除不需备份部分。
虽然所有的这些归档命令都可以满足简单备份需求,但依然有A m a n d a这样的高级备份和恢复软件可以提供更加精细的功能。例如,为了判断归档中是否包含某个文件,您需要去查整个归档文件。如果归档不幸位于多盘磁带上,查过程会很麻烦。更加高级的工具,如A m a n d a,可以通过多种方式简化用户需求,包括在备份时创建一个包含了所有归档文件的列表。
d u m p,r
e s t o r e:备份和恢复文件系统
D u m p命令最早出现于U n i x6中,可用于整个文件系统的全备份,或是从上次d u m p之后发生改变部
分文件的备份。R e s t o r e命令可以恢复整个文件系统、某个单独的文件级或目录级的文件。在做备份时最好的情况是让系统保持静态,这样才能确保文件在备份过程中不会发生改变。
下面的命令可以把r o o t(/)分区下的所有目录和特殊文件备份到编号0的S C S I磁带上 。通常,使用/d e v/t a p e就可以链接到激活的磁带驱动器,它可以用于代替/d e v目录下真实的目标地址。
#d u m p-0u f/d e v/s t0/
在参数中指明需要备份整个文件系统需要(-全备份)。D u m p分为0到9十个不同级别,0是最高级(最完整的),需要备份整个文件系统。之后的每个级别都是在前一个级别基础上的增量备份。
例如,1是对0级的增量备份,仅备份d u m p0之后发生改变的部分;2是1的增量,备份d u m p1之后发生改变的部分,依此类推。通过这个功能,用户可以创建高度弹性的备份机制。而且数字的使用并非强制保持连续,例如您也可以在d u m p0之后创建 2或 5d u m p。
参数u用于升级/e t c/d u m p d a t e s文件中关于文件系统、数据以及d u m p级别等相关信息,以备下一次增量d u m p使用。参数f及其变量把备份写入到名为
/d e v/s t0的设备中。
如下命令可以完成对上一次 0d u m p之后所有发生改变文件的一次特殊备份。第一个变量1标示出是一次 1d u m p:
#d u m p-1u f/d e v/s t0/
如果要从磁带恢复整个文件系统,首先完成最近一次全备份(0级)的恢复。做这个动作一定要小心,因为恢复的动作会覆盖现有的文件系统。如果您是以超级用户登录的,输入c d命令回到文件系统的挂载点,然后输入命令:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论