当前位置 主页 > 服务器问题 > Linux/apache问题 >

    Linux环境下使用JFS文件系统

    栏目:Linux/apache问题 时间:2018-10-24 13:43

        JFS是IBM公司为linux系统开发的一个日志文件系统。从IBM的实力及它对Linux的态度来看,JFS应该是未来日志文件系统中最具实力的一个文件系统。


      JFS提供了基于日志的字节级文件系统,该文件系统是为面向事务的高性能系统而开发的。JFS 能够在几秒或几 分钟内就把文件系统恢复到一致状态。JFS能够保证数据在任何意外宕机的情况下,不会造成磁盘数据的丢失与损坏。

      一、JFS文件系统特点

      1.存储空间更大

      JFS 支持的最小文件系统是 16M 字节。最大文件系统的大小为 512 万亿字节(TB)。JFS 是真正意义上的 64 位的文件系统。所有 JFS 文件系统结构化字段都是 64 位大小。

      2.动态磁盘 inode 分配

      JFS 按需为磁盘 inode 动态地分配空间,释放不再需要的空间。这种方式避开了在文件系统创建期间,为磁盘 inode 保留固定数量空间的传统方法。用户不需要考虑文件系统包含的文件和目录最大数目。

      3.基于盘区的寻址结构

      JFS 使用基于盘区的寻址结构,JFS 分配尝试通过分配最小数量的盘区策略,而使每个盘区尽可能大。这有利于大的 I/O 传送,磁盘读写性能所有提高。

      4.块尺寸可变

      JFS 支持 512、1024、2048 和 4096 字节的块尺寸,允许用户根据应用环境优化空间利用率。较小的块尺寸减少有利于内部存储碎片的数量,提高空间利用率。系统缺省块尺寸为 4096 字节。

        二、使用JFS文件系统


      1.编译内核以支持JFS文件系统

      首先下载最新的2.4.x 核心,然后下载JFS系统软件包,名称为:jfs-x.y.z-patch.tar.gz。 将下载文件存放在/usr/src目录中。

      在/usr/src/上当目录下解开jfs的软件包

      # tar –zxvf jfs-2.4-1.0.4.tar.gz
      # tar –zxvf jfs-2.4-1.0.4-patch.tar.gz

      得到四个文件:

      jfs-2.4.common-v1.0.4-patch
      jfs-2.4.7-v1.0.4-patch
      jfs-2.4.5-v1.0.4-patch
      jfs-2.4.0-v1.0.4-patch

      其中,jfs-2.4.common-v1.0.4-patch文件用于所有的2.4核心,jfs-2.4.0-v1.0.4-patch用于2.4.0-2.4.2。jfs-2.4.5-v1.0.4-patch可用于核心2.4.5及2.4.6。

      注意仔细阅读README文件,不要用错了patch文件

      接着是为核心打补丁:

      # patch –p1 < jfs-2.4.5-v1.0.4-patch

      打补丁工作完成。

      最后运行

      #make menuconfig

      将新的文件系统加入了核心编译配置文件中,要进行以下内核配置:

      使用make menuconfig 在菜单"Code maturity level options"中,选择"Prompt for development and/or incomplete code/drivers."选项。然后,进入文件系统菜单"File systems",选择"JFS filesystem support."选项。配置核心,使核心支持JFS文件系统。配置核心的其它选项。


    <*> JFS filesystem support


      ##将JFS文件系统的支持编译入内核,也可以将其编译成模块加载方式,见以下选择:

      <M> JFS filesystem support

      笔者建议将JFS文件系统支持直接编译进内核,这有利于提高系统性能。

      然后编译核心:

      #make dep
      #make clean
      #make bzImage
      #make modules
      #make modules_install
      #cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.5-jfs

      最后,编辑 /etc/lilo.conf 文件,加入新内核条目,以便使用新的内核引导系统。如下所示,在 lilo.conf文件中加入以下几行内容: