linux ext3是什么
发布时间 - 2022-06-17 00:00:00 点击率:次在linux中,ext3全称“Third extended filesystem”,中文意思为“第三代扩展文件系统”,是一个日志文件系统;它最大支持的容量为32TB,单个文件最大限制为16TB,支持32000个子目录。ext3文件系统能够极大地提高文件系统的完整性,避免了意外宕机对文件系统的破坏。
本教程操作环境:linux7.3系统、Dell G3电脑。
linux ext3文件
EXT3是第三代扩展文件系统(英语:Third extended filesystem,缩写为ext3),是一个日志文件系统,常用于Linux操作系统。单个文件最大限制16TB,该文件系统最大支持32TB的容量。
它是很多Linux发行版的默认文件系统。Stephen Tweedie在1999年2月的内核邮件列表中,最早显示了他使用扩展的ext2,该文件系统从2.4.15版本的内核开始,合并到内核主线中。
EXT3日志文件系统的特点
1、高可用性
系统使用了ext3文件系统后,即使在非正常关机后,系统也不需要检查文件系统。宕机发生后,恢复ext3文件系统的时间只要数十秒钟。
2、数据的完整性
ext3文件系统能够极大地提高文件系统的完整性,避免了意外宕机对文件系统的破坏。在保证数据完整性方面,ext3文件系统有2种模式可供选择。其中之一就是“同时保持文件系统及数据的一致性”模式。采用这种方式,你永远不再会看到由于非正常关机而存储在磁盘上的垃圾文件。
3、文件系统的速度
尽管使用ext3文件系统时,有时在存储数据时可能要多次写数据,但是,从总体上看来,ext3比ext2的性能还要好一些。这是因为ext3的日志功能对磁盘的驱动器读写头进行了优化。所以,文件系统的读写性能较之Ext2文件系统并来说,性能并没有降低。
4、数据转换
由ext2文件系统转换成ext3文件系统非常容易,只要简单地键入两条命令即可完成整个转换过程,用户不用花时间备份、恢复、格式化分区等。用一个ext3文件系统提供的小工具tune2fs,它可以将ext2文件系统轻松转换为ext3日志文件系统。另外,ext3文件系统可以不经任何更改,而直接加载成为ext2文件系统。
5、多种日志模式
Ext3有多种日志模式,一种工作模式是对所有的文件数据及metadata(定义文件系统中数据的数据,即数据的数据)进行日志记录(data=journal模式);另一种工作模式则是只对metadata记录日志,而不对数据进行日志记录,也即所谓data=ordered或data=writeback模式。系统管理人员可以根据系统的实际工作要求,在系统的工作速度与文件数据的一致性之间作出选择。
为什么你需要从ext2迁移到ext3(EXT3的优点)
主要有四个原因:可用性、数据完整性、速度、易于迁移。
1、可用性
在非正常当机后(停电、系统崩溃),只有在通过e2fsck进行一致性校验后,ext2文件系统才能被装载使用。运行e2fsck的时间主要取决于 ext2文件系统的大小。校验稍大一些的文件系统(几十GB)需要很长时间。如果文件系统上的文件数量多,校验的时间则更长。校验几百个GB的文件系统可能需要一个小时或更长。这极大地限制了可用性。相比之下,除非发生硬件故障,即使非正常关机,ext3也不需要文件系统校验。这是因为数据是以文件系统始终保持一致方式写入磁盘的。在非正常关机后,恢复ext3文件系统的时间不依赖于文件系统的大小或文件数量,而依赖于维护一致性所需“日志”的大小。使用缺省日志设置,恢复时间仅需一秒(依赖于硬件速度)。
2、数据完整性
使用ext3文件系统,在非正常关机时,数据完整性能得到可靠的保障。你可以选择数据保护的类型和级别。你可以选择保证文件系统一致,但是允许文件系统上的数据在非正常关机时受损;这是可以在某些状况下提高一些速度(但非所有状况)。你也可以选择保持数据的可靠性与文件系统一致;这意味着在当机后,你不会在新近写入的文件中看到任何数据垃圾。这个保持数据的可靠性与文件系统一致的安全的选择是缺省设置。
3、速度
尽管ext3写入数据的次数多于ext2,但是ext3常常快于ext2(高数据流)。这是因为ext3的日志功能优化硬盘磁头的转动。你可以从3种日志模式中选择1种来优化速度,有选择地牺牲一些数据完整性。
4、易于迁移
你可以不重新格式化硬盘,并且很方便的从ext2迁移至ext3而享受可靠的日志文件系统的好处。对,不需要做长时间的、枯燥的、有可能失误的“备份-重新格式化-恢复”操作,就可以体验ext3的优点。
有两种迁移的方法:如果你升级你的系统,Red Hat Linux安装程序会协助迁移。需要你做的工作 就是为每一个文件系统按一下选择按钮。
使用tune2fs程序可以为现存的ext2文件系统增加日志功能。如果文件系统在转换的过程已经被装载了(mount),那么在root目录下会出现文件”.journal”;如果文件系统没有被装载,那么文件系统中不会出现该文件。
转换文件系统,只需要运行tune2fs –j /dev/hda1(或者你要转换的文件系统所在的任何设备名称),同时把文件/etc/fstab中的ext2修改为ext3。
如果你要转换自己的根文件系统,你必须使用initrd引导启动。参照mkinitrd的手册描述运行程序,同时确认自己的LILO或GRUB配置中装载了initrd(如果没有成功,系统仍然能启动,但是根文件系统会以ext2形式装载,而不是ext3,你可以使用命令cat /proc/mounts 来确认这一点。)
扩展知识:EXT3与EXT4的主要区别
Linux kernel自2.6.28开始正式支持新的文件系统 Ext4。 Ext4是Ext3的改进版,修改了Ext3中部分重要的数据结构,而不仅仅像Ext3对Ext2那样,只是增加了一个日志功能而已。Ext4 可以提供更佳的性能和可靠性,还有更为丰富的功能:
1.与Ext3兼容
执行若干条命令,就能从Ext3在线迁移到Ext4,而无须重新格式化磁盘或重新安装系统。原有Ext3数据结构照样保留,Ext4作用于新数据,当然,整个文件系统因此也就获得了Ext4所支持的更大容量。
2.更大的文件系统和更大的文件
较之Ext3目前所支持的最大16TB文件系统和最大2TB文件,Ext4分别支持1EB(1,048,576TB,1EB=1024PB,1PB=1024TB)的文件系统,以及16TB 的文件。
3.无限数量的子目录
Ext3目前只支持32,000个子目录,而Ext4支持无限数量的子目录。
4.Extents
Ext3采用间接块映射,当操作大文件时,效率极其低下。比如一个 100MB 大小的文件,在Ext3中要建立25,600个数据块(每个数据块大小为 4KB)的映射表。而Ext4引入了现代文件系统中流行的extents概念,每个 extent 为一组连续的数据块,上述文件则表示为“该文件数据保存在接下来的25,600个数据块中”,提高了不少效率。
5.多块分配
当写入数据到 Ext3 文件系统中时,Ext3 的数据块分配器每次只能分配一个 4KB 的块,写一个 100MB 文件就要调用 25,600 次数据块分配器,而 Ext4 的多块分配器“multiblock allocator”(mballoc) 支持一次调用分配多
个数据块。
6.延迟分配
Ext3的数据块分配策略是尽快分配,而 Ext4 和其它现代文件操作系统的策略是尽可能地延迟分配,直到文件在 cache 中写完才开始分配数据块并写入磁盘,这样就能优化整个文件的数据块分配,与前两种特性搭配起来可以显著提升性能。
7.快速 fsck
以前执行 fsck 第一步就会很慢,因为它要检查所有的 inode,现在 Ext4 给每个组的 inode 表中都添加了一份未使用 inode 的列表,今后 fsck Ext4 文件系统就可以跳过它们而只去检查那些在用的 inode 了。
8.日志校验
日志是最常用的部分,也极易导致磁盘硬件故障,而从损坏的日志中恢复数据会导致更多的数据损坏。Ext4的日志校验功能可以很方便地判断日志数据是否损坏,而且它将Ext3 的两阶段日志机制合并成一个阶段,在增加安全性的同时提高了性能。
9.“无日志”(No Journaling)模式
日志总归有一些开销,Ext4允许关闭日志,以便某些有特殊需求的用户可以借此提升性能。
10.在线碎片整理
尽管延迟分配、多块分配和extents能有效减少文件系统碎片,但碎片还是不可避免会产生。Ext4支持在线碎片整理,并将提供e4defrag工具进行个别文件或整个文件系统的碎片整理。
11.inode 相关特性
Ext4支持更大的inode,较之Ext3默认的inode大小128字节,Ext4为了在 inode 中容纳更多的扩展属性(如纳秒时间戳或inode版本),默认inode大小为256字节。Ext4 还支持快速扩展属性(fast extended attributes)和inode保留(inodes reservation)。
12.持久预分配(Persistent preallocation)
P2P软件为了保证下载文件有足够的空间存放,常常会预先创建一个与所下载文件大小相同的空文件,以免未来的数小时或数天之内磁盘空间不足导致下载失败。 Ext4在文件系统层面实现了持久预分配并提供相应的API(libc 中的 posix_fallocate()),比应用软件自己实现更有效率。
13.默认启用 barrier
磁盘上配有内部缓存,以便重新调整批量数据的写操作顺序,优化写入性能,因此文件系统必须在日志数据写入磁盘之后才能写commit记录,若commit 记录写入在先,而日志有可能损坏,那么就会影响数据完整性。Ext4默认启用barrier,只有当barrier之前的数据全部写入磁盘,才能写barrier之后的数据。(可通过“mount -o barrier=0″命令禁用该特性。)
相关推荐:《Linux视频教程》
# linux
# Filesystem
# 数据结构
# p2p
# 文件系统
# 你可以
# 非正常
# 更大
# 可用性
# 该文件
# 自己的
# 是一个
# 这是因为
# 就会
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel安装步骤详细教程_Laravel环境搭建指南
如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)
Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言
Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程
怎么用AI帮你为初创公司进行市场定位分析?
三星网站视频制作教程下载,三星w23网页如何全屏?
实例解析Array和String方法
Android中AutoCompleteTextView自动提示
网站页面设计需要考虑到这些问题
Laravel如何处理CORS跨域请求?(配置示例)
Swift中switch语句区间和元组模式匹配
PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑
如何生成腾讯云建站专用兑换码?
如何在腾讯云服务器上快速搭建个人网站?
微信公众帐号开发教程之图文消息全攻略
如何在景安云服务器上绑定域名并配置虚拟主机?
Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明
Laravel如何与Pusher实现实时通信?(WebSocket示例)
如何在Tomcat中配置并部署网站项目?
Python制作简易注册登录系统
瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
Linux网络带宽限制_tc配置实践解析【教程】
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
Laravel如何创建和注册中间件_Laravel中间件编写与应用流程
Python文件操作最佳实践_稳定性说明【指导】
如何在局域网内绑定自建网站域名?
nodejs redis 发布订阅机制封装实现方法及实例代码
成都网站制作公司哪家好,四川省职工服务网是做什么用?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程
IOS倒计时设置UIButton标题title的抖动问题
Laravel如何配置和使用缓存?(Redis代码示例)
bing浏览器学术搜索入口_bing学术文献检索地址
Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比
简历在线制作网站免费版,如何创建个人简历?
php485函数参数是什么意思_php485各参数详细说明【介绍】
进行网站优化必须要坚持的四大原则
如何做网站制作流程,*游戏网站怎么搭建?
android nfc常用标签读取总结
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
PHP正则匹配日期和时间(时间戳转换)的实例代码
动图在线制作网站有哪些,滑动动图图集怎么做?
Laravel如何实现API资源集合?(Resource Collection教程)
如何在云指建站中生成FTP站点?
Android使用GridView实现日历的简单功能
Python面向对象测试方法_mock解析【教程】
微信小程序 require机制详解及实例代码
米侠浏览器网页图片不显示怎么办 米侠图片加载修复
如何在腾讯云免费申请建站?

