一、确定数据备份策略 首先必须确定在备份过程中操作哪些文件。在商业环境中,这是非常困难的一个决定,而且会产生严重的影响。如果备份了太多数据,会导致备份系统的成本过于庞大,会削减其他方面的开支。如果没有备份足够的数据,那么重要的数据就可能会丢失。 备份整个系统非常简单(请确保不要备份NFS挂载的一些目录和诸如/proc/之类的特殊文件系统),但是通常这样备份的内容都太多了。如果整个系统盘上的数据都丢失了,那么在恢复任何数据之前,很可能不得不重新安装基本的操作系统。将这些系统文件保存在备份磁带上不是毫无意义的。因此,为了减少备份系统的成本(包括硬件、网络、系统负载和备份时间),通常应该只备份重要的文件。 共享程序:可以在多个系统中使用的公共程序。/usr/local或/opt目录常在多个系统之间共享,这些目录包含没有随操作系统提供的其他操作系统。 用户数据:包含所有用户数据和私人文件的用户主目录。 应用程序数据:在分布式计算环境中,应用程序的数据通常在多个系统之间共享。例如,Web服务器群集通常需要共享相同的内容。 系统信息:系统信息包括账户信息(用户、组和密码)、邮件别名、主机列表等。只有您才知道自己的数据保存在什么地方,在建立自己的备份系统之前,至少要好好想一想这个问题。虽然我不可能列出需要备份的每一份数据,但可以提供一些指导,包括: 重要的系统数据:不要忘记重要的系统数据,如/etc/目录中的文件,有时是/var/目录中的文件。如果这些文件都是自动生成的,那么可能只需要在主系统上备份这些文件。 后来添加的软件:包括系统中安装的任何非原操作系统所提供的软件。您可能已经将这些软件安装到/opt/或/usr/local/目录中了,这样可以简化这些软件的备份过程。或者,您也可能将所有这些程序都安装到一个集中的文件服务器上,这样会使备份过程更加简单。如果系统中安装了一些软件包,要确保保存这些已经安装好的包,并在备份过程中包含这些软件包。 应用程序的配置文件和数据:要考虑每个系统上正在运行哪些服务。如果一个系统正在运行DNS服务,则确保备份时包括区文件。如果系统正在运行Web服务,就要备份Web内容,有时候甚至要备份访问日志(这些日志可能很重要,也可能不重要)。 开发资源:如果有CVS仓库、bug数据库、知识库以及其他保存重要数据的开发工具,则应确保在备份中包括这些文件。 管理工具:不要忘记在备份过程中包括所有的系统自动化脚本和工具。 数据库:如果在一个或多个数据库中保存了一些数据,显然要在备份过程中包含这些数据,但是除此之外,还要确保对数据正确地进行备份。在很多情况中,为了正确地备份数据库的内容,可能需要关闭数据库或将数据进行转储。尽管有些数据库软件可以将数据导出并备份为适当的格式,但是有些备份软件可以在数据库运行时就对数据库进行备份。 用户数据:最后,系统中的用户通常都会非常感激您在备份时包括了他们私人的文件。如果有一个大型的文件服务器,那么这台机器就很适合执行备份,根据需要从其他系统中复制数据。 另外一个需要考虑的问题是备份过程对时间的要求是什么等级。如果使用磁带备份系统,而且只有一个磁带,那么不得不每天替换磁带上的数据。如果有人几天之后才意识到自己误删了一个文件,那他们实在是太不幸了。当然,如果所有的数据都可以保存在一个磁带上,那么解决方法就很简单——只需要购买 多个磁带即可。但是如果有大量的数据,那么情况就复杂多了。 二、存储磁带简介 磁带存储是相当广泛的范畴,包括DDS、LTO、DAT、DLT和SDLT等等。数十年来各种磁带成了传统的备份媒介。表1 是磁带技术列表:
表1 磁带技术简介 注:DDS-3 和DDS-4 使用的技术与较早版本不同。最新的磁带驱动器才支持最大的磁带,但大多数驱动器提供只读的向后兼容性。 三、磁带管理命令 从用户的角度来看,Linux的任何设备都可以看做是文件。因此,可以“打开”合适的磁带驱动器文件来进行写入操作,将要备份的数据写入到文件中去。虽然这听上去过于简单了,但是实际情况就是这样。Unix系统把每一个设备都看成一个文件,与普通文件一样处理,这样可以使文件与设备的操作尽可能统一。 从用户的角度来看,对设备的使用和一般文件的使用一样。所以管理磁带的最有效的方法是使用相关命令。 1.tar命令 tar命令是用来建立,还原备份文件的工具程序,如果您想根据一定的基本原则使用磁带而不是使用硬盘对数据进行备份,那么有几种选择。最常用的程序是tar,大部分UNIX类也都包含这个程序。下面介绍如何使用GNU tar进行一些简单的备份。如果只是希望在磁带上备份一个系统,这正是它功能强大的地方。也可以使用rsync从几个系统中先复制文件,然后使用tar将数据打包到磁带上。下面的例子都基于以下3点假设: ● 正在备份/home/目录。只需在适当的位置稍加修改即可指定其他目录或多个目录。 ● 磁带驱动器是通过设备文件/dev/st0进行访问的。如果在Linux系统上只有一个SCSI磁带驱动器,那么正确的设备文件就是/dev/st0。如果并非如此,就需要使用适当的设备文件来匹配硬件设备。 ● 本文使用的是腾保数据(TANDBERG DATA)最新的半高LTO Ultrium 2磁带机采用适用于半高磁带机读取的5.25英寸磁带,速度为48MBps,压缩后容量达400GB。如图。 图 半高LTO Ultrium 2磁带机 ● 脚本是以root用户身份执行的,当前的工作目录是根目录(/)。 使用tar进行基本的备份 要使用tar在磁带上创建一个完全备份,可以运行下面的命令: #tar cvpf/dev/st0home 选项c的意思是应该创建一个新的档案;选项v的意思是应该在将文件加入档案的同时显示这些文件;选项p的意思是所有的权限都应该保留;选项f的意思是档案应该被写入一个文件中(/dev/st0,它实际上表示您的磁带驱动器)。 使用tar创建增量备份 要创建一个简单的增量备份,可以使用GNU tar所提供的-N选项,它可以让您指定一个日期,并规定只有在该日期之后被创建或修改过的文件才会被包含在档案中。假设每天进行一次备份,可以使用下面的命令进行增量备份: #tar cpf/dev/st0-N"$(date-d'1dayago')"home 下面这个脚本可以为您执行所有的备份:
|
Linux 磁带机备份完全攻略
最新推荐文章于 2021-05-15 14:53:18 发布