`

琐碎的学习——几个文件系统介绍整理

 
阅读更多

 

reiserfs

 

日志型文件系统发展比 ext2/3 晚近许多。在技术上使用的是 B*-tree 为基础的文件系统,其特色为能很有效率地处理大型文件到众多小文件都可以用很高的效率处理;实务上 ReiserFS 在处理文件小于 1k 小文件时,甚至效率可以比 ext3 快约10倍。

 

特点:

1,先进的日志机制,确保每个实际数据修改前,相应的日志已经写入硬盘。

2,高效的磁盘空间利用,对一些小文件不分配inode,而是打包存于一个磁盘分块。

3,快速的搜索定位,由于基于快速平衡树搜索(B*Tree,比B+Tree快很多)

4,支持海量磁盘,最大卷容量16TB,适合企业级应用

5,优异的性能,高效存储,快速小文件I/O,单个文件尺寸8G

6,对于大量文件的巨型文件系统搜索速度比ext2快

7,ReiserFS里的目录是完全动态分配的,因此不存在ext2中常见的无法回收巨型目录占用的磁盘空间的情况。ReiserFS里小文件(< 4K)可以直接存储进树,小文件读取和写入的速度更快,树内节点是按字节对齐的,小的文件可共享同一个硬盘块,节约大量空间。Ext2使用固定大小的块分配策略,也就是说,不到4K的小文件也要占据4K的空间,导致的空间浪费比较严重。

缺点:

出现异常断电的时候,会出现大量的未写入完全的数据。ReiserFS会在恢复的时候进行rebuild-tree。而这个过程是非常慢的。在ReiserFS的升级版本Reiser4中有所改观。

xfs

高性能64位日志文件系统,最大支持8exbibytes-1个字节单文件,32位linux文件以及文件系统都会被限制在16TB。

特点:

1,开启日志功能,磁盘文件不会因意外宕机而被破坏,文件系统可以根据所记录的日志快速恢复文件内容

2,查询和分配存储空间快

3,可扩展性强,对特大文件以及小文件的支持表现出众,

4,能以接近裸设备I/O的性能存储数据

缺点:

历史上XFS上的元数据操作曾比其它文件系统都慢,表现为在删除大量小文件时性能糟糕。

ext3

是一个日志文件系统,常用于Linux操作系统。它是很多Linux发行版的默认文件系统。虽然它的性能(速度)不如它的竞争对手,例如JFS2,ReiserFS和XFS,但它具有重要的优势,那就是它允许在适当的时候从流行的ext2文件系统升级,而无需备份和恢复数据;除此之外,它还具有比ReiserFS和XFS更低的的CPU使用率[1]

特点:

1,日记

(慢,但风险小)元数据和文件内容都在提交到主文件系统前写入。这样将提高稳定性但性能上有所损失,因为所有的数据都要写入2次。如果没有在/etc/fstab 中加上这个选项,修改中的档案遇上 kernel panic 或突然断电的时候就可能发生损毁的情况,当然,这还是得看软体是怎么写入档案的。

2,顺序

(中速,中等风险)顺序和写回类似,但在对应的元数据标记为提交前,强制写入文件内容。这是很多Linux发行版默认的方式。

3,回写

(快,但风险最大;在某种感觉上和ext2相当): 这边会写入日志的只有 metadata 而已,档案的内容并不会跟着写入日志里面。这样的作法让整个效率变快了不少,不过也同样造成了档案写入时不按顺序的结果。举例来说,档案在附加变大的同时发生了 crash 的情况,就可能造成下次挂载时档案后面就附加一堆垃圾数据的情况。

尽管ext3缺少一些当代文件系统的特点,像是动态的inode、树状的资料储放结构等等,都是被视作ext3的缺点之一,不过在这些特点之外,ext3在文件系统回复上面就有了很好的表现。跟树状结构的文件系统相比,在ext3上面metadata是放在固定的位置,而且在写入的同时会重复写入的一些资料让ext2/3在面临资料损毁的情况下还有挽回的机会。

 

缺点:

Ext3在写入日志时,并不做校验和。如果barrier=1没有作为加载参数(在文件/etc/fstab),并且如果硬件在无次序的写入缓存,在崩溃时会严重损坏文件系统

 

参考:

文件系统

日志文件系统

分享到:
评论

相关推荐

    多文件整理软件v1.1免费绿色版

    多文件整理软件是一款好用的文件管理工具,该软件能够帮助用户轻松整理大量琐碎的数据或图片文件,软件方便简单,功能强大,感兴趣的朋友千万不要错过了。 软件特色: 1、此工具默认是软件的运行目录,可进行选择...

    琐碎打包工具 V1.81

    如果你有许多小的文档、编程用的源代码、小图片等等琐碎的东西,弃之可惜,长期放在各个文件夹里又显零乱,偶而要用找起来也麻烦,琐碎打包工具可以帮助你将这些琐碎打包成一个chm文件,还可以加上说明页,既有目录...

    C++学习的琐碎点

    C++学习过程的琐碎点和注意点,不断总结中。

    数据库人事管理系统课程设计报告.doc

    —-————-—————-—----—--基本情况与需求分析 二、———-—--——-———--—-——-----——-—功能模块划分 三、——-—----——————————-------—--概念结构设计 四、--——-—-———---——-...

    基于Android操作系统的智能手机开发

    4. 加分系统——击中敌方汽车或是吃到宝贝(几种不同的汽车分数不同) 5. 障碍物——汽车隐身(草坪)、子弹击破(砖墙)、子弹打不破(铁墙) 6. 音效snd1—snd2格式为midi用于过场音乐及子弹发射、爆炸音效

    Matlab系列--记录一些琐碎的matlab机器学习程序.zip

    Matlab系列--记录一些琐碎的matlab机器学习程序

    3Dmax插件——CG模宝

    在专业建模渲染方面有显著作用,集整理、杀毒、场景、材质、灯光、渲染等多功能于一体。它的问世旨在让琐碎繁杂的的操作自动化解决,助力三维设计师。提高工作效率、简化工作流、降低渲染时长。让您能更专注于艺术...

    无损合并视频文件 V5.32

    Boilsoft Video Joiner 将琐碎影片按顺序作结合整理,这个软件可以帮助你把零散的影片文件组合成为一个大的影片文件,这个程序支持 AVI, MPEG, MPEG-4,DivX 以及 RM 格式影片,它可以将不同格式的影片组合。...

    清除C盘内的琐碎垃圾

    可以快速,简便清除C盘垃圾,并不留痕迹。

    企业类系统管理平台高保真原型_产品经理_原型模板_企业管理系统_产品管理系统

    主要涉及15个主页面,三个模块及17个子功能,包括消息、提醒、进度、角色切换、关闭选择、系统登录、系统首页、系统管理、系统列表、模块管理、系统设置、角色管理、角色添加、用户管理、用户添加、登录查询、权限...

    最好的CHM制作工具 琐碎打包1.8.1

    试过很多CHM的制作工具,都不是很好,就这个使用起来方便容易。

    变色龙EA-一键平仓系统

    变色龙一键平仓系统专为职业操盘手量身定制。方便操盘手对所有订单的统一管理。职业交易员的账户因为一些策略需求往往会有很多小订单或对冲订单。在某一时刻需要全部平仓,琐碎的订单有时候平起来很麻烦。一键平仓让...

    PHP那些琐碎的知识点(整理)

    今天小编给大家分享php那些琐碎的知识点,非常不错,具有参考借鉴价值,需要的朋友参考下吧

    嵌入式软件面试题整理.pdf

    本文档是在备战秋招、笔试和面试之后复盘整理的一些嵌入式软件常见题,包含C/C++、Linux、操作系统、算法、硬件总线和一些琐碎的知识点。该资源适合有笔试、面试需求的人进行使用,资源提供目录,可以先查看自己感...

    毕业设计-基于JAVA的springboot摄影跟拍预定管理系统(源代码+论文)

    但是管理好摄影跟拍预定又面临很多麻烦需要解决,例如有几个方面:第一,往往用户人数都比较多,如何保证能够管理到每一用户;第二,如何在工作琐碎,记录繁多的情况下将摄影跟拍预定的当前情况反应给领导相关部门决策等。...

    C#项目文件云存储平台(类百度网盘)+开题报告文档+需求文档+源码

    当前计算机行业工作者面临着文件繁杂琐碎,占用储存空间容量大的问题,需要一个云存储平台,而市面上现存的百度网盘等软件具有下载速度慢、容量有限等缺点,需要这样一个不限速、可自由扩大容量的云存储平台。...

    人事管理系统 数据库大作业.doc

    人事管理系统,属于ERP的一个部分。它单指汇集成功企业先进的人力资源管理理念、人力资源管理实践、人力资源信息化系统建设的经验,以信息技术实现对企业人力资源信息的高度集成化管理,为中国企业使用的人力资源...

    Oracle琐碎知识

    Oracle琐碎知识点,帮助学习和使用。

    NoteBook:整理面试琐碎知识点

    NoteBook整理面试琐碎知识点:fire::collision:常见排序算法PHP

    人事工资管理系统数据库设计.doc

    人事工资管理系统 1问题描述 1.1设计目的 ...3.1数据库介绍 所谓数据库(Database)就是指按一定组织方式存储在一起的,相互有关的若 干个数据的结合,数据库管理系统(database Management System)就是一种操纵和管理

Global site tag (gtag.js) - Google Analytics