日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
深入了解:Linux文件系統(tǒng)是什么?(linuxfs是什么)

Linux操作系統(tǒng)是當(dāng)今更受歡迎和廣泛使用的操作系統(tǒng)之一,尤其是在服務(wù)器端領(lǐng)域。而文件系統(tǒng)是Linux操作系統(tǒng)中的重要組成部分,其作用是管理和組織存儲在硬盤上的文件。本文將深入探討Linux文件系統(tǒng)的概念、結(jié)構(gòu)、類型、應(yīng)用和重要性。

一、概念

在計算機中,文件系統(tǒng)是數(shù)據(jù)存儲設(shè)備同時提供對文件的訪問和管理的一種機制。Linux文件系統(tǒng)即在Linux操作系統(tǒng)中運行的文件系統(tǒng),通常采用磁盤片管理和文件級別的存儲和組織方式。

Linux文件系統(tǒng)的基本組成部分包括SuperBlock、Inode和Data block,其中SuperBlock儲存文件系統(tǒng)的一般信息,Inode用于存儲文件的屬性和指向數(shù)據(jù)塊的指針,Data block則是真正存儲文件內(nèi)容的區(qū)域。Linux文件系統(tǒng)采用樹形分層目錄結(jié)構(gòu),樹根為/,表示系統(tǒng)的根目錄。

二、結(jié)構(gòu)

Linux文件系統(tǒng)的結(jié)構(gòu)有三個層級,分別是文件、目錄和樹形層級。

1、文件:是一組數(shù)據(jù),可以是文本文件、圖片文件、音頻文件、視頻文件、二進制文件等。文件的重要屬性包括文件類型、文件名、文件權(quán)限、文件大小、修改時間等。

2、目錄:目錄是一種特殊的文件,用于組織和管理其他文件和目錄。目錄也有類似文件的屬性,如目錄名、目錄權(quán)限、目錄大小等。

3、樹形層級:通過樹形分層次目錄結(jié)構(gòu),Linux文件系統(tǒng)能夠輕松地管理和組織更多的文件和目錄。

三、類型

Linux文件系統(tǒng)有多個類型,包括Ext2、Ext3、Ext4、ReiserFS、JFS和XFS等。

1、Ext2文件系統(tǒng):是Linux最早的文件系統(tǒng)格式,優(yōu)點是比較簡單、穩(wěn)定和高效,但它不支持日志功能,導(dǎo)致系統(tǒng)發(fā)生突然斷電會導(dǎo)致文件系統(tǒng)損壞。

2、Ext3文件系統(tǒng):是Ext2的改進版本,引進了日志功能。在突然斷電或系統(tǒng)異常重啟的情況下,可以快速恢復(fù)文件系統(tǒng)。

3、Ext4文件系統(tǒng):是Ext3的再次升級版,具有更高的性能和更高的可靠性。

4、ReiserFS文件系統(tǒng):是一個快速、高效和可靠的文件系統(tǒng)。但由于其數(shù)量相對較少,有時會面臨一些兼容性問題。

5、JFS文件系統(tǒng):是IBM開發(fā)的一種日志文件系統(tǒng),處理大型文件和大規(guī)模數(shù)據(jù)的效率很高,但在處理小型文件方面略微缺乏效率。

6、XFS文件系統(tǒng):是一種高性能文件系統(tǒng),適用于文件服務(wù)器、高速數(shù)據(jù)庫和Web服務(wù)器等應(yīng)用場景。

四、應(yīng)用

Linux文件系統(tǒng)的應(yīng)用非常廣泛,包括服務(wù)器管理、數(shù)據(jù)存儲、大型數(shù)據(jù)處理、虛擬化、桌面環(huán)境等。在服務(wù)器管理中,Linux文件系統(tǒng)可用于部署Web服務(wù)器、郵件服務(wù)器、數(shù)據(jù)庫服務(wù)器、文件服務(wù)器等。

在數(shù)據(jù)存儲方面,Linux文件系統(tǒng)可以用于存儲關(guān)鍵的企業(yè)數(shù)據(jù)、日志文件、備份文件等。

對于大型數(shù)據(jù)的處理,Linux文件系統(tǒng)可以處理海量數(shù)據(jù),從而支持更高效的數(shù)據(jù)處理和分析。

在虛擬化方面,Linux文件系統(tǒng)可以作為虛擬機的存儲介質(zhì),本身就支持虛擬化技術(shù),實現(xiàn)容器化和云端隔離等操作。

在桌面環(huán)境中,Linux文件系統(tǒng)也可以用于文件和目錄的管理、備份和共享等。Linux文件系統(tǒng)提供了豐富的工具和命令行,讓用戶能夠快速、安全地進行文件的操作。

五、重要性

Linux文件系統(tǒng)在Linux操作系統(tǒng)中扮演著至關(guān)重要的角色,它是操作系統(tǒng)中的核心之一。Linux文件系統(tǒng)可確保對磁盤上的數(shù)據(jù)進行安全存儲和快速訪問,支持對大量數(shù)據(jù)進行高效的處理和分析。

相比其他操作系統(tǒng),Linux文件系統(tǒng)的卓越性能和靈活性使其在企業(yè)級和個人用戶中受到極高的態(tài)度和歡迎。因此,熟悉和掌握Linux文件系統(tǒng)架構(gòu)和運作原理對于Linux系統(tǒng)管理員和開發(fā)人員來說至關(guān)重要。

Linux文件系統(tǒng)是Linux操作系統(tǒng)中不可缺少的部分。了解和掌握Linux文件系統(tǒng)的原理和特性,能夠更好地理解和利用Linux操作系統(tǒng),為數(shù)據(jù)存儲和管理提供可靠和高效的解決方案。

成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù)!

Linux btrfs文件系統(tǒng)及管理

Linux btrfs文件系統(tǒng)及管理

  linux文件系統(tǒng),具有寫時復(fù)制COW(copy-on-write),改善ext3文件系統(tǒng)單文件大小限制,并加入其他特性,如可寫快照,快照的快照,內(nèi)建RAID,子卷(subvloume),專注于容錯,修復(fù)和易于管理,下面一起來看看什么是linux btrfs文件系統(tǒng)及管理關(guān)系吧!

  什么是btrfs?

  Btrfs(B-tree文件系統(tǒng),通常念成Butter FS,Better FS或B-tree FS),linux文件系統(tǒng),具有寫時復(fù)制COW(copy-on-write),改善ext3文件系統(tǒng)單文件大小限制,握孝塌并加入其他特性,如可寫快照,快照的快照,內(nèi)建RAID,子卷(subvloume),專注于容錯,修復(fù)和易于管理。單段圓文件可達(dá)16EB,更大文件數(shù)量2^64,更大卷容量16EB,等。

  btrfs功能特性

,COW:寫時復(fù)制,每次寫入數(shù)據(jù)時,先將數(shù)據(jù)寫入到新的block,寫入成功后,更改舊數(shù)據(jù)塊指針到新數(shù)據(jù)塊,而非更改本身。

,多物理卷支持,btrfs內(nèi)建raid,可在線增刪磁盤設(shè)備,可在線擴展和縮減磁盤空間。

,數(shù)據(jù)和元數(shù)據(jù)校驗碼,checksum

,子卷,可單獨掛載子卷

,可寫慎租快照,快照的快照,單個文件快照。

,透明壓縮

,ext3/4和btrfs無痛互轉(zhuǎn)

  btrfs 基本用法:

  bash/shell Code復(fù)制內(nèi)容到剪貼板

  # btrfs –help #查看幫助可以看到btrfs 有很多子命令,用法也很多,這里只舉例常用選項。

  usage: btrfs

  btrfs subvolume create #創(chuàng)建子卷

  Create a subvolume

  btrfs subvolume delete #刪除子卷

  Delete subvolume(s)

  btrfs subvolume list value> value> #顯示子卷列表

  List subvolumes (and snapshots)

  btrfs subvolume snapshot | #創(chuàng)建子卷快照

  Create a snapshot of the subvolume

  btrfs subvolume get-default #獲取子卷默認(rèn)的文件系統(tǒng)

  Get the default subvolume of a filesystem

  btrfs subvolume set-default #設(shè)置默認(rèn)系統(tǒng)給子卷

  Set the default subvolume of a filesystem

  btrfs subvolume find-new #列出btrfs文件系統(tǒng)中最近修改的文件,結(jié)合find命令

  List the recently modified files in a filesystem

  btrfs subvolume show #顯示更多的子卷信息

  Show more information of the subvolume

  btrfs subvolume sync #子卷同步,類似mount同步模式,內(nèi)存數(shù)據(jù)同步到磁盤,有待查證。

  Wait until given subvolume(s) are completely removed from the filesystem.

  btrfs filesystem df #顯示掛載的文件系統(tǒng)詳細(xì)信息。

  Show space usage information for a mount point

  btrfs filesystem show #顯示創(chuàng)建文件系統(tǒng)的磁盤信息。

  Show the structure of a filesystem

  btrfs filesystem sync #強制文件系統(tǒng)同步,

  Force a sync on a filesystem

  btrfs filesystem defragment |

   #碎片整理

  Defragment a file or a directory

  btrfs filesystem resize |max #btrfs文件系統(tǒng)在線擴展和縮減空間

  Resize a filesystem

  btrfs filesystem label #改變btrfs文件系統(tǒng)卷標(biāo)

  Get or change the label of a filesystem

  btrfs filesystem usage #顯示文件系統(tǒng)當(dāng)前的使用信息。

  Show detailed information about internal filesystem usage .

  btrfs balance start #改變磁盤chunk,在線改 數(shù)據(jù)和元數(shù)據(jù) 存儲方式,單盤改raid,前提滿足raid要求。

  Balance chunks across the devices

  btrfs balance pause #暫停chunk更改,數(shù)據(jù)量較大,轉(zhuǎn)換時間較長時,先暫停。

  Pause running balance

  btrfs balance cancel #取消chunk更改,如上

  Cancel running or paused balance

  btrfs balance resume #中斷balance的操作,如上

  Resume interrupted balance

  btrfs balance status #顯示balance操作狀態(tài) 如上

  Show status of running or paused balance

  btrfs device add #文件系統(tǒng)增加磁盤

  Add a device to a filesystem

  btrfs device delete #文件系統(tǒng)刪除磁盤

  Remove a device from a filesystem

  btrfs device scan > #文件系統(tǒng)磁盤掃描

  Scan devices for a btrfs filesystem

  btrfs device ready #猜測是檢測加入的設(shè)備有沒有被掛載

  Check device to see if it has all of its devices in cache for mounting

  btrfs device stats | #顯示文件系統(tǒng)的設(shè)備狀態(tài)

  Show current device IO stats. -z to reset stats afterwards.

  btrfs device usage #顯示文件系統(tǒng)內(nèi)部設(shè)備詳細(xì)使用信息

  Show detailed information about internal allocations in devices.

  btrfs文件系統(tǒng)管理

  為分區(qū)創(chuàng)建btrfs文件系統(tǒng)

  bash/shell Code復(fù)制內(nèi)容到剪貼板

  # fdisk -l | grep “^Disk /dev/sd” #準(zhǔn)備sd{b,c,d,e}4塊20G磁盤,未做任何分區(qū)。

  Disk /dev/sda: 107.4 GB,bytes,sectors

  Disk /dev/sdb: 21.5 GB,bytes,sectors

  Disk /dev/sdc: 21.5 GB,bytes,sectors

  Disk /dev/sde: 21.5 GB,bytes,sectors

  Disk /dev/sdd: 21.5 GB,bytes,sectors

  創(chuàng)建單分區(qū)btrfs并查看

  bash/shell Code復(fù)制內(nèi)容到剪貼板

  # mkfs.btrfs -L ‘btrfs’ /dev/sdb

  btrfs-progs v3.19.1

  See for more information.

  Turning ON incompat feature ‘extref’: increased hardlink limit per file to 65536

  Turning ON incompat feature ‘skinny-metadata’: reduced-size metadata extent refs

  fs created label btrfs on /dev/sdb

  nodesizeleafsizesectorsize 4096 size 20.00GiB

  # btrfs filesystem show

  Label: ‘btrfs’ uuid: 2a9f0d3d-f8af4e-d1efa04a683a

  Total devices 1 FS bytes used 112.00KiB

  devid 1 size 20.00GiB used 2.04GiB path /dev/sdb

  btrfs-progs v3.19.1

  # mount -o compress=lzo -L btrfs /btrfs/ 掛載時可以設(shè)定透明壓縮機制。

  # btrfs filesystem df /btrfs

  Data, single: total=8.00MiB, used=256.00KiB

  System, DUP: total=8.00MiB, used=16.00KiB

  System, single: total=4.00MiB, used=0.00B

  Metadata, DUP: total=1.00GiB, used=112.00KiB

  Metadata, single: total=8.00MiB, used=0.00B

  GlobalReserve, single: total=16.00MiB, used=0.00B

  再添加一塊磁盤

  bash/shell Code復(fù)制內(nèi)容到剪貼板

  # btrfs device add /dev/sdc /btrfs #添加磁盤,刪除用btrfs device delete /dev/sdc /btrfs

  # btrfs fi sh

  Label: ‘btrfs’ uuid: 2a9f0d3d-f8af4e-d1efa04a683a

  Total devices 2 FS bytes used 384.00KiB

  devid 1 size 20.00GiB used 2.04GiB path /dev/sdb

  devid 2 size 20.00GiB used 0.00B path /dev/sdc

  btrfs-progs v3.19.1

  #

  在線增加或縮減空間,在線改變空間,可以讓lvm坐冷板凳了。

  bash/shell Code復(fù)制內(nèi)容到剪貼板

  # btrfs fi resize -10G /btrfs/ #在線縮減空間

  Resize ‘/btrfs/’ of ‘-10G’

  # btrfs fi sh

  Label: ‘btrfs’ uuid: 2a9f0d3d-f8af4e-d1efa04a683a

  Total devices 2 FS bytes used 384.00KiB

  devid 1 size 10.00GiB used 2.04GiB path /dev/sdb

  devid 2 size 20.00GiB used 0.00B path /dev/sdc

  btrfs-progs v3.19.1

  # btrfs fi resize +7G /btrfs/ #在線增加空間

  Resize ‘/btrfs/’ of ‘+7G’

  # btrfs fi sh

  Label: ‘btrfs’ uuid: 2a9f0d3d-f8af4e-d1efa04a683a

  Total devices 2 FS bytes used 384.00KiB

  devid 1 size 17.00GiB used 2.04GiB path /dev/sdb

  devid 2 size 20.00GiB used 0.00B path /dev/sdc

  btrfs-progs v3.19.1

  #

  在線更改數(shù)據(jù)和元數(shù)據(jù)的結(jié)構(gòu)

  bash/shell Code復(fù)制內(nèi)容到剪貼板

  # btrfs fi df /btrfs/

  Data, single: total=8.00MiB, used=256.00KiB

  System, DUP: total=8.00MiB, used=16.00KiB

  System, single: total=4.00MiB, used=0.00B

  Metadata, DUP: total=1.00GiB, used=112.00KiB

  Metadata, single: total=8.00MiB, used=0.00B

  GlobalReserve, single: total=16.00MiB, used=0.00B

  # btrfs balance start -mconvert=raid1 /btrfs/ #-mconvert 為改變metadata元數(shù)據(jù)區(qū)的存儲結(jié)構(gòu)

  Done, had to relocate 4 out of 5 chunks

  # btrfs fi sh

  Label: ‘btrfs’ uuid: 2a9f0d3d-f8af4e-d1efa04a683a

  Total devices 2 FS bytes used 192.00KiB

  devid 1 size 17.00GiB used 296.00MiB path /dev/sdb

  devid 2 size 20.00GiB used 288.00MiB path /dev/sdc

  btrfs-progs v3.19.1

  # btrfs fi df /btrfs/

  Data, single: total=8.00MiB, used=64.00KiB

  System, RAID1: total=32.00MiB, used=16.00KiB

  Metadata, RAID1: total=256.00MiB, used=112.00KiB #對比上改為了raid1

  GlobalReserve, single: total=16.00MiB, used=0.00B

  # btrfs balance start -dconvert=raid1 /btrfs/ #-dconvert 為改變data數(shù)據(jù)區(qū)的存儲結(jié)構(gòu)

高手請進?。?!linux kernel與 fs問題

編譯內(nèi)核之前make manuconfig,把相應(yīng)的文件系統(tǒng)的支持加上。

樓上挺搞笑的

嚴(yán)格來講fs和kernel之間的關(guān)系很簡單扒睜 就在于kernel是否集成了該fs的驅(qū)動而已 ,拋開這個兩者沒更深滑此余入的關(guān)系了

所以注意下內(nèi)核里面是信滾否加入了該fs的驅(qū)動

genkernel 自動配置命令

飯店

Linux日志式文件系統(tǒng)面面觀

文件系統(tǒng)是用來管理和組織保存在磁盤驅(qū)動器上的數(shù)據(jù)的系統(tǒng)軟件,其實現(xiàn)了數(shù)據(jù)完整性的保 證,也就是保證寫入磁盤的數(shù)據(jù)和隨后讀出的內(nèi)容的一致性。除了保存以文件方式存儲的數(shù)據(jù)以外,一個文件系統(tǒng)同樣存儲和管理關(guān)于文件和文件系統(tǒng)自身的一些重要信息(例如:日期時間、屬主、訪問權(quán)限、文件大小和存儲位置等等)。這些信息通常被稱為元數(shù)據(jù)(metadata)。

  由于為了避免磁盤訪問瓶頸效應(yīng),一般文件系統(tǒng)大都以異步方遲隱式工作,因此如果磁盤操作被突然中斷可能導(dǎo)致數(shù)據(jù)被丟失。例如如果出現(xiàn)這種情況:如果當(dāng)你處理一個在linux的ext2文件系統(tǒng)上的文檔,突然機器崩潰會出現(xiàn)什么情況?

  

有這幾種可能:

  *當(dāng)你保存文件以后,系統(tǒng)崩潰。這是更好的情況,你不會丟失任何信息。只需要重新啟動計算機然后繼續(xù)工作。

  *在你保存文件之前系統(tǒng)崩潰。你會丟失你所有的工作內(nèi)容,但是老版本的文檔還會存在。

  *當(dāng)正在將保存的文檔寫入磁盤時系統(tǒng)崩潰。這是最糟的情況:新版文件覆蓋了舊版本的文件。這樣磁盤上只剩下一個部分新部分舊的文件。如果文件是二進制文件那么就會出現(xiàn)不能打開文件的情況,因為其文件格式和應(yīng)用所期待的不同。

  在最后這種情況下,如果系統(tǒng)崩潰是發(fā)生在驅(qū)動器正在寫入元數(shù)據(jù)時,那么情況可能更糟。這時候就是文件系統(tǒng)發(fā)生了損壞,你可能會丟失整個目錄或者整個磁盤分區(qū)的數(shù)據(jù)。

  linux標(biāo)準(zhǔn)文件系統(tǒng)(ext2fs)在重新啟動時會通過調(diào)用文件掃描工具fsck試圖恢復(fù)損壞的元數(shù)據(jù)信息。由于ext2文件系統(tǒng)保存有冗余的關(guān)鍵元數(shù)據(jù)信息的備份,因此一般來說不大可能出現(xiàn)數(shù)據(jù)完全丟失。系統(tǒng)會計算出被損壞的數(shù)據(jù)的位置,然后或者是通過恢復(fù)冗余的元數(shù)據(jù)信息,或者是直接刪除被損壞或是元數(shù)據(jù)信息損毀的文件。

  很明顯,要檢測的文件系統(tǒng)越大,檢測過程費時就越長。對于物旦缺有幾十個G大小的分區(qū),可能會花費很長時間來進行檢測。由于Linux開始用于大型服務(wù)器中越來越重要的應(yīng)用,因此就越來越不能容忍長時間的當(dāng)機時間。這罩辯就需要更復(fù)雜和精巧的文件系統(tǒng)來替代ext2。

  因此就出現(xiàn)了日志式文件系統(tǒng)(journalling filesystems)來滿足這樣的需求。

  

什么是日志式文件系統(tǒng)

  這里僅僅對日志式文件系統(tǒng)進行簡單的說明。如果需要更深入的信息請參考文章日志式文件系統(tǒng),或者是日志式文件系統(tǒng)介紹。

  大多數(shù)現(xiàn)代文件系統(tǒng)都使用了來自于數(shù)據(jù)庫系統(tǒng)中為了提高崩潰恢復(fù)能力而開發(fā)的日志技術(shù)。磁盤事務(wù)在被真正寫入到磁盤的最終位置以前首先按照順序方式寫入磁盤中日志區(qū)(或是log區(qū))的特定位置。

  根據(jù)日志文件系統(tǒng)實現(xiàn)技術(shù)的不同,寫入日志區(qū)的信息是不完全一樣的。某些實現(xiàn)技術(shù)僅僅寫文件系統(tǒng)元數(shù)據(jù),而其他則會記錄所有的寫操作到日志中。

  現(xiàn)在,如果崩潰發(fā)生在日志內(nèi)容被寫入之前發(fā)生,那么原始數(shù)據(jù)仍然在磁盤上,丟失的僅僅是最新的更新內(nèi)容。如果當(dāng)崩潰發(fā)生在真正的寫操作時(也就是日志內(nèi)容已經(jīng)更新),日志文件系統(tǒng)的日志內(nèi)容則會顯示進行了哪些操作。因此當(dāng)系統(tǒng)重啟時,它能輕易根據(jù)日志內(nèi)容,很快地恢復(fù)被破壞的更新。

  在任何一種情況下,都會得到完整的數(shù)據(jù),不會出現(xiàn)損壞的分區(qū)的情況。由于恢復(fù)過程根據(jù)日志進行,因此整個過程會非??熘恍枰獛酌腌姇r間。

  應(yīng)該注意的是使用日志文件系統(tǒng)并不意味著完全不需要使用文件掃描工具fsck了。隨機發(fā)生的文件系統(tǒng)的硬件和軟件錯誤是根據(jù)日志是無法恢復(fù)的,必須借助于fsck工具。

  

目前Linux環(huán)境下的日志文件系統(tǒng)

  在下面的內(nèi)容里將討論三種日志文件系統(tǒng):之一種是ext3,由Linux內(nèi)核Stephen Tweedie開發(fā)。ext3是通過向ext2文件系統(tǒng)上添加日志功能來實現(xiàn)的,目前是redhat7.2的默認(rèn)文件系統(tǒng);Namesys開發(fā)的ReiserFs日志式文件系統(tǒng),可以下載,目前Mandrake8.1采用該日志式文件系統(tǒng)。SGI在2023年三月發(fā)布了XFS日志式文件系統(tǒng)??梢栽?oss.sgi.com/projects/xfs/下載。下面將對這三種日志文件系統(tǒng)采用不同的工具進行檢測和性能測試。

  

安裝ext3

  關(guān)于ext3文件系統(tǒng)技術(shù)方面的問題請參考Dr. Stephen Tweedie的論文和訪談。ext3日志式文件系統(tǒng)直接來自于其祖先ext2文件系統(tǒng)。其具有完全向后兼容的關(guān)鍵特性,實際上其僅僅是在ext2日志式文件系統(tǒng)上添加了日志功能。其更大的缺點是沒有現(xiàn)代文件系統(tǒng)所具有的能提高文件數(shù)據(jù)處理速度和解壓的高性能。

  ext3從 2.2.19開始是作為一個補丁方式存在的。如果希望對內(nèi)核添加對ext3文件系統(tǒng)的支持,就需要使用補丁,可以得到補丁程序,一共需要如下文件:

  * ext3-0.0.7a.tar.bz2:內(nèi)核補丁

  * e2fsprogs-1.21-WIP-0601.tar.bz2 支持ext3的e2fsprogs程序套件

  拷貝linux-2.2.19.tar.bz2和ext3-0.0.7a.tar.bz2到/usr/src目錄下,進行解壓:

  mv linux linux-old

  tar -Ixvf linux-2.2.19.tar.bz2

  tar -Ixvf ext3-0.0.7a.tar.bz2

  cd linux

  cat ../ext3-0.0.7a/linux-2.2.19.kdb.diff | patch -sp1

  cat ../ext3-0.0.7a/linux-2.2.19.ext3.diff | patch -sp1

  首先對內(nèi)核添加SGI的kdb內(nèi)核調(diào)試器補丁,第二個是ext3文件系統(tǒng)補丁。下來就需要配置內(nèi)核,對文件系統(tǒng)部分的”Enable Second extended fs development code”回答Yes。然后編譯。

  

內(nèi)核編譯安裝以后,需要安裝e2fsprogs軟件套件:

  tar -Ixvf e2fsprogs-1.21-WIP-0601.tar.bz2

  cd e2fsprogs-1.21

  ./configure

  make

  make check

  make install

  下來要做的工作就是在分區(qū)上創(chuàng)建一個ext3文件系統(tǒng),使用新內(nèi)核重新啟動,這時候你有兩種選擇創(chuàng)建新的日志文件系統(tǒng)或者對一個已有的ext2文件系統(tǒng)升級到ext3日志文件系統(tǒng)。

  對于需要創(chuàng)建新ext3文件系統(tǒng)的情況下,只需要使用安裝的e2fsprogs軟件包中的mke2fs命令加-f參數(shù)就可以創(chuàng)建新的ext3文件系統(tǒng):

  mke2fs -j /dev/xxx

  這里/dev/xxx是希望創(chuàng)建ext3文件系統(tǒng)的新分區(qū)。-j參數(shù)表示創(chuàng)建ext3而不是ext2文件系統(tǒng)??梢允褂脜?shù)”-Jsize=”來指定希望的日志區(qū)大小(n單位為M)。

  

升級一個已有的ext2,使用tune2fs就可以了:

  tune2fs -j /dev/xxx

  你可以對正在加載的文件系統(tǒng)和沒有加載的文件系統(tǒng)進行升級操作。如果當(dāng)前文件系統(tǒng)正在被加載,則文件.journal會在文件系統(tǒng)加載點的所在目錄被創(chuàng)建。如果是升級一個當(dāng)時沒有加載的文件系統(tǒng),則使用隱含的系統(tǒng)inode來記錄日志,這時候文件系統(tǒng)的所有內(nèi)容都會被保留不被破壞。

  

你可以使用下面的命令加載ext3文件系統(tǒng):

  mount -t ext3 /dev/xxx /mount_dir

  由于ext3實際上是帶有日志功能的ext2文件系統(tǒng) ,因此一個ext3文件系統(tǒng)可以以ext2的方式被加載。

  安裝XFS文件系統(tǒng)

  如果需要從技術(shù)方面了解XFS文件系統(tǒng),請參考SGI的XFS文件系統(tǒng)和SGI信息頁面。也可以參考FAQ。

  XFS是一個SGI開發(fā)的linux環(huán)境下的日志文件系統(tǒng),它是一個成熟的技術(shù),最初是使用在IRIX系統(tǒng)上的文件系統(tǒng)。XFS遵循GPL版權(quán)申明。目前xfs文件系統(tǒng)最新版本是1.02。下載得到對內(nèi)核xfs文件系統(tǒng)支持補丁或者直接下載RPM包方式的內(nèi)核,下面我們就以補丁方式說明如何對2.4.14內(nèi)核使用xfs。首先下載如下內(nèi)容

  patch-2.4.14-xfs-1.0.2.bz2

  patch-2.4.14-xfs-1.0.2-kdb.bz2

  拷貝Linux內(nèi)核linux-2.4.2.tar.bz2到 /usr/src目錄下,修改老的內(nèi)核目錄名,然后解壓新內(nèi)核:

  mv linux linux-old

  tar -Ixf inux-2.4.2.tar.bz2

  

拷貝每個每個補丁到內(nèi)核源碼目錄下(例如:/usr/src/linux),并打補?。?/p>

  zcat patch-2.4.14-xfs-1.0.2.bz2 | patch -p1

  zcat patch-2.4.14-xfs-1.0.2-kdb.bz2 | patch -p1

  然后配置內(nèi)核,打開文件系統(tǒng)部分的內(nèi)核選項:”XFS filesystem support” (CONFIG_XFS_FS)和”Page Buffer support” (CONFIG_PAGE_BUF)。同時需要升級下面這些系統(tǒng)工具到下面或更高的版本:

  modutils-2.4.0

  autoconf-2.13

  e2fsprogs-devel-1.18

  安裝新內(nèi)核并重啟服務(wù)器。

  然后下載xfs工具。這個軟件包包括下面的命令來處理文件系統(tǒng),使用下面的命令來安裝該軟件包::

  tar -zxf xfsprogs-1.2.0.src.tar.gz

  cd xfsprogs-1.2.0

  make configure

  make

  make install

  

安裝這些命令以后,就可以創(chuàng)建新的XFS文件系統(tǒng):

  mkfs -t xfs /dev/xxx

  如果xxx是一個已經(jīng)存在的文件系統(tǒng),那么就需要使用”-f”參數(shù)來創(chuàng)建新分區(qū),但是記得這將會破壞該分區(qū)的所有數(shù)據(jù)。

  mkfs -t xfs -f /dev/xxx

  創(chuàng)建以后就可以使用基于下面的命令加載新文件系統(tǒng):

  mount -t xfs /dev/xxx /mount_dir

  安裝ReiserFS文件系統(tǒng)

  如果希望更多地從技術(shù)方面了解reiserFS文件系統(tǒng),請參考NAMESYS和FAQ。

  ReiserFS文件系統(tǒng)從2.4.1-pre4開始就是Linux內(nèi)核的正式支持的文件系統(tǒng)了。為了使用reiserFS文件系統(tǒng)那你首先需要在系統(tǒng)上安裝文件系統(tǒng)支持工具(如:創(chuàng)建ReiserFS文件系統(tǒng)的mkreiserfs工具)。最新的ReiserFS文件系統(tǒng)版本可以以補丁的方式添加到2.2.x或者2.4.x內(nèi)核中。這里我們以2.2.19為例:

  之一步,首先下在內(nèi)核源碼,并下在ReiserFS文件系統(tǒng)的2.2.19補丁 ,目前補丁最新版本是linux-2.2.19-reiserfs-3.5.34-patch.bz2。同時應(yīng)該下載工具軟件包:reiserfsprogs-3.x.0j.tar.gz。

  然后解壓內(nèi)核源碼和補丁包到/usr/src中:

  tar -Ixf linux-2.2.19.tar.bz2

  bzcat linux-2.2.19-reiserfs-3.5.34-patch.bz2 | patch -p0

  編譯內(nèi)核支持reiserfs,安裝內(nèi)核。然后安裝文件系統(tǒng)工具軟件:

  cd /usr/src/linux/fs/reiserfs/utils

  make

  make install

  安裝新內(nèi)核并重新啟動?,F(xiàn)在就可以創(chuàng)建新的’reiserfs文件系統(tǒng),并加載:

  mkreiserfs /dev/xxxx

  mount -t reiserfs /dev/xxx /mount_dir

  文件系統(tǒng)性能測試

  測試環(huán)境使用的計算機環(huán)境如下:Pentium III – 16 Mb RAM – 2 Gb HD,操作系統(tǒng)為RedHat6.2。所有的文件系統(tǒng)都能正常工作,所以就進行benchmark分析來對它們進行性能比較。首先我直接拔掉系統(tǒng)電源以模擬系統(tǒng)掉電情況,以測試日志文件系統(tǒng)恢復(fù)過程。所有的文件系統(tǒng)都成功地經(jīng)過了文件掃描檢測階段,在數(shù)秒以后系統(tǒng)都經(jīng)過了掃描然后正常啟動了系統(tǒng)。

  下一步就采用了bonnie++性能測試程序進行測試,這個程序?qū)σ粋€文件進行數(shù)據(jù)庫類型的訪問,進行了創(chuàng)建、讀和刪除小文件,這些操作對于Squid、INN或者Maildir格式的郵件服務(wù)器程序(qmail)是最常見的操作。性能測試命令為:

  bonnie++ -d/work1 -s10 -r4 -u0

  其對加載在/work1目錄下的文件系統(tǒng)進行了10Mb(-s10)的測試。因此在執(zhí)行測試之前必須創(chuàng)建適當(dāng)類型的文件系統(tǒng)并加載到目錄/work1下。其他的參數(shù)指定內(nèi)存大小(-r4)的M數(shù),和以root身份運行測試程序,測試結(jié)果如下:

  每種測試都有兩組數(shù)據(jù):文件系統(tǒng)速度(K/sec)和CPU占用率(%CPU)。速度越高,文件系統(tǒng)越好。而對于CPU率來說,數(shù)字越小性能越好??梢钥吹絉eiserfs文件系統(tǒng)在文件操作方面(Sequential Create和Random Create部分的) 的性能更好,超出其他文件系統(tǒng)10倍之多。在其他方面(Sequential Output和Sequential Input)則和其他文件系統(tǒng)性能不相上下。對于其他文件系統(tǒng)則沒有特別明顯的區(qū)別。XFS性能接近ext2文件系統(tǒng),ext3文件系統(tǒng)則比ext2要稍微慢上一些(因為記錄日志需要一些額外的時間)。 最后使用從得到的性能測試程序mongo,并對其進行了修改以對三種日志文件系統(tǒng)進行測試。這里在mongo.pl程序中添加了添加了加載xfs和ext3文件系統(tǒng)的命令,并對其進行格式化處理,然后就開始性能測試分析。 該腳本格式劃分區(qū)/dev/xxxx,加載其并在每個階段運行指定數(shù)目的進程:創(chuàng)建、拷貝、符號連接處理、讀、顯示文件狀態(tài)信息、重命名和刪除文件。同時,該程序在創(chuàng)建和拷貝階段以后會計算分段數(shù)(fragmentation)。

  Fragm = number_of_fragments / number_of_files

  可以在結(jié)果文件中得到同樣的測試比較結(jié)果:

  log – 原始結(jié)果

  log.tbl – 比較程序的輸出結(jié)果

  log_table – 表格式的結(jié)果

  

下面的命令進行測試:

  mongo.pl ext3 /dev/hda3 /work1 logext3 1

  如果要測試其他文件系統(tǒng),就需要把上面命令的參數(shù)中的ext3修改為reiserfs或xfs。其他參數(shù)分別為要加載的分區(qū),加載路徑,保存測試結(jié)果的文件名及啟動的進程數(shù)。

  下面的表格是測試結(jié)果。數(shù)據(jù)單位為秒。值越低性能越好。之一個表格測試使用的數(shù)據(jù)塊大小為100字節(jié),第二個表格為1000字節(jié),最后一個為10000字節(jié)

  從上面的表格可以看到ext3在狀態(tài)刪除和重命名方面要性能更好一些,而ReiserFS文件系統(tǒng)在文件創(chuàng)建和拷貝性能表現(xiàn)更出色。同時也可以看到reiserFS正如其技術(shù)文檔提到的其在小文件處理方面性能相當(dāng)出色。

  

結(jié)論

  目前Linux至少有兩個健壯可靠的日志文件系統(tǒng)可供選擇(XFS和reiserFS),其都得到了廣泛的應(yīng)用。例如Mandrake8.1就默認(rèn)支持reiserFS文件系統(tǒng)。

  從性能測試的結(jié)果可以看到,reiserFS是更好的選擇。

關(guān)于linux fs是什么的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

創(chuàng)新互聯(lián)(cdcxhl.com)提供穩(wěn)定的云服務(wù)器,香港云服務(wù)器,BGP云服務(wù)器,雙線云服務(wù)器,高防云服務(wù)器,成都云服務(wù)器,服務(wù)器托管。精選鉅惠,歡迎咨詢:028-86922220。


當(dāng)前文章:深入了解:Linux文件系統(tǒng)是什么?(linuxfs是什么)
當(dāng)前鏈接:http://www.dlmjj.cn/article/dpdspsg.html