歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> 關於Unix >> 在Linux系統環境中使用JFS文件系統

在Linux系統環境中使用JFS文件系統

日期:2017/3/6 15:50:12   编辑:關於Unix
JFS是IBM公司為 linux 系統 開發 的一個日志文件系統。從IBM的實力及它對 Linux 的態度來看,JFS應該是未來日志文件系統中最具實力的一個文件系統。 JFS提供了基於日志的字節級文件系統,該文件系統是為面向事務的高 性能 系統而開發的。JFS 能夠在幾秒或幾
  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 核心,下載地址ftp://ftp.kernel.org/。然後下載JFS系統軟件包:http://www-124.ibm.com/developerworks/oss/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軟件包。
  下載地址:http://oss.software.ibm.com/developer/opensource/jfs/project/pub/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 suclearcase/" target="_blank" >ccessfully.
  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到主分區的某個目錄下就行了。

Copyright © Linux教程網 All Rights Reserved