一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>主機(jī)配件>硬盤(pán)>

XfS文件系統(tǒng),XfS文件系統(tǒng)是什么意思

2010年03月29日 10:39 www.www27dydycom.cn 作者:佚名 用戶評(píng)論(0

XfS文件系統(tǒng),XfS文件系統(tǒng)是什么意思

XfS文件系統(tǒng)是SGI開(kāi)發(fā)的高級(jí)日志文件系統(tǒng),XFS極具伸縮性,非常健壯。所幸的是SGI將其移植到了Linux系統(tǒng)中。在linux環(huán)境下。目前版本可用的最新XFS文件系統(tǒng)的為1.2版本,可以很好地工作在2.4核心下。
  一、XFS文件系統(tǒng)簡(jiǎn)介
  主要特性包括以下幾點(diǎn):
  數(shù)據(jù)完全性
  采用XFS文件系統(tǒng),當(dāng)意想不到的宕機(jī)發(fā)生后,首先,由于文件系統(tǒng)開(kāi)啟了日志功能,所以你磁盤(pán)上的文件不再會(huì)意外宕機(jī)而遭到破壞了。不論目前文件系統(tǒng)上存儲(chǔ)的文件與數(shù)據(jù)有多少,文件系統(tǒng)都可以根據(jù)所記錄的日志在很短的時(shí)間內(nèi)迅速恢復(fù)磁盤(pán)文件內(nèi)容。
  傳輸特性
  XFS文件系統(tǒng)采用優(yōu)化算法,日志記錄對(duì)整體文件操作影響非常小。XFS查詢與分配存儲(chǔ)空間非??臁fs文件系統(tǒng)能連續(xù)提供快速的反應(yīng)時(shí)間。筆者曾經(jīng)對(duì)XFS、JFS、Ext3、ReiserFS文件系統(tǒng)進(jìn)行過(guò)測(cè)試,XFS文件募?低車(chē)男閱鼙硐窒嗟背鮒凇?
  可擴(kuò)展性
  XFS 是一個(gè)全64-bit的文件系統(tǒng),它可以支持上百萬(wàn)T字節(jié)的存儲(chǔ)空間。對(duì)特大文件及小尺寸文件的支持都表現(xiàn)出眾,支持特大數(shù)量的目錄。最大可支持的文件大小為263 = 9 x 1018 = 9 exabytes,最大文件系統(tǒng)尺寸為18 exabytes。
  XFS使用高的表結(jié)構(gòu)(B+樹(shù)),保證了文件系統(tǒng)可以快速搜索與快速空間分配。XFS能夠持續(xù)提供高速操作,文件系統(tǒng)的性能不受目錄中目錄及文件數(shù)量的限制。
  傳輸帶寬
  XFS 能以接近裸設(shè)備I/O的性能存儲(chǔ)數(shù)據(jù)。在單個(gè)文件系統(tǒng)的測(cè)試中,其吞吐量最高可達(dá)7GB每秒,對(duì)單個(gè)文件的讀寫(xiě)操作,其吞吐量可達(dá)4GB每秒。
二、XFS文件系統(tǒng)的使用

  1.下載與編譯內(nèi)核
  下載相應(yīng)版本的內(nèi)核補(bǔ)丁,解壓補(bǔ)丁軟件包,對(duì)系統(tǒng)核心打補(bǔ)丁
  下載地址:
  對(duì)核心打補(bǔ)丁,下載解壓后,得到一個(gè)文件:xfs-1.1-2.4.18-all.patch文件。
對(duì)核心進(jìn)行修補(bǔ)如下:
  # cd /usr/src/linux
  # patch -p1 < /path/to/xfs-1.1-2.4.18-all.patch
  修補(bǔ)工作完成后,下一步要進(jìn)行的工作是編譯核心,將XFS編譯進(jìn)Linux核心可中。
首先運(yùn)行以下命令,選擇核心支持XFS文件系統(tǒng):
  #make menuconfig
  在“文件系統(tǒng)“菜單中選擇:
  <*> SGI XFS filesystem support ##說(shuō)明:將XFS文件系統(tǒng)的支持編譯進(jìn)核心
  或
   SGI XFS filesystem support ##說(shuō)明:以動(dòng)態(tài)加載模塊的方式支持XFS文件系統(tǒng)
  另外還有兩個(gè)選擇:
  Enable XFS DMAPI ##說(shuō)明:對(duì)磁盤(pán)管理的API,存儲(chǔ)管理應(yīng)用程序使用
  Enable XFS Quota ##說(shuō)明:支持配合Quota對(duì)用戶使用磁盤(pán)空間大小管理
  完成以上工作后,退出并保存核心選擇配置.
  之后,然后編譯內(nèi)核,安裝核心:
  #make bzImage
  #make module
  #make module_install
  #make install
  如果你對(duì)以上復(fù)雜繁瑣的工作沒(méi)有耐心或沒(méi)有把握,那么可以直接從SGI的站點(diǎn)上下載已經(jīng)打好補(bǔ)丁的核心,其版本為2.4.18。它是一個(gè)rpm軟件包,你只要簡(jiǎn)單地安裝即可。SGI提交的核心有兩種,分別供smp及單處理器的機(jī)器使用。
  2.創(chuàng)建XFS文件系統(tǒng)
  完成對(duì)核心的編譯后,還應(yīng)下載與之配套的XFSprogs工具軟件包,也即mkfs.xfs工具。不然我們無(wú)法完成對(duì)分區(qū)的格式化:即無(wú)法將一個(gè)分區(qū)格式化成XFS文件系統(tǒng)的格式。要下載的軟件包名稱(chēng):xfsprogs-2.0.3。
將所下載的XFSProgs工具解壓,安裝,mkfs.xfs自動(dòng)安裝在/sbin目錄下。

  #tar –xvf xfsprogs-2.0.3.src.tar.gz
  #cd xfsprogs-2.0.3src
  #./configure
  #make
  #make install
  使用mkfs.xfs格式化磁盤(pán)為xfs文件系統(tǒng),方法如下:
  # /sbin/mkfs.xfs /dev/sda6 #說(shuō)明:將分區(qū)格式化為xfs文件系統(tǒng),以下為顯示內(nèi)容:
  meta-data=/dev/sda6 isize=256 agcount=8, agsize=128017 blks
  data = bsize=4096 blocks=1024135, imaxpct=25
  = sunit=0 swidth=0 blks, unwritten=0
  naming =version 2 bsize=4096
  log =internal log bsize=4096 blocks=1200
  realtime =none extsz=65536 blocks=0, rtextents=0
  格式化磁盤(pán)時(shí),如果mkfs.xfs提示你分區(qū)原本已被格式化為其它文件系統(tǒng),可以使用參數(shù) –f 強(qiáng)行格式化:
  #/sbin/mkfs.xfs –f /dev/sda6
  3.加載XFS文件系統(tǒng)
  #mount –t xfs /dev/sda6 /xfs ##其中/xfs是主分區(qū)/下的一個(gè)目錄。
  最后,為了讓系統(tǒng)啟動(dòng)后就自動(dòng)加載,應(yīng)該更改/etc/fstab,這樣系統(tǒng)啟動(dòng)后就會(huì)自動(dòng)加載xfs分區(qū)而不必每次都手工加載。
  要說(shuō)明的一點(diǎn)是目前的xfs由于受linux內(nèi)存頁(yè)限制,在x86版本中,只能實(shí)現(xiàn)文件系統(tǒng)的塊尺寸為4K。另外,XFS文件系統(tǒng)可以不同的方式mount,即允許文件系統(tǒng)以讀方式加載,也允許以讀寫(xiě)方式加載。這是因?yàn)閤fs文件系統(tǒng)用作根文件系統(tǒng)時(shí),為了安全要以只讀方式加載。
  三、文件系統(tǒng)的遷移
  要使得系統(tǒng)中的其它分區(qū)使用XFS文件系統(tǒng),還有一步是遷移文件系統(tǒng)。建議在遷移文件系統(tǒng)時(shí),首先將磁盤(pán)上的數(shù)據(jù)、文件先備份,以免發(fā)生不可挽回的損失,在進(jìn)行文件系統(tǒng)轉(zhuǎn)換之間,最好能將整個(gè)系統(tǒng)進(jìn)行完全備份。這一步有很多種方法,本文僅就筆者的遷移方法加以描述。各位可以按照自己習(xí)慣的方式去完成
  如果你想得到一個(gè)純的xfs系統(tǒng)(系統(tǒng)的所有文件系統(tǒng)均采用XFS文件系統(tǒng))話,還得將根文件系統(tǒng)也格式化為xfs文件系統(tǒng)。這實(shí)際上是比較繁雜的一步。因?yàn)楦募到y(tǒng)不能被umount,所以,必須首先創(chuàng)建一個(gè)分區(qū),其文件系統(tǒng)為ext2文件系統(tǒng),然后將目前的根分區(qū)上的所有文件與目錄,原原本本地復(fù)制到這一個(gè)分區(qū),然后更改/etc/fstab文件,替換原來(lái)的根分區(qū)。
  方法如下:
  $ mkfs -t ext2 /dev/hda4
  $ mkdir /mnt/temp
  $ mount -t ext2 /dev/hda4 /mnt/temp
  $ cd /
  $ tar lcvf - .|(cd /mnt/temp; tar xpvf - ) 
以上操作是將根分區(qū)上的所有文件打包,復(fù)制到新建立的分區(qū)。當(dāng)然,你也可以直接使用以下命令復(fù)制文件。

  # cp –dpR / /mnt/temp
  接著,將下次啟動(dòng)的根分區(qū)更改到/dev/hda4分區(qū),更改/etc/fstab文件及/etc/lilo.conf ,然后,運(yùn)行 lilo.
  重新啟動(dòng)后,新的根分區(qū)就已經(jīng)為/dev/hda4。
  接下來(lái),創(chuàng)建一個(gè)xfs文件系統(tǒng)的分區(qū):
  $ mkfs -t xfs /dev/hda2
  加載此分區(qū),采用兩樣的方法,將根分區(qū)的內(nèi)容復(fù)制到此分區(qū)
  $ mount -t xfs /dev/hda2 /mnt/temp
  在根分區(qū)下,運(yùn)行
  $ cd /
  $ tar lcvf - .|(cd /mnt/temp; tar xpvf - )
  再次更改/etc/fstab、/etc/lilo.conf,用新建的xfs分區(qū)替換原來(lái)的ext2主分區(qū)。如下所示:
  /dev/hda2 / xfs defaults 1 1
  將新建的xfs分區(qū)用作根分區(qū),保存以上設(shè)置。再次檢查配置文件內(nèi)容,確認(rèn)無(wú)誤后再重新啟動(dòng)系統(tǒng)。如果你的設(shè)置全部正確,那么系統(tǒng)成功啟動(dòng)后,你就擁有一個(gè)純XFS文件系統(tǒng)的系統(tǒng)了

?

XFS 最初是由 Silicon Graphics,Inc. 于 90 年代初開(kāi)發(fā)的。那時(shí),SGI 發(fā)現(xiàn)他們的現(xiàn)有文件系統(tǒng)(existing filesystem,EFS)正在迅速變得不適應(yīng)當(dāng)時(shí)激烈的計(jì)算競(jìng)爭(zhēng)。為解決這個(gè)問(wèn)題,SGI 決定設(shè)計(jì)一種全新的高性能 64 位文件系統(tǒng),而不是試圖調(diào)整 EFS在先天設(shè)計(jì)上的某些缺陷。因此,XFS 誕生了,并于 1994 年隨 IRIX 5.3 的發(fā)布而應(yīng)用于計(jì)算。它至今仍作為 SGI 基于 IRIX 的產(chǎn)品(從工作站到超級(jí)計(jì)算機(jī))的底層文件系統(tǒng)來(lái)使用?,F(xiàn)在,XFS 也可以用于 Linux。XFS 的 Linux 版的到來(lái)是激動(dòng)人心的,首先因?yàn)樗鼮?Linux 社區(qū)提供了一種健壯的、優(yōu)秀的以及功能豐富的文件系統(tǒng),并且這種文件系統(tǒng)所具有的可伸縮性能夠滿足最苛刻的存儲(chǔ)需求。
  主要特性包括:
  數(shù)據(jù)完全性
  采用XFS文件系統(tǒng),當(dāng)意想不到的宕機(jī)發(fā)生后,首先,由于文件系統(tǒng)開(kāi)啟了日志功能,所以你磁盤(pán)上的文件不再會(huì)意外宕機(jī)而遭到破壞了。不論目前文件系統(tǒng)上存儲(chǔ)的文件與數(shù)據(jù)有多少,文件系統(tǒng)都可以根據(jù)所記錄的日志在很短的時(shí)間內(nèi)迅速恢復(fù)磁盤(pán)文件內(nèi)容。
  傳輸特性
  XFS文件系統(tǒng)采用優(yōu)化算法,日志記錄對(duì)整體文件操作影響非常小。XFS查詢與分配存儲(chǔ)空間非常快。xfs文件系統(tǒng)能連續(xù)提供快速的反應(yīng)時(shí)間。筆者曾經(jīng)對(duì)XFS、JFS、Ext3、ReiserFS文件系統(tǒng)進(jìn)行過(guò)測(cè)試,XFS文件文件系統(tǒng)的性能表現(xiàn)相當(dāng)出眾。
  可擴(kuò)展性
  XFS 是一個(gè)全64-bit的文件系統(tǒng),它可以支持上百萬(wàn)T字節(jié)的存儲(chǔ)空間。對(duì)特大文件及小尺寸文件的支持都表現(xiàn)出眾,支持特大數(shù)量的目錄。最大可支持的文件大小為263 = 9 x 1018 = 9 exabytes,最大文件系統(tǒng)尺寸為18 exabytes。
  XFS使用高的表結(jié)構(gòu)(B+樹(shù)),保證了文件系統(tǒng)可以快速搜索與快速空間分配。XFS能夠持續(xù)提供高速操作,文件系統(tǒng)的性能不受目錄中目錄及文件數(shù)量的限制。
  傳輸帶寬
  XFS 能以接近裸設(shè)備I/O的性能存儲(chǔ)數(shù)據(jù)。在單個(gè)文件系統(tǒng)的測(cè)試中,其吞吐量最高可達(dá)7GB每秒,對(duì)單個(gè)文件的讀寫(xiě)操作,其吞吐量可達(dá)4GB每秒。
  XFS 設(shè)計(jì):
  分配組(allocation groups)
  當(dāng)創(chuàng)建 XFS 文件系統(tǒng)時(shí),底層塊設(shè)備被分割成八個(gè)或更多個(gè)大小相等的線性區(qū)域(region)。您可以將它們想象成“塊”(chunk)或者“線性范圍(range)”,但是在 XFS 術(shù)語(yǔ)中,每個(gè)區(qū)域稱(chēng)為一個(gè)“分配組”。分配組是唯一的,因?yàn)槊總€(gè)分配組管理自己的索引節(jié)點(diǎn)(inode)和空閑空間,實(shí)際上,是將這些分配組轉(zhuǎn)化為一種文件子系統(tǒng),這些子系統(tǒng)正確地透明存在于 XFS 文件系統(tǒng)內(nèi)。
  分配組與可伸縮性
  那么,XFS 到底為什么要有分配組呢?主要原因是,XFS 使用分配組,以便能有效地處理并行 IO。因?yàn)?,每個(gè)分配組實(shí)際上是一個(gè)獨(dú)立實(shí)體,所以內(nèi)核可以 同時(shí)與多個(gè)分配組交互。如果不使用分配組,XFS 文件系統(tǒng)代碼可能成為一種性能瓶頸,迫使大量需求 IO 的進(jìn)程“排隊(duì)”來(lái)使索引節(jié)點(diǎn)進(jìn)行修改或執(zhí)行其它種類(lèi)的元數(shù)據(jù)密集操作。多虧了分配組,XFS 代碼將允許多個(gè)線程和進(jìn)程持續(xù)以并行方式運(yùn)行,即使它們中的許多線程和進(jìn)程正在同一文件系統(tǒng)上執(zhí)行大規(guī)模 IO 操作。因此,將 XFS 與某些高端硬件相結(jié)合,您將獲得高端性能而不會(huì)使文件系統(tǒng)成為瓶頸。分配組還有助于在多處理器系統(tǒng)上優(yōu)化并行 IO 性能,因?yàn)榭梢酝瑫r(shí)有多個(gè)元數(shù)據(jù)更新處于“在傳輸中”。
  B+ 樹(shù)無(wú)處不在
  分配組在內(nèi)部使用高效的 B+ 樹(shù)來(lái)跟蹤主要數(shù)據(jù),譬如空閑空間的范圍和索引節(jié)點(diǎn)。實(shí)際上,每個(gè)分配組使用 兩棵 B+ 樹(shù)來(lái)跟蹤空閑空間;一棵樹(shù)按空閑空間的大小排序來(lái)存儲(chǔ)空閑空間的范圍,另一棵樹(shù)按塊設(shè)備上起始物理位置的排序來(lái)存儲(chǔ)這些區(qū)域。XFS 擅長(zhǎng)于迅速發(fā)現(xiàn)空閑空間區(qū)域,這種能力對(duì)于最大化寫(xiě)性能很關(guān)鍵。
  當(dāng)對(duì)索引節(jié)點(diǎn)進(jìn)行管理時(shí),XFS 也是很有效的。每個(gè)分配組在需要時(shí)以 64 個(gè)索引節(jié)點(diǎn)為一組來(lái)分配它們。每個(gè)分配組通過(guò)使用 B+ 樹(shù)來(lái)跟蹤自己的索引節(jié)點(diǎn),該 B+ 樹(shù)記錄著特定索引節(jié)點(diǎn)號(hào)在磁盤(pán)上的位置。您會(huì)發(fā)現(xiàn) XFS 之所以盡可能多地使用 B+ 樹(shù),原因在于 B+ 樹(shù)的優(yōu)越性能和極大的可擴(kuò)展性。
  日志記錄
  當(dāng)然,XFS 也是一種日志記錄文件系統(tǒng),它允許意外重新引導(dǎo)后的快速恢復(fù)。象 ReiserFS 一樣,XFS 使用邏輯日志;即,它不象 ext3 那樣將文字文件系統(tǒng)塊記錄到日志,而是使用一種高效的磁盤(pán)格式來(lái)記錄元數(shù)據(jù)的變動(dòng)。就 XFS 而言,邏輯日志記錄是很適合的;在高端硬件上,日志經(jīng)常是整個(gè)文件系統(tǒng)中爭(zhēng)用最多的資源。通過(guò)使用節(jié)省空間的邏輯日志記錄,可以將對(duì)日志的爭(zhēng)用降至最小。另外,XFS 允許將日志存儲(chǔ)在另一個(gè)塊設(shè)備上,例如,另一個(gè)磁盤(pán)上的一個(gè)分區(qū)。這個(gè)特性很有用,它進(jìn)一步改進(jìn)了 XFS 文件系統(tǒng)的性能。
  象 ReiserFS 一樣,XFS 只對(duì)元數(shù)據(jù)進(jìn)行日志記錄,并且在寫(xiě)元數(shù)據(jù)之前,XFS 不采取任何專(zhuān)門(mén)的預(yù)防措施來(lái)確保將數(shù)據(jù)保存到磁盤(pán)。這意味著,使用 XFS(就象使用 ReiserFS)時(shí),如果發(fā)生意外的重新引導(dǎo),則最近修改的數(shù)據(jù)有可能丟失。然而,XFS 日志有兩個(gè)特性使得這個(gè)問(wèn)題不象使用 ReiserFS 時(shí)那么常見(jiàn)。
  使用 ReiserFS 時(shí),意外重新引導(dǎo)可能導(dǎo)致最近修改的文件中包含先前刪除文件的部分內(nèi)容。除了數(shù)據(jù)丟失這個(gè)顯而易見(jiàn)的問(wèn)題以外,理論上,這還可能引起安全性威脅。相反,當(dāng) XFS 日志系統(tǒng)重新啟動(dòng)時(shí),XFS 確保任何未寫(xiě)入的數(shù)據(jù)塊在重新引導(dǎo)時(shí) 置零。因此,丟失塊由空字節(jié)來(lái)填充,這消除了安全性漏洞 ― 這是一種好得多的方法。
  現(xiàn)在,關(guān)于數(shù)據(jù)丟失問(wèn)題本身,該怎么辦呢?通常,使用 XFS 時(shí),該問(wèn)題被最小化了,原因在于以下事實(shí):XFS 通常比 ReiserFS 更頻繁地將暫掛元數(shù)據(jù)更新寫(xiě)到磁盤(pán),尤其是在磁盤(pán)高頻率活動(dòng)期間。因此,如果發(fā)生死鎖,那么,最近元數(shù)據(jù)修改的丟失,通常比使用 ReiserFS 時(shí)要少。當(dāng)然,這不能徹底解決不及時(shí)寫(xiě)數(shù)據(jù)塊的問(wèn)題,但是,更頻繁地寫(xiě)元數(shù)據(jù)也確實(shí)促進(jìn)了更頻繁地寫(xiě)數(shù)據(jù)。
  延遲分配
  研究一下 延遲分配這個(gè) XFS 獨(dú)有的特性,然后我們將結(jié)束關(guān)于 XFS 的技術(shù)概述。正如您可能知道的,術(shù)語(yǔ) 分配(allocation)是指:查找空閑空間區(qū)域并用于存儲(chǔ)新數(shù)據(jù)的過(guò)程。
  XFS 通過(guò)將分配過(guò)程分成兩個(gè)步驟來(lái)處理。首先,當(dāng) XFS 接收到要寫(xiě)入的新數(shù)據(jù)時(shí),它在 RAM 中記錄暫掛事務(wù),并只在底層文件系統(tǒng)上 保留適當(dāng)空間。然而,盡管 XFS 為新數(shù)據(jù)保留了空間,但 它卻沒(méi)有決定將什么文件系統(tǒng)塊用于存儲(chǔ)數(shù)據(jù),至少現(xiàn)在還沒(méi)決定。XFS 進(jìn)行拖延,將這個(gè)決定延遲到最后可能的時(shí)刻,即直到該數(shù)據(jù)真正寫(xiě)到磁盤(pán)之前作出。
  通過(guò)延遲分配,XFS 贏得了許多機(jī)會(huì)來(lái)優(yōu)化寫(xiě)性能。到了要將數(shù)據(jù)寫(xiě)到磁盤(pán)的時(shí)候,XFS 能夠以這種優(yōu)化文件系統(tǒng)性能的方式,智能地分配空閑空間。尤其是,如果要將一批新數(shù)據(jù)添加到單一文件,XFS 可以在磁盤(pán)上分配一個(gè) 單一、相鄰區(qū)域來(lái)儲(chǔ)存這些數(shù)據(jù)。如果 XFS 沒(méi)有延遲它的分配決定,那么,它也許已經(jīng)不知不覺(jué)地將數(shù)據(jù)寫(xiě)到了多個(gè)非相鄰塊中,從而顯著地降低了寫(xiě)性能。但是,因?yàn)?XFS 延遲了它的分配決定,所以,它能夠一下子寫(xiě)完數(shù)據(jù),從而提高了寫(xiě)性能,并減少了整個(gè)文件系統(tǒng)的碎片。
  在性能上,延遲分配還有另一個(gè)優(yōu)點(diǎn)。在要?jiǎng)?chuàng)建許多“短命的”臨時(shí)文件的情況下,XFS 可能根本不需要將這些文件全部寫(xiě)到磁盤(pán)。因?yàn)閺奈唇o這些文件分配任何塊,所以,也就不必釋放任何塊,甚至根本沒(méi)有觸及底層文件系統(tǒng)元數(shù)據(jù)。

非常好我支持^.^

(6) 33.3%

不好我反對(duì)

(12) 66.7%

( 發(fā)表人:admin )

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?