专栏首页python3[RHEL5系统管理攻略]--第3章 e

[RHEL5系统管理攻略]--第3章 e

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

指定与磁盘阵列有关的参数

① /dev/hda8文件系统是ext2 。

② 此处有file2 ~ file5共5 个文件。

③ 开始升级前,先卸载/dev/hda8,提示:设备正在忙碌中。

④ 用fuser –vm查看哪些进程正在使用/mnt/tmp/目录的文件系统,结果是PID为3217的bash程序正在使用。

思考:⑤ 如何结束使用某一文件系统的进程?

① 再卸载/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的设置。

将ext2文件系统升级成为ext3后,一定要去修改/etc/fstab文件系统的类型字段,否则,下次开机时,RHEL仍会把文件系统当做ext2文件系统挂载,这样无法享有ext3提供的好处。

⑵ 如果升级根文件系统,别忘记重新建立initrd影像文件。

安装RHEL时,如果根文件系统为ext2,则安装程序产生的初始化内存磁盘中,不会提供ext3的模块。这会导致RHEL启动时,因无法顺利挂载ext3的根文件系统而使开机失败。

所以,升级根文件系统后,一定要再度执行以下命令,以便产生支持ext3文件系统的initrd影像文件。

[root@RHEL5 ~]#mkinitrd /boot/initrd -$ (uname) $ (uname -r)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ext2与ext3的区别

    py3study
  • linux 的文件系统 (3)

      创建 FAT32 文件系统 (Linux 把  FAT32 识别为 vfat )

    py3study
  • 基本算法思想:递归+分治+动态规划+贪

    作者:心叶 本文对应github地址:https://github.com/yelloxing/...

    py3study
  • java:通过javadoc API读取java源码中的注释信息(comment)

    如何从java源码中读取注释信息?(注意不是指通过反射读取annotation类,是comment,就是程序员在源码中加的注释) 比如: /** ...

    用户1148648
  • .NET跨平台之旅:在Linux上以本地机器码(native)运行ASP.NET Core站点

    在将“.NET跨平台之旅”示例站点 about.cnblogs.com 从 ASP.NET 5 RC1 升级至 ASP.NET Core 1.0 (博文链接)之...

    逸鹏
  • 极客周刊丨亚马逊进军加密货币,新浪开通付费图片,现签证线上办理渠道...

    一川水巷
  • 为什么你一直在找方法,却依旧学不好?

    有个小伙伴想学习python,让我给他推荐书籍,闲来无事就给他推荐了书籍,并告诉他先学哪本后学哪本,甚至连哪几章不用看,哪里是重点,看的时候需要补充哪些...

    致码DevOps
  • 为 Markdown 生成 TOC 的 Vim 插件

    因为饱受 GFM 和 Redcarpet 两种 Markdown 引擎生成 TOC 链接的差异的折磨,而我又不得不同时使用它们——博客基于 Jekyll 使用 ...

    mzlogin
  • Volatile的作用

    众所周知,volatile关键字可以让线程的修改立刻通知其他的线程,从而达到数据一致的作用。那么它具体涉及到哪些内容呢? 关于缓存 计算机最大的存储空间就...

    用户1154259
  • 【免费】渗透测试室内一对一培训-工具篇更新

    https://pan.baidu.com/s/1i5tEFQk910b_UNXk_N-ADw 密码:fu5s

    Jumbo

扫码关注云+社区

领取腾讯云代金券