戏说文件系统之ext3【上】

今天我们简单聊一哈ext3文件系统。ext3作为ext2的增强版,和ext2使用的superblockinodegroup descriptor等数据结构几乎一模一样,所以ext3前向兼容ext2。在不用备份ext2文件系统数据的情况下,可以用:

tune2fs –j /dev/hdName

在不用卸载分区的状态下直接将ext2文件系统转换成ext3文件系统。

至于ext3的好处和优势我就不在这里废话了,今天我们先来和ext3文件系统打个招呼。

假如说,我们在编辑文件时,突然停电了、或系统被锁定被迫得重启,会出现什么后果?轻则文件丢失部分内容,重则整个文件内容混乱,更有甚者文件系统直接崩溃。这将会是多么可怕的一件事儿。在linux正常关机时我们都会看到一条卸载文件系统的打印信息,而非正常关机会导致文件系统出现不一致,在系统重新启动阶段挂文件系统时会发现这种不一致,然后它便会尝试去修复它。不幸的是,随着存储设备容量的增大,这种修复工作所花费的时间越来越无法让人容忍。而ext3文件系统就是在这种场合下噼里啪啦的诞生了。

Ext3的最大特性就是在ext2的基础上增加了日志功能,所以ext3文件系统也经常被人们称之为日志文件系统,但日志文件系统觉不仅仅只有ext3,还有诸如JFSreiserFSXFS,以及我们在Windows上经常见到的NTFS等。

Ext3的日志特性主要是依靠其下层一个名为“日志块设备层”的中间设备来完成,叫做JBD(Journaling Block Device layer 简称JBD)JBD并不是文件系统规范的一部分,它和ext3文件系统的规范是没有任何的关系的,而JBD正是文件系统事务处理功能的实现基础。简而言之,JBD 被设计成在任何块设备上实现日志的特殊目的(越说越抽象,事务是个啥玩意儿啊⊙﹏⊙….)

关于事务,有过数据库开发经验或者做数据运维的筒子肯定不会陌生。这里咱不就结概念,也不拘泥学术定义,大家只要知道事务的主要作用就是为了保证操作的原子性。这句话如何理解?比如说,在金融系统中,要从账户A转账X<

你可能感兴趣的:(服务器与存储)