精华内容
下载资源
问答
  • 常见的文件系统
    千次阅读
    2021-05-16 07:20:44

    在天下网吧-网吧系统-网吧天下栏目上一篇文章中,我们看到了:希望对各位网吧网管或者网吧维护,做网吧系统的各位大大有用,那么今天我们一起来看下:Linux系统里几种常见的文件系统格式

    在上一篇文章中我们向大家介绍了Windows中常见的三种文件系统格式,相信大家肯定都有所了解了吧!接下来我们要继续给大家介绍一下Linux系统里几种常见的文件系统格式,下面大家就跟着我们txwb网吧联盟的网吧系统栏目一起去看看吧!

    据我们从网上的了解,一般在Linux操作系统里常见的主要有Ext2、Ext3、Linuxswap和VFAT四种格式:

    首先说说Ext2:Ext2是GNU/Linux系统中标准的文件系统。

    这个可以说是Linux系统中使用最多的一种文件系统,它是专门为Linux设计的,拥有极快的速度和极小的CPU占用率。Ext2既可以用于标准的块设备(如硬盘),也被应用在软盘等移动存储设备上。

    关于Ext3:Ext3是Ext2的下一代,也就是说它在保有Ext2的格式之下再加上日志功能。这个分区格式被广泛应用在Linux系统中。

    Ext3是一种日志式文件系统,其最大的特点就是:它会将整个磁盘的写入动作完整的记录在磁盘的某个区域上,以便有需要时回溯追踪。当在某个过程中断时,系统可以根据这些记录直接回溯并重整被中断的部分,重整速度相当快。

    关于Linuxswap:是Linux中一种专门用于交换分区的swap文件系统。Linux系统主要是使用这一整个分区作为交换空间。

    一般情况下,这个swap格式的交换分区是主内存的2倍。在内存不够时,Linux会将部分数据写到交换分区上。

    VFAT也叫长文件名系统,这是一个与Windows系统兼容的Linux文件系统,支持长文件名,可以作为Windows与Linux交换文件的分区。

    以上就是Linux系统里几种常见的文件系统格式了,大家如果还有什么想知道的地方可以去本站的网吧系统栏目去查找,如果找不到相关内容,可以留言一起讨论,当然如果大家有什么好的资料也可以和我们一起分享哦!

    好了,关于【Linux系统里几种常见的文件系统格式】这个问题今天就说到这,有些地方说得不是很好,如果你有更好的补充请发表评论或者上网吧论坛提出吧。网吧论坛地址:http://bbs.txwb.com

    如果有下一页,请点击下一页哦,文章还没说完呢。

    欢迎访问最专业的网吧论坛,无盘论坛,网吧经营,网咖管理,网吧专业论坛https://bbs.txwb.com

    关注天下网吧微信,了解网吧网咖经营管理,安装维护 / 下载天下网吧APP,交流讨论

    本文来源:网络整理 作者:佚名

    更多相关内容
  • 常见文件系统

    千次阅读 2016-09-12 21:40:22
    常见文件系统 一、常见嵌入式根文件系统 1、JFFS文件系统 2、Jffs2: 日志闪存嵌入式系统文件系统版本2 (Journalling Flash FileSystem v2) 3、yaffs/yaffs2是专为嵌入式系统使用 NAND型闪存而设计的一种日志...

    常见文件系统

    一、常见嵌入式根文件系统

    1、JFFS文件系统

    2、Jffs2: 日志闪存嵌入式系统文件系统版本2 (Journalling Flash FileSystem v2)

    3、yaffs/yaffs2是专为嵌入式系统使用 NAND型闪存而设计的一种日志型文件系统。与jffs2相比,它减少了一些功能(例如不支持数据压缩),所以速度更快,挂载时间很短,对内存的占用较小。另外,它还是跨平台的文件系统,除了Linux和eCos,还支持WinCE, pSOS和ThreadX等。

    4、Cramfs是Linux的创始人 Linus Torvalds参与开发的一种只读的压缩文件系统。

    5、网络文件系统NFS (Network File System)、

    6、Linux还支持逻辑的或伪文件系统(logical or pseudo file system),例如procfs(proc文件系统),用于获取系统信息,以及devfs(设备文件系统)和sysfs,用于维护设备文件。

    文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。文件系统由三部分组成:文件系统的接口,对对象操纵和管理的软件集合,对象及属性。

    常见的文件系统

    1. FAT

    FAT是File Allocation Table的简称,是微软在Dos/Windows系列操作系统中共使用的一种文件系统的总称,FAt12、FAT16FAT32均是Fat文件系统FAT文件系统将硬盘分为MBR区、DBR区、FAT区、FDT区、DADT区等5个区域。

    2.NTFS

    NTFS文件系统是一个基于安全性的文件系统,是Windows NT所采用的独特的文件系统结构,它是建立在保护文件和目录数据基础上,同时照顾节省存储资源、减少磁盘占用量的一种先进的文件系统。

    3.CDFS

    CDFS是大部分的光盘的文件系统,只有小部分光盘使用其他文件系统。这些文件系统只能在CD-R或CD-RW上读取

    4.exFAT

    (全称Extended File Allocation Table File System,扩展FAT,即扩展文件分配表)是

    扩展文件分配表主界面

    Microsoft在Windows Embeded 5.0以上(包括Windows CE 5.0、6.0、Windows Mobile5、6、6.1)中引入的一种适合于闪存的文件系统,为了解决FAT32等不支持4G及其更大的文件而推出。对于闪存,NTFS文件系统不适合使用,exFAT更为适用。

    5.RAW

    RAW文件系统是一种磁盘未经处理或者未经格式化产生的的文件系统,一般来说有这几种可能造成正常文件系统变成RAW文件系统:

    ●没有格式化。

    ●格式化中途取消操作。

    ●硬盘出现坏道。

    ●硬盘出现不可预知的错误。

    ●病毒所致。

    6.Ext2 /Ext3 /Ext4 

    Ext是 GNU/Linux 系统中标准的文件系统,其特点为存取文件的性能极好,对于中小型的文件更显示出优势,这主要得利于其簇快取层的优良设计。 

    7.Btrfs

    Btrfs(通常念成Butter FS),由Oracle于2007年宣布并进行中的COW(copy-on-write式)文件系统。目标是取代Linux目前的ext3文件系统,改善ext3的限制,特别是单一文件大小的限制,总文件系统大小限制以及加入文件校验和特性。加入目前ext3/4未支持的一些功能,例如可写的磁盘快照(snapshots),以及支持递归的快照(snapshots of snapshots),内建磁盘阵列(RAID)支持,支持子卷(Subvolumes)的概念,允许在线调整文件系统大小。

    8.HFS

    分层文件系统(Hierarchical File System,HFS)是一种由苹果电脑开发,并使用在Mac OS上的文件系统。最初被设计用于软盘和硬盘,同时也可以在在只读媒体如CD-ROM上见到

    9.HFS+

    HFS+文件系统是目前的Apple电脑中默认的最常见的文件系统。HFS+来源于UNIX,但是又不用于UNIX,它增加了许多新的特性,同时也有许多不同于Windows、UNIX等系统的概念。HFS+是苹果公司为替代他们的分层文件系统(HFS)而开发的一种文件系统。它被用在macintosh电脑(或者其他运行Mac OS的电脑)上。它也是iPod上使用的其中一种格式。HFS+也被称为Mac OS Extended(或误称为“HFS Extended”)。HFS+是一个HFS的改进版本,支持更大的文件,并用Unicode来命名文件或文件夹,代替了Mac OS Roman或其他一些字符集. 和HFS一样,HFS+也使用B树来存储大部分分卷元数据。

     

    10.VMFS

    VMware Virtual Machine File System (VMFS )是一种高性能的群集文件系统,它使虚拟化技术的应用超出了单个系统的限制。VMFS的设计、构建和优化针对虚拟服务器环境,可让多个虚拟机共同访问一个整合的群集式存储池,从而显著提高了资源利用率。VMFS 是跨越多个服务器实现虚拟化的基础,它可启用VMware VmotionTM 、Distributed Resource Scheduler 和 VMware High Availability 等各种服务。VMFS 还能显著减少管理开销,它提供了一种高效的虚拟化管理层,特别适合大型企业数据中心。采用 VMFS 可实现资源共享,使管理员轻松地从更高效率和存储利用率中直接获益。

     


    展开全文
  • Linux下常见文件系统的对比

    千次阅读 2017-12-14 17:15:59
    本文将对Linux下常见的几种文件系统进行对比,包括ext2、ext3、ext4、XFS和Btrfs,希望能帮助大家更好的选择合适的文件系统。 内容来自于网上找的资料以及自己的一些经验,能力有限,错误在所难免,仅供参考 ...

    本文将对Linux下常见的几种文件系统进行对比,包括ext2、ext3、ext4、XFS和Btrfs,希望能帮助大家更好的选择合适的文件系统。

    内容来自于网上找的资料以及自己的一些经验,能力有限,错误在所难免,仅供参考

    历史

    文件系统创建者创建时间最开始支持的平台
    ext2 Rémy Card 1993 Linux,Hurd
    XFS SGI 1994 IRIX, Linux, FreeBSD
    ext3 Dr. Stephen C. Tweedie 1999 Linux
    ZFS Sun 2004 Solaris
    ext4 众多开发者 2006 Linux
    Btrfs Oracle 2007 Linux

    从创建时间可以看出他们所处的不同时代,因为Btrfs的实现借鉴自ZFS,所以这里也将ZFS列出来作为参考。

    大小限制

    文件系统最大文件名长度最大文件大小最大分区大小
    ext2 255 bytes 2 TB 16 TB
    ext3 255 bytes 2 TB 16 TB
    ext4 255 bytes 16 TB 1 EB
    XFS 255 bytes 8 EB 8 EB
    Btrfs 255 bytes 16 EB 16 EB

    最大文件和分区大小受格式化分区时所采用的块大小(block size)所影响,块越大,所支持的最大文件和分区越大,也越可能浪费磁盘空间,上表列出的数据基于4K的块大小。

    代码规模

    从代码规模可以看出文件系统的功能丰富程度以及复杂度,下面列出的数据来自于kernel-4.1-rc8,只是简单的用wc -l来统计,没有过滤空行、注释等。

    文件系统源文件(.c)头文件(.h)
    ext2 8363 1016
    ext3 16496 1567
    ext4 44650 4522
    XFS 89605 15091
    Btrfs 105254 7933
    • Btrfs还在快速的开发过程中,代码行数可能还有比较大的变化
    • XFS和Btrfs都使用了B-tree

    ext2

    ext的优点是比较简单,文件比较少时性能较好,比较适合文件少的场景,主要缺点如下

    • inode的数量是固定不变的,在格式化分区的时候可以指定inode和数据块所占空间的比例,但一旦格式化好,后续就没法再改变了
    • 当块大小为4K时,单个文件大小不能超过2TB,分区大小不能超过16TB(目前硬盘大小一般都只有几TB,所以也不是什么大问题,)
    • 一个目录下最多只能有32000个子目录
    • 由于目录里面存储的文件和子目录都是以线性方式来组织的,所以遍历目录效率不高,尤其当目录下文件个数达到10K以上规模的时候,速度会明显的变慢
    • 当底层的磁盘分区空间变大时(使用LVM时很常见),ext2没法动态的扩展来使用增加的空间
    • 没有日志(Journal)功能,所以数据的安全性不高

    ext3

    ext3在ext2的基础上实现了下面几个功能,其它的都保持不变,即ext2的缺点ext3也有

    • 支持日志(Journal)功能,数据的安全性较ext2有很大的提高
    • 当底层的分区空间变大时,ext3可以自动扩展来使用增加的空间
    • 使用HTree来组织目录里面的文件和子目录,使目录下的文件和子目录数不再受性能限制(数量超过10K也不会有性能问题)

    ext4

    ext4借鉴了当前成熟的一些文件系统技术,在ext3上增加了一些功能,并且对性能做了一些改进,主要变化如下

    • 当块大小为4K时,支持的最大文件和最大分区大小分别达到了16TB和1EB
    • 不再受32000个子目录数的限制,支持不限数量的子目录个数
    • 支持Extents,提高了大文件的操作性能
    • 内部实现上支持一次分配多个数据块,较ext3的性能有所提高
    • 支持延时分配(即支持fallocate函数)(fallocate是libc的函数,在不支持该功能的文件系统上,libc会创建一个占用磁盘空间文件)
    • 支持在线快速扫描
    • 支持在线碎片整理(单个文件或者整个分区)
    • 日志(Journal)支持校验码(checksum),数据的安全性进一步提高
    • 支持无日志(No Journaling)模式(ext3不支持该功能),这样就和ext2一样,消除了写日志对性能的影响
    • 支持纳秒级的时间戳
    • 记录了文件的创建时间,由于相关的应用层工具还不支持,所以只能通过debug的方式看到文件的创建时间

    这里是一个查看文件/etc/fstab创建时间的例子(文件存在/dev/sda1分区上):

     
    1. dev@ubuntu:~$ ls -i /etc/fstab 
    2. 10747906 /etc/fstab 
    3. dev@ubuntu:~$ sudo debugfs -R 'stat <10747906>' /dev/sda1 
    4. Inode: 10747906   Type: regular    Mode:  0644   Flags: 0x80000 
    5. Links: 1   Blockcount: 8 
    6. ctime: 0x5546dc54:6e6bc80c -- Sun May  3 22:41:24 2015 
    7.  atime: 0x55d1b014:8bcf7b44 -- Mon Aug 17 05:57:40 2015 
    8.  mtime: 0x5546dc54:6e6bc80c -- Sun May  3 22:41:24 2015 
    9. crtime: 0x5546dc54:6e6bc80c -- Sun May  3 22:41:24 2015 
    10. Size of extra inode fields: 28 
    11. EXTENTS: (0):46712815  

    Extents: 在最开始的ext2文件系统中,数据块都是一个一个单独管理的,inode中存有指向数据块的指针,文件占用了多少个数据块,inode里面就有多少个指针(多级),想象一下一个1G的文件,4K的块大小,那么需要(1024 * 1024)/4=262144个数据块,即需要262144个指针,创建文件的时候需要初始化这些指针,删除文件的时候需要回收这些指针,影响性能。现代的文件系统都支持Extents的功能,简单点说,Extent就是数据块的集合,以前一次分配一个数据块,现在可以一次分配一个Extent,里面包含很多数据块,同时inode里面只需要分配指向Extent的指针就可以了,从而大大减少了指针的数量和层级,提高了大文件操作的性能。

    inode数量固定: 在ext2/3/4系列的文件系统中,inode的数量都是固定的,坏处是如果存很多小文件的话,有可能造成inode被用光,但磁盘还有很多剩余空间无法被使用的情况,不过它也有一个好处,就是一旦磁盘损坏,恢复起来要相对简单些,因为数据在磁盘上布局相对要固定简单。

    xfs

    和ext4相比,xfs不支持下面这些功能

    • 不支持日志(Journal)校验码
    • 不支持无日志(No Journaling)模式
    • 不支持文件创建时间
    • 不支持数据日志(data journal),只有元数据日志(metadata journal)

    但xfs有下面这些特性

    • 支持的最大文件和分区都达到了8EB
    • inode动态分配,从而不受inode数量的限制,再也不用担心存储大量小文件导致inode不够用的问题了。
    • 更大的xattr(extended attributes)空间,ext2/3/4及btrfs都限制xattr的长度不能超过一个块(一般是4K),而xfs可以达到64K
    • 内部采用Allocation groups机制,各个group之间没有依赖,支持并发操作,在多核环境的某些场景下性能表现不错
    • 提供了原生的dump和restore工具,并且支持在线dump

    btrfs

    btrfs是一个和ZFS类似的文件系统,支持的功能非常多,据说将来会替换ext4成为Linux下的默认文件系统。这里列举一些重要的功能

    • 支持的最大文件和分区达到了16EB
    • 支持COW(copy on write)
    • 针对小文件和SSD做了优化
    • inode动态分配
    • 支持子分区(Subvolumes),子分区可以单独挂载
    • 支持元数据和数据的校验(crc32)
    • 支持压缩,去重
    • 支持多个磁盘和分区,可动态扩展
    • 支持LVM,RAID的功能(有了btrfs,就不再需要lvm和软raid了)
    • 增量备份和恢复
    • 支持快照
    • 将ext2/3/4转换成btrfs(反过来不行)

    btrfs最大的缺点就是由于其COW的实现方式,导致碎片化问题比较严重,不太适合频繁写的场景,比如数据库、虚拟机的磁盘文件等。不过大部分场合不需要担心,btrfs有在线的碎片整理工具。

    如何选择

    下表仅供参考

    文件系统适用场景原因
    ext2 U盘 U盘一般不会存很多文件,且U盘的文件在电脑上有备份,安全性要求没那么高,由于ext2不写日志(journal),所以写U盘性能比较好。当然由于ext2的兼容性没有fat好,目前大多数U盘格式还是用fat
    ext3 对稳定性要求高的地方 有了ext4后,好像没什么原因还要用ext3,ext4现在的问题是出来时间不长,还需要一段时间变稳定
    ext4 小文件较少 ext系列的文件系统都不支持inode动态分配,所以如果有大量小文件需要存储的话,不建议用ext4
    xfs 小文件多或者需要大的xttr空间,如openstack swift将数据文件的元数据放在了xttr里面 xfs支持inode动态分配,所以不存在inode不够的情况,并且xttr的最大长度可以达到64K
    btrfs 没有频繁的写操作,且需要btrfs的一些特性 btrfs虽然还不稳定,但支持众多的功能,如果你需要这些功能,且不会频繁的写文件,那么选择btrfs

    另外,ext系列文件系统内部结构相对简单一些,出问题后恢复相对容易。

    结束语

    本篇没有比较它们的性能,在通常情况下,他们之间没有太大的性能差别,只有在特定的场景下,才能看出区别,如果对性能比较敏感,建议根据自己的使用场景来测试不同的文件系统,然后根据结果来选择。

    展开全文
  • 常见文件系统的格式

    万次阅读 2015-08-28 16:56:57
    文件系统(File System)是文件管理系统的简称,根据维基百科的描述,文件系统是用来组织数据在存储介质上的存储方式以及检索方式的。没有文件系统,信息在存储介质上会是一个很大的信息块

    写这篇博客的原因是,今天买了一块移动硬盘(NTFS格式的),然后发现,在Mac OS X下,硬盘里的文件是只读的,不能像里面写入数据,于是就整理了一下几种不同文件系统的区别。

    本文的大部分内容来源于维基百科,由笔者进行整理,由于知识水平有限,有些理解可能有偏差,具体以原文为准(文中已标记了出处),本文内容仅供参考

    文件系统的概念

    wikipedia文件系统

      文件系统(File System)是文件管理系统的简称,根据维基百科的描述,文件系统是用来组织数据在存储介质上的存储方式以及检索方式的。没有文件系统,信息在存储介质上会是一个很大的信息块,没法知道一条信息什么时候会结束,也没法知道信息在什么时候开始,对信息的管理就会十分的麻烦。

      文件系统的种类有很多,每一种文件系统的结构,逻辑,存取速度,灵活性,安全性,大小,等等都不一样。

      文件系统可以被使用在很多不同的存储设备(storage devices)上,这些存储设备使用不同的媒介(media),比如磁带,移动硬盘,闪存等,有时候,计算机的主存(RAM)甚至会创建一个临时的文件系统来临时使用。

      总之,文件系统的类别有很多,也很复杂,又想弄明白文件系统的原理,需要学习的东西有很多,这里只介绍一些平时在使用不同的操作系统时可能用到的一些知识,几种不同系统下的常见文件系统格式。

    常见文件系统的格式

    windows系统常见的文件系统

    1. FAT

      wikipedia FAT文件系统

        FAT(File Allocation Table)文件系统诞生于1977年,它最初是为软盘设计的文件系统,但是后来随着微软推出dos和win 9x系统,FAT文件系统经过适配被逐渐用到了硬盘上,并且在那时的20年中,一直是主流的文件系统。

        后来随着硬件技术的进步,硬盘的容量也越来越大,这种文件格式逐渐被扩展了,出现了FAT12,FAT16,FAT32等文件系统,甚至后来还出现了FAT64的文件系统。

        在今天,FAT已经不是windows系统的主流文件系统了,但是它在软盘,闪存(u盘),以及很多嵌入式设备上还是很常见的。

        详细的情况wikipedia上有几张表,相关信息都可查看到。
        目前最通用的的是FAT32,很多U盘上都是FAT32格式,关于FAT32文件系统,以下几点值得注意:

      • 单个文件最大为4G
      • 最大文件数量268,435,437
      • 分区最大容量8TB
      • 可在多种操作系统读写

      有时候,我们向U盘拷贝大文件时,会发现拷不进去,实际上就是因为这个U盘是FAT32格式的。

    2. NTFS

        NTFS全称是New Technology File System,它是一种比FAT32功能更加强大的文件系统。
        从windows 2000之后的windows系统的默认文件系统都是NTFS,而且这些windows系统只能够安装在NTFS格式的磁盘上。
      NTFS具有以下特点:

      • 理论上最大文件尺寸可达16EB-1KB,实际上有16TB-64KB(1EB = 1024PB 1PB = 1024TB,至于理论和实际为什么差这么多,没有进行过深入研究,有可能是现在的科技还不足以制造出这么大的磁盘的)
      • 最大文件数量可达232-1个
      • 操作系统支持大部分windows系统,Unix/Linux系统,Mac OS(在Mac OS 10.4+系统上,NTFS格式是只读的,即在Mac系统下,你只能从NTFS格式的磁盘上读取数据,而不能写入数据)
      • NTFS系统是一个日志性的文件系统,系统中对文件的操作都可以被记录下来,当系统崩溃之后,利用日志功能可以修复数据

      由于在Mac系统下,ntfs是只读的,所以要想在Mac下想ntfs格式的硬盘写入数据,要装一个插件Paragon NTFS,但据说不是太稳定。
    3. ExtFAT

       ExFAT(Extended File Allocation Table)又叫FAT64,看名字就知道它是对FAT文件系统的扩展。
      E下FAT是虽然也是微软开发的文件系统,但说它是windows下的文件系统并不合适,它是专门为闪存盘设计的文件系统,单个文件突破了4G的限制,而且分区的最大容量可达64ZB(比EB大一级的),建议512TB。
      ExFAT在windows,Linux以及Mac系统上,都可以读写,作为U盘或者是移动硬盘的格式还是比较合适的。

    Mac OS系统常见的文件系统

    1. HFS/HFS+
        HFS全称叫分层文件系统(Hierarchical File System,HFS),诞生于1985年,最初被设计用于软盘和硬盘,同时也可以在在只读媒体如CD-ROM上见到。
        HFS+是一个HFS的改进版本,支持更大的文件,并用Unicode来命名文件或文件夹,代替了Mac OS Roman或其他一些字符集。
        HFS+的最大文件尺寸可以达到8EB,文件数量可以达到232 - 1个。
         由于这两种文件格式是苹果专有的文件系统,所以在windows系统下,是看不到HFS分区的。

    Linux系统常见的文件系统

       这几种文件系统wikipedia上资料也不多,所以就直接拷过来了。

    1. Ext2
        wikipedia英文:https://en.wikipedia.org/wiki/Ext2
        wikipedia中文:https://zh.wikipedia.org/wiki/Ext2

        第二代扩展文件系统(英语:second extended filesystem,缩写为 ext2),是LINUX内核所用的文件系统。它开始由RémyCard设计,用以代替ext,于1993年1月加入linux核心支持之中。ext2的经典实现为LINUX内核中的ext2fs文件系统驱动,最大可支持2TB的文件系统,至linux核心2.6版时,扩展到可支持32TB。其他的实现包括GNU Hurd,Mac OS X (第3方),Darwin(第3方),BSD。
        ext2为数个LINUX发行版的默认文件系统,如Debian、Red Hat > Linux等。

    2. Ext3
        wikipedia英文:https://en.wikipedia.org/wiki/Ext3
        wikipedia中文:https://zh.wikipedia.org/wiki/Ext3

        第三代扩展文件系统(英语:Third extended filesystem,缩写为ext3),是一个日志文件系统,常用于Linux操作系统。它是很多Linux发行版的默认文件系统。Stephen Tweedie在1999年2月的内核邮件列表[2]中,最早显示了他使用扩展的ext2,该文件系统从2.4.15版本的内核开始,合并到内核主线中[3]。
        它的性能(速度)不如它的竞争对手,例如JFS2,ReiserFS和XFS,但它具有重要的优势,那就是它允许在适当的时候从流行的ext2文件系统升级,而无需备份和恢复数据;除此之外,它还具有比ReiserFS和XFS更低的的CPU使用率。
        尽管Ext3相对于Ext2有了不少的优势,但是它还是有一些劣势:
      (1)ext3会在删除文件时把文件的节点(inode)中的块指标清除。这样做可以在unclean载入文件系统后,重放日志时,可以减少对文件系统的访问。但也同样也增加了文件在反删除上面的困难。用户唯一的补救是在硬盘中捞取数据,并且要知道文件的起始到结束的块指标。尽管提供了比 ext2在删除文件上稍微高一些的安全性,却也无可避免的带来了不便之处。
      (2)Ext3不支持透明压缩(Ext2以非官方补丁支持)。
      (3)大小限制,见下表。

      块尺寸最大文件尺寸最大文件系统尺寸
      1KB16GB2TB
      2KB256GB8TB
      4KB2GB16TB
      8KB16GB32TB

      (4)Ext3在写入日志时,并不做校验和。如果barrier=1没有作为加载参数(在文件/etc/fstab),并且如果硬件在无次序的写入缓存,在崩溃时会严重损坏文件系统(该选项在大多数流行的Linux发行版中都没有被启用,所以大多数发行版的处境都很危险。)

    3 . Ext4
      wikipedia英文:https://en.wikipedia.org/wiki/Ext4
      wikipedia中文:https://zh.wikipedia.org/wiki/Ext4
    Ext4具有以下特点

    • 大型文件系统
        ext4文件系统可支持最高1 Exbibyte的分区[6]与最大16 Tebibyte的文件。
    • Extents
        ext4引进了Extent文件存储方式,以替换ext2/3使用的block mapping方式。Extent指的是一连串的连续实体block,这种方式可以增加大型文件的效率并减少分裂文件。ext4支持的单一Extent,在单一block为4KB的系统中最高可达128MB[1]。单一inode中可存储4笔Extent;超过四笔的Extent会以Htree方式被索引。
    • 向下兼容
        ext4向下兼容于ext3与ext2,因此可以将ext3和ext2的文件系统挂载为ext4分区。由于某些ext4的新功能可以直接运用在ext3和ext2上,直接挂载即可提升少许性能。
      ext3文件系统可以部分向上兼容于ext4(也就是说ext4文件系统可以被挂载为ext3分区)。然而若是使用到Extent技术的ext4将无法被挂载为ext3。
    • 预留空间
        ext4允许对一文件预先保留磁盘空间。目前大多数文件系统做到这点的方式是直接产生一个填满0的文件;ext4和XFS可以使用Linux核心中的一个新的系统调用“fallocate()”获取足够的预留空间。
    • 延迟获取空间
        ext4使用一种称为allocate-on-flush的方式,可以在数据将被写入磁盘(sync)前才开始获取空间;大多数文件系统会在之前便获取需要的空间。这种方式可以增加性能并减少文件分散程度。
    • 突破32000子目录限制
        ext3的一个目录下最多只能有32000个子目录。ext4的子目录最高可达64000,且使用“dir_nlink”功能后可以达到更高(虽然父目录的link count会停止增加)。为了避免性能受到大量目录的影响,ext4默认打开Htree(一种特殊的B树)索引功能。该功能已经实现于Linux核心2.6.23版。
    • 日志校验和
        Ext4使用校验和特性来提高文件系统可靠性,因为日志是磁盘上被读取最频繁的部分之一。这个特性还有一个好处就是可以安全地避免日志处理时磁盘I/O的等待,而稍微提高一些性能。日志校验和的技术源于威斯康辛大学的一篇名为IRON File Systems的研究论文(见第六节 transaction checksums校验和处理)[7]
    • 在线磁盘整理
        对于在线磁盘整理工具有许多草案,但是这些草案都没有被包含在主流的内核当中。即使Ext4包含有许多避免磁盘碎片的技术,但是磁盘碎片还是难免会在一个长时间使用过的文件系统中存在。Ext4将会有一个具有磁盘整理功能的工具[8]。
    • 快速文件系统检查
        Ext4将未使用的区块标记在inode当中,这样可以使诸如e2fsck之类的工具在磁盘检查时将这些区块完全跳过,而节约大量的文件系统检查的时间。这个特性已经在2.6.24版本的Linux内核中实现。

    展开全文
  • Linux系统中常见文件系统格式

    万次阅读 2018-06-24 18:15:00
    Linux系统中常见文件系统格式 Windows常用的分区格式有三种,分别是FAT16、FAT32、NTFS格式。 在Linux操作系统里有Ext2、Ext3、Linux swap和VFAT四种格式。 FAT16: 作为一种文件名称,FAT(File Allocation Table...
  • windows常见文件系统

    千次阅读 2020-02-20 18:04:37
    windows常见文件系统
  • linux常见文件系统类型

    万次阅读 2018-07-01 22:41:54
    msdos: dos文件系统类型vfat:支持长文件名的dos分区文件系统,可以理解为winds文件系统类型iso9660: 光盘格式文件系统ext2/ext3/ext4: linux下主流的文件系统xfs: linux下一种高性能的日志文件系统,在centos7.x...
  • 本章我们来分析下常见文件系统对比分析,这里我们主要讲解NFS、GFS、NAS相关概念及区别。 《一》NFS NFS 是Network File System的缩写,中文解释是网络文件系统,它是FreeBSD支持的文件系统中的一种,它允许网络中...
  • Linux文件系统有哪些

    千次阅读 2022-03-25 10:39:05
    操作系统就是处理各种数据的,这些数据在硬盘上就是二进制,人类肯定不能直接看懂这些二进制数据,要有一个翻译器,将这些二进制的数据还原为人类能看懂的文件形式,这个工作就是由文件系统来完成的,文件系统的目的...
  • Linux环境下常用的四种文件系统

    千次阅读 2021-05-10 05:11:36
    Linux环境下几种常用的文件系统1、ext2ext2是为解决ext文件系统的缺陷而设计的可扩展的、高性能的文件系统,又被称为二级扩展文件系统。它是Linux文件系统中使用最多的类型,并且在速度和CPU利用率上较为突出。ext2...
  • 文件系统的分类

    千次阅读 2019-09-09 08:51:56
    Linux是一种兼容性很高的操作系统,支持的文件系统的格式很多,大体可以...常见文件系统格式有:EXT3、EXT4、VFAT、FAT、FAT16、FAT32、NTFS等;其中,NTFS是Windows目前主流的文件系统,作为电脑磁盘的主要文件系...
  • Linux如何分析和排查系统故障——排除文件系统类故障前言:文件系统及磁盘中所存储的数据的价值是无法估量的,管理员的工作职责之一就是要确保数据的安全。由于磁盘属于易损耗品,无法预估它什么时候会损坏。最好的...
  • Linux系统中常见文件系统有哪些?

    千次阅读 2021-05-08 23:10:48
    Linux系统是现在非常受欢迎的操作系统,在Linux之中,一切都是文件,因为有很多操作都是依靠文件系统才可以完成的,而且文件系统可以满足用户正常的使用,那么Linux中常见文件系统有哪些?为大家介绍一下。总体来说...
  • Windows文件系统

    千次阅读 2020-11-08 09:05:10
    文章目录0x01 文件系统概念0x02 常见文件系统FAT文件系统(windows)NTFS文件系统(windows)ExFAT(windows MACos linux)HFS/HFS+(MAC OS专用)EXT(3,4)(linux)XFS(linux)0x03 NTFS相对于FAT的优势容错性...
  • 常见的分布式文件系统介绍

    千次阅读 2018-10-08 10:34:53
    常见的分布式文件系统有GFS、HDFS、Lustre 、Ceph 、GridFS 、mogileFS、TFS、FastDFS等。各自适用于不同的领域。它们都不是系统级的分布式文件系统,而是应用级的分布式文件存 储服务。 Google学术论文,这是众多...
  • FAT文件系统诞生于1977年,它最初是为软盘设计的文件系统,但是后来随着微软推出dos和win 9x系统,FAT文件系统经过适配被逐渐用到了硬盘上,并且在那时的20年中,一直是主流的文件系统。 后来随着硬件技术的进步...
  • 导读: ... 大家可以关注我个人公众号,所有分享内容,会在公众号第一时间推送,且阅读排版更好。 愿大家的学习,轻松且愉快。 如果大家觉得有用,希望...其中,我们提到:如果其他外部公司要与自己企业内部的系统有...
  • windows下三种常见文件系统

    万次阅读 2017-11-15 16:46:00
    windows下常见的有三种文件系统格式,FAT 、FAT32和NTFS,简单说明一下它们的区别. 一:FAT与FAT32 基于MS-DOS,Win 95等系统都采用了FAT16文件系统。在Win 9X下,FAT16支持的分区最大为2GB。计算机将信息保存在硬盘...
  • Linux文件系统详解

    万次阅读 多人点赞 2019-05-29 16:07:53
    从操作系统的角度详解Linux文件系统层次、文件系统分类、文件系统的存储结构、不同存储介质的区别(RAM、ROM、Flash)、存储节点inode。本文参考: http://blog.chinaunix.net/uid-8698570-id-1763151.html ...
  • Windows系统文件命名常见规则

    千次阅读 2021-10-04 11:34:52
    如何取一个合理的windows系统文件名称
  • NTFS文件系统

    千次阅读 2019-02-01 15:03:41
    目录 文件系统介绍 ... 文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理...
  • ramdisk文件系统的介绍与制作

    万次阅读 2016-09-23 20:21:57
     文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)分区上的文件的存储方法和数据结构,即在存储设备上组织文件的方法。  看了这个概念如果有些懵,下面用两个例子来说明。  a...
  • 【Linux】文件系统管理

    万次阅读 多人点赞 2022-03-09 08:18:53
    Linux入门笔记之文件系统管理
  • Linux环境下几种常用的文件系统

    万次阅读 2018-05-24 11:06:15
    Linux环境下几种常用的文件系统:1、ext2 ext2是为解决ext文件系统的缺陷而设计的可扩展的、高性能的文件系统,又被称为二级扩展文件系统。它是Linux文件系统中使用最多的类型,并且在速度和CPU利用率上较为突出。...
  • 数据库系统和文件系统的区别与联系

    万次阅读 多人点赞 2019-04-23 22:03:30
    写在前面     ...其软件主要包括操作系统、各种宿主语言、实用程序以及数据库管理系统。         数据库由数据库管理系统统一管理...
  • 制作嵌入式Linux根文件系统

    千次阅读 多人点赞 2018-09-29 17:17:43
      常见的可用于根文件系统类型有ramdisk 、cramfs、jffs2 、yaffs/yaffs2和 ubifs等,各类型的特性如表所列。 类型 介质 是否压缩 是否可写 掉电保存 存在于RAM中 Ramdisk 是 ...
  • linux概念之分区与文件系统

    万次阅读 2018-08-28 16:53:18
    Linux系统分区概念 2015年05月19日 15:26:01 阅读数:4660 标签: Linux 系统分区 更多 个人分类: Linux  在学习 Linux 的过程中,安装 Linux 是每一个初学者的第一个门槛。在这个过程中间,最大的困惑莫过于...
  • Linux系统管理---xfs文件系统--centos7

    万次阅读 2022-02-15 19:09:53
    一、XFS文件系统: 从centos7开始,默认的文件系统从ext4变成了XFS。随着虚拟化的应用越来越广泛,作为虚拟化磁盘来源的大文件(单个文件几GB级别)越来越常见。XFS每个单个文件系统量最大支持8eb,单个文件可以...
  • 盘点分布式文件存储系统

    千次阅读 2021-02-08 22:14:23
    在项目的数据存储中,结构化数据通常采用关系型数据库,非结构化数据(文件)的存储就有很多种方式,服务器本地存储、Nas挂载、ftp等等,今天就来盘点一下,分布式文件存储系统

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,029,319
精华内容 411,727
关键字:

常见的文件系统