Linux环境下使用JFS文件系统_unix linux

    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文件中加入以下几行内容:

  image=/boot/vmlinuz-2.4.5-jfs
  label=jfs
  read-only
  root=/dev/hda5

  然后运行lilo,使更改生效。

  #lilo  

  三、创建JFS文件系统

  1.查看系统对JFS文件系统的支持

  如果新的内核正确启动,这说明核心已支持JFS文件系统了。查看系统进程,可以看到以下进程:

  #lsmod
  7 ? SW 0:00 [jfsIO]
  8 ? SW 0:00 [jfsCommit]
  9 ? SW 0:00 [jfsSync]

  如果你看到了以上这几个进程,这表明系统核心已支持JFS文件系统。

  另外,在/proc/fs/jfs 目录下应该还有三个文件:

  jfsFYI
  logmgr
  TxAnchor

    2.下载编译JFS文件系统工具

  为了使用JFS文件系统,我们还需要创建文件系统的工具,到IBM的JFS网站下载相应工具jfsutils-1.0.7.tar.gz软件包。

  编译安装过程如下:

  #tar –zxvf jfsutils-1.0.7.tar.gz
  #cd jfsutils-1.0.7
  #./configure
  #make
  #make install

  安装完成后,在/usr/sbin中就多出一个 可执行文件mkfs.jfs,我们就用它将分区格式化成jfs文件系统。

  3.创建JFS文件系统

  以下开始创建一个JFS文件系统, 将hda6分区格式化成JFS文件系统,以下为格式化时显示的内容:

  #mkfs -t jfs /dev/hda6
  mkfs.jfs development version: $Name: v0_3_1 $
  Warning! All data on device /dev/hda6 will be lost!
  Continue? (Y/N) y
  \
  Format completed successfully.
  5120608 kilobytes total disk space.

  运行完成后,JFS文件系统已经在hda6分区创建完成了。

  4.加载JFS文件系统

  首先,创建一个目录jfs,以便将JFS文件系统mount到其上:

  #mkdir jfs

  将新的分区mount到jfs目录下:

  #mount –t jfs /dev/hda6 /jfs

  这样,新的文件系统就加载到/jfs目录下了。现在可以使用新的文件系统了。

  四、使用JFS文件系统

  1.普通分区使用JFS文件系统

  Linux内核支持了JFS文件系统后,可以将磁盘所有分区均格式化为JFS文件系统。通常情况下,建议/usr,/usr/sbin等分区采用非日志文件系统,而在那些对读写要求频繁的分区上使用JFS文件系统。这有利于提高系统性能。

    2.主引导区使用JFS文件系统

  主分区为linux的启动分区,其中存放了系统启动所需的基本文件。以下开始将JFS文件系统用于主分区,首先备份主分区上的所有常用文件目录:

  #cd /
  #cp -a bin etc lib boot dev home usr var [...] /jfs
  #mkdir /jfs/proc

  在使用JFS文件系统启动之前,还应该更改/etc/fstab文件,将相应的分区用作根分区。如下所示:原来的根分区为:

  LABEL=/ / ext2 defaults 1 1

  应该更改为:

  /dev/hda6 / jfs defaults 1 1

  然后,编译/etc/lilo.conf文件,将主引导分区更改为/dev/hda6。置label为jfs,将缺省的启动设置为jfs。

  如下所示:

  default=jfs
  ...
  image=/boot/vmlinuz-2.4.0-jfs
  label=jfs
  read-only
  root=/dev/hda6

  然后,运行lilo,完成。

  最后,reboot 系统,启动之后,你就得到一个纯jfs文件系统的linux环境了,剩下的事情就是将原来的主分区重新格式化成 jfs,然后再将其mount到主分区的某个目录下就行了。

 

 

时间: 2024-10-23 04:24:49

Linux环境下使用JFS文件系统_unix linux的相关文章

Linux环境下使用XFS文件系统_unix linux

    XfS文件系统是SGI开发的高级日志文件系统,XFS极具伸缩性,非常健壮.所幸的是SGI将其移植到了Lin ux系统中.在linux环境下.目前版本可用的最新XFS文件系统的为1.2版本,可以很好地工作在2.4核心下. 一.XFS文件系统简介 主要特性包括以下几点: 数据完全性 采用XFS文件系统,当意想不到的宕机发生后,首先,由于文件系统开启了日志功能,所以你磁盘上的文件不再会意外宕机而遭到破坏了.不论目前文件系统上存储的文件与数据有多少,文件系统都可以根据所记录的日志在很短的时间内迅

Linux环境下使用GFS文件系统_unix linux

    GFS文件系统其实是一个网络日志文件系统,通常被用作多台计算机共享同一存储设备.由于GFS是日志文件系统,所以,如果将其应用到单独的一台计算机上,即完全等同于 本地日志文件系统,享受日志文件系统带来的好处.本文便向各位简介GFS文件系统在linux环境下的使用. 一.下载与编译 GFS文件系统以前是一个源代码完全公开的项目,直至版本为GFS-4.2.0时都可以下载到源代码.笔者在写这一篇文章时,下载到了GFS4.2.0的源代码,但是现在再也无法下载到GFS4.2.0以后的代码了,因为GF

Linux环境下的ReiserFS文件系统_unix linux

    ReiserFS是一个非常优秀的文件系统.也是最早用于Linux的日志文件系统之一. ReiserFS的开发者非常有魄力,整个文件系统完全是从头设计的.目前,ReiserFS可轻松管理上百G的文件系统,这在企业级应用中非常重要. 一.ReiserFS的特点 1.先进的日志机制 ReiserFS有先进的日志(Journaling/logging)功能 机制.日志机制保证了在每个实际数据修改之前,相应的日志已经写入硬盘.文件与数据的安全性有了很大提高. 2.高效的磁盘空间利用 Reiserf

Linux环境中使用Ext3文件系统_unix linux

    Linux缺省情况下使用的文件系统为Ext2,ext2文件系统的确高效稳定.但是,随着Linux系统在关键业务中的应用,Linux文件系统的弱点也渐渐显露出来了:其中系统缺省使用的ext2文件系统是非日志文件系统.这在关键行业的应用是一个致命的弱 点.本文向各位介绍Linux下使用ext3日志文件系统应用. Ext3文件系统是直接从Ext2文件系统发展而来,目前ext3文件系统已经非常稳定可靠.它完全兼容ext2文件系统.用户可以平滑地过渡到一个日志功能健全的文件系统中来.这实际上了也是

Linux环境下的ReiserFS文件系统

ReiserFS是一个非常优秀的文件系统.也是最早用于Linux的日志文件系统之一.ReiserFS的开发者非常有魄力,整个文件系统完全是从头设计的.目前,ReiserFS可轻松管理上百G的文件系统,这在企业级应用中非常重要. 一.ReiserFS的特点 1.先进的日志机制 ReiserFS有先进的日志(Journaling/logging)功能 机制.日志机制保证了在每个实际数据修改之前,相应的日志已经写入硬盘.文件与数据的安全性有了很大提高. 2.高效的磁盘空间利用 Reiserfs对一些小

在Linux环境中使用USB存储器_unix linux

如何在Linux环境中使用USB接口的存储设备?这是各大电脑论坛上出现得比较多的一个问题,同此可见这也是摆在许多电脑玩家面前的一道难题.本文就为您提供一套完美的解决方案,通过下面的方法,您仅可以在Linux环境中方便地使用U盘.USB硬盘盒,而且还能将数码相机作为USB大容量存储器.这里就以Red Hat Linux 7.2为例,来一步一步地介绍如何在Linux环境中使用USB存储器. 1.在X-Windows环境中打开"控制中心",展开"信息→USB设备"控制台树

Linux环境下进程中断的原因

问题描述 Linux环境下进程中断的原因 linux环境下,哪些原因可能造成某进程中断?或者说,代码中哪些不合理的地方可能会引起进程的中断? 解决方案 内存溢出等,程序无法处理的异常都会造成程序进程中断 解决方案二: 中断是一种是一种机制: 看下面的一段汇编代码: .section .data string:.ascii "hello" .section .text .globl _start _start: movl $4,%eax#sys_call_num movl $2,%ebx

Linux环境下的高级隐藏技术_unix linux

    摘要:本文深入分析了Linux环境下文件.进程及模块的高级隐藏技术,其中包括:Linux可卸载模块编程技术.修改内存映象直接对系统调用进行修改技术,通过虚拟文件系统proc隐藏特定进程的技术. 隐藏技术在计算机系统安全中应用十分广泛,尤其是在网络攻击中,当攻击者成功侵入一个系统后,有效隐藏攻击者的文件.进程及其加载的模块变得尤为重要.本文将讨论Linux系统中文件.进程及模块的高级隐藏技术,这些技术有的已经被广泛应用到各种后门或安全检测程序之中,而有一些则刚刚起步,仍然处在讨论阶段,应用

Linux环境下的备份_unix linux

Linux系统管理员常常问的一个问题是:如何备份我的系统?对于windows系统来说,进行备份是很简单的工作(仅仅需要在菜单模式下点击鼠标就可以完成). Linux备份工作则要麻烦的多,若你不熟悉Linux系统文件和设备,情况则会变得更糟.该篇文章讨论了在Linux环境下保护数据的方法和相关的设备信息. 1.什么是备份? 最简单的讲,备份数据的过程就是拷贝重要的数据到其他的介质之上(通常是可移动的),以保证在原始数据丢失的情况下可以恢复数据.一次备份可能是简单的cp命令,将一个文件复制到其他目录