QQ在线服务: 风舞残阳风舞残阳 年满19岁年满19岁 小罗小罗 晴天晴天 心雨心雨 叮叮肉叮叮肉 小周小周 小童小童 小破孩小破孩 遥望当年遥望当年

用户导购指南

水货IBM笔记本电脑报价

行货IBM笔记本电脑报价

IBM服务器报价

IBM笔记本电脑配件报价

本周水货IBM笔记本电脑特价

IBM笔记本电脑驱动下载

水货IBM笔记本电脑验机流程

水货IBM笔记本电脑保修政策

IBM笔记本电脑FRU查询

IBM笔记本电脑常见问题

IBM笔记本电脑使用手册

笔记本电脑验机软件

论坛积分使用说明

水货IBM笔记本电脑异地购机流程

笔记本电脑购机经历及现场

贵宾申请入口

贵宾用户FTP入口

查看笔记本配置

水货APPLE苹果笔记本电脑报价

 
发新话题
打印

[linux教程] Linux 管理员手册(8)--备份

Linux 管理员手册(8)--备份

硬件不肯定是可靠的9 d1 U9 ^  |% w8 A% v- g
  软件肯定是不可靠的) s! A0 r) ?0 O; Z5 v" G, ^# Y
  人不肯定是不可靠的
0 v1 w# T4 d2 C  }  a" F, x5 e  而自然肯定是可靠的
1 J/ S0 V8 b# y* A# _) D  本张说明为什么、如何、何时要做备份,及如何回存备份的东西。! |$ |- R, q7 K6 J- G: I
[color=#FFFFFF']" H  A5 l6 Z: h! p- B5 C

6 [9 r$ R/ L" f7 h  备份的重要* P: x* K* y8 |& _# a; v, n* W
  数据是有价值的。重新产生它需要你花费时间和努力,并且要花费金钱或至少伤心和眼泪,有时甚至不可能重新产生,例如一些实验结果。由于数据是一种投资,你必须保护它,并采取措施避免丢失。7 y/ ]" P4 ?8 x+ n1 y" y
% Y& i! D/ w3 o3 |
  丢失数据一般有4个原因:硬件失败、软件曲线、人为因素或自然灾害。虽然现代硬件已经相当可靠,但仍可能自然损坏。存储数据最决定性的硬件是硬盘,它依赖微小的磁区在充满电噪声的世界上保存数据。现代软件依然不可靠,一个真正可靠的程序是理想、罕见的,而不是规律。人更不可靠,他们很容易犯错误,甚至为某种目的恶意地破坏数据。自然可能不是邪恶的,但也可能造成破坏。一切的一切,希望什么都正常、完美几乎是不可能的。  _/ _$ g9 A# ?
  备份是保护数据投资的方法。有数据的多个拷贝,就不怕某个损坏(所需做的仅仅是从备份中恢复丢失的数据)。
) C  p# d. P* s6 b! H# C5 x9 H  Y  正确的备份是很重要的。正如物理世界中任何东西都与其他相关,备份也迟早会失效。好的备份确保有效,你不希望你的备份无效。如果你的备份又坏了,这将雪上加霜,如果你只有一个备份,它可能根本是坏的,只留下你和硬盘中冒烟的灰烬。或者当你恢复时,发现忘了备份一些重要的东西,比如15000个用户站点的用户数据库。Bestofall,allyourbackupsmightbeworkingperfectly,butthelastknowntapedrivereadingthekindoftapesyouusedwastheonethatnowhasabucketfulofwaterinit.' i; ^3 ]4 A. Q  m7 l) B: B
  Whenitcomestobackups,paranoiaisinthejobdescription.5 D! ~' M% ]$ }$ n7 I, f
  选择备份介质
6 s( P6 v; U9 R4 ^) X  备份所需的最重要的决定是选择备份介质。需要考虑成本、可靠性、速度、可得到、可用性。
8 W4 h& G7 v9 q* k6 t9 ]  成本是很重要的,因为你的数据可能需要多个存储、多个备份。便宜的介质可以用很多。5 D0 E& h: r+ D, M
  可靠性是最重要的,因为坏的备份会雪上加霜。备份介质必须能存储数据多年而不损坏。作为备份介质,使用方法影响可靠性。硬盘一般是很可靠的,但作为备份介质并非很可靠,如果它和备份源在同一计算机里的话。0 V, l, F0 O. A2 q) w8 ^( r6 M$ R2 D
  速度通常不太重要,如果备份可以非交互地完成。备份花2个小时无所谓,无须监督,多长时间都没有关系。另一方面,ifthebackupcan\\\'tbedonewhenthecomputerwouldotherwisebeidle,那么速度也是个问题。$ W% L. R: t( _" s; s
[color=#FFFFFF']; C. V! w# T' c; c  J2 b/ P

% Z: q2 c9 h1 b  可得到是明显必要的,因为你无法使用不存在的备份介质。不太明显的是要在将来还能得到这种介质,并且能在其他计算机上使用。否则灾害之后,你可能无法恢复你的备份。; f: x$ U  p1 {
[color=#FFFFFF']
  H9 c% E3 q8 I9 W
% m! N  [* g5 {* z/ I4 F  可用性是决定备份周期的主要因素。备份越容易使用越好。备份介质不能难以使用。
" j3 T+ u0 ~. C2 h[color=#FFFFFF']  z1 d: }, z: W$ W' K1 [2 b. H
( O$ o7 Z; _& E7 D' l; [
  一般用软盘和磁带。软盘很便宜,还算可靠,不太快,很容易得到,但数据量大时不容易使用。磁带也很便宜,还算可靠,还算快,很容易得到,而且,依赖于磁带的容量,使用很轻松。! L5 w- C2 Z! P* z" V& I
  还有其他选择。但通常可得性不好,但如果这不成问题,有时也不错。例如,磁光盘同时具有软盘(随机存取,可以快速地恢复单个文件)和磁带(大容量)的优点.2 a2 F" _" u7 n3 m
  选择备份工具
  Q6 n9 X" {+ w/ T" v  备份有很多工具,传统的UNIX备份工具是tar、cpio和dump。另外,还可以使用大量第三方软件包(包括freeware和商业版)。备份介质的选择可能影响工具的选择。; q; |1 t: H. ?, F' I
[color=#FFFFFF']
" _* s  w$ h! I0 j* }+ z$ Q& B: {# J, {5 J6 O4 d
  tar和cpio似,从备份来看二者基本等效。都能将文件存到磁带并取出文件。都能使用几乎所有介质,因为核心设备驱动处理低级设备操作,对用户级程序看来所有设备都差不多。有写Unix版本的tar和cpio对不是普通文件可能有问题(符号连接、设备文件、极长路径名的文件等等),但Linux的能正确处理所有文件。9 J! R. H' k- Z
  dump不同,它直接读文件系统,而不通过文件系统。Itisalsowrittenspecificallyforbackups;tar和cpioarereallyforarchivingfiles,althoughtheyworkforbackupsaswell.( E( q: H9 i' a( ]9 _$ T# ^  [
[color=#FFFFFF']
6 P9 d( Y3 m4 m8 w2 U! F8 N2 t
5 F% m, n) e- Z7 t, G  直接读文件系统有些优点,它可能不考虑timestamps备份所有文件;对于tar和cpio,必须先将文件系统只读安装。直接读文件系统更有效,如果所有东西都要备份,因为它使磁头移动最少。它的主要缺点是每个文件系统种类需要特定的备份程序,Linux的dump程序只理解ext2文件系统。
6 s5 T) a  w6 X) Q; n  N3 w, l[color=#FFFFFF']  Z, f/ X+ F7 b  v8 F' v" d
. I9 m  O/ O3 G- }: O, a4 X# H- S( K
  dump也直接支持备份级(下面讨论);对tar和cpio,这必须用其他工具实现。; R: u; j- P% g
  第三方备份工具的比较超出了本书的范围。LinuxSoftwareMap列出了许多freeware的。7 M6 S! D  z; S
  简单备份
8 D: T! ^) c0 m; M6 a[color=#FFFFFF']
0 M! u& K4 S0 L+ ~$ b
0 h$ w5 Z: d  w" E3 p9 X  一个简单的备份方案是一次备份所有东西,然后备份上次备份后改变的所有东西。第一个备份叫全备份fullbackup,后来的叫i增量备份ncrementalbackups。全备份比增量备份费时费力,因为有更多的东西写到磁带,而且全备份可能不能放如一盘磁带中(更别说软盘了)。回存增量备份比全备份可能要花更多的时间。备份可以这样优化,就是自上次全备份以后,总用增量备份保存所有改过的文件。这样,备份可能需要多一些的工作,但你只需回存一个全备份和一个增量备份。
- O# o. i! W7 `$ |/ o  如果有6盘磁带想每天备份,可以用磁带1做第一个全备份(比如在星期五),用磁带2-5做增量备份(周一到周四)。然后用磁带6做新的全备份(第二个周五),然后再用磁带2-5做增量备份。在做完新的全备份之前不要覆盖旧的全备份(磁带1),一面在做全备份的时候出现问题。有了新的全备份磁带6以后,最好在另一个地方保存磁带1,这样如果有一个全备份磁带在火灾中损失了,还能有一个。当再做下一个全备份是,再用磁带1而保存磁带6。3 p# Y5 a9 D, T( L6 f3 n. [
[color=#FFFFFF']
( Z! y/ n; `4 J" S7 }
. B: Y, D1 U" x. N- P$ F) [  如果你有多于6盘磁带,可以用多的做全备份。每次做全备份,应该使用最老的磁带。这样你会有最近几周的全备份,对你如果想找到一个现在已经删除的就文件,或一个文件的旧版本很有用。
7 I& S! o2 G/ r6 z& Q  l9 E[color=#FFFFFF']
; |& e/ l* c! [4 }5 V9 }  `/ R4 R7 r" ^( A
  用tar备份
) f! [( X5 `3 `  ?6 w- |3 q[color=#FFFFFF']' ]. {* T. |- g3 \& ]* o7 ]
  Q! F5 M: B8 j2 s# M% M
  一个全备份可以很容易地用tar实现:- q1 X, o/ j, Y4 Z
  #tar-create-file/dev/ftape/usr/src
; C! E" ^% t7 D9 |* [4 b3 \  tar:Removingleading/fromabsolutepathnamesinthearchive  b$ ]$ |5 d3 `  r* n- U4 |! ^
  #/ ?3 ~: @. x- P6 |, c! Y" U
  上面的例子使用GNU版本的tar及其长选项名。传统版本的tar只理解单字符选项。GNU版还能处理一盘磁带或一张磁盘不能容纳的备份,及很长的路径名;这不是所有传统的版本能作到的。(Linux只使用GNUtar。)& I8 c/ o% v& v. \( s/ k3 ?* E0 m
[color=#FFFFFF']0 a) ]# z( A, R, {2 r
: J; Q  V& v$ \% p8 N. h
  如果你的备份一盘磁带不能容纳,你需要使用-multi-volume(-M)选项:) p6 w7 L, E% l. B' S( J- Z4 y
[color=#FFFFFF']" ^5 M4 j. l( d& v7 X% C: X( r

6 R: t- S6 ?( V) Q3 p  #tar-cMf/dev/fd0H1440/usr/src
% S. `0 @2 a8 A7 _6 H  tar:Removingleading/fromabsolutepathnamesinthearchive; r  v1 d0 w6 `' q. |" m6 u# q
  Preparevolume#2for/dev/fd0H1440andhitreturn:" J4 g( ?/ a3 v4 t: L
  #4 R+ a! l' |6 ~# r7 V8 N, ~
  注意开始备份前要格式化所有软盘,或在tar需要新软盘时用另一个虚拟控制台或虚拟终端格式化它。5 p5 [4 g* ^' g
  备份完后,应该检查它是否完好,用-compare(-d)选项:) p$ _# t4 ~; y" Q1 p( p) J
  #tar-compare-verbose-f/dev/ftape1 R% ?0 O4 {" n' n  g. ~- O+ K' J
  usr/src/
- P2 d/ [; O' @) H0 G  usr/src/linux) K" u3 z5 u+ K, L- r
  usr/src/linux-1.2.10-includes/
, ]# C0 J5 |$ w  ....  V  M! o. [+ @1 U" N, o
  #
7 [5 Y* F4 G7 Z6 S$ J3 L! K  |[color=#FFFFFF']
' [2 ]0 Z7 }  S- [$ }  G- A- p1 z
  失败的备份检查意味着如果你丢失了原始数据,备份也无法恢复。& {% w/ O( {$ e7 x+ U* K: V
  增量备份可用带-newer(-N)选项的tar来实现:  L! g1 \; M& I0 ]  Y0 S" M: L% X
  #tar-create-newer\\\'8Sep1995\\\'-file/dev/ftape/usr/src-verbose( O9 V/ ?# u7 W3 F1 N, L; O
  tar:Removingleading/fromabsolutepathnamesinthearchive
1 B' t9 d0 T3 ]* u. r5 g- n8 i9 |* Z  usr/src/5 }- O0 B; m$ }4 Y' t+ L1 _
  usr/src/linux-1.2.10-includes/
( y; b8 V2 [' q" u  usr/src/linux-1.2.10-includes/include/
0 @: i1 T2 c# H. s. E  f  usr/src/linux-1.2.10-includes/include/linux/
5 J  A. z: Y/ a) S: ?  usr/src/linux-1.2.10-includes/include/linux/modules/
& T% K" o8 s) i: ^& M  usr/src/linux-1.2.10-includes/include/asm-generic/
) X3 K0 n$ c; q- i' |' M1 B  usr/src/linux-1.2.10-includes/include/asm-i386/" @0 q: u6 z) U8 q# {# z
  usr/src/linux-1.2.10-includes/include/asm-mips/+ m- P4 n! ~9 h* S" X0 J- I
  usr/src/linux-1.2.10-includes/include/asm-alpha/
! @9 c9 e- U- @. o/ E  I( j  b  usr/src/linux-1.2.10-includes/include/asm-m68k/1 C, c4 w) M& ^! ?" ?8 J# C
  usr/src/linux-1.2.10-includes/include/asm-sparc/
# c6 L1 N) t* M4 G' Z  usr/src/patch-1.2.11.gz3 h' V% I' t; D' ^  f
  #
, ?5 C3 h: c1 L; x4 N  不幸的是,tar不能知道一个文件的i节点信息变化,例如,文件的权限位变化,或文件名变化。这可用find命令和比较当前文件系统状态和先前备份的文件列表。用于此的Scripts和程序可以在LinuxFTP站点上找到。- c; X& b. v/ J/ |7 X8 \
  用tar回存4 }# {9 j  k' n* y: z7 }; q
  tar的-extract(-x)选项展开文件:
2 W8 ~2 D6 i! Z! H[color=#FFFFFF'], o' t: V! |4 ]4 M! F! f( V

% M) W* e) I% n$ E( Q  ]* L  #tar-extract-same-permissions-verbose-file/dev/fd0H1440
1 b7 H6 d8 L7 J8 R4 c  usr/src/* Q5 L& s: k& x
  usr/src/linux9 ^6 D# c% ?; t6 m
  usr/src/linux-1.2.10-includes/
4 e1 ~0 V. T" V' m8 s  usr/src/linux-1.2.10-includes/include/" f6 E# ]5 U8 z) g
  usr/src/linux-1.2.10-includes/include/linux/
* @- D+ V- M+ q( z9 a& B  usr/src/linux-1.2.10-includes/include/linux/hdreg.h
) n5 c& P6 H: s  usr/src/linux-1.2.10-includes/include/linux/kernel.h
% d& G) Y. l# E& i4 s  ...( r' g+ C& _% `! ]8 N5 a: {. Z
  #$ r9 A; l* r' }
  也可以用命令行只展开特定的文件和目录(及其中的文件和子目录):
  a+ R! d% s0 ^9 K  #tarxpvf/dev/fd0H1440usr/src/linux-1.2.10-includes/include/linux/hdreg.h( O1 C9 `" l; u2 B/ d
  usr/src/linux-1.2.10-includes/include/linux/hdreg.h$ |: A9 M" @) O9 s6 ?$ s2 E
  #7 i. n9 n) G  I" S! \6 z' y
  用-list(-t)选项看一个备份卷中有什么文件:" n6 T+ T# G. q) u
  #tar-list-file/dev/fd0H1440: W/ Q2 n; b1 d: f
  usr/src/
( f- z! b9 N8 O0 v6 ?& N/ m  usr/src/linux7 u1 T7 A1 {! M1 \6 c
  usr/src/linux-1.2.10-includes/
) g. T  f/ W% `, o  usr/src/linux-1.2.10-includes/include/
8 r2 e$ ~/ e8 d3 {! k- `. Z  usr/src/linux-1.2.10-includes/include/linux/" J7 e* T: E/ g, f
  usr/src/linux-1.2.10-includes/include/linux/hdreg.h
. `/ O/ \2 h* m* b9 X  usr/src/linux-1.2.10-includes/include/linux/kernel.h4 T& t0 L4 C7 v
  ...
8 J+ U5 x6 j  N9 Z2 [2 A  #
, c4 F: n7 U. G' s" b1 p2 s/ v  注意tar永远是顺序读一个备份卷,因此大的卷会很慢。使用磁带机或其他顺序介质时不可能使用随机存取数据库技术
1 g# U4 E; d. s1 T1 D  tar不处理删除文件属性。如果你需要从一个全备份和一个增量备份恢复一个文件系统,并且2个备份之间你删除了一个文件,当你恢复完后,这个文件又存在了。如果这个文件包含应该删除的敏感数据,这是个大问题。
# s; x' ^: Q( O+ d2 O- x  多级备份& x( h9 P2 A0 k
  上面的章节概述了简单备份的方法,对个人使用或小的站点使用。对于多数重负荷的使用,多级备份更适用。
" F' M- B9 i; K$ `  简单备份有2个备份级:全备份和增量备份。通常可以有任意数量的备份级。全备份是0级,不同级别的增量备份是1、2、3...级,每个增量备份级备份同一或上一级别的上次备份后改变的所有东西。
. f) k! f$ f/ f4 @  这样多的目的是更便宜地允许更长的备份历史backuphistory。在前面的例子中,备份历史追溯到上一个全备份。可以增多磁带来扩展备份历史,但每个新磁带扩展一周,这样可能太贵。更长的备份历史是有用的,因为删除或损坏的文件可能长时间未被发现。即使不是一个文件的最新版本,也比没有好。; t! Z- n# J/ D
  多级备份可以更便宜地扩展备份历史。例如,如果你有10盘磁带,可用磁带1和2做月备份(每月的第一个周五),磁带3-6做周备份(其他周五,因为每月最多可能有5个周五,因此需要4盘磁带),磁带7-10做日备份(周一到周四)。只增加了4盘磁带,就将2周的备份历史扩展到2个月。诚然,我们无法恢复这2个月中每个文件的所有版本,但这样恢复的经常是足够好了。
6 R+ v( r, V3 c4 R8 z+ Q6 v( E' ~  备份级可使文件系统恢复用最少的时间。如果你有许多只是单调增长级别数的增量备份,要恢复整个文件系统,你需要回存所有备份。而如果级别数不是单调增长,可以减少备份和回存的数目。* N2 F- O# Z2 O" w
  为了将回存需要的磁带数据减至最小,可以用小的级别做每个增量磁带。然而,这样做每个增量备份的时间会增加(每个备份拷贝了上次全备份后改变的所有东西)。一个好的方案建议在dumpman页中给出,并在表9.2中说明。Usethefollowingsuccessionofbackuplevels:3,2,5,4,7,6,9,8,9...这使备份和回存所用的时间保持较少。Themostyouhavetobackupistwoday\\\'sworthofwork.恢复所需磁带数有赖于全备份的间隔,但它比简单的方案少。
2 [: |4 J  g1 S  一个好的方案降低了工作量,并能追寻更多的东西。Youmustdecideifitisworthit.
2 ]" Z% |' T4 n  dump对备份级有内置的支持。而tar和cpio则必须用shellscripts实现。
* P' B# x# O) q  备份什么?
( K9 V$ b$ d$ ^& W: f  你可能想尽多备份。主要的例外是容易重安装的软件,但即使是它们,也有配置文件,对备份很重要,以免对这些软件全部重新配置。另一个主要的例外是/proc文件系统,因为他们只包含通常由核心自动产生的数据,备份它们绝不是个好主意。特别是/proc/kcore文件更是不必要,因为它只是你当前物理内存的映象,而且很大。; J* Z3 T* e, a; m* I
  Grayareasincludethenewsspool,logfiles,andmanyotherthingsin/var.你必须决定重点考虑什么。6 P3 P7 k4 ?$ H
  备份最明显的是用户文件(/home)和系统配置文件(/etc,但还可能有散落在文件系统其他地方的其他东西。- B4 q6 f8 f, Z5 u
  压缩备份3 H+ }8 x4 j/ G( \$ m; H6 i  F
[color=#FFFFFF']8 y0 f$ ~( A+ M/ n

$ [, J; |0 a5 D7 W  q$ p8 t  H  备份占用大量空间,要花费大量金钱。为了降低空间需求,备份可以压缩。有几种方法。有些程序内置支持压缩。例如GNUtar的-gzip(-z)选项,通过管道(pipe),在写到备份介质前,先用gzip压缩程序压缩。
3 A2 X6 o/ {, _% X+ `  不幸的是,压缩备份可能导致问题。由于压缩工作的原理,如果一个bit错误,可能导致所有其他压缩数据不可用。有些备份程序内置错误校正,但没有办法处理大量的错误。就是说,如果用GNUtar压缩备份,一个单独的错误回导致整个备份丢失。备份必须可靠,这样的压缩方法不好。0 z6 l! i) s8 |8 ~9 ~2 d
  还有一个方法是单独压缩每个文件,这也回导致一个文件的丢失,但不会影响其他文件。丢失的文件可能已经因为什么原因损坏,因此这种情况比不使用压缩差不了多少。afio程序(cpio的一个变种)可以这样。
$ F9 B; [* n1 Z. t/ y1 U  压缩需要时间,whichmaymakethebackupprogramunabletowritedatafastenoughforatapedrive.这可以靠输出缓冲来避免(如果备份程序足够智能,可以内置,否则可以通过其他程序),buteventhatmightnotworkwellenough.这只会在慢的计算机上是个问题。
(※本文搜集自:重庆未来科技 http://www.wlkj.net 重庆IBM笔记本电脑、重庆IBM水货笔记本电脑、重庆苹果笔记本电脑、重庆IBM服务器专卖)

TOP

******请登陆论坛查看内容******

(※本文搜集自:重庆未来科技 http://www.wlkj.net 重庆IBM笔记本电脑、重庆IBM水货笔记本电脑、重庆苹果笔记本电脑、重庆IBM服务器专卖)
这是赤果果的灌水呐
What good would wings be
if you couldn't feel wind on your face

TOP

发新话题