為了方便學(xué)習(xí)昨天又架了一臺(tái)電腦學(xué)習(xí)用,我裝了SLES10.2和RHEL5.2,現(xiàn)在是在RHEL5.2下面掛載一個(gè)SLES10.2的分區(qū),由于SLES10.2默認(rèn)使用的是Reiserfs文件系統(tǒng),RHEL5.2無(wú)法識(shí)別,整了一天后,問(wèn)題終于解決。
首先看一下什么是Reiserfs文件系統(tǒng),它有什么樣的特點(diǎn):
在1997年7月23日,Hans Reiser把他的基于平衡樹結(jié)構(gòu)的ReiserFS文件系統(tǒng)在網(wǎng)上公布 。這是ReiserFS的第一次公開亮相。此后,ReiserFS一直在Hans Reiser和領(lǐng)導(dǎo)下的開發(fā)小組下開發(fā)和發(fā)展,SuSE Linux也對(duì)它的發(fā)展起了重大的幫助。由于ReiserFS有一些很有用的特性,更主要的是它比ext2fs要快得多,所以它很快被很多人使用。據(jù)說(shuō)在Linux內(nèi)核2.4.0以上的版本可能將采用ReiserFS作為它的文件系統(tǒng)。當(dāng)前的ReiserFS只能在Intel結(jié)構(gòu)體系上使用,但支持其他體系結(jié)構(gòu)的ReiserFS版本也正在積極開發(fā)中。我們等待著更強(qiáng)大,兼容性更好的ReiseFS的到來(lái)。
ReiserFS的特點(diǎn)(與ext2的對(duì)比):
ReiserFS相對(duì)于Linux上傳統(tǒng)的文件系統(tǒng)--ext2有很多優(yōu)點(diǎn),在下面我將一一向大家介紹。
搜尋方式
ReiserFS是基于平衡樹的文件系統(tǒng)結(jié)構(gòu),尤其對(duì)于大量文件的巨型文件系統(tǒng),如服務(wù)器上的文件系統(tǒng),搜索速度要比ext2快;ext2使用局部的二分查找法,綜合性能比不上ReiserFS。
空間分配和利用情況
ReiserFS里的目錄是完全動(dòng)態(tài)分配的,因此不存在ext2中常見的無(wú)法回收巨型目錄占用的磁盤空間的情況。ReiserFS里小文件(<4K)可以直接存儲(chǔ)進(jìn)樹,小文件讀取和寫入的速度更快,樹內(nèi)節(jié)點(diǎn)是按字節(jié)對(duì)齊的,小的文件可共享同一個(gè)硬盤塊,節(jié)約大量空間。Ext2使用固定大小的塊分配策略,也就是說(shuō),不到4K的小文件也要占據(jù)4K的空間,導(dǎo)致的空間浪費(fèi)比較嚴(yán)重。
先進(jìn)的日志機(jī)制
ReiserFS有先進(jìn)的日志(Journaling/logging)機(jī)制,在系統(tǒng)意外崩潰的時(shí)候,未完成的文件操作不會(huì)影響到整個(gè)文件系統(tǒng)結(jié)構(gòu)的完整性。 ext2雖然健壯性很強(qiáng),但一旦文件系統(tǒng)被不正常地?cái)嚅_,在下一次啟動(dòng)時(shí)它將不得不進(jìn)行漫長(zhǎng)的檢查系統(tǒng)數(shù)據(jù)結(jié)構(gòu)的完整性的過(guò)程,這是為了防止數(shù)據(jù)丟失而必需的操作。對(duì)于較大型的服務(wù)器文件系統(tǒng),這種"文件系統(tǒng)檢查"可能要持續(xù)好幾個(gè)小時(shí),在很多場(chǎng)合下這樣長(zhǎng)的時(shí)間是無(wú)法接受的。解決這個(gè)問(wèn)題的一種技術(shù)"日志文件系統(tǒng)"。在日志的幫助下,每個(gè)對(duì)數(shù)據(jù)結(jié)構(gòu)的改變都被記錄下來(lái),日志在機(jī)制保證了在每個(gè)實(shí)際數(shù)據(jù)修改之前,相應(yīng)的日志已經(jīng)寫入硬盤。正因?yàn)槿绱耍谙到y(tǒng)突然崩潰時(shí),在下次啟動(dòng)幾秒鐘后就能恢復(fù)成一個(gè)完整的系統(tǒng),系統(tǒng)也就能很快的使用了。
支持海量磁盤和優(yōu)秀的綜合性能
ReiserFS是一個(gè)相當(dāng)現(xiàn)代化的文件系統(tǒng),相比之下,ext2雖然性能已經(jīng)很好了,但其設(shè)計(jì)還只是20世紀(jì)80年代的水準(zhǔn)。ReiserFS的出現(xiàn),使Linux擁有了像Irix/AIX那樣的高檔商用Unix才有的高級(jí)文件系統(tǒng)。ReiserFS可輕松管理上百G的文件系統(tǒng),在企業(yè)級(jí)應(yīng)用中有其用武之地,由于它的高效存儲(chǔ)和快速小文件I/O特點(diǎn),它在桌面系統(tǒng)上也表現(xiàn)出色:?jiǎn)?dòng)X窗口系統(tǒng)的時(shí)間ReiserFS比ext2少1/3。而ext2則無(wú)法管理2G以上的單個(gè)文件,這也使得ReiserFS在某些大型企業(yè)級(jí)應(yīng)用中比ext2要出色。
ReiserFS的缺點(diǎn)
ReiserFS一個(gè)最受人批評(píng)的缺點(diǎn)是每升級(jí)一個(gè)版本,都將要將磁盤重新格式化一次,這個(gè)缺點(diǎn)也正在改進(jìn)中。
問(wèn)題解決過(guò)程:(以RHEL5.2為例)
1. 下載并安裝kernel-2.6.18-92.el5.src.rpm: http://rpmfind.net/linux/sourceforge/l/li/linux-ntfs/kernel-2.6.18-92.el5.src.rpm
rpm -ivh kernel-2.6.18-92.el5.src.rpm
2. 編譯內(nèi)核:
cd /usr/src/redhat/SPECS/
yum install unifdef
rpmbuild -bp kernel-2.6.spec
cd /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i386/
make mrproper
make menuconfig