一 为何要备份Linux系统
一个应用中的Linux系统,受内部环境影响、底层硬件的影响、外来黑客的攻击,出现问题是难免的,作为一名系统管理人员,自身的职责并不是要保证系统永远不出现问题,事实上也是不可能的,而是在系统出现故障或者崩溃时,能以最快的速度,在最短的时间内恢复系统的运行,保证数据的安全,将故障带来的损失降到最低点。
这就要求系统管理人员对操作系统和业务应用有一个合理的备份恢复策略,完美的备份策略可以保证业务的零宕机时间和数据的完全恢复。由于业务是运行在操作系统之上,因此操作系统的备份与恢复效率直接关系到整个业务系统的恢复程度。所以操作系统的备份变得至关重要。
二 Linux系统需要备份的数据
在windows下有ghost软件,可以将整个系统完全复制到另一个硬盘,ghost是一种磁盘镜像技术,可以将系统盘所有数据镜像到另一个备份硬盘上,当系统出现问题,用备份的镜像磁盘,在短时间内即可将系统所有数据完全恢复。
Linux下虽然也有类似ghost的工具,但是由于硬件的兼容性、恢复的复杂度等影响,ghost并不能很好的用于Linux镜像备份,同时如果Linux系统磁盘分区过大,备份和恢复过程都会很长,因此ghost并不适合备份Linux操作系统。
事实上,全盘备份系统并不是一个好的策略,Linux操作系统也没有必要完全备份,我们仅仅需要备份系统的所有配置文件即可,这样备份过程迅速,恢复也快。
Linux系统需要备份的文件大致可以分为两类:系统级配置文件和用户级配置文件。
系统级配置文件主要是系统全局的一些配置信息,例如/etc/目录、/home目录、/boot目录、/root目录等。这些目录对系统运行至关重要,并且针对不同的系统应用设置都不尽相同,如果丢失了这些文件,即使新的操作系统能很快安装完毕,对系统也要重新配置,花费的时间会更长。
用户级配置文件是用户的业务应用与系统相关的配置文件,这些文件是运行系统业务应用必不可少的,一旦丢失,系统业务就会无法启动,例如/usr/local整个目录、/var/www目录、/etc整个目录等。
重要的文件是必须要备份的,那么不需要备份的目录有哪些呢,例如/dev目录、/proc目录、/mnt目录、/tmp目录等这些目录都是不需要备份的,因为这些目录中要么是内存数据,要么是临时文件,没有重要的数据,备份的原则是重要数据一定要全部备份,无用数据绝不备份。
三 备份的介质与方式
要备份数据,就要有存放数据的安全容器,对存储介质的基本要求一般从存取速度、存储安全、存储容量三个方面进行考虑。
存取速度是对存储介质的一个基本要求,数据的备份是一个读写操作极度频繁的过程,存取速度非常高的备份介质,可以大大缩短备份数据的时间,同时也可以减少恢复数据的时间。
存储安全性是对存储介质的一个硬性要求,不安全的存储设备还不如不要存储介质,现在很多存储设备都对安全性做了很多优化,例如做raid磁盘阵列,cache读写等。专业的存储厂商有EMC、IBM、SUN等,都有自己的存储设备。
存储容量也是选择存储介质必须要考虑的一个方面,过大的存储空间会造成存储设备的浪费,过小的存储空间,导致数据存储失败,因此,必须根据备份数据的大小,选择相应大小的存储介质。
1.常用备份介质
常用的存储介质有光驱、磁盘、磁带机、软盘等,这里重点介绍一下磁带机的使用方法:
Linux下使用磁带机的方式有多种, tar命令是最经常使用的方法,tar主要用于单机环境下,将数据直接写入磁带机。磁带机在Linux下对应的设备名称为/dev/stX,如果是第一个磁带机,即为/dev/st0,基本操作如下:
(1)倒带,将磁带卷至起始位置
mt -f /dev/st0 rewind
(2)擦掉磁带上的内容
mt -f /dev/st0 erase
新购买的磁带,打开后即可使用,无需进行擦写操作,同时当数据写满磁带后,磁带可以覆盖原有数据并继续写入,因此无需进行任何擦写动作,由于擦写对磁带有一定的损害,建议不要执行擦写操作。
(3)出带,即将磁带卷至初始位置然后从磁带机内弹出
mt –f /dev/st0 offline
(4)通过tar列出磁带上的目录或者文件
tar tvf /dev/st0 [需要查看的文件或者目录]
如果后面不跟任何文件或目录,则是查看磁带上所有数据,当磁带上还没有任何数据时,执行此操作会报错,不过不影响磁带使用。