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文件系统的支持编译入内核,也可以将其编译成模块加载方式,见以下选择:

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到主分区的某个目录下就行了。

linux jfs文件名长度,Linux环境下使用JFS文件系统相关推荐

  1. Linux环境下使用JFS文件系统介绍

    JFS是IBM公司为linux系统开发的一个日志文件系统.从IBM的实力及它对Linux的态度来看,JFS应该是未来日志文件系统中最具实力的一个文件系统. JFS提供了基于日志的字节级文件系统,该文件 ...

  2. linux 音频文件长度,Linux下压缩音频文件

    安装工具 sudo apt-get install lame 具体用法可以查看帮助  lame --help 通过更改音频文件的帧数 可以让文件变小  但是音质也会随之下降 现在比较多的mp3文件是1 ...

  3. linux中文文件名长度ftp无法传输,上传ftp时文件名不能太长

    ftp上传不了多个汉字文件名的文件. server-U11安装后,ftp上传文件时,必须使用英文字符或数据的文件名才能进入ServerU管理端界面,点击"服务器限制和设置"分类功能 ...

  4. linux安装python虚拟环境_linux环境下安装python虚拟环境及注意事项

    创建python虚拟环境virtualenv.virtualenvwrapper 1,为什么需要搭建虚拟环境 由于当机器上两个项目依赖于相同包的不同版本时,会导致项目运行失败,此时可以安装虚拟环境 . ...

  5. linux mysql5.6编译_Linux 环境下编译安装MySQL5.6的笔记记录

    一.首先搭建好Linux环境,我这边使用的是redhat enterprise 6.5,并且建议磁盘划分逻辑卷,以便后期的扩容工作. 二.环境搭建好了之后,我们就要去准备MySQL的安装文件,到现在为 ...

  6. linux centos7安装ngix,centos7 环境下安装nginx--Linux

    本文将要为您介绍的是centos7 环境下安装nginx--Linux,具体完成步骤:一.安装前需要的编译环境准备 1.安装make yum install -y gcc automake autoc ...

  7. linux中python安装_linux环境下的python安装过程图解(含setuptools)

    这里我不想采用诸如ubuntu下的apt-get install方式进行python的安装,而是在linux下采用源码包的方式进行python的安装. 一.下载python源码包 打开ubuntu下的 ...

  8. linux gfs文件系统,Linux环境下使用GFS文件系统

    GFS文件系统其实是一个网络日志文件系统,通常被用作多台计算机共享同一存储设备.由于GFS是日志文件系统,所以,如果将其应用到单独的一台计算机上,即完全等同于 本地日志文件系统,享受日志文件系统带来的 ...

  9. linux 安装防病毒软件,04Linux环境下Norton防病毒软件安装和使用.doc

    04Linux环境下Norton防病毒软件安装和使用 Linux环境下 Norton防病毒软件安装和使用 项目编号:项目名称:编 写 人:詹硕编写日期:2012-08-13审 核 人:审核日期:批 准 ...

最新文章

  1. 数字图像处理——第七章 小波和多分辨处理
  2. #@python常见的代码自己编写问题
  3. 【Fourier Convolution】傅里叶卷积
  4. 我和奇葩的故事之失联第七天
  5. poj 2255 Tree Recovery
  6. 中国约量子计算机啥水平,中国科学家捕获马约拉纳费米子 或敲开量子计算机世界大门...
  7. Redis学习笔记(3)-XShell连接CentOSMini,并安装Redis
  8. 在线HTML转JS/JSON工具
  9. html备注技术支持,技术支持协议书范本
  10. php cunstruct,php读取二进制流(C语言结构体struct数据文件)
  11. 简单的社区管理系统(Qt)
  12. 串口硬盘如何应用于并口硬盘计算机,串口并口硬盘连接具体步骤(转)
  13. 步进电机驱动器细分功能的介绍以及设置
  14. c++卸载工具_卸载软件同时清除软件注册表里面的信息,也许这款软件能够帮助你...
  15. 一步一步教你Win8专业版+U盘安装+kms激活
  16. 大学生免费查题公众号_大学生免费查题公众号?搜题免费公众号?
  17. Unity Shader 之 简单 护盾Shield 效果的实现
  18. unity 回合制_用Unity E3 Goodness制成
  19. python简易自动化之pyautogui 2020-12-19
  20. 基于android的教育机构家校通系统app

热门文章

  1. python 添加半透明水印_怎么利用python给图片添加半透明水印
  2. gitlab中文网的使用_GitLab使用流程及手册
  3. antd右侧菜单栏点击更换icon
  4. 博主独资创办-卓明网,即将上线,敬请期待!
  5. 深度学习auc_深度学习-AUC/PR计算
  6. web前端自学该怎么规划学习
  7. EMV技术学习和研究(七)持卡人验证
  8. 微信开放平台开发-授权、全网发布(PHP)
  9. supervisord如何优雅的新加服务
  10. 牛客练习赛52 B Galahad (树状数组)