隨著Meego 1.0發(fā)布的時(shí)間越來(lái)越近,更多的消息也不斷的出來(lái)了,最近的消息是Meego確定了缺省文件系統(tǒng): Btrfs(http://www.phoronix.com/scan.php?page=news_item&px=ODIzOA)。以前沒(méi)有使用過(guò)這個(gè)系統(tǒng),這兩天做了個(gè)quick study, 這里也跟大家分享一下自己的所得:
1. 當(dāng)然先要問(wèn)什么是BTRFS: 官方的答案是: Btrfs (B-tree file system , pronounced "Butter F S " or "B-tree F S ")is a new copy on write filesystem for Linux aimed at implementing advanced features while focusing on fault tolerance, repair and easy administration. 新的,寫(xiě)緩沖的,容錯(cuò)的,可修復(fù)的,易管理的。。。。總之是個(gè)新來(lái)的好東西 8 )那他到底好在哪里呢?
2. 高性能: 這里我們引用phoronix的測(cè)試結(jié)果:(http://www.phoronix.com/scan.php?page=article&item=linux_2634_fs&num=1)
測(cè)試環(huán)境:“Our test system for this file-system testing atop the Linux 2.6.34 kernel was comprised of an AMD Opteron 2384 quad-core Shanghai processor clocked at 2.70GHz, Tyan S2927 n3600B motherboard, a 64GB OCZ Agility EX SSD, and an ATI Radeon HD 4870 graphics card. On the software side was the Ubuntu 10.04 64-bit Beta, the previously mentioned Linux 2.6.34 snapshot, X.Org Server
1.7.6, xf86-video-radeon 6.13.0, and GCC 4.4.3. Each file-system was mounted with its default mount options.”為什么不用intel的?! 8 )
測(cè)試結(jié)果:在Compile Bench測(cè)試中Btrfs達(dá)到了64.47MB/s, 領(lǐng)先第二名23%!
3. 針對(duì) SSD 的優(yōu)化支持 http://www.ibm.com/developerworks/cn/linux/l-cn-btrfs/ 是固態(tài)存儲(chǔ) Solid State Disk 的簡(jiǎn)稱。在過(guò)去的幾十年中,CPU/RAM 等器件的發(fā)展始終遵循著摩爾定律,但硬盤(pán) HDD 的讀寫(xiě)速率卻始終沒(méi)有飛躍式的發(fā)展。磁盤(pán) IO 始終是系統(tǒng)性能的瓶頸。
“SSD
SSD 采用 flash memory 技術(shù),內(nèi)部沒(méi)有磁盤(pán)磁頭等機(jī)械裝置,讀寫(xiě)速率大幅度提升。 flash memory 有一些不同于 HDD 的特性。 flash 在寫(xiě)數(shù)據(jù)之前必須先執(zhí)行擦除操作;其次,flash 對(duì)擦除操作的次數(shù)有一定的限制,在目前的技術(shù)水平下,對(duì)同一個(gè)數(shù)據(jù)單元最多能進(jìn)行約 100 萬(wàn)次擦除操作,因此,為了延長(zhǎng) flash 的壽命,應(yīng)該將寫(xiě)操作平均到整個(gè) flash 上。
SSD 在硬件內(nèi)部的微代碼中實(shí)現(xiàn)了 wear leveling 等分布寫(xiě)操作的技術(shù),因此系統(tǒng)無(wú)須再使用特殊的 MTD 驅(qū)動(dòng)和 FTL 層。雖然 SSD 在硬件層面做了很多努力,但畢竟還是有限。文件系統(tǒng)針對(duì) SSD 的特性做優(yōu)化不僅能提高 SSD 的使用壽命,而且能提高讀寫(xiě)性能。 Btrfs 是少數(shù)專門(mén)對(duì) SSD 進(jìn)行優(yōu)化的文件系統(tǒng)。 btrfs 用戶可以使用 mount 參數(shù)打開(kāi)對(duì) SSD 的特殊優(yōu)化處理。
Btrfs 的 COW 技術(shù)從根本上避免了對(duì)同一個(gè)物理單元的反復(fù)寫(xiě)操作。如果用戶打開(kāi)了 SSD 優(yōu)化選項(xiàng),btrfs 將在底層的塊空間分配策略上進(jìn)行優(yōu)化:將多次磁盤(pán)空間分配請(qǐng)求聚合成一個(gè)大小為 2M 的連續(xù)的塊。大塊連續(xù)地址的 IO 能夠讓固化在 SSD 內(nèi)部的微代碼更好的進(jìn)行讀寫(xiě)優(yōu)化,從而提高 IO 性能。”
2.6.31 系統(tǒng)已經(jīng)自帶了針對(duì)SSD 優(yōu)化的驅(qū)動(dòng)driver,使用時(shí)只要 用“mount -o ssd”指令就可以了。
4. 系統(tǒng)鏡像: 這一下系統(tǒng)備份恢復(fù)可以省卻很多事情了 8 )
A snapshot is a frozen image of all the files and directories. For example, if you have two files ("a" and "b"), you take a snapshot and you delete "b", the file you just deleted is still available in the snapshot you took.
5. 透明的壓縮文件系統(tǒng): Transparent compression (currently zlib ),就是說(shuō)利用zlib技術(shù),用戶可以不用管理數(shù)據(jù)的壓縮,完全交給btrfs系統(tǒng),而且他的壓縮方法也是非常聰明的例如:
“比如 jpeg 文件,已經(jīng)無(wú)法再進(jìn)行壓縮。嘗試對(duì)其壓縮將純粹浪費(fèi) CPU 。為此,當(dāng)對(duì)某文件的若干個(gè) block 壓縮后發(fā)現(xiàn)壓縮率不佳,btrfs 將不會(huì)再對(duì)文件的其余部分進(jìn)行壓縮操作。這個(gè)特性在某種程度上提高了文件系統(tǒng)的 IO 效率”
還用很多屬性,這里就不一一列舉了,總之BTRFS給我們帶來(lái)了新的屬性,我們就來(lái)看看它在Meego中的表現(xiàn)吧
?
評(píng)論
查看更多