第 24 章 备份和恢复文件系统(概述)
本章提供有关使用 ufsdump 和 ufsrestore 命令备份和恢复文件系统的指南和规划信息。
以下是本章中概述信息的列表。
有关备份和恢复任务的参考信息
备份和恢复文件系统介绍
备份文件系统是指将文件系统复制到可移除介质(如磁带),以防止其丢失、损坏或破坏。恢复文件系统是指采用适当的方式将当前的备份文件从可移除介质复制到工作目录。
本章介绍了用于备份和恢复 UFS 文件系统的 ufsdump 和 ufsrestore 命令。其他命令可用于复制文件和文件系统,以实现文件共享或传输。下表提供了用于将各文件和文件系统复制到其他介质的所有命令的链接。
表 24–1 用于备份和恢复文件和文件系统的命令
备份文件系统的原因
备份文件是最重要的系统管理功能之一。应该定期按计划执行备份,以防止因以下类型的问题造成数据丢失:
-
系统崩溃
-
无意中删除文件
-
硬件故障
-
自然灾难,如火灾、飓风或地震
-
重新安装或升级系统时出现问题
应该备份的文件系统
应该备份对用户非常重要的所有文件系统,包括频繁更改的文件系统。下表提供了有关为独立系统和服务器进行文件系统备份的一般指南。
表 24–2 为独立系统备份的文件系统
|
要备份的文件系统
|
说明
|
备份间隔
|
|
根目录 (/) – 片 0
|
此文件系统包含内核,并可能包含 /var 目录。/var 目录包含临时文件、日志文件或状态文件,而且可能包含频繁更新的系统记帐和邮件文件。
|
定期,如每周或每天
|
|
/usr – 片 6, /opt
|
/usr 和 /opt 文件系统包含软件和可执行文件。/opt 目录或者是根目录 (/) 的一部分,或者是其自己的文件系统。
|
偶尔
|
|
/export/home – 片 7
|
此文件系统可以包含独立系统上的所有用户的目录和子目录。
|
比根目录 (/) 或 /usr 的备份更频繁,可以每天备份一次,具体取决于站点的需要
|
|
/export, /var 或其他文件系统
|
/export 文件系统可以包含无盘客户机的内核和可执行文件。/var 目录包含临时文件、日志文件或状态文件。
|
根据站点要求
|
表 24–3 要为服务器备份的文件系统
|
要备份的文件系统
|
说明
|
备份间隔
|
|
根目录 (/) – 片 0
|
此文件系统包含内核和可执行文件。
|
每天一次到每月一次,具体取决于站点的需要。
如果在网络上频繁地添加及删除用户和系统,则必须更改此文件系统中的配置文件。在这种情况下,应该以介于每周备份一次和每月备份一次之间的频率对根 (/) 文件系统执行完整备份。
如果站点将用户邮件存放在邮件服务器的 /var/mail 目录(即客户机随后挂载的目录)中,则可能需要每天都备份根目录 (/)。或者,如果它是单独的文件系统,则需要备份 /var 目录。
|
|
/export – 片 3
|
此文件系统可以包含无盘客户机的内核和可执行文件。
|
每天一次到每月一次,具体取决于站点的需要。
由于此文件系统中的信息与片 0 中的服务器根目录类似,因此此文件系统不会频繁发生更改。如果站点不向客户机系统发送邮件,则只需偶尔备份此文件系统即可。否则,应该更频繁地备份 /export。
|
|
/usr – 片 6, /opt
|
/usr 和 /opt 文件系统包含软件和可执行文件。/opt 目录或者是根目录 (/) 的一部分,或者是其自己的文件系统。
|
每天一次到每月一次,具体取决于站点的需要。
除非频繁地添加或删除软件,否则这些文件系统通常是静态的。
|
|
/export/home – 片 7
|
此文件系统可以包含系统中所有用户的起始目录。此文件系统中的文件是可变文件。
|
每天一次到每周一次。
|
选择备份类型
可以使用 ufsdump 命令执行完整备份或增量备份。可以使用 fssnap 命令创建文件系统的临时映像。下表列出了这些备份过程类型之间的差异。
表 24–4 各种备份类型之间的差异
|
备份类型
|
结果
|
优点
|
缺点
|
|
完整
|
复制完整的文件系统或目录
|
所有数据都处于一个位置中
|
需要大量备份磁带,写入时间很长。由于驱动器必须按顺序移至磁带上文件所在的点,因此检索各个文件需较长时间。可能必须搜索多个磁带。
|
|
快照
|
创建文件系统的临时映像
|
系统可以处于多用户模式下
|
创建快照时,系统性能可能会降低。
|
|
增量
|
仅复制指定文件系统中自以前某一次备份以来发生更改的那些文件
|
更容易检索文件系统中的小的更改
|
查找包含文件的增量磁带会需要较长时间。可能必须返回上一次的完整备份。
|
选择磁带设备
下表显示了用于在备份过程期间存储文件系统的典型磁带设备。存储容量取决于驱动器类型和当前写入磁带的数据。有关磁带设备的更多信息,请参见第 30 章,管理磁带机(任务)。
表 24–5 用于备份文件系统的典型介质
|
备份介质
|
存储容量
|
|
1/2 英寸盘式磁带
|
140 MB (6250 bpi)
|
|
2.5 GB 1/4 英寸盒式 (QIC) 磁带
|
2.5 GB
|
|
DDS3 4 毫米盒式磁带 (DAT)
|
12–24 GB
|
|
14 GB 8 毫米盒式磁带
|
14 GB
|
|
DLT 7000 1/2 英寸盒式磁带
|
35–70 GB
|
备份和恢复文件系统的高级视图(任务列表)
使用此任务列表可确定备份和恢复文件系统的所有任务。每个任务都指向一系列其他任务,如确定要执行的备份类型。
计划备份注意事项
备份计划是为运行 ufsdump 命令而建立的计划。本节确定了在创建备份计划时要考虑的注意事项。本节还包括样例备份计划。
创建的备份计划取决于以下内容:
-
需要将用于备份的磁带数目减至最少。
-
可用于执行备份的时间
-
可用于对损坏的文件系统执行完整恢复的时间
-
可用于检索无意中删除的各个文件的时间
执行备份的频率
如果无需将时间要求和用于备份的介质数目降到最低,则可以每天执行完整备份。但是,此备份方法对于大多数站点并不实际,因此增量备份是最为常用的。在这种情况下,应该适当地备份站点,以便可以恢复最近四周的文件。此计划需要至少四组磁带,每周一组。这样便可以每个月重复使用这些磁带。此外,还应该将每月的备份保留至少一年。并将每年的备份保留若干年。
备份间隔术语和定义
下表介绍了备份间隔术语和定义。
|
术语
|
定义
|
|
快照
|
创建文件系统的临时映像。
|
|
完整备份
|
复制完整的文件系统或目录。
|
|
增量备份
|
仅复制指定文件系统中自以前某一次备份以来发生更改的那些文件。增量备份类型包括以下各项:
-
每天累积-复制星期一一天的文件更改内容。然后,使用星期二的文件更改覆写星期一的备份,接着使用星期三的文件更改覆写星期二的备份,依此类推。
-
每天增量-复制一天的文件更改内容,以便针对星期一的更改、星期二的更改等保留有不同的磁带。
-
每周累积-复制所有在这一周内发生更改的文件,并且包括上一周的文件更改。
-
每周增量-复制自上周备份以来在这一周内发生更改的文件。
|
备份计划指南
下表提供了备份计划指南。有关其他备份计划注意事项,请参见计划备份注意事项。
表 24–6 备份计划指南
|
文件恢复需求
|
备份间隔
|
注释
|
|
恢复不同版本的文件(例如,用于进行文字处理的文件系统)
|
每个工作日都执行每日增量备份。
请勿重复使用同一磁盘进行每日增量备份。
|
此计划将保存当天修改的所有文件,以及自上次较低级别备份以来已修改且仍然存放在磁盘上的那些文件。但是,对于此计划,每天都应该使用不同的磁带,否则可能无法恢复所需版本的文件。
例如,在星期二更改某文件后,在星期四再次对该文件进行了更改,这样,进入星期五的较低级别备份的将是星期四晚上更改的文件,而不会是星期二晚上更改的文件。如果用户需要星期二的版本,您无法进行恢复,除非您具有星期二的备份磁带(或星期三的备份磁带)。同样,星期二和星期三出现的文件,如果在星期四被删除,则不会出现在星期五的较低级别备份中。
|
|
快速恢复完整的文件系统
|
更频繁地执行较低级别备份。
|
—
|
|
在同一服务器上备份大量文件系统
|
考虑为不同的文件系统交错制定计划。
|
这样就不会在同一天执行所有 0 级备份。
|
|
将使用的磁盘数降到最少
|
增加一周内执行的增量备份的级别
|
在每个每日磁带上仅保存一天天的更改。
|
|
|
增加周末完成的备份级别。将每天和每周的增量备份置于同一磁带上。
|
在每周磁带上仅保存一周周(而不是整月)的更改。
|
|
|
将每天和每周的增量备份置于同一磁带上。
|
为此,请使用 ufsdump 命令的不反绕选项,如指定 /dev/rmt/0n。
|
使用转储级别创建增量备份
在 ufsdump 命令中指定的转储级别 (0–9) 可确定要备份的文件。转储级别 0 可创建完整备份。级别 1–9 用于计划增量备份,但没有明确的含义。级别 1–9 只是用于计划累积备份或独立备份的一系列编号。级别 1–9 所具有的唯一含义就是表示这些编号彼此之间的相互关系,即指示较大编号或较小编号。较小的转储编号会始终重新启动完整备份或累积备份。以下示例说明了使用级别 1–9 的增量转储过程的灵活性。
示例-每日累积备份的转储级别
执行每日累积增量备份是最常用的备份计划,建议在大多数情况下使用该计划。以下示例显示的计划在星期一到星期四使用级别 9 转储,在星期五则使用级别 5 转储来重新启动此过程。
图 24–1 增量备份:每日累积
在以上示例中,可以使用 1–9 范围内的其他编号产生相同的结果。关键是从星期一到星期四使用相同的编号,而在星期五使用任何较小编号。例如,您可以指定级别 4、4、4、4、2 或 7、7、7、7、5。
示例-每日增量备份的转储级别
在以下示例说明的计划中,将仅备份一天内不同磁带上的工作结果。这种类型的备份称为每日增量备份。在这种情况下,在一周内会使用连续的转储级别编号 (3、4、5、6),在星期五使用较小的编号 (2)。星期五的较小编号会重新启动备份的处理。
图 24–2 增量备份:每日增量
在以上示例中,您可以顺序使用6、7、8、9,然后再使用 2;或使用 5、6、7、8,然后再使用 3。请记住,编号本身并没有明确的含义。通过以指定顺序排列这些编号,可以使其具有意义,如以下示例所示。
样例备份计划
本节提供样例备份计划。所有计划都假定从完整备份(转储级别 0)开始,并且使用 -u 选项在 /etc/dumpdates 文件中记录每个备份。
示例-每日累积,每周累积备份计划
表 24–7 显示了最常用的增量备份计划。建议在大多数情况下使用此计划。采用此计划时,会出现以下情况:
-
每天都保存自上周末较低级别备份以来发生更改的所有文件。
-
对于一周中的各工作日级别 9 备份,上一次级别 0 或级别 5 备份是最近的较低级别备份。因此,每盒工作日磁带都包含自上周末或第一周初始级别 0 备份以来发生更改的所有文件。
-
对于每个星期五的级别 5 备份,最近的较低级别备份是在月初执行的级别 0 备份。因此,每个星期五的磁带都包含截止到本月此时这段期间发生更改的所有文件。
表 24–7 每日累积/每周累积备份计划
|
|
浮动
|
周一
|
周二
|
周三
|
周四
|
周五
|
|
每月的第一天
|
0
|
|
|
|
|
|
|
第 1 周
|
|
9
|
9
|
9
|
9
|
5
|
|
第 2 周
|
|
9
|
9
|
9
|
9
|
5
|
|
第 3 周
|
|
9
|
9
|
9
|
9
|
5
|
|
第 4 周
|
|
9
|
9
|
9
|
9
|
5
|
下表显示了在采用每日累积、每周累积计划的两周内磁带内容发生更改的方式。每个字母都代表一个不同的文件。
表 24–8 每日累积/每周累积备份计划的磁带内容
|
|
周一
|
周二
|
周三
|
周四
|
周五
|
|
第 1 周
|
a b
|
a b c
|
a b c d
|
a b c d e
|
a b c d e f
|
|
第 2 周
|
g
|
g h
|
g h i
|
g h i j
|
a b c d e f g h i j k
|
每日累积、每周累积计划的磁带需求
采用此计划时,如果要重复使用每日磁带,则需要六盒磁带。但是,如果要使用四盒不同的每日磁带,则需要九盒磁带:
-
一盒磁带用于级别 0 备份
-
四盒磁带用于星期五的备份
-
一盒或四盒每日磁带
如果需要恢复完整的文件系统,则需要以下磁带:
-
级别 0 磁带
-
最近的星期五的磁带
-
自上星期五磁带以来最近的每日磁带(如果存在)
示例-每日累积、每周增量备份计划
下表显示的计划中每盒工作日磁带累积了自本周开始或第一周初始级别 0 备份以来发生更改的所有文件。此外,每个星期五的磁带都包含本周发生更改的所有文件。
表 24–9 每日累积,每周增量备份计划
|
|
浮动
|
周一
|
周二
|
周三
|
周四
|
周五
|
|
每月的第一天
|
0
|
|
|
|
|
|
|
第 1 周
|
|
9
|
9
|
9
|
9
|
3
|
|
第 2 周
|
|
9
|
9
|
9
|
9
|
4
|
|
第 3 周
|
|
9
|
9
|
9
|
9
|
5
|
|
第 4 周
|
|
9
|
9
|
9
|
9
|
6
|
下表显示了在采用每日累积,每周增量备份计划的两周内磁带内容发生更改的方式。每个字母都代表一个不同的文件。
表 24–10 每日累积,每周增量备份计划的磁带内容
|
|
周一
|
周二
|
周三
|
周四
|
周五
|
|
第 1 周
|
a b
|
a b c
|
a b c d
|
a b c d e
|
a b c d e f
|
|
第 2 周
|
g
|
g h
|
g h i
|
g h i j
|
g h i j k
|
每日累积,每周增量备份计划的磁带需求
采用此计划时,如果要重复使用每日磁带,则需要六盒磁带。但是,如果要使用四盒不同的每日磁带,则需要九盒磁带:
-
一盒磁带用于级别 0 备份
-
四盒磁带用于星期五的备份
-
一盒或四盒每日磁带
如果需要恢复完整的文件系统,则需要以下磁带:
-
级别 0 磁带
-
所有的星期五磁带
-
自上星期五磁带以来最近的每日磁带(如果存在)
示例-每日增量、每周累积备份计划
下表显示的计划中每盒工作日磁带仅包含自前一天以来发生更改的文件。此外,每盒星期五磁带都包含自月初的初始级别 0 备份以来发生更改的所有文件。
表 24–11 每日增量、每周累积备份计划
|
|
浮动
|
周一
|
周二
|
周三
|
周四
|
周五
|
|
每月的第一天
|
0
|
|
|
|
|
|
|
第 1 周
|
|
3
|
4
|
5
|
6
|
2
|
|
第 2 周
|
|
3
|
4
|
5
|
6
|
2
|
|
第 3 周
|
|
3
|
4
|
5
|
6
|
2
|
|
第 4 周
|
|
3
|
4
|
5
|
6
|
2
|
下表显示了在采用每日增量、每周累积计划的两周内磁带内容发生更改的方式。每个字母都代表一个不同的文件。
表 24–12 每日增量,每周累积备份计划的磁带内容
|
|
周一
|
周二
|
周三
|
周四
|
周五
|
|
第 1 周
|
a b
|
c d
|
e f g
|
hi
|
a b c d e f g h i
|
|
第 2 周
|
j k l
|
m
|
n o
|
p q
|
a b c d e f g h i j k l m n o p q r s
|
每日增量,每周累积计划的磁带需求
采用此计划时,如果要重复使用每日磁带(不推荐),则至少需要 9 盒磁带。如果将每周磁带保存一个月,则需要 21 盒磁带(推荐):一盒磁带用于级别 0 备份、4 盒磁带用于星期五的备份,以及 4 或 16 盒每日磁带。
-
1 盒磁带用于级别 0 备份
-
4 盒磁带用于所有的星期五备份
-
4 或 16 盒每日磁带
如果需要恢复完整的文件系统,则需要以下磁带:
-
级别 0 磁带
-
最近的星期五的磁带
-
自上星期五磁带以来所有的每日磁带(如果存在)
示例-服务器的每月备份计划
下表显示了针对用户用于执行大量文件工作的小型网络(如程序开发或文档生成)上频繁使用的文件服务器的示例备份策略。此示例假定备份期从星期日开始并且包含四周(每周七天)。
表 24–13 服务器每月备份计划的示例
|
目录
|
日期
|
转储级别
|
磁带名称
|
|
根目录 (/)
|
第 1 个星期日
|
0
|
n 盒磁带
|
|
/usr
|
第 1 个星期日
|
0
|
n 盒磁带
|
|
/export
|
第 1 个星期日
|
0
|
n 盒磁带
|
|
/export/home
|
第 1 个星期日
|
0
|
n 盒磁带
|
|
|
第 1 个星期一
|
9
|
A
|
|
|
第 1 个星期二
|
9
|
B
|
|
|
第 1 个星期三
|
5
|
C
|
|
|
第 1 个星期四
|
9
|
D
|
|
|
第 1 个星期五
|
9
|
E
|
|
|
第 1 个星期六
|
5
|
F
|
|
根目录 (/)
|
第 2 个星期日
|
0
|
n 盒磁带
|
|
/usr
|
第 2 个星期日
|
0
|
n 盒磁带
|
|
/export
|
第 2 个星期日
|
0
|
n 盒磁带
|
|
/export/home
|
第 2 个星期日
|
0
|
n 盒磁带
|
|
|
第 2 个星期一
|
9
|
G
|
|
|
第 2 个星期二
|
9
|
H
|
|
|
第 2 个星期三
|
5
|
I
|
|
|
第 2 个星期四
|
9
|
J
|
|
|
第 2 个星期五
|
9
|
K
|
|
|
第 2 个星期六
|
5
|
L
|
|
根目录 (/)
|
第 3 个星期日
|
0
|
n 盒磁带
|
|
/usr
|
第 3 个星期日
|
0
|
n 盒磁带
|
|
/export
|
第 3 个星期日
|
0
|
n 盒磁带
|
|
/export/home
|
第 3 个星期日
|
0
|
n 盒磁带
|
|
|
第 3 个星期一
|
9
|
M
|
|
|
第 3 个星期二
|
9
|
N
|
|
|
第 3 个星期三
|
5
|
O
|
|
|
第 3 个星期四
|
9
|
P
|
|
|
第 3 个星期五
|
9
|
Q
|
|
|
第 3 个星期六
|
5
|
R
|
|
根目录 (/)
|
第 4 个星期日
|
0
|
n 盒磁带
|
|
/usr
|
第 4 个星期日
|
0
|
n 盒磁带
|
|
/export
|
第 4 个星期日
|
0
|
n 盒磁带
|
|
/export/home
|
第 4 个星期日
|
0
|
n 盒磁带
|
|
|
第 4 个星期一
|
9
|
S
|
|
|
第 4 个星期二
|
9
|
T
|
|
|
第 4 个星期三
|
5
|
U
|
|
|
第 4 个星期四
|
9
|
V
|
|
|
第 4 个星期五
|
9
|
W
|
|
|
第 4 个星期六
|
5
|
X
|
采用此计划时,需要使用 4n 盒磁带,即根目录 (/)、/usr、/export 和 /export/home 文件系统的 4 个完整备份所需的磁带数。此外,还需要 24 盒磁带,用于 /export/home 文件系统的增量备份。此计划假定每次增量备份使用一盒磁带,并且将磁带保存一个月。
以下是此计划的工作原理:
-
在每个星期日,执行根目录 (/)、/usr、/export 和 /export/home 文件系统的完整备份(级别 0)。将级别 0 磁带保存至少三个月。
-
在本月的第一个星期一,使用磁带 A 执行 /export/home 文件系统的级别 9 备份。ufsdump 命令用于复制自上一次较低级别备份以来更改的所有文件。在这种情况下,前一次较低级别备份是在星期日执行的级别 0 备份。
-
在本月的第一个星期二,使用磁带 B 执行 /export/home 文件系统的级别 9 备份。同样,再使用 ufsdump 命令复制自上一次较低级别备份(星期日的级别 0 备份)以来更改的所有文件。
-
在本月的第一个星期三,使用磁带 C 执行 /export/home 文件系统的级别 5 备份。ufsdump 命令用于复制自星期日以来更改的所有文件。
-
在磁带 D 和 E 上执行 /export/home 文件系统的星期四和星期五级别 9 备份。ufsdump 命令用于复制自上一次较低级别备份(星期三的级别 5 备份)以来更改的所有文件。
-
在本月的第一个星期六,使用磁带 F 执行 /export/home 的级别 5 备份。ufsdump 命令用于复制自前一次较低级别备份(在本示例中是指在星期日执行的级别 0 备份)以来更改的所有文件。再次使用磁带 A–F 时,请存储这些磁带,直到下一个四周期间的第一个星期一为止。
-
对于接下来的三周,请使用磁带 G–L 和 4n 盒磁带(用于执行星期日的级别 0 备份)重复步骤 1–6,依此类推。
-
对于每个四周期间,请使用一组新磁带执行级别 0 备份并重复使用磁带 A–X 执行增量备份来重复步骤 1–7。三个月后,即可重新使用级别 0 磁带。
通过此计划,可以将各种状态的文件保存一个月。此计划需要许多磁带,但可以确保您具有一个可供提取的磁带库。要减少磁带数量,可以每周重新使用磁带 A–F。