新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 專家指點,解析Linux文件系統(tǒng)

專家指點,解析Linux文件系統(tǒng)

作者: 時間:2012-10-31 來源:網(wǎng)絡(luò) 收藏

是一類Unix計算機(jī)操作的統(tǒng)稱。操作的內(nèi)核的名字也是“”。Linux操作也是自由軟件和開放源代碼發(fā)展中最著名的例子。嚴(yán)格來講,Linux這個詞本身只表示Linux內(nèi)核,但在實際上人們已經(jīng)習(xí)慣了用Linux來形容整個基于Linux內(nèi)核,并且使用GNU 工程各種工具和數(shù)據(jù)庫的操作系統(tǒng)。Linux得名于計算機(jī)業(yè)余愛好者Linus Torvalds。經(jīng)常有一些用戶詢問關(guān)于高性能I/O的需求——如果他們可以使用Linux系統(tǒng)而不是AIX或者Solaris操作系統(tǒng)。但是從來沒有人詢問Windows或者NTFS中的高性能I/O(高IOPS或者高流式I/O)。

本文引用地址:http://butianyuan.cn/article/148294.htm

Windows和NTFS系統(tǒng)自從10年前出現(xiàn)到現(xiàn)在幾乎沒有太大的改變,由于它們自身結(jié)構(gòu)限制的原因它們是不大可能拓展的。NTFS系同層、分配策略以及架構(gòu)組織使得NTFS系統(tǒng)不能有效地支持多TB文件系統(tǒng),更不用說PB級文件系統(tǒng)了,因為NTFS沒有成為微軟的目標(biāo)市場也就不足為奇了。

那么Linux系統(tǒng)最初的目標(biāo)市場是什么呢?當(dāng)然是取代微軟桌面了。Linux已經(jīng)從在桌面上運行逐漸轉(zhuǎn)移到在Sun、IBM和SGI的大型SMP服務(wù)器上運行。Linux 操作系統(tǒng)是UNIX 操作系統(tǒng)的一種克隆系統(tǒng)。它誕生于1991 年的10 月5 日(這是第一次正式向外公布的時間)。以后借助于Internet 網(wǎng)絡(luò),并經(jīng)過全世界各地計算機(jī)愛好者的共同努力下,現(xiàn)已成為今天世界上使用最多的一種UNIX 類操作系統(tǒng),并且使用人數(shù)還在迅猛增長。

你也許會認(rèn)為你不需要高性能I/O,但是每臺服務(wù)器都需要這種I/O性能來滿足備份和恢復(fù)等簡單需要?,F(xiàn)有的LTO-4磁帶驅(qū)動器可以以每面120MB的速度運行,支持每面240MB的無壓縮數(shù)據(jù)速率。對于多磁帶驅(qū)動器的大型環(huán)境來說,磁帶驅(qū)動器不能以完全的數(shù)據(jù)速率進(jìn)行工作的話,這就需要更多的磁帶驅(qū)動器來滿足備份時間窗口。

有些人可能會就這個問題詢問SGI,但是SGI有一款名為ProPack的軟件,這款軟件具有針對Linux的高速I/O優(yōu)化功能,另外SGI還有一個名為CxFS的開放特有Linux文件系統(tǒng),它并不是標(biāo)準(zhǔn)Linux套件的一部分。因為SGI的ProPack和CxFS不屬于標(biāo)準(zhǔn)Linux套件,所以我們在這里就不談它們了。SGI現(xiàn)在已成為一個具有IRIX、LINUX平臺的工作站、服務(wù)器和存儲系統(tǒng)以及媒體商務(wù)解決方案的公司。采用SGI服務(wù)器, 你就可利用其非凡的計算能力幫助你解決最為棘手的問題。 SGI的圖形工作站可以用更形象化的方式觀看、操作和使用數(shù)據(jù)。 在電信、媒體、政府、科學(xué)技術(shù)、制造、能源等市場領(lǐng)域, SGI一直占據(jù)領(lǐng)先地位, 是技術(shù)計算和可視化計算的佼佼者。

我們將主要來看兩點:

1、Linux操作系統(tǒng)

2、Linux文件系統(tǒng)

Linux操作系統(tǒng)

Linux擁有一系列可以滿足AIX以及Solaris系統(tǒng)I/O性能的特性,但是說到底Linux不是基于高性能多線程I/O進(jìn)行設(shè)計的。

有很多方面對Linux的性能造成了限制,例如與其他操作系統(tǒng)相比的頁面大小、Linux在直接I/O和頁面調(diào)整方面的限制、以及Linux不允許通過I/O請求的大小來自動直連I/O——我曾經(jīng)發(fā)現(xiàn)Linux內(nèi)核將較大的(大于512MB)的I/O請求分解成128KB的請求。因為最初Linux I/O性能和文件系統(tǒng)的設(shè)計目標(biāo)是為了取代Windows操作系統(tǒng)。

Linux還存在其他一些問題,對初用者來說缺少專門的人來負(fù)責(zé)。如果你發(fā)現(xiàn)有問題,許多人都表示會來對它進(jìn)行修復(fù),編寫Linux程序的人也許不會對你的問題做出回應(yīng)。如果一家Linux廠商答應(yīng)對你發(fā)現(xiàn)的故障進(jìn)行修復(fù),這并不意味著Linux部門將接受他們的許諾,或者馬上接受。

Linux文件系統(tǒng)和Linux內(nèi)核設(shè)計的目標(biāo)應(yīng)該是解決一些完全不同于AIX或者Solaris的故障問題,如果你發(fā)現(xiàn)有故障問題的話,應(yīng)該直接找Linux部門而不是IBM或者Sun。如果你使用的是AIX或者Solaris,向IBM或者Sun求助的話,他們不會說沒有辦法解決的。

Linux文件系統(tǒng)

記住,大多數(shù)Linux文件系統(tǒng)的設(shè)計目標(biāo)都是為了取代NTFS,而不是為了取代像GPFS(IBM)、STorNext(昆騰)或者QFS(Sun)這些高性能文件系統(tǒng)的。這些文件系統(tǒng)主要是針對流式I/O進(jìn)行設(shè)計的,我們現(xiàn)在知道流式I/O對高速IPOS和數(shù)據(jù)庫讀取都是十分重要的。

目前常用的Linux文件系統(tǒng)(EXT3、EXT4以及XFS)在很長一段時間內(nèi)都沒有發(fā)生過結(jié)構(gòu)上重大的變化。EXT2和EXT3在某些方面改進(jìn)之后升級到了EXT4,但是像RAID條帶的超級塊以及首個元數(shù)據(jù)分配等簡單特性都沒有發(fā)生改變。

另外,像RAID條帶值的附件文件系統(tǒng)元數(shù)據(jù)區(qū)和間接分配,RAID是一種把多塊獨立的硬盤(物理硬盤)按不同的方式組合起來形成一個硬盤組(邏輯硬盤),從而提供比單個硬盤更高的存儲性能和提供數(shù)據(jù)備份技術(shù)。根據(jù)磁盤陳列的不同組合方式,可以將RAID分為不同的級別。 拿一個200TB的系統(tǒng)來說,它使用EXT3支持的4KB分區(qū)來實現(xiàn)537億個分區(qū)組成的200TB系統(tǒng)。XFS文件系統(tǒng)與EXT3有著類似的特點,如果Linux頁面大小是64KB的話分區(qū)也可以達(dá)到64KB,但是仍然存在超級塊的調(diào)整、元數(shù)據(jù)區(qū)和其他一些問題。

Linux占據(jù)一席之地

這并不是說我是Linux的反對者,這只因為我不是AIX或者Solaris的支持者。我甚至不是反對Windows,因為我在我的電腦上就使用的是Windows界面。但是我相信現(xiàn)在Linux文件系統(tǒng)還不足以取代高性能、高可擴(kuò)展性的SMP文件系統(tǒng)。計算機(jī)是工具,操作系統(tǒng)和文件系統(tǒng)也是工具。沒有人會用鏈鋸替代豎鋸,這種類比同樣也適用于操作系統(tǒng)、文件系統(tǒng)以及它們運行在的硬件設(shè)備。

我知道有很多人每天都會用到微軟的Word、Excel、PowerPoint和Visio。如果所有這些應(yīng)用都不能在Windows類似的操作系統(tǒng)中運行的話,我可能會使用其中一些,但是我發(fā)現(xiàn)其中存在一些不兼容性,很久之前有人向我證明了可以兼容之后我才決定采用Windows系統(tǒng)。Linux不支持大型文件系統(tǒng)的單實例以及為滿足高性能需求從小型文件系統(tǒng)向大型文件系統(tǒng)的拓展。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉