XfS文件系統(tǒng)是SGI開發(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)開啟了日志功能,所以你磁盤上的文件不再會(huì)意外宕機(jī)而遭到破壞了。不論目前文件系統(tǒng)上存儲(chǔ)的文件與數(shù)據(jù)有多少,文件系統(tǒng)都可以根據(jù)所記錄的日志在很短的時(shí)間內(nèi)迅速恢復(fù)磁盤文件內(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)行過測(cè)試,XFS文件文件系統(tǒng)的性能表現(xiàn)相當(dāng)出眾。
可擴(kuò)展性
XFS 是一個(gè)全64-bit的文件系統(tǒng),它可以支持上百萬T字節(jié)的存儲(chǔ)空間。對(duì)特大文件及小尺寸文件的支持都表現(xiàn)出眾,支持特大數(shù)量的目錄。最大可支持的文件大小為263 = 9 x 1018 = 9 exabytes,最大文件系統(tǒng)尺寸為18 exabytes。
XFS使用高的表結(jié)構(gòu)(B+樹),保證了文件系統(tǒng)可以快速搜索與快速空間分配。XFS能夠持續(xù)提供高速操作,文件系統(tǒng)的性能不受目錄中目錄及文件數(shù)量的限制。
傳輸帶寬
XFS 能以接近裸設(shè)備I/O的性能存儲(chǔ)數(shù)據(jù)。在單個(gè)文件系統(tǒng)的測(cè)試中,其吞吐量最高可達(dá)7GB每秒,對(duì)單個(gè)文件的讀寫操作,其吞吐量可達(dá)4GB每秒。
XFS文件系統(tǒng)的使用
下載與編譯內(nèi)核
下載相應(yīng)版本的內(nèi)核補(bǔ)丁,解壓補(bǔ)丁軟件包,對(duì)系統(tǒng)核心打補(bǔ)丁
下載地址:ftp://oss.sgi.com/projects/xfs/d … .4.18-all.patch.bz2
對(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):
#makemenuconfig
在“文件系統(tǒng)“菜單中選擇:
<*> SGI XFS filesystem support ##說明:將XFS文件系統(tǒng)的支持編譯進(jìn)核心或 SGI XFS filesystem support ##說明:以動(dòng)態(tài)加載模塊的方式支持XFS文件系統(tǒng)
另外還有兩個(gè)選擇:
EnableXFSDMAPI##說明:對(duì)磁盤管理的API,存儲(chǔ)管理應(yīng)用程序使用EnableXFSQuota##說明:支持配合Quota對(duì)用戶使用磁盤空間大小管理
完成以上工作后,退出并保存核心選擇配置
之后,然后編譯內(nèi)核,安裝核心:
#makebzImage#makemodule#makemodule_install#makeinstall
如果你對(duì)以上復(fù)雜繁瑣的工作沒有耐心或沒有把握,那么可以直接從SGI的站點(diǎn)上下載已經(jīng)打好補(bǔ)丁的核心,其版本為2.4.18。它是一個(gè)rpm軟件包,你只要簡(jiǎn)單地安裝即可。SGI提交的核心有兩種,分別供smp及單處理器的機(jī)器使用。
創(chuàng)建XFS文件系統(tǒng)
完成對(duì)核心的編譯后,還應(yīng)下載與之配套的XFSprogs工具軟件包,也即mkfs.xfs工具。不然我們無法完成對(duì)分區(qū)的格式化:即無法將一個(gè)分區(qū)格式化成XFS文件系統(tǒng)的格式。要下載的軟件包名稱:xfsprogs-2.0.3。
將所下載的XFSProgs工具解壓,安裝,mkfs.xfs自動(dòng)安裝在/sbin目錄下。
#tar–xvfxfsprogs-2.0.3.src.tar.gz#cdxfsprogs-2.0.3src#./configure#make#makeinstall
使用mkfs.xfs格式化磁盤為xfs文件系統(tǒng),方法如下:
#/sbin/mkfs.xfs/dev/sda6#說明:將分區(qū)格式化為xfs文件系統(tǒng),以下為顯示內(nèi)容:meta-data=/dev/sda6isize=256agcount=8,agsize=128017blksdata=bsize=4096blocks=1024135,imaxpct=25=sunit=0swidth=0blks,unwritten=0naming=version2bsize=4096log=internallogbsize=4096blocks=1200realtime=noneextsz=65536blocks=0,rtextents=0
格式化磁盤時(shí),如果mkfs.xfs提示你分區(qū)原本已被格式化為其它文件系統(tǒng),可以使用參數(shù) –f 強(qiáng)行格式化:
#/sbin/mkfs.xfs–f/dev/sda6
加載XFS文件系統(tǒng)
#mount–txfs/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ū)而不必每次都手工加載。
要說明的一點(diǎn)是目前的xfs由于受linux內(nèi)存頁限制,在x86版本中,只能實(shí)現(xiàn)文件系統(tǒng)的塊尺寸為4K。另外,XFS文件系統(tǒng)可以不同的方式 mount,即允許文件系統(tǒng)以讀方式加載,也允許以讀寫方式加載。這是因?yàn)閤fs文件系統(tǒng)用作根文件系統(tǒng)時(shí),為了安全要以只讀方式加載。
文件系統(tǒng)的遷移
要使得系統(tǒng)中的其它分區(qū)使用XFS文件系統(tǒng),還有一步是遷移文件系統(tǒng)。建議在遷移文件系統(tǒng)時(shí),首先將磁盤上的數(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文件,替換原來的根分區(qū)。
方法如下:
$mkfs-text2/dev/hda4$mkdir/mnt/temp$mount-text2/dev/hda4/mnt/temp$cd/$tarlcvf-.|(cd/mnt/temp;tarxpvf-)
以上操作是將根分區(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。
接下來,創(chuàng)建一個(gè)xfs文件系統(tǒng)的分區(qū):
$mkfs-txfs/dev/hda2
加載此分區(qū),采用兩樣的方法,將根分區(qū)的內(nèi)容復(fù)制到此分區(qū)
$mount-txfs/dev/hda2/mnt/temp
在根分區(qū)下,運(yùn)行
$cd/$tarlcvf-.|(cd/mnt/temp;tarxpvf-)
再次更改/etc/fstab、/etc/lilo.conf,用新建的xfs分區(qū)替換原來的ext2主分區(qū)。如下所示:
/dev/hda2/xfsdefaults11
將新建的xfs分區(qū)用作根分區(qū),保存以上設(shè)置。再次檢查配置文件內(nèi)容,確認(rèn)無誤后再重新啟動(dòng)系統(tǒng)。如果你的設(shè)置全部正確,那么系統(tǒng)成功啟動(dòng)后,你就擁有一個(gè)純XFS文件系統(tǒng)的系統(tǒng)了。
-
Linux
+關(guān)注
關(guān)注
87文章
11292瀏覽量
209322 -
存儲(chǔ)空間
+關(guān)注
關(guān)注
0文章
54瀏覽量
10683
原文標(biāo)題:在Linux環(huán)境下如何使用XFS文件系統(tǒng)
文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論