a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 88|回复: 1

[综合辅导] Linux实现从Ext2到Ext3文件系统的转换

[复制链接]
发表于 2012-8-4 12:07:07 | 显示全部楼层 |阅读模式
日志文件系统ext3具有ext2所不具备的特点和优势。顺利完成从ext2到ext3的转换,是实现ext3优势的必经之路。ext3文件系统是ext2文件系统的更高一级版本,它有一个其它同类日志文件系统所不具备的独特优势——完全兼容ext2文件系统,因而ext3能充分利用ext2中已有的操作和应用,而且比ext2更有效、更易用。它在ext2的基础上加入了记录元数据的日志功能,是一个支持异步的日志。Red Hat 7.2和SuSE 7.3已率先发行了包含ext3文件系统的Linux。通过使用Linux最新安装版本和e2fsprogs Linux公用程序,可将ext3文件系统编译到系统的内核中。这里介绍的是ext2到ext3系统转换的一些基本方法,并为用户提供修正的参考建议。   ext3日志文件系统
5 J- w. x" e0 m0 ?# ]+ N  1.日志文件系统
: s3 C' M9 A/ d" e0 U) Y$ g  日志文件系统的设计思想是跟踪文件系统的变化而不是文件系统的内容。它用独立的日志文件跟踪磁盘内容的变化,就像关系型数据库(RDBMS),因而比传统的文件系统安全。日志文件系统可以用事务处理的方式,提交或撤消文件系统的变化。当系统非正常关闭,处于写入磁盘过程中的文件系统被非正常卸载,文件系统就会处于不一致的状态。为了尽量减少文件系统的不一致性,缩短操作系统的启动时间,文件系统需追踪引起系统改变的记录,这些记录存放在与文件系统相分离的地方,通常称为“日志”。一旦这些日志记录被安全地写入,日志文件系统就可以将它们应用到文件系统中,清除引起系统发生改变的记录,并将它们组成一个引起文件系统改变的集。; W( _. r* J' S8 @
  日志文件的主要作用就是可以最大程度地保证文件系统的一致性。通常文件系统存放日志记录,当重新引导计算机启动时,安装程序为保证文件系统的一致性会检测日志记录,并将它安全地、完整地应用到文件系统中。在大多数情况下,一般操作系统并不检测文件系统的一致性,使用日志文件系统的计算机则会在系统引导后,立即使用日志检测,降低数据丢失的可能性。
% ?- F8 @+ b. q8 @# h  2.ext3' m" g; j/ ?8 b9 @5 j) q, B
  ext3文件系统是日志文件,且100%地兼容ext2文件系统,其与ext2文件系统的主要区别便是它的快速更新文件存储。计算机开始从磁盘上读取或写入数据就必须保证文件系统中文件与目录的一致性,所有日志文件中的数据均以数据块的形式存放在存储设备中。当磁盘分区时文件系统即被创建,按照文件形式、目录形式支持存储数据、组织数据的使用。: |8 P3 T( ^% D3 i
  ext3和ext2一样是由来自多家厂商的开发人员联合开发的。它的开发不依赖于任何个人或组织,它提供并使用了一个通用日志层generic journaling layer (jbd)。该层可以在其它环境中使用,能在文件系统中使用,还能够应用到其它设备中。目前Linux开始支持的NVRAM设备,ext3就能够支持。当由于软件或硬件错误导致文件系统崩溃时,文件修复程序e2fsck在修复数据方面是非常成功的,ext3使用了和e2fsck相同的代码来修复崩溃的文件系统,因此当出现数据崩溃时,ext3具有和ext2同样的防止数据丢失的优点。
' f( `  c7 c$ Q5 G& M+ f; A  值得指出的是,上述这些优点中的每一点都不是ext3所独有的,其中的大部分别的文件系统也具有,但只有ext3才尽数具备,这也正是ext3的综合优势。ext3称得上是目前最能满足用户需要的日志文件系统。
& M) c1 t# @6 U1 h* z" a  从ext2到ext3的转换# [8 j( W7 V) O$ N
  1.转换
* z8 V1 c2 X' E" A- P* X8 U9 D( i5 o6 J$ s5 z. Y; b& `
  从ext2文件系统到ext3文件系统的转换,一般的方法是通过在已有的ext2文件系统上添加日志文件。假设要把原/back (/dev/hda5)从ext2文件系统转换成ext3文件系统,通常具体步骤如下(建议在转换系统以前,最好备份文件系统):
) G$ j  F0 @/ v  (1)卸载/back目录  ]# ?3 ~% U- h& [
  执行如下命令:
2 [/ t, j4 k, L$ ]/ ^/ S  umount /back
回复

使用道具 举报

 楼主| 发表于 2012-8-4 12:07:08 | 显示全部楼层

Linux实现从Ext2到Ext3文件系统的转换

(2)转换   所使用的命令格式如下:/ y1 \( X! J3 `/ P/ {# d2 c* |6 e/ h
  /sbin/tune2fs -j
* u! a8 v( p; n: F8 Y6 _/ s  例如,要将分区/dev/hda5的ext2系统转换成ext3文件系统,所使用的命令如下:4 `3 h, q  a+ G1 i4 [& z
  /sbin/tune2fs -j /dev/hda5- N8 j  }; ^3 P0 z) i( L$ t
  其中tune2fs是转换命令,- j选项表示是在已存在的ext2文件系统上建立的ext3日志。
/ ~, |" N2 R  n+ z8 E5 Q  (3)安装/back目录( A# c8 l; I, \' g
  执行如下命令:
) e% }( e( J% L/ Q8 o7 A6 u+ Z! M% A  mount -text3 /dev/hda5/back& r4 s; j; g! C
  执行命令后系统将创建一个日志文件,如果文件系统在转换的过程已经被装载(Mount),那么在根目录下会出现“.journal”文件,否则是没有这个日志文件的。
2 R' R' U% d0 i, u  (4)修改/etc/fstab文件0 A* \( _* _0 @5 ~
  例如,在将ext2日志文件系统转换成ext3日志文件系统之后,立即更新/etc/fstab引导记录,可以使用“auto”选项来进行。7 r- a3 C8 U7 T! X4 t2 V
  转换前情况:% S& a/ U& W, X/ L: M
  /dev/hda5 /opt ext2 defaults 1 2# q- |' L/ {, `. {# f
  转换后情况:
; U6 G( z) L  K1 t  /dev/hda5 /opt ext3 defaults 1 0
) K4 w( u. |' H  ?5 P) z( L; Y  其中Linux的最后一个字段/etc/ fstab是为引导系统而设置的,并由“fsck(file system check)”程序检验文件系统的一致性,同时把/etc/fstab文件中的ext2修改为ext3。当使用ext3文件系统时,能将这个字段设定为“0”。这意味着fsck程序将不检查文件系统的一致性,文件系统的一致性将由后面的日志提供保证。如果要转换的是引导系统,必须使用initrd启动系统,可运行mkinitrd,并参照其手册描述步骤,同时确认LILO或Grub配置中是否装载了initrd。如果转换ext3没有成功,系统仍然能启动,但是引导系统会以ext2形式装载,而不是ext3。可以使用命令cat/proc/mount来确认这一点。$ s& f) I' o4 m; f2 H4 Y1 R2 P
  使用如下命令:
6 w2 T2 R- p; ^" Q  mount( T0 ~. `* Y2 C% {3 s0 q( ~
  可以显示:
) G1 q6 D: H8 B& O6 t9 m2 y  /dev/hda5 on /test type ext3 (rw), D- M5 r& U4 f
  这时表示系统已成功地从ext2转换到ext3。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-21 07:43 , Processed in 0.204256 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表