3.2.3 提供日志式文件系统能力
在以后的章节中会讲到Linux内核会涉及到cache与buffer以提高读取磁盘的效率。但cache/buffer却会导致一些很严重的问题,尤其在RHEL非正常关机时。
在RHEL开机时,会执行fsck以检查并修复“脏”(dirty)的文件系统,完成后才会挂载所有需要挂载的文件系统。RHEL在前一次关机时未能卸载所有的文件系统会造成这些文件系统的配置全部标注为“脏” 。RHEL在开机时,就得花许多时间来检查与修复文件系统。明白了:非正常关机的坏处了吧!其实远远不止这些……
对于个人或家用来说,大不了放着,你慢慢的检查修复吧。但是对企业呢?这可是很严重的问题!!!
为了引起大家的重视,我们就一起来看看吧!
如果证券交易所安装了RHEL,然而在今天早上发生了不正常关机的情况,那么RHEL可能得花上一整个上午的时间来修复数百GB甚至上TB的文件系统,所有股票买卖人可能会怎样???你说严重不???
为了解决此问题,日志文件系统就应运而生了!
日志文件系统的解决之道!!!
上述问题最大的元凶就是:cache/buffer 。cache/buffer是存放在内存中,所以系统发生不正常关机时,这些在cache/buffer的数据就来不及存回磁盘中;于是造成了某些文件系统上的数据毁损。
日志式文件系统,则把cache/buffer记录在磁盘中。利用磁盘中某些特殊的扇区存放cache/buffer数据。当数据写入到内存的cache/buffer时,具备日志功能的文件系统就会立即把cache/buffer的数据同步写入磁盘中的那引起特殊扇区。这个提供日志功能的扇区,称之为日志区块。
就算系统不正常关机,在下次启动时,fsck只要发现文件系统是具备日志功能的,就会利用日志区块中保存的数据直接复原成为宕机那一刹那的cache/buffer!
这样就缩短了fsck检查与修复文件系统的时间了。
ext3就是一个提供日志功能的文件系统。
思考:关于ext3文件系统方面的知识,上网google、daidu吧!
3.2.4 产生ext3文件系统
为何才能产生ext3文件系统呢?有2种方式:
⑴ 新建ext3文件系统
⑵ 从ext2升级
下面来看看:
⑴ 新建ext3文件系统
使用mkfs命令:
mkfs -t ext3 device
mkfs.ext3 [options…] device
由于ext3完全兼容ext2文件系统,因此mkfs.ext3也支持“mkfs与mkfs.ext2常用参数表”及下表所示的参数:
mkfs.ext3常用参数
参数
|
说明
|
-J journal_options
|
指定ext3的日志功能细节
|
-R raid_options
|
指定与磁盘阵列有关的参数
|
温馨提醒:新建ext3文件系统后,原本文件系统上的所有文件数据都将全部被清除,故,若采用新建方式产生ext3文件系统,先备份所有数据!
⑵ 从ext2升级
从ext2升级成为ext3不会破坏原本文件系统上的内容。
从ext2升级成为ext3,必须使用tune2fs工具:
tune2fs -j device
Device : 是ext2文件系统的设备文件名称。
下面来看看实例吧:
/dev/hda8文件系统是ext2 。
②
③
④
① 再卸载/dev/hda8成功了。
② 把/dev/hda8升级成为ext3 。
③ 把/dev/hda8 再次挂载到/mnt/tmp/目录。注:因为尚未更新/etc/fstab中的设置值,避免mount命令从/etc/fstab决定/dev/hda8的文件系统类型,故必须特别指定/dev/hda8是一个ext3的文件系统。
④ 检查一下,/dev/hda8是否以ext3的方式挂载的。
⑤ 查看可知,原来的文件都还在,完全没有破坏。
将ext2文件系统升级成为ext3时,必须注意2件事:
⑴ 别忘记修改/etc/fstab的设置。
[root@RHEL5 ~]#mkinitrd /boot/initrd -$ (uname) $ (uname -r)
本文转自
beyondhedefang 51CTO博客,原文链接:http://blog.51cto.com/beyondhdf/258768 ,如需转载请自行联系原作者