热门关键字:  ubuntu  分区  Fedora  linux系统进程  函数

使用partimage 备份Linux 多格式分区

来源: 作者: 时间:2007-08-04 Tag: 点击:
献给和我一样对linux os备份有同样困惑的朋友们。

转贴:  前文笔者介绍了:Linux下用mirrordir做硬盘分区镜像 。mirrordir工具速度很快但是我们发现:备份会占用大量的空间,可能会花很多钱。为了减少所需空间,节省开支,所以要对备份进行压缩。常见的方式有许多。有的程序内置压缩支持;比如GNUtar的-gzip(-z)选项,它在把备份写入备份媒体之前,通过gzip压缩程序,把整个备份压缩在一起。

    这里介绍一个支持压缩的备份工具软件:Partimage(软件官方网址:http://partimage.sourceforge.net/ )。Partimage(软件作者Francois Dupoux 和Franck Ladurelle)可以说是Linux下的Ghost,它可以将你的系统像照相一样备份至磁带,CD-R,CD-RW,NFS或硬盘分区。虽然ghost软件也能支持linux分区,但是许多版本对支持ext3有兼容性问题(如表-1)。

    表-1主要Ghost版本和Linux兼容性


Linux目前比较流行的有硬盘备份工具包括: partimage, g4l等几款软件,我最终选用了最流行的partimage软件(http://www.partimage.org/)使用。这是一个命令行程序,也可以在图形界面下使用。

    1. 准备工作

    partimage软件用C++写成的,并且使用了libz等函数。需要服务器中已经含有下列的软件:libz (gzip 压缩支持), libbz2( bzip2 压缩支持),liblzo (lzo 压缩支持),libnewt GUI (图像使用者界面),libslang,libssl( OpenSSL网络上资料加密),libcrypt( 支援密碼)。可以用RPM命令来确认它们:

    #rpm -qa | grep gcc;rpm -qa | grep zlib
    # rpm -qa | grep libbz2;rpm -qa | grep newt
    # rpm -qa | grep liblzo;rpm -qa | grep libcrypt

    2. 软件下载安装

    Partiamge使用多种类型的安装包:rpm、tar源代码。这里笔者使用Redhat Linux 9.0操纵系统,请读者工具您党的操纵系统选择相应软件包。

    #wget http://dag.wieers.com/packages/p ... 1.0.rh9.rf.i386.rpm
    #rpm -ivh partimage-0.6.4-1.0.rh9.rf.i386.rpm


    3. partiamge支持的分区类型

    下面介绍一下partiamge支持的主要分区类型:

    FAT16 、FAT32 、NTFS 这三个Windows操作系统类型读者比较熟悉这里就不赘述了。

    ext2

    ext2是为解决ext文件系统的缺陷而设计的可扩展的高性能的文件系统。又被称为二级扩展文件系统,它是在1993年发布的,设计者是Rey Card。ext2是Linux文件系统类型中使用最多的格式。并且在速度和CPU利用率上较突出,是 GNU/Linux 系统中标准的文件系统,其特点为存取文件的性能极好,对于中小型的文件更显示出优势,这主要得利于其簇快取层的优良设计。Ext2 可以支持256字节的长文件名,其单一文件大小与文件系统本身的容量上限与文件系统本身的簇大小有关,在一般常见的Intel x86兼容处理器的系统中,簇最大为 4KB, 则单一文件大小上限为 2048GB, 而文件系统的容量上限为 6384GB。尽管Linux可以支持种类繁多的文件系统,但是2000年以前几乎所有的Linux发行版都用ext2作为默认的文件系统。 

    ext3

    ext3是由开放资源社区开发的日志文件系统,早期主要开发人员是Stephen Tweedie 。ext3被设计成是ext2的升级版本,尽可能地方便用户从ext2向ext3迁移。ext3在ext2的基础上加入了记录元数据的日志功能,努力保持向前和向后的兼容性。这个文件系统被称为ext2的下一个版本。也就是在保有目前 ext2 的格式之下再加上日志功能。和ext2相比,ext3提供了更佳的安全性,这就是数据日志和元数据日志之间的不同。ext3是一种日志式文件系统。除了与 ext2 兼容之外,ext3 还通过共享 ext2 的元数据格式继承了 ext2 的其它优点。譬如,ext3 用户可以使用一个稳固的 fsck 工具。由于ext3 基于 ext2 的代码,所以它的磁盘格式和 ext2 的相同;这意味着,一个干净卸装的 ext3 文件系统可以作为 ext2 文件系统毫无问题地重新挂装。

    ReiserFS

    ReiserFS的第一次公开亮相是在1997年7月23日,Hans Reiser把他的基于平衡树结构的ReiserFS文件系统在网上公布。ReiserFS 3.6.x(作为 Linux 2.4 一部分的版本)是由 Hans Reiser 和他的在Namesys 的开发组共同开发设计的。ReiserFS被看作是一个更加激进和现代的文件系统。传统的UNIX文件系统是按磁盘块来进行空间分配的,对于目录和文件等的查找使用了简单的线性查找。这些设计在当时是合适的,但随着磁盘容量的增大和应用需求的增加,传统文件系统在存储效率,速度和功能上已显落后。ReiserFS突出的地方还在于其设计上着眼于实现一些未来的插件程序,这些插件程序可以提供访问控制列表、超级链接,以及一些其它非常不错的功能。

    HPFS

    HPFS(高性能文件系统)是IBM OS/2操作系统的一种文件系统。高性能文件系统用来在多个硬盘(最大支持2T)间处理大文件(最大支持2G),同时支持长文件名(多达256个比特)。HPFS旨在超越MS-DOS的种种限制,包括仅仅允许8个字符长度文件名的限制。HPFS应用一个中央定位的根目录以及B树来增加文件访问速度。HPFS可以与MS-DOS、FAT(分区表)同时运行或者各自独立运行。HPFS的优点: 利用支持邻域存储的扩展属性避免了MS-DOS的EA DATA SF 档案问题 ,不产生文件碎片 ,文件簇大小比DOS要小 ,支持大容量驱动器(高达512GB),支持快速磁盘操作。缺点包括:占用内存较大,在MS-DOS下无法看到HPFS驱动器,因此不能用软盘启动来DOS系统对HPFS驱动器进行操作,3)需要第三方软件(比如PQ分区魔术师)才可以在DOS下访问HPFS驱动器。
JFS

    JFS是一种提供日志的字节级文件系统,该文件系统主要是为满足服务器(从单处理器系统到高级多处理器和群集系统)的高吞吐量和可靠性需求而设计、开发的。JFS文件系统是为面向事务的高性能系统而开发的。在IBM的AIX系统上,JFS已经经过较长时间的测试,结果表明它是可靠、快速和容易使用的。使用数据库日志处理技术,JFS 能在几秒或几分钟之内把文件系统恢复到一致状态。而在非日志文件系统中,文件恢复可能花费几小时或几天。

    XFS

    XFS是一种非常优秀的日志文件系统,XFS 最初是由 Silicon Graphics,Inc. 于 90 年代初开发的。XFS有能力动态地为文件分配索引空间,使系统形成高效支持大数量文件的能力。在它的支持下,用户可使用远远大于现在最大的文件系统。SGI的XFS可为Linux和开放资源社区带来的新特性有:可升级性:XFS被设计成可升级,以面对大多数的存储容量和I/O存储需求,可处理大型文件和包含巨大数量文件的大型目录,满足二十一世纪快速增长的磁盘需求。XFS有能力动态地为文件分配索引空间,使系统形成高效支持大数量文件的能力。在它的支持下,用户可使用1exabyte (1g×1gb)大的文件,远远大于现在最大的文件系统。优秀的I/O 性能:典型的现代服务器使用大型的条带式磁盘阵列,以提供达数gb/秒的总带宽。XFS可以很好地满足I/O请求的大小和并发I/O请求的数量。XFS在NFS服务器上使用也没问题.支持软件磁盘阵列(RAID)和逻辑卷管理器(LVM:logical volume group)。

    UFS

    UFS文件系统是FreeBSD上的标准文件系统,它实现了所有的标准文件属性,如文件属主和组、存取权限等属性。Sun也使用UFS文件系统。

    总结:XFS的缺点:由于XFS比较复杂,实施起来有一些难度(包括人员培训等),所以目前XFS主要应用于Linux企业应用的高端。

    每一个不同版本的Linux所支持的文件系统类型种类都有所不同,如何知道自己的Linux发行版本的类型哪?可以这样操作:(以笔者使用的redhat Linux 9.0为例,)以超级用户权限登陆Linux,进入/usr/src/kernel/fs目录执行命令

    从上面可以看到笔者使用的Redhat Linux 9.0支持的文件系统非常多。Linux系统核心支持十多种文件系统类型:JFS、 ReiserFS、ext、ext2、ext3、iso9660、XFS、 minx、msdos、umsdos、Vfat、NTFS、Hpfs、Nfs、smb等。上面主要介绍最主要文件系统。


相关文章:
Linux - 增加 Swap 方法
UFS - Unix File System
Linux下如何备份分区表
Ext2文件系统转换为Ext3的方法
Linux Filesystems
proc文件系统
linux 文件系统
/boot不要单独分区!
解析linux根文件系统的挂载过程
理解和认识udev
proc文件系统探索 之 以数字命令的目录[三]
如何自动装配文件系统autofs
linux文件系统基础知识
Linux下增加swap space
autofs服务动态自动挂载各种文件系统
挂载LVM分区
/dev/null 找不到设备的问题
Linux 文件系统(filesystem)资源索引
zfs snapshot
ext2, ext3, xfs, reiserfs 文件系统性能测试
给mss增加ext3空间
Linux为什么最多能分4个四个主分区的解释
制作jffs2 根文件系统
Linux文件系统 一分钱一分货
linux加密分区的创建和使用
onlineJFS无法使用问题(HP_UX)
Linux磁盘存储区管理原理与技巧
udev学习
以NAS价位获取FC文件系统性能
Linux下以模块方式安装卸载文件系统