从ext2到ext3文件系统转换的实现
- 格式:pdf
- 大小:146.79 KB
- 文档页数:3
EXT3文件系统EXT2和EXT3是许多Linux操作系统发行版本的默认文件系统。
EXT基于UFS,是一种快速、稳定的文件系统。
随着Linux系统在关键业务中的应用,Linux文件系统的弱点也渐渐显露出来了;其中EXT2文件系统是非日志式文件系统,这在关键行业的应用是一个致命的弱点,EXT3文件系统弥补了这一缺点。
EXT3文件系统是直接从EXT2文件系统发展而来,目前EXT3文件系统已经非常稳定可靠。
它完全兼容EXT2文件系统。
用户可以平滑地过渡到一个日志功能健全的文件系统中来。
这实际上了也是EXT3日志文件系统初始设计的初衷。
Ext3文件系统属于一种日志文件系统,是对Ext2系统的扩展。
Ext3系统兼容Ext2文件系统,二者之间的相互转换并不复杂。
Ext2是 GNU/Linux 系统中标准的文件系统,其簇快取层的优良设计使得Ext2系统存取文件的性能非常好,尤其是针对中小型的文件更显优势。
Ext3是一种日志式文件系统,日志文件系统比传统的文件系统安全,因为它用独立的日志文件跟踪磁盘内容的变化。
就像关系型数据库(RDBMS),日志文件系统可以用事务处理的方式,提交或撤消文件系统的变化。
由于文件系统都有快取层参与运作,不使用时必须将文件系统卸下,以便将快取层的资料写回磁盘中。
因此每当系统要关机时,必须将其所有的文件系统全部关闭后才能进行关机。
如果在文件系统尚未关闭前就关机 (如停电) 时,下次重开机后会造成文件系统的资料不一致,故(所以)这时必须做文件系统的重整工作,将不一致与错误的地方修复。
然而这一重整的工作是相当耗时的,特别是容量大的文件系统,而且也不能百分之百保证所有的资料都不会流失。
为了克服此问题,使用(便出现了)所谓的日志式文件系统 (Journal File System) 。
此类文件系统最大的特色是,它会将整个磁盘的写入动作完整记录在磁盘的某个区域上,以便有需要时可以回溯追踪。
由于资料的写入动作包含许多的细节,如改变文件标头资料、搜寻磁盘可写入空间、一个个写入资料区段等等,每一个细节进行到一半若被中断,就会造成文件系统的不一致,因而需要重整。
Linux ext3在Red Hat Linux 7.2版中,Red Hat首次支持了日志文件系统的ext3文件系统。
该文件系统是在ext2文件系统的基础上进行了改进,是使用了日志功能的ext2文件系统加强版。
ext3文件系统为ext2文件系统共享了所的磁盘设备,并添加了向ext2文件系统转换的能力。
ext3基于ext2的代码,所以它的磁盘格式和ext2的相同,这意味着一个干净卸载的ext3文件系统可以作将ext2文件系统毫无问题地重新挂装。
ext3文件系统和ext2文件系统都使用相同的元数据,因而有可能执行ext2文件系统到ext3文件系统的现场升级,从ext2文件系统升级到ext3只需要短短的几分钟。
1.日志(Journaling)日志块设备层(JBD,Journaling block device layer)完成ext3文件系统日志功能。
JBD不是ext3文件系统所特有的,它的设计目标是为了向一个块设备添加日志功能。
当一个修改执行时,ext3文件系统代码将通知JBD,称为一个事务(transaction)。
如果在事务执行时突然断电或出现其他情况导致事务终止,日志功能具有的重放功能,能重新执行中断的事务。
日志中有三种数据模式:第一种模式:data=writeback。
在这种模式里ext3文件系统根本不处理任何形式的日志数据(如XFS、JFS和ReiserFS)。
尽管事实上它提供有限的数据完整性并能摧毁用户最近修改的文件,但这种模式能给用户整体上的最高性能。
第二种模式:data=ordered,在这种模式下ext3文件系统只记录元数据日志,但它将元数据和数据分组成一个单元称为事务(transaction)。
这种模式保持数据的可靠性与文件系统一致性,这意味着在系统崩溃后,用户不会在新近写入的文件中看到任何垃圾数据。
总体来说这种模式的性能远远低于data=writeback模式,但却比data=journal模式快很多。
Ext3文件系统1 Ext3文件系统简介Ext3一种日记式文件系统。
日记文件系统会把系统对磁盘文件系统的更改第一一一记录在日记文件中,然后再更新到磁盘上。
在由某种原因(例如down机等)而致使文件系统显现不一致的情形下,能够通过重放(replay)日记文件来恢复文件系统的一致性。
Ext3是直接从Ext2文件系统进展过来的,采纳了Ext2文件系统的磁盘数据布局,实现了对Ext2的完全兼容。
依照写入日记的内容和数据刷新时刻的不同,Ext3可支持三个不同的日记格式:Journal模式,ordered模式和writeback模式。
1.1Ext3日记模式第一介绍元数据的概念,在Ext2 和 Ext3中,有六种元数据,别离是:超级块,块组描述符,节点,间接块,数据位图。
可见,元数据记录了数据的改变。
Ext3既能够只对元数据做日记,也能够同时对文件数据块做日记。
具体来讲,Ext3提供以下三种日记模式:日记(Journal )文件系统所有数据和元数据的改变都记入日记。
这种模式减少了丢失每一个文件所作修改的机遇,可是它需要很多额外的磁盘访问。
例如,当一个新文件被创建时,它的所有数据块都必需复制一份作为日记记录。
这是最平安和最慢的Ext3日记模式。
预定(Ordered )只有对文件系统元数据的改变才记入日记。
但是,Ext3文件系统把元数据和相关的数据块进行分组,以便把元数据写入磁盘之前写入数据块。
如此,就能够够减少文件内数据损坏的机遇;例如,确保增大文件的任何写访问都完全受日记的爱惜。
这是缺省的Ext3 日记模式。
写回(Writeback )只有对文件系统元数据的改变才记入日记;这是在其改日记文件系统发觉的方式,也是最快的模式1.2日记块设备(JBD)Ext3 文件系统本身不处置日记,而是利用日记块设备(Journaling Block Device)或叫JBD 的通用内核层。
Ext3文件系统挪用JDB例程以确保在系统万一显现故障时它的后续操作可不能损坏磁盘数据结构。
附录 B: EXT2 / EXT3 文件系统切换分辨率为 800x600第二延伸文件系统 (EXT2)全文出处:/articles/3912/第二延伸文件系统(ext2)介绍自从我们开始使用计算机后,大多数的使用者都曾经使用过文件,而我们总是对关于硬盘如何正确地储存文件感到好奇,它看起来似乎非常抽象,所以今天让我们看一看 Linux 操作系统中较新的文件系统版本『第二延伸系统( ext2 )』,并了解它各方面之用途。
这个文件系统是主要来自于 Andrew Tanenbaum 所写的 Minix 文件系统,它也是唯一可用在免费操作系统的文件系统,称之为 Minix。
它后来修正为Linux 所惯用的文件系统并称为延伸文件系统,到现在 Linux 的文件系统称为 ext2 (第二延伸文件系统),它是延伸文件系统中较新的版本并支持访问控制列(ACL)。
但是在着手研究 ext2 文件系统之前,让我们先了解文件系统中之专有名词的关联。
∙Block (区块):文件在磁盘中被储存在整数固定大小的区块中,那区块的大小通常是2的次方。
在默认中,ext2文件系统的区块大小是4K。
研究颢示, 4K字节对于一磁盘区块而言是最理想的大小,假如一个文件的大小无法达成4K字节的倍数时,那最后的磁盘区块部分就会被浪费。
在最不好的例子中几乎在完整的区块中就有一字节被浪费掉。
对于这情况有一点技巧,假如我们选择了一个较大的区块,则对于小的文件而言会有一些磁盘空间被浪费掉。
另外一方面,假如我们使用一个非常小的区块,则磁盘区块数量会成指数的添加,因此对于文件而言需有更多的搜寻时间。
所以,选择区块大小必须三思而后行。
当一个文件被加载到内存时,那磁盘区块会被放在主存储器中之缓冲缓存区,假如它们已经变更了,区块在缓冲区中会被标记为’Dirty’,其意指的是这些区块必须先写到磁盘中来维持磁盘上的区块及在主存储器中的区块之一致性.∙Superblock:superblock 是在每个文件系统开始的位置,其储存信息像是文件系统的大小,空的和填满的区块,它们各自的总数和其他诸如此类的数据。
EXT2、EXT3、EXT4、XFS、GPT详解原创:运维老司机小柒博客7月18日EXT2与EXT3区别Linux之前缺省情况下使用的文件系统为Ext2,ext2文件系统的确高效稳定。
但是,随着Linux系统在关键业务中的应用,Linux文件系统的弱点也渐渐显露出来了:其中系统缺省使用的ext2文件系统是非日志文件系统。
这在关键行业的应用是一个致命的弱点,Ext3文件系统是直接从Ext2文件系统发展而来,目前ext3文件系统已经非常稳定可靠。
它完全兼容ext2文件系统。
用户可以平滑地过渡到一个日志功能健全的文件系统中来。
这实际上了也是ext3日志文件系统初始设计的初衷。
1) ext3和ext2的主要区别在于,ext3引入Journal(日志)机制,Linux内核从2.4.15开始支持ext3,它是从文件系统过渡到日志式文件系统最为简单的一种选择,ext3提供了数据完整性和可用性保证。
2) ext2和ext3的格式完全相同,只是在ext3硬盘最后面有一部分空间用来存放Journal的记录;3) 在ext2中,写文件到硬盘中时,先将文件写入缓存中,当缓存写满时才会写入硬盘中;4) 在ext3中,写文件到硬盘中时,先将文件写入缓存中,待缓存写满时系统先通知Journal,再将文件写入硬盘,完成后再通知Journal,资料已完成写入工作;5) 在ext3中,也就是有Journal机制里,系统开机时检查Journal的内容,来查看是否有错误产生,这样就加快了开机速度;EXT3日志文件系统的特点1、高可用性系统使用了ext3文件系统后,即使在非正常关机后,系统也不需要检查文件系统。
宕机发生后,恢复ext3文件系统的时间只要数十秒钟。
2、数据的完整性ext3文件系统能够极大地提高文件系统的完整性,避免了意外宕机对文件系统的破坏。
在保证数据完整性方面,ext3文件系统有2种模式可供选择。
其中之一就是"同时保持文件系统及数据的一致性"模式。
btrfs-convert 用法btrfs-convert 是一个用于将现有的文件系统转换为Btrfs文件系统的工具。
Btrfs是一个先进的Linux文件系统,具有许多先进的特性,如快照、校验和、压缩和RAID支持。
使用btrfs-convert工具可以将现有的ext2、ext3或ext4文件系统转换为Btrfs文件系统,从而利用Btrfs的先进功能。
要使用btrfs-convert工具,首先需要确保文件系统不在挂载状态下。
然后,可以按照以下步骤进行操作:1. 备份数据,在进行文件系统转换之前,强烈建议对数据进行备份。
虽然btrfs-convert工具通常会成功转换文件系统,但备份可以确保数据安全。
2. 安装Btrfs工具,确保系统上安装了Btrfs工具包,以便使用btrfs-convert工具。
可以使用包管理工具来安装Btrfs工具包。
3. 运行btrfs-convert:在转换文件系统之前,确保文件系统不在挂载状态下。
然后可以运行以下命令来使用btrfs-convert工具:sudo btrfs-convert /dev/sdX.其中,/dev/sdX 是要转换的设备名称,可以是硬盘或分区的名称。
4. 等待转换完成,btrfs-convert工具会开始转换文件系统,并显示进度信息。
转换过程可能需要一些时间,具体取决于文件系统的大小和性能。
5. 验证和测试,转换完成后,可以使用Btrfs工具来验证和测试新的Btrfs文件系统。
可以使用btrfs check、btrfs scrub等命令来验证文件系统的完整性和一致性。
需要注意的是,虽然btrfs-convert工具可以成功将文件系统转换为Btrfs,但在进行转换之前务必备份重要数据,并确保系统和文件系统处于稳定状态。
此外,转换过程中可能会影响文件系统的性能,因此建议在合适的时间进行转换。
总之,btrfs-convert工具是将现有文件系统转换为Btrfs文件系统的有用工具,但在使用之前需要谨慎对待,确保数据安全和系统稳定。
Linux_ext2ext3文件系统介绍Linux_ext2/ext3文件系统介绍Linux ext2/ext3文件系统使用索引节点来记录文件信息,作用像windows的文件分配表。
索引节点是一个结构,它包含了一个文件的长度、创建及修改时间、权限、所属关系、磁盘中的位置等信息。
一个文件系统维护了一个索引节点的数组,每个文件或目录都与索引节点数组中的唯一一个元素对应。
系统给每个索引节点分配了一个号码,也就是该节点在数组中的索引号,称为索引节点号。
linux文件系统将文件索引节点号和文件名同时保存在目录中。
所以,目录只是将文件的名称和它的索引节点号结合在一起的一张表,目录中每一对文件名称和索引节点号称为一个连接。
对于一个文件来说有唯一的索引节点号与之对应,对于一个索引节点号,却可以有多个文件名与之对应。
因此,在磁盘上的同一个文件可以通过不同的路径去访问它。
Linux缺省情况下使用的文件系统为Ext2,ext2文件系统的确高效稳定。
但是,随着Linux系统在关键业务中的应用,Linux文件系统的弱点也渐渐显露出来了:其中系统缺省使用的ext2文件系统是非日志文件系统。
这在关键行业的应用是一个致命的弱点。
本文向各位介绍Linux下使用ext3日志文件系统应用。
Ext3文件系统是直接从Ext2文件系统发展而来,目前ext3文件系统已经非常稳定可靠。
它完全兼容ext2文件系统。
用户可以平滑地过渡到一个日志功能健全的文件系统中来。
这实际上了也是ext3日志文件系统初始设计的初衷。
Ext3日志文件系统的特点1、高可用性系统使用了ext3文件系统后,即使在非正常关机后,系统也不需要检查文件系统。
宕机发生后,恢复ext3文件系统的时间只要数十秒钟。
2、数据的完整性:ext3文件系统能够极大地提高文件系统的完整性,避免了意外宕机对文件系统的破坏。
在保证数据完整性方面,ext3文件系统有2种模式可供选择。
其中之一就是“同时保持文件系统及数据的一致性”模式。
Ext4分区需要在Linux系统下才能进行分区处理,而我们不可能仅仅为了分一个Ext4而开虚拟机装Linux系统。
(麻烦死)因此,我们选择一个可以在手机端直接分出Ext4的Recovery版本。
(请勿乱刷未经测试是否适用的Recovery版本)TF卡读写速度对Ext4的性能有着重要的关联!C2卡不建议使用Ext4,可能导致系统很卡的现像,建议使用Ext3。
C4,C6,C10卡均可使用Ext4,性能表现为:C4 < C6 < C10新买的TF卡或者重新分区的话,Fat32里有重要数据的,必须备份,否则后果自负!信息和个人程序,该备份的备份去,这就不多说了。
功能按键说明:本版本的Recovery模式下,导航键可以上下左右,中间黑色那个是确认键!返回键是“音量减少”详细操作:1. 在Recovery主界面下,选择“Partition sdcard”(将SD卡进行分区)进入分区功能界面,菜单及注释如下:(已有Swap分区及Ext分区的可跳过此步骤)Partition SD给SD卡分区Repair SD:ext修复Ext分区SD:ext2 to ext3将Ext2分区转换为Ext3分区SD:ext3 to ext4将Ext3分区转换为Ext4分区在这里我们选择“Partition SD”开始分区①Swap-size =MB使用上下键选择大小。
确定键执行。
软件多的,推荐96MB。
Swap分区需要ROM支持,如果ROM不支持或者不需要Swap分区的请选择“0 MB”不建立Swap分区。
如果SD卡的读写速度较慢,不建议设置Swap分区,否则系统性能不但得不到提升,反而会变卡。
②Ext2-size = MB使用上下键选择大小。
确定键执行。
一般我们分512MB即可。
这里设置的就是我们所说的Ext分区的大小,具体依个人情况而定,基本上512MB够你装一大堆软件了。
③第二步完成以后Recovery会自动将剩余空间设为Fat32分区。
CentOS 丛书目录 — 系统管理 — 网络服务 — 应用部署ext2/ext3 文件系统管理ext2/ext3 文件系统管理工具在 e2fsprogs 软件包中提供了 ext2/ext3 文件系统管理工具。
下面列出常用工具的说明:创建 ext2/ext3 文件系统mke2fs 命令用于创建 ext2/ext3 文件系统。
mkfs.ext2 和 mkfs.ext3 命令都是 mke2fs 的硬链接,当使用 man mkfs.ext2 和 man mkfs.ext3 命令查看手册页时都定向到 mke2fs 。
mke2fs 命令的格式如下:格式1: mke2fs [<选项>...] <设备名> [blocks-count]格式2: mke2fs -j [<选项>...] <设备名> [blocks-count]说明:格式1用于创建 ext2 文件系统;格式2用于创建 ext3 日志文件系统。
blocks-count 用于指定要创建的文件系统的块数,此值应该小于 fdisk 命令查看的此分区或逻辑卷的块数,若省略此参数将使用整个分区或逻辑卷创建文件系统。
内容提要1.熟悉 ext2/ext3 文件系统管理工具2.学会使用 mke2fs 创建 ext2/ext3 文件系统3.学会使用 e2fsck 检查 ext2/ext3 文件系统4.学会使用 tune2fs 调整 ext2/ext3 文件系统的属性 工具说明 /sbin/fsck文件系统检查的前端工具 /sbin/e2fsck 检查和修复 ext2 或 ext3 文件系统/sbin/fsck.ext2 检查和修复 ext2 文件系统/sbin/fsck.ext3 检查和修复 ext3 文件系统/sbin/mke2fs 创建 ext2 或 ext3 文件系统/sbin/mkfs.ext2 创建 ext2 文件系统/sbin/mkfs.ext3 创建 ext3 文件系统/sbin/badblocks 检查磁盘分区坏块/sbin/tune2fs 调整 ext2/ext3 文件系统的可调属性参数/sbin/dumpe2fs 显示 ext2/ext3 文件系统的超级块和块组信息 /sbin/debugfsext2/ext3 文件系统调试器 /sbin/e2label显示或者修改 ext2/ext3 文件系统的卷标 /sbin/findfs 根据 ext2/ext3 文件系统的卷标或 UUID (全局唯一标识符,Universally Unique Identifier )查找对应的设备/sbin/resize2fs 更改 ext2/ext3 文件系统的容量常用选项说明如下:使用举例:1、在系统第二块 SCSI 接口的硬盘的第5个分区上创建 ext2 类型的文件系统# mke2fs /dev/sdb5mke2fs 1.39 (29-May-2006)Filesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)244320 inodes, 487974 blocks24398 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=50331648015 block groups32768 blocks per group, 32768 fragments per group16288 inodes per groupSuperblock backups stored on blocks:32768, 98304, 163840, 229376, 294912Writing inode tables: doneWriting superblocks and filesystem accounting information: doneThis filesystem will be automatically checked every 33 mounts or180 days, whichever comes first. Use tune2fs -c or -i to override.2、在系统第二块 SCSI 接口的硬盘的第6个分区上创建 ext3 类型的文件系统,检查磁盘坏块,卷标为设置“data ”# mke2fs -j -c -L data /dev/sdb6mke2fs 1.39 (29-May-2006)Filesystem label=dataOS type: LinuxBlock size=4096 (log=2) 选项 说明-b <block -size> 指定区块大小,单位为字节。
手机第二分区EXT2、EXT3、EXT4区别第一:关于EXT2-4分区的网络说明,精简整理!∙Ext2: 是GNU/Linux 系统中标准的文件系统,其特点为存取文件的性能极好,对于中小型的文件更显示出优势,这主要得利于其簇快取层的优良设计。
∙Ext3: 是ext2 的下一代,是在保有目前ext2 的格式之下再加上日志功能。
它兼容ext2,并且从ext2转换成ext3并不复杂。
ext3文件系统已经非常稳定可靠。
∙EXT4: 是ext3文件系统的后继版本,但是Ext4是Linux文件系统的一次革命。
在很多方面,Ext4相对于Ext3的进步要远超过Ext3相对于Ext2的进步。
Ext3相对于Ext2的改进主要在日志方面,但是Ext4相对于Ext3的的改进是更深层次的,是文件系统数据结构方面的优化,是一个高效的、优秀的、可靠的和极具特点的文件系统,并且EXT3可以转为EXT4的。
第二:个人总结(根据网上多方资料分析,加上个人经验,总结如下):∙ext2,标准系统格式,速度快,对SD卡影响小。
但是不能随意断电,也就是说如果你的手机系统卡死了,扣电池的话,ext2分区里面的东西就可能丢失。
∙ext3,有日志功能,可以随意断电了,比ext2好;但EXT3的日志系统对卡的读写频繁,这对于FLASH存储设备不好,寿命会减少。
∙ext4,比ext3有更强大的功能,比如大文件、无限制目录等;实测,对G6而言ext4比ext3耗电!第三:其他相关信息:∙对于速度方面,比如开启A2SD+,有个a2sd --dc2sd功能,是把dalvik-cache 这个文件夹放到ext分区。
------据说dalvik-cache这个文件夹放回rom(手机)里,速度会好一些,也就是说在开启A2SD+时候,不要a2sd --dc2sd这个命令,只输入a2sd --enable即可!∙另外,对于“速度来说肯定2比3更快”,这句话据专家说这是一个误区,原来一直感觉ext2比ext3快,因为ext3就是多了日志系统。
OpenFiler安装配置⼿册OpenFiler2.3安装配置⼿册⼀、初始化OpenFiler·⾸先我们从OpenFiler的官⽅⽹站下载OpenFiler的虚拟机⽂件,下载地址:/community/download/,下载回来的⽂件解压后直接⽤虚拟机打开即可。
·启动虚拟机后,我们⾸先需要配置⼀些参数信息。
(1)修改⽹卡初始的⽹卡是⾃动获取IP地址,在此,我们需要修改为固定的IP地址。
#cd/etc/sysconfig/network-scripts#viifcfg-eth0DEVICE=物理设备名IPADDR=IP地址NETMASK=掩码值NETWORK=⽹络地址——–可不配BROADCAST=⼴播地址——–可不配GATEWAY=⽹关地址ONBOOT=[yes|no](引导时是否激活设备)USERCTL=[yes|no](⾮root⽤户是否可以控制该设备)——–可不配BOOTPROTO=[none|static|bootp|dhcp](引导时不使⽤协议|静态分配|BOOTP协议|DHCP协议)HWADDR=你的MAC地址——–可不配修改后重起⽹卡⽅能实现:#servicenetworkrestart(2)停⽌不必要的服务#cd/etc/rc3.d这⾥我们采取重命名的⽅式进⾏:可以停⽌的服务:(3)查看⽇志:#cd/var/log#moremessages⼆、配置OpenFiler进⾏完上述初始化,我们可以使⽤IE的⽅式打开OpenFiler的控制台,访问地址:https://192.168.253.98:446(注意添加446的端⼝)打开页⾯后,输⼊初始的⽤户名openfiler,密码:password成功登录后,⾸先在Status项中,可以看到安装了OpenFiler服务器的⼀些信息。
1、启动相关的服务需要启动的服务可以根据⾃⼰的实际情况来决定,在这⾥我主要启动了以下⼏个服务SMB/CIFSserverNFSv3serveriSCSItargerserveriSCSIinitiator2、配置机器名、DNS等信息3、添加NetworkAccessConfiguration这⾥可以添加单个IP、整段IP、多⽹段或者全部,可以根据需要进⾏设置4、设置时间、时区和时间服务器地址三、Volumes在配置Volumes前,先简单介绍下整个OpenFiler的配置过程以及架构图:1、设置Share⽅式的⽂件共享(1)设置Device的PartitionType“Volumes-BlockDevices”,选择需要设置的Disk,然后选择Create,选择“Mode”为“Primary”,选择“PartitionType”为“Physicalvolume”,如果还要划分⼤⼩,这⾥还需要设置“Endingcylinder”,这⾥我将整个Disk划为单独的⼀个Physicalvolume(2)创建VolumeGroup⾸先是输⼊Volumegroupname,这⾥我输⼊我的物理卷的名称“Physical-volume-1”,接下来是选择物理卷到这个组中,这⾥的物理卷是我们在设置PartitionType时设置的PhysicalType,我们可以选择⼀个,也可以同时选择多个(3)增加Volume完成上述操作后,接下来就是在VolumeGroup中创建Volume,并设置⽂件系统或者卷类型,针对我们作为共享⽅式的磁盘,我们可以选择“XFS”和“Ext3”XFS⽂件系统的介绍:XfS⽂件系统是SGI开发的⾼级⽇志⽂件系统,XFS极具伸缩性,⾮常健壮。
Ext3文件系统1 Ext3文件系统简介Ext3一种日志式文件系统。
日志文件系统会把系统对磁盘文件系统的更改首先一一记录在日志文件中,然后再更新到磁盘上。
在由某种原因(例如down机等)而导致文件系统出现不一致的情况下,可以通过重放(replay)日志文件来恢复文件系统的一致性。
Ext3是直接从Ext2文件系统发展过来的,采用了Ext2文件系统的磁盘数据布局,实现了对Ext2的完全兼容。
根据写入日志的内容和数据刷新时间的不同,Ext3可支持三个不同的日志格式:Journal模式,ordered 模式和writeback模式。
1.1Ext3日志模式首先介绍元数据的概念,在Ext2 和 Ext3中,有六种元数据,分别是:超级块,块组描述符,节点,间接块,数据位图。
可见,元数据记录了数据的改变。
Ext3既可以只对元数据做日志,也可以同时对文件数据块做日志。
具体来说,Ext3提供以下三种日志模式:日志(Journal )文件系统所有数据和元数据的改变都记入日志。
这种模式减少了丢失每个文件所作修改的机会,但是它需要很多额外的磁盘访问。
例如,当一个新文件被创建时,它的所有数据块都必须复制一份作为日志记录。
这是最安全和最慢的Ext3日志模式。
预定(Ordered )只有对文件系统元数据的改变才记入日志。
然而,Ext3文件系统把元数据和相关的数据块进行分组,以便把元数据写入磁盘之前写入数据块。
这样,就可以减少文件内数据损坏的机会;例如,确保增大文件的任何写访问都完全受日志的保护。
这是缺省的Ext3 日志模式。
写回(Writeback )只有对文件系统元数据的改变才记入日志;这是在其他日志文件系统发现的方法,也是最快的模式1.2日志块设备(JBD)Ext3 文件系统本身不处理日志,而是利用日志块设备(Journaling Block Device)或叫JBD 的通用内核层。
Ext3文件系统调用JDB例程以确保在系统万一出现故障时它的后续操作不会损坏磁盘数据结构。
RESIZE2FS 修改EXT2 EXT3文件系统的大小resize2fs 是ext2 文件系统大小调整工具可以扩大可以缩小原ext2分区(当然ext3只是多了Journal的ext2 也可以)rpm -qil e2fsprogs需要注意的是增大的话起始柱面不能变步骤就是:先fdisk 调整分区所谓调整也就是删了相关的分区再重建分区最后在分区上再用resize2fs 调整文件系统大小所以一个概念或者说对照就是文件系统(file system)是在分区(Partition)基础上的把/dev/sdd2合并到/dev/sdd1/dev/sdd2文件不见,/dv/sdd1还在#fdisk -l格式化为ext3#mkfs.ext3 /dev/sdd1#mkfs.ext3 /dev/sdd2#df -h/dev/sdd1挂载到/A目录下,里面有个文件A.tar.gz/dev/sdd2挂载到/B目录下,里面有个文件B.tar.gz把/dev/sdd1和/dev/sdd2卸载下来#fdisk /dev/sdd#Command (m for help):p 查看分区先把/dev/sdd2删除,再删除/dev/sdd1#Command (m for help):d 删除分区#partition number (1-4):2 删除第二个主分区#Command (m for help):d 删除分区#partition number (1-4):1 删除第一个主分区建立回/dev/sdd1分区输入n n是新建分区,d是删除分区,p是查看分区,t是类型改变输入p 分区类型为主分区(如果硬盘分区超过4个了,则选择扩展分区,再新建逻辑分区) e是扩展分区,p是主分区#Partition number (1-4): 1第1个主分区#First cylinder (1-44384, default 1):#Using default value 1起始磁柱这时选默认1#Last cylinder or +size or +sizeM or +sizeK (1-44384, default 44384): 最后一个圆柱大小这时选默认#Command (m for help): p 查看分区情况#Command (m for help): w 保存,切记要保存#resize2fs -p /dev/sdd1 12851968 删除前/dev/sdd1的大小#e2fsck -f /dev/sdd1#resize2fs -p /dev/sdd1完成B.tar.gz不在!!只保留了A.tar.gz。
重新调整ext3格式分区大小的方法本篇文章主要介绍如何调整格式为ext3的分区的大小,并确保不丢失数据。
它将向你讲述如何增加或者缩小已存在的ext3分区的大小。
分区的调整必须在设备umount的情况下进行。
如果你要调整的分区为存放Linux系统重要文件的分区(比如:/、/boot),请事先准备一张Live Linux-CD启动盘(这个很容易就可以在网上找到),以备稍后使用;如果你仅仅只是调整普通分区的大小(比如:/home),则可以直接使用本机系统进行,而无须进入Live CD系统。
另外,请确保你的系统上已安装了以下工具:fdisk、umount、fsck、tune2fs、e2fsck、resize2fs,系统最小化安装时这些工具就已经集成在系统中了,直接使用就可。
如果你要在用于商业用途的Linux系统上调整分区大小,请先确保系统数据已备份完成。
下面我将以/dev/sda5分区举例。
先查看以下系统分区信息:[root@localhost ~]# df –B 4k[root@localhost ~]# df –h[root@localhost ~]# df -B 4kFilesystem 4K-blocks Used Available Use% Mounted on/dev/sda2 990087 500195 438786 54% //dev/sda5 3575306 41828 3348932 2% /home/dev/sda1 11659 2638 8419 24% /boottmpfs 67424 0 67424 0% /dev/shm[root@localhost ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/sda2 3.8G 2.0G 1.7G 54% //dev/sda5 14G 164M 13G 2% /home/dev/sda1 46M 11M 33M 24% /boottmpfs 264M 0 264M 0% /dev/shmdf –B 4k 以4k为以单位查看,这个稍后会用得到我的/dev/sda5设备对应/home目录,大小为14G[root@localhost ~]# fdisk –lDisk /dev/sda: 21.4 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDevice Boot Start End Blocks Id System/dev/sda1 * 1 6 48163+ 83 Linux/dev/sda2 7 515 4088542+ 83 Linux/dev/sda3 516 772 2064352+ 82 Linux swap / Solaris /dev/sda4 773 2610 14763735 5 Extended/dev/sda5 773 2610 14763703+ 83 Linux如果你修改的是/、/boot分区的大小,要先重启进入Live CD系统进行操作,因为调整时设备必须为umount,所以需要借助Live CD进行[root@localhost ~]# init 0重启进入Live的系统后,先进行设备卸载[root@localhost ~]# umount /dev/sda5接着运行[root@localhost ~]# fsck –n /dev/sda5fsck 1.39 (29-May-2006)e2fsck 1.39 (29-May-2006)/home: clean, 18/3691936 files, 157447/3690925 blocks-n表示只把一些简单的报告和问题输出到标准输出,而不去修复。
EXT3文件系统简介EXT2和EXT3是许多Linux操作系统发行版本的默认文件系统。
EXT基于UFS,是一种快速、稳定的文件系统。
随着Linux系统在关键业务中的应用,Linux文件系统的弱点也渐渐显露出来了;其中EXT2文件系统是非日志文件系统,这在关键行业的应用是一个致命的弱点,EXT3文件系统弥补了这一缺点。
EXT3文件系统是直接从EXT2文件系统发展而来,目前EXT3文件系统已经非常稳定可靠。
它完全兼容EXT2文件系统。
用户可以平滑地过渡到一个日志功能健全的文件系统中来。
这实际上了也是EXT3日志文件系统初始设计的初衷。
EXT3日志文件系统的特点1、高可用性系统使用了EXT3文件系统后,即使在非正常关机后,系统也不需要检查文件系统。
宕机发生后,恢复EXT3文件系统的时间只要数十秒钟。
2、数据的完整性:EXT3文件系统能够极大地提高文件系统的完整性,避免了意外宕机对文件系统的破坏。
在保证数据完整性方面,EXT3文件系统有2种模式可供选择。
其中之一就是“同时保持文件系统及数据的一致性”模式。
采用这种方式,你永远不再会看到由于非正常关机而存储在磁盘上的垃圾文件。
3、文件系统的速度:尽管使用EXT3文件系统时,有时在存储数据时可能要多次写数据,但是,从总体上看来,EXT3比EXT2的性能还要好一些。
这是因为EXT3的日志功能对磁盘的驱动器读写头进行了优化。
所以,文件系统的读写性能较之EXT2文件系统并来说,性能并没有降低。
4、数据转换由EXT2文件系统转换成EXT3文件系统非常容易,只要简单地键入两条命令即可完成整个转换过程,用户不用花时间备份、恢复、格式化分区等。
另外,EXT3文件系统可以不经任何更改,而直接加载成为EXT2文件系统。
5、多种日志模式EXT3有多种日志模式,一种工作模式是对所有的文件数据及metadata(定义文件系统中数据的数据,即数据的数据)进行日志记录(data=journal模式);另一种工作模式则是只对metadata记录日志,而不对数据进行日志记录,也即所谓data=ordered或者data=writeback模式。
第27卷 第10期2003年10月 信 息 技 术I NFORMATI ON TECH NO LOGYVO L.27 NO.10Oct.2003从ext2到ext3文件系统转换的实现王文娟,王传昌(湛江师范学院计算机系,湛江524048)摘 要:日志文件系统ext3具有ext2所不具备的特点和优势,顺利完成从ext2到ext3的转换,是实现ext3文件系统优势之必须。
关键词:ext2;ext3;日志文件系统;转换中图分类号:TP316.81 文献标识码:B 文章编号:1009-2552(2003)10-0067-03Migration from ext2to ext3file systemWANG Wen2juan,WANG Chuan2chang(The Dep artment of Computer and Science,Zh anjiang T eachers’College,Zh anjiang524048,China) Abstract:Ext3is a journal file system for Linux and has s ome advantages that ext2has not.In order to mi2 grate from ext2to ext3file system success fully,this paper introduces s ome methods.K ey w ords:ext2;ext3;journal file system;migration0 引言ext3文件系统是ext2文件系统的更高一级版本,它有一个其它同类日志文件系统所不具备的独特优势———完全兼容ext2文件。
ext3能充分利用ext2中已有的操作和应用,而且比ext2更有效,更易用。
其在ext2的基础上加入了记录元数据的日志功能,是一个支持异步的日志。
Red Hat7.2和SuSE 7.3已率先发行了包含ext3文件系统的Linux,通过使用Linux最新安装版本和e2fsprogs Linux公用程序,可将ext3文件系统编译到系统的内核中。
这里介绍的是ext2到ext3系统转换的一些基本方法,并据此为用户提供修正的参考建议。
1 ext3日志文件系统1.1 日志文件系统日志文件系统的设计思想是跟踪文件系统的变化,而不是文件系统的内容。
它用独立的日志文件跟踪磁盘内容的变化,就像关系型数据库(RDBMS),因而比传统的文件系统安全。
日志文件系统可以用事务处理的方式,提交或撤消文件系统的变化。
当系统非正常关闭,处于写入磁盘的过程中的文件系统即被非正常卸载,文件系统就会处于不一致的状态。
为了尽量减少文件系统的不一致性,缩短操作系统的启动时间,文件系统需追踪引起系统改变的记录,这些记录存放在与文件系统相分离的地方,通常我们称为“日志”。
一旦这些日志记录被安全地写入,日志文件系统就可以将它们应用到文件系统中,清除引起系统发生改变的记录,并将它们组成一个引起文件系统改变的集。
日志文件的主要作用就是可以最大程度地保证文件系统的一致性。
通常文件系统存放日志记录,当重新引导计算机启动时,安装程序为保证文件系统的一致性会检测日志记录,并将它安全地、完整地应用到文件系统中。
在大多数情况下,一般操作系统并不检测文件系统的一致性,使用日志文件系统的计算机则会在系统引导后,立即使用日志检测,降低数据丢失的可能性。
1.2 ext3ext3文件系统是日志文件,且100%地兼容ext2收稿日期:2003-04-07资助项目:湛江师范学院重点科研项目资助(项目编号L0206)。
作者简介:王文娟(1962-),讲师,硕士,主要研究方向为操作系统及网络管理。
—76—文件系统,其与ext2文件系统的主要区别是它的快速更新文件存储。
计算机开始从磁盘上读取或写入数据就必须保证文件系统中文件与目录的一致性,所有日志文件中的数据均以数据块的形式存放在存储设备中,当磁盘分区时文件系统即被创建,按照文件形式、目录形式支持存储数据,组织数据的使用。
ext3和ext2是由来自多家厂商的开发人员联合开发的,它的开发不依赖于任何个人或组织。
它提供并使用了一个通用日志层generic journaling layer (jbd),该层可以在其它环境中使用,既可在文件系统中使用,还能够应用到其它设备中,目前Linux开始支持的NVRAM设备ext3就能够支持。
当由于软件或硬件错误导致文件系统崩溃时,文件修复程序e2fsck在修复数据方面是非常成功的,ext3使用了和e2fsck相同的代码来修复崩溃的文件系统,因此在出现数据崩溃时,ext3具有和ext2同样的防止数据丢失的优点。
值得指出的是,上述这些优点不是ext3所独有的,其中的大部分别的文件系统也具有,但只有ext3才尽数具备,这也正是ext3的综合优势。
ext3称得上是目前最能满足用户需要的日志文件系统。
2 从ext2到ext3的转换2.1 转换从ext2文件系统到ext3文件系统的转换,一般的方法是通过在已有的ext2文件系统上添加日志文件。
假设要把原Πback(ΠdevΠhda5)从ext2文件系统转换成ext3文件系统,通常具体步骤如下(建议在转换系统以前,最好备份文件系统):3卸载Πback目录执行命令:um ountΠback3转换所使用的命令格式如下:ΠsbinΠtune2fs-j<partition-name>例1:要将分区ΠdevΠhda5的ext2系统转换成ext3文件系统,所使用的命令如下:ΠsbinΠtune2fs-jΠdevΠhda5其中tune2fs是转换命令,-j选项表示是在已存在的ext2文件系统上建立的ext3日志。
3安装Πback目录执行命令:m ount-text3ΠdevΠhda5Πback执行命令后系统将创建一个日志文件,如果文件系统在转换的过程已经被装载(m ount),那么在根目录下会出现“.journal”文件,否则是没有这个日志文件的。
3修改ΠetcΠfstab文件例2:在将ext2日志文件系统转换成ext3日志文件系统之后,立即更新ΠetcΠfstab引导记录,可以使用“auto”选项来进行。
转换前情况:ΠdevΠhda5Πopt ext2defaults12转换后情况:ΠdevΠhda5Πopt ext3defaults10其中Linux的最后一个字段ΠetcΠfstab是为引导系统而设置的,并由“fsck(file system check)”程序检验文件系统的一致性,同时把ΠetcΠfstab文件中的ext2修改为ext3。
当使用ext3文件系统时,能将这个字段设定为“0”,意味着fsck程序将不检查文件系统的一致性,文件系统的一致性将由后面的日志提供保证。
如果要转换的是引导系统,必须使用initrd 启动系统,可运行mkinitrd并参照其手册描述步骤,同时确认LI LO或G RUB配置中是否装载了initrd。
如果转换ext3没有成功,系统仍然能启动,但是引导系统会以ext2形式装载,而不是ext3,可以使用命令catΠprocΠm ount来确认这一点。
命令:m ount显示:ΠdevΠhda5onΠtesttypeext3(rw)表示系统成功地从ext2转换到ext3。
2.2 新建升级一个已有的ext2,使用tune2fs即可,对于需要创建新ext3文件系统的情况下,要使用安装的e2fsprogs软件包中的mke2fs命令加-f参数就可以创建新的ext3文件系统,假设打算把ΠdevΠhda5创建为ext3文件系统,具体步骤如下:3创建执行命令:mke2fs-jΠdevΠhda53安装Πback目录执行命令:m ount-text3ΠdevΠhda5Πback3修改ΠetcΠfstab文件新的e2fsprogs中的e2fsck支持ext3,当一个ext3文件系统被破坏时,先卸载该设备,再用e2fsck修复。
执行命令:um ountΠback e2fsck-fyΠdevΠhda5在系统重新启动时,一般都要用日志文件系统检查,这需要一定的时间,用ext3可以避免重启动时长时间的文件系统检查,如用下面的命令:tune2fs-i0-c0ΠdevΠhda4来关闭文件系统检查—86—如果你要从ext3返回ext2,方法也非常简单,即卸载ext3重新安装ext2,命令如下:m ount-text2ΠdevΠhda5Πtest在启动中安装ext2,要在etcΠfstab文件中重新设置才行。
2.3 修正ext3也有缺点,其中最大的缺点是没有现代文件系统所具有的能提高文件数据处理速度和解压的高性能。
Red Hat Linux8.0.94发行注记上也指出ext3的一些问题,如在Red Hat Linux新安装在新的ext3文件系统上启用了试验性的HT ree功能,这会导致偶尔的文件系统损坏,因此HT ree功能已被禁用。
如果在beta版本上创建了任何打算永久保留的文件系统,我们推荐从每个文件系统里删除HT ree索引功能的所有痕迹,方法是首先使用以下命令:tune2fs-O^dir-indexΠdevΠ<filesystemdevice>然后可以使用下面的命令来从目录中删除索引: e2fsck-fDΠdevΠ<filesystemdevice>3 结束语Linux操作系统是操作系统家族中最优秀成员,是近年来用户数量增长最快的系统软件,ext2文件系统作为所有Linux发行版本的基本文件系统,负责将对文件的管理、存取、共享和保护等手段提供给操作系统和用户,不仅方便安全,还有效地提高了系统资源的利用率。
在RedHatLinux7.2中,RedHat首次采用支持日志文件系统ext3,ext3作为第一个正式支持的日志文件系统,无疑是全面兼容ext2的最新高性能文件系统,其兼容性包括在ext2文件系统上使用的所有其他应用,从ext2到ext3的升级简便,而且它改进了Linux系统的性能,解决系统中存在的不一致性的问题。
ext3文件系统是一个优秀的,极具发展前景文件系统。
参考文献:[1] Journaling File Systems Linux M agazine[J]San Francisco October2002.[2] Bill Ball,Red Hat Linux8Unleashed Publisher:Sams2002.12.[3] M ichael K.Johns on,Red Hat’s ext3white paper http:ΠΠw w w.zip.com.auΠ~akpmΠlinuxΠext3Π.[4] Rajesh F owkar,EXT3File Systemm ini-HOWT O,http:ΠΠw w w.sy2m Π~rajeshΠhowtoΠext3Πtoc.htm l.[5] 郭学理,韦智,潘松.Linux的Ext2文件系统[J].计算机应用研究,2001,(5).[6] 孙玉芳.Linux是windowsxx的克星吗[J]?.计算机科学,2002,29(6).[7] 你宁磊,周卫.Linux网络与安全管理[M].人民邮电出版社,2001.责任编辑:张棣—96—。