RHEL 5.2下mount reiserfs分区--转载_我的扩展内存<<工作+学习+生...

来源:百度文库 编辑:神马文学网 时间:2024/04/29 14:09:21
RHEL 5.2下mount reiserfs分区--转载
2009-03-18 19:02
为了方便学习昨天又架了一台电脑学习用,我装了SLES10.2和RHEL5.2,现在是在RHEL5.2下面掛载一个SLES10.2的分区,由于SLES10.2默认使用的是Reiserfs文件系统,RHEL5.2无法识别,整了一天后,问题终于解决。
首先看一下什么是Reiserfs文件系统,它有什么样的特点:
在1997年7月23日,Hans Reiser把他的基于平衡树结构的ReiserFS文件系统在网上公布 。这是ReiserFS的第一次公开亮相。此后,ReiserFS一直在Hans Reiser和领导下的开发小组下开发和发展,SuSE Linux也对它的发展起了重大的帮助。由于ReiserFS有一些很有用的特性,更主要的是它比ext2fs要快得多,所以它很快被很多人使用。据说在Linux内核2.4.0以上的版本可能将采用ReiserFS作为它的文件系统。当前的ReiserFS只能在Intel结构体系上使用,但支持其他体系结构的ReiserFS版本也正在积极开发中。我们等待着更强大,兼容性更好的ReiseFS的到来。
ReiserFS的特点(与ext2的对比):
ReiserFS相对于Linux上传统的文件系统--ext2有很多优点,在下面我将一一向大家介绍。
搜寻方式
ReiserFS是基于平衡树的文件系统结构,尤其对于大量文件的巨型文件系统,如服务器上的文件系统,搜索速度要比ext2快;ext2使用局部的二分查找法,综合性能比不上ReiserFS。
空间分配和利用情况
ReiserFS里的目录是完全动态分配的,因此不存在ext2中常见的无法回收巨型目录占用的磁盘空间的情况。ReiserFS里小文件(<4K)可以直接存储进树,小文件读取和写入的速度更快,树内节点是按字节对齐的,小的文件可共享同一个硬盘块,节约大量空间。Ext2使用固定大小的块分配策略,也就是说,不到4K的小文件也要占据4K的空间,导致的空间浪费比较严重。
先进的日志机制
ReiserFS有先进的日志(Journaling/logging)机制,在系统意外崩溃的时候,未完成的文件操作不会影响到整个文件系统结构的完整性。 ext2虽然健壮性很强,但一旦文件系统被不正常地断开,在下一次启动时它将不得不进行漫长的检查系统数据结构的完整性的过程,这是为了防止数据丢失而必需的操作。对于较大型的服务器文件系统,这种"文件系统检查"可能要持续好几个小时,在很多场合下这样长的时间是无法接受的。解决这个问题的一种技术"日志文件系统"。在日志的帮助下,每个对数据结构的改变都被记录下来,日志在机制保证了在每个实际数据修改之前,相应的日志已经写入硬盘。正因为如此,在系统突然崩溃时,在下次启动几秒钟后就能恢复成一个完整的系统,系统也就能很快的使用了。
支持海量磁盘和优秀的综合性能
ReiserFS是一个相当现代化的文件系统,相比之下,ext2虽然性能已经很好了,但其设计还只是20世纪80年代的水准。ReiserFS的出现,使Linux拥有了像Irix/AIX那样的高档商用Unix才有的高级文件系统。ReiserFS可轻松管理上百G的文件系统,在企业级应用中有其用武之地,由于它的高效存储和快速小文件I/O特点,它在桌面系统上也表现出色:启动X窗口系统的时间ReiserFS比ext2少1/3。而ext2则无法管理2G以上的单个文件,这也使得ReiserFS在某些大型企业级应用中比ext2要出色。
ReiserFS的缺点
ReiserFS一个最受人批评的缺点是每升级一个版本,都将要将磁盘重新格式化一次,这个缺点也正在改进中。
问题解决过程:(以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. 编译内核:
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

选择'File System'进入上图,然后再选择Reiserfs相关选项后退出。
make dep
make clean
make bzImage
make modules
make modules_install
3. 加载模块:
insmod /lib/modules/2.6.18-prep/kernel/fs/reiserfs/reiserfs.ko
以上是一种方法,也可以参考下面的两种方法:
方法一:http://www.ibm.com/developerworks/cn/linux/filesystem/ReiserFS/intro/
方法二:http://www.xxlinux.com/linux/e/DoPrint/?classid=15&id=9479