1、存储与备份,数据存储简介,数据存储方式 在线,近线和离线存储发展趋势 独立化,集中化,网络化,数据备份,备份简介为什么进行备份 如下的诸多因素将有可能导致系统的崩溃或数据丢失 系统硬件故障 软件故障 电源故障 用户的误操作 人为破坏 缓存中的内容没有及时的写入磁盘 对系统管理员而言,经常对重要的文件进行备份是应该养成的良好习惯。 经常性的系统备份,可以将各种不可预料的损失减少到最少。,备份简介,什么是备份 备份就是把一个文件系统或其部分文件存储到另外的介质中, 以使得通过这些介质中的记录信息可以恢复原有的文件系统或其中的某些文件。 备份数据的过程就是拷贝重要的数据到其他的介质之上(通常是可移动
2、介质), 以保证在原始数据丢失的情况下可以恢复数据。 一次备份可能是简单的cp命令,将一个文件复制到其他目录下, 也可能是使用特定的程序将数据流写进一个特定的设备中的复杂过程。,备份介质的选择,常用的备份介质 磁带、硬盘、光盘、软盘等。选择备份介质 选择备份介质时,要从可靠性、速度、费用、易保管性等方面综合考虑。,备份策略(1),三种备份策略 完全(Full)备份 每隔一段时间对系统进行一次完全的备份,这样在备份时间间隔内, 一旦系统发生故障使得数据丢失时,就可以用上一次的备份数据恢复到上一次备份时的情况。 增量(Incremental)备份 首先进行一次完全备份,然后每隔一个较短时间进行一次
3、备份,但仅备份在这个期间更改的内容。 这样一旦发生数据丢失,首先恢复到前一个完全备份,然后按日期逐个恢复每天的备份,就能恢复到前一天的情况。 差分(Differential)备份(也称累计备份) 首先每月进行一次完全备份,然后备份从上次进行完全备份后更改的全部数据文件。 一旦发生数据丢失,使用一个完全备份和一个差分备份就可以恢复故障以前的状态。,备份策略(2),三种备份策略的比较 三种备份策略的使用 增量备份和差分备份都能以比较经济的方式对系统进行备份。 如果系统数据更新不是太频繁的话,可以选用差分备份。 如果系统数据更新太快,使每个备份周期后的几次差分备份的数据量相当大, 这时候可以考虑增量
4、备份或混用差分备份和增量备份的方式,或者缩短备份周期,备份的分类(1),系统备份 只需要备份不稳定部分 不稳定部分主要有 /etc:包含所有核心配置文件。 /var:包含系统守护进程(服务)所使用的信息,包括DNS 配置、DHCP租期、邮件缓冲文件、HTTP服务器文件等等。 /usr/local:包含那些相对系统来说“本地化”的内容。 /root:根用户的主目录。 /opt:是安装许多非系统文件的地方。 系统数据并不经常发生改变,所以一般只有当系统内容发生变化时才进行。 一般只要备份不稳定部分就可以了,其余的系统内容可以通过 Red Hat 的安装盘获得。,备份的分类(2),用户备份 用户的数
5、据变动更加频繁 需要为用户提供一个合理的最近的数据文件的备份 用户备份通常采用增量备份和(或)差分备份策略进行,备份注意事项,确保备份质量 备份是在发生了问题时才会被使用的,此时会依赖于备份,因此管理员必须经常验证所做的备份。 一个没有验证的备份甚至比没有备份更糟。 确保介质安全 保持至少一个备份远离源机器,最好完全放在另外一栋大楼里。 这是为了防止源机器所在地发生灾难,如火灾等。 记录系统的更改 建立手工备份日志,备份、压缩与解压缩,为了保证重要数据的安全,适时地对其进行备份是非常有必要的;在备份时为了节约存储空间,就需要对数据进行压缩,当重新利用这些数据时再对它们进行解压缩。系统提供了对文
6、件进行备份、压缩和解压缩的命令,下面对其进行介绍。1tar命令2gzip命令3gunzip命令,11,tar 简介,tar是一个已移植到Linux中的经典UNIX命令。 tar是Tape ARchive(磁带归档)的缩写,最初设计用于将文件打包到磁带上。 tar是一个基于文件的命令,它本质上是连续地、首尾相连地堆放文件。 使用tar可以打包整个目录树,这使得它特别适合用于备份。 归档文件可以全部还原,或从中展开单独的文件和目录。 备份可以保存到基于文件的设备或磁带设备上。文件可以在还原时重定向, 以便将它们重新放到一个与最初保存它们的目录(或系统)不同的目录(或系统)。 tar是与文件系统无关
7、的,它可以使用在ext2、ext3、jfs、Reiser和其他文件系统上。,文件压缩与归档命令,tartar与其他压缩工具不同,tar将一个目录下的所有文件打包成一个.tar文件,但是没有空间压缩的功能,因此tar一般与其他压缩工具结合使用。 语法:tar zcvf 文件或目录-z 使用gzip压缩.tar文件-j :用 bzip2 压缩 tar文件-Z 使用compress压缩.tar文件-c 产生一个.tar文件-v 显示压缩信息-f 指定压缩后的文件名,示例:tar zcvf mymail.tar.gz Mail/ .tar.gz一般也简写为.tgztar cvf mymail.tar
8、Mail/gzip 9 mymail.tartar Zcvf net.tar.Z net/ 解压缩:tar ztxvf 压缩文件-z 使用gunzip解压缩-Z 使用uncompress解压缩,-t 测试tarball压缩文件-x 解压缩 示例:tar zxvf mymail.tar.gztar Zxvf net.tar.Z,文件压缩与归档命令,gzip 语法:gzip -19r 文件或目录-1表示快速压缩,-9表示最佳压缩,-r递归压缩整个目录 如:gzip 1 news.txt 压缩完后会生成news.txt.gz文件,gzip直接将原文件压缩成压缩文件,源文件被删除了。,gzip r t
9、est/递归压缩test目录下的文件。假设test下有三个文件file1,file2,file3,则压缩完后,test下文件则变成file1.gz,file2.gz,file3.gz。这里把目录下的文件单个进行压缩,并不是把整个目录压缩在一个文件。,文件压缩与归档命令,gunzip 语法:gunzip -r 文件或目录 示例:gunzip news.txt.gzgunzip r test/ 用gzip也可以实现解压缩,gzip d news.txt.gzgzip d r test/,文件压缩与归档命令,compress 语法:compress -vdf 文件-v 显示压缩比例和压缩后的文件名-
10、d 解压缩-f 强制压缩 压缩后文件格式: .Zuncompress(解压缩)zcat(直接显示.Z文件的文本内容),文件压缩与归档命令,bzip2 语法: bzip2 -cdfhkLstvVz 要压缩的文件-s或-small 降低程序执行时内存的使用量。 -t或-test 测试.bz2压缩文件的完整性。 -v或-verbose 压缩或解压缩文件时,显示详细的信息。 -z或-compress 强制执行压缩。 示例: $ bzip2 filename $ bunzip2 filename.bz2 bunzip2的效果等同于bzip2 d。,备份工具dump,dump 命令可将目录或整个文件系统备
11、份至指定的设备。或备份成一个大文件。dump可以执行类似tar的功能。然而dump倾向于考虑文件系统而不是个别的文件。dump检查文件系统上的文件并确定需要备份文件,当大于输出媒体容量的转储将被划分到多个卷。 dump可以很轻松的实现增量备份,差异备份。 使用dump命令时,它会建立一份自上次备份操作以来进行修改过的文件列表,然后把这些文件打包成一个单独的文件。在做备份时,需要指定一个备份级别,它是0-9之间的一个整数。级别为N的转储会对从上次进行的级别小于N的转储操作以来修改过的所有文件进行备份,而级别0就是完全备份。通过这种方式,可以很轻松的实现增量备份,差异备份,甚至每日备份。,使用du
12、mp的优点: 1,备份可以跨多卷磁带 2,能备份任何类型的文件,甚至是设备 3,备份时,文件的权限,宿主,宿组,修改时间等都会被保存 4,能够正确处理从未包含任何数据的文件块(孔洞文件) 5,能够做增量,差异备份 它也有不足: 1,每个文件系统必须单独转储备份 2,只有本地计算机的文件系统才能够转储备份,格式:dump -level# -acmMnqSuv -A file -B records -b blocksize-d density -D file -e inode#,inode#,. -E file-f file -h level -I nr errors -j zlevel -Q f
13、ile-s feet -T date -y -z zlevel filesystem 常用参数 - Level:备份级别0-9-B:指定用来备份的磁带的长度,以KB为单位(有些磁带不支持以结束标志判断时,就需要使用到此参数-b:指定块大小,默认为10-d:指定密度,默认为1600BPI-D:设定存储数据库的名称和路径,默认是/etc/dumpdates文件(-e,-E:与备份文件的inodes数有关的参数)-f:指定备份文件的路径和名称-u:更新数据库文件/etc/dumpdates -s:统计备份所需的空间,一般在备份前做,以防磁带或磁盘空间不足,dump命令例子: 将/home目录所有内容
14、备份到/tmp/homeback.bak 文件中,备份层级为“0”并在/etc/dumpdates中记录相关信息, #dump -0u -f /tmp/homeback.bak /home将/home目录所有内容备份到/tmp/homeback.bak 文件中,备份层级为“1”(只备份上次使用层次“0”备份后发生过改变的数据)并在/etc/dumpdates中记录相关信息, #dump -1u -f /tmp/homeback.bak /home,restore,还原(Restore)由Dump操作所备份下来的文件或整个文件系统(一个分区)。restore 指令所进行的操作和dump指令相反,
15、 Dump操作可用来备份文件,而还原操作则是写回这些已备份的文件。语 法:restore -chimvy-b -f -s restore -chmvxy-b -D -f -s 文件.,参 数: -b 设置区块大小,单位是Byte。 -c 不检查倾倒操作的备份格式,仅准许读取使用旧格式的备份文件。 -C 使用对比模式,将备份的文件与现行的文件相互对比。 -D 允许用户指定文件系统的名称。 -f 从指定的文件中读取备份数据,进行还原操作。 -h 仅解出目录而不包括与该目录相关的所有文件。 -i 使用互动模式,在进行还原操作时,restore指令将依序询问用户。 -m 解开符合指定的inode编号的
16、文件或目录而非采用文件名称指定。 -r 进行还原操作。 -R 全面还原文件系统时,检查应从何处开始进行。 -s 当备份数据超过一卷磁带时,您可以指定备份文件的编号。 -t 指定文件名称,若该文件已存在备份文件中,则列出它们的名称。 -v 显示指令执行过程。 -x 设置文件名称,且从指定的存储媒体里读入它们,若该文件已存在在备份文件中,则将其还原到文件系统内。 -y 不询问任何问题,一律以同意回答并继续执行指令。,例子 restore -tf /home/test.dump 使用 restore 检查备份文件的内容 restore -rf /home/test.dump /boot 备份文件全部进行恢复 restore -if /home/test.dump /boot 使用互动模式,依序询问用户,在字符界面下光盘刻录,检测刻录设备 # cdrecord -scanbus 生成ISO文件 # mkisofs -r -o 例如: # mkisofs -r -o /tmp/myhome.iso /home 刻录光盘 # cdrecord -v 例如: # cdrecord -v speed=8 dev=0,0 /tmp/myhome.iso,