Linux環境下使用JFS檔案系統

來源:互聯網
上載者:User

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到主要磁碟分割的某個目錄下就行了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.