在RedHat中使用ReiserFS文件系统
一、 日志式文件系统简介 尽管Linux可以支持种类繁多的文件系统但是几乎所有的Linux发行版都用ext2作为默认的文件系统。 ext2的设计者主要考虑的是文件系统性能方面的问题。 ext2在写入文件内容的同时并没有同时写入文件的meta-data(和文件有关的信息例如:权限、所有者以及创建和访问时间) 。换句话说 Linux先写入文件的内容然后等到有空的时候才写入文件的meta-data。这样若出现写入文件内容之后但在写入文件的meta-data之前系统突然断电就可能造成在文件系统就会处于不一致的状态。在一个有大量文件操作的系统中出现这种情况会导致很严重的后果。 因此就导致了新的日志式文件系统的出现以解决这个问题。 日志文件系统比传统的文件系统安全 因为它用独立的日志文件跟踪磁盘内容的变化。就像关系型数据库(R D BM S) 日志文件系统可以用事务处理的方式提交或撤消文件系统的变化。 Linux系统缺少日志式文件系统是限制推广其在企业级应用的一个重要制约因素。 因此就出现了多种不同的日志式文件系统 当前l inux环境下有下面几种日志文件可供选择:
SGI的xfs 日志文件系统 SGI的xfs是基于Irix(SGI的Unix)上已经实现的xfs。SGI已经宣布xfs为OpenSource
1/7
的软件。
Veritas的文件系统和卷管理(volume manager) 。
Reiserfs:Reiserfs应用了一些新的技术例如 统一名字空间(unified name space)有一些Linux的发行版已经包括了 reiserfs文件系统作为安装时的可选项。 SuSE 就很容易使用 reiserfs文件系统。 reiserfs 的最新版是ReiserFS 经过测试reiserfs的基准测试的结果是非常令人满意的。
IBM的 jfs。这两文件系统都遵循开放源码版权声明且的而且很多有天赋的人在开发这两个文件系统。jfs (Journaled Fi le System Technology for Linux)的开发者包括AIX(IBM的Unix)的jf s的主要开发者。在AIX上jfs已经经受住了考验。 它是可靠、快速和容易使用的。
日志文件系统的另一个选择是ext2的后继者ext3fs文件系统。 ext3fs文件系统正在Linux 内核黑客StephenTweedie的领导下开发。 ext3fs还处于beta测试阶段就像reiserfs和jfs但是它工作得很好。 Stephen预计2000年夏天可以正式发布ext3fs。 ext3fs最大的优点是向下兼容ext2。 而且ext3fs还支持异步的日志这意味着它的性能可能还比ext2好。
在上面提到的日志式文件系统中 ReiserFS是目前Linux环境下最成熟的一种。 而IBM的JFS和SGI的XFS则
2/7
相对于来说要年轻一些 ext3文件系统则仍然需要开发。 因此我们这里选择ReiserFS。
二、 为什么叫日志式?
日志式文件系统在强调数据完整性的企业级服务器中有着重要的需求是文件系统发展的方向。 日志式文件系统的思想来自于如Oracle等大型数据库。数据库操作往往是由多个相关的、相互依赖的子操作组成任何一个子操作的失败都意味着整个操作的无效性对数据库数据的任何修改都要回复到操作以前的状态。 日志式文件系统采用了类似的技术。
在分区中保存有一个日志记录文件文件系统写操作首先是对记录文件进行操作若整个写操作由于某种原因(如系统掉电)而中断 则在下次系统启动时就会读日志记录文件的内容来恢复没有完成的写操作。而这个过程一般只需要几秒钟到几分钟 而不是ext2文件系统的fsck那样在大型服务器情况下可能需要几个小时来完成扫描。
对日志式文件系统原理的一个更详细的描述可以参考Journal Fi le Systems
三、获得ReiserFS
Kernel 已经包含了ReiserFS的代码但是最好使用包含了最新的ReiserFS的kernel 若你不是使用kernel 建议你使用这个版本的ReiserFS。本文将使用kernel来作
3/7
为示例。
对于Kernel则需要打补丁:
# cd /usr/src/l inux
# zcat patch -p1
对于版本的内核:
# bzip2 -dc patch -p1
在make conf ig阶段需要对"prompt for developmentand/or incomplete code/drivers"回答Yes。否则系统就不会询问关于ReiserFS的选项;在编译内核的文件系统参数部分 应该选择支持ReiserFS。若你不希望将root (/)安装在ReiserFS文件系统下 则只需要将对ReiserFS的支持编译为模块即可。本文将讨论将root安装在ReiserFS之上的情况。
四、编译内核和模块
注:如果你使用的是那么就需要首先边际Makef i le并将其中所有的gcc替换为kgcc。首先需要从安装光盘上安装kgcc若没有采取这一步那么得到的内核将会显示kernelpanics信息。 带的有很多的bug。所有的内核编译都应该使用kgcc来完成。gcc vs. kgcc:
Linux之父Linus Torvalds 日前在Linux核心邮件论
4/7
坛中表明了他对Red Hat 的看法: 『基本上不堪使用』。节录这封信的内容重点: 『坦白地说任何使用 RedHat 和他们那坏掉的编译器都会遇到麻烦。 』 『我不知道为何RedHat选择释出那愚蠢的 (一定通过没有任何gcc技术人员的批准- gcc人员对此也很生气) 而且更令我惊讶的是他们显然已经知道他们用的这个编译器是坏的。他们包进了另一个好的编译器叫它作kgcc。 』 『 kgcc意思是核心gcc显然因为 (a)他们了解到核心编译错误比某些应用程序编译错误来得糟糕和 (b) . . . 』 『 . . . 我认为Red Hat 基本上并非一个可用的开发平台 而且我希望Red Hat将他们的编译器降级. . . 』 Red Hat执行长Matthew Szul ik对Linus Torvalds这番话的反应是:他不是真正能回应Linus这项挑战的人选 而且他表示Red Hat也预料到会遭受这样的谴责。 Red Hat 备受争议的关键在于其中包含了 gcc发展分支中的一个非正式的版本gcc gcc小组曾表示
『 gcc 并非 gcc正式版本』、 『而且将来也不会有这个版本』 它只是在到达gcc 路上的一站。 Red Hat技术长Michael Tiemann最近曾为Red Hat 使用gcc 的决定作出辩护他表示: 『没有技术上更好的决策』、 『因为其他的选择不会比较好-对Red Hat系列这样复杂的需求而言-比起走回头路这项决定还能推动gcc 的发展。 』 Tiemann还说若批评者的矛头想要找个目标对使用gcc 的决定
5/7
『你也可以怪我』。 )
下面我们将编译ReiserFS工具相应的代码是存放在/usr/src/l inux/fs/reiserfs/uti ls 目录中的 首先make编译程序然后再make instal l来安装程序。 内核中并没有包括这些工具 而需要另外下载。从这里可以下载。
解压文件:
# tar zxvf
# cd
# . /conf igure
# make
# make instal l
不幸的是 并没有ext2toreiserfs之类的转换工具因此将/从ext2转换为reiserfs就需要三步才能完成:
1.创建一个新的分区并格式化为ReiserFS格式。
12.将数据从ext2分区拷贝到新分区。
13.将新分区加载为根(/)
创建新分区 ReiserFS并不需要一个特定的分区类型因此就使用83 (Linux) :
# fdisk -l /dev/hda
/dev/hda9 2872 3126 2048256 83 Linux
/dev/hda10 3127 3381 2048256 83 Linux
在新分区上创建ReiserFS文件系统:
6/7
# mkreiserfs /dev/hda10
加载新的分区:
# mount -t reiserfs /dev/hda10 /mnt/hda10
拷贝数据到新分区:
# cd /mnt/hda10
# tar cvlf - / tar xf -
编辑fstab来指向新的root:
/dev/hda10/reiserfs defaults 1 1
创建指向reiserfsck的一个符号链接因为RedHat启动时将寻找文件来扫描:
# ln -s /sbin/reiserfsck/sbin/
保证系统l i lo至少为。这是第一个支持ReiserFS的版本也可以在/boot 目录中使用小容量的ext2文件系统。但是升级l i lo更好一些。也推荐使用GRUB来实现引导。
当在中使用新的内核时需要运行l i lo程序。其中中需要将root指向新的内核所在分区。
7/7
陆零网络是正规的IDC公司,我们采用优质硬件和网络,为客户提供高速、稳定的云计算服务。公司拥有一流的技术团队,提供7*24小时1对1售后服务,让您无后顾之忧。我们目前提供高防空间、云服务器、物理服务器,高防IP等众多产品,为您提供轻松上云、安全防护 为核心数据库、关键应用系统、高性能计算业务提供云端专用的高性能、安全隔离的物理集群。分钟级交付周期助你的企业获得实时的业务响应能力,助力核心业务飞速成...
PIGYun是成立于2019年的国人商家,提供香港、韩国和美西CUVIP-9929等机房线路基于KVM架构的VPS主机,本月商家针对韩国首尔、美国洛杉矶CUVIP-AS29、GIA回程带防御等多条线路VPS提供6-8.5折优惠码,优惠后韩国首尔CN2混合BGP特惠型/美国洛杉矶GIA回程带10Gbps攻击防御VPS主机最低每月14.4元起。下面列出几款不同机房VPS主机配置信息,请留意不同优惠码。...
IntoVPS是成立于2004年的Hosterion SRL旗下于2009年推出的无管理型VPS主机品牌,商家提供基于OpenStack构建的VPS产品,支持小时计费是他的一大特色,VPS可选数据中心包括美国弗里蒙特、达拉斯、英国伦敦、荷兰和罗马尼亚等6个地区机房。商家VPS主机基于KVM架构,最低每小时0.0075美元起($5/月)。下面列出几款VPS主机配置信息。CPU:1core内存:2GB...