一篇带大家了解所谓的分区(文件系统)

ᅟᅠ    随着硬件的发展和软件技术的进步,现在的计算机设备不论从硬件还是从系统软件上来说都出现了百花齐放。早期的Windows可能还需要在Fat32及NTFS之间选择,但现在Windows 和 Mac OS X 用户对于文件系统,只有一种选择,那就是 NTFS 和 APFS。相反,对于大部分使用 Linux 系统内核的计算机设备而言,就有很多种文件系统让我们来选择了。目前Linux支持的文件系统主流的有 ext4、xfs、 btrfs和zfs。今天这篇文章,就是给大家做一个文件系统方面的知识普及;

ᅟᅠ    首先让我们对文件系统有一个简单的认识,然后我再对一些文件系统做一个详细的介绍。

一、什么是文件系统

ᅟᅠ    文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。
ᅟᅠ    从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,文件系统是定义并实现了数据在存储介质(如硬盘等)上的存储方式和结构,以及其是如何被访问的,如索引、读取等。
ᅟᅠ    在操作系统里,硬盘中的数据被抽象的定义成一个文件的形式,并对其进行管理,比如为一块或多块数据关联一个文件名等,这些用于管理文件的数据结构(以及其对应的规则)为文件系统。随着技术的发展,现代的文件系统特性也越来越多,如好多文件系统,支持快照、子卷、校验和自检、软RAID甚至透明压缩等。

二、什么是文件分区

ᅟᅠ   在早期 MS-DOS 的 FAT 文件系统中,引入了“卷”的概念,可以支持将一个物理磁盘分成四个逻辑磁盘,每个逻辑磁盘就是一个卷(也称为分区),也就是说每个卷都是一个能够被单独格式化和使用的逻辑单元,供文件系统分配空间时使用。
ᅟᅠ   文件系统分区就是将硬盘划分为多个逻辑区域的过程,每个分区可以视为一个独立的存储设备,拥有自己的文件系统和存储空间。‌ 分区的目的包括方便数据组织和管理、减少文件碎片、提升访问速度、提高系统安全和稳定性,以及简化备份和恢复过程。‌
ᅟᅠ    通过将硬盘划分为分区,数据会被分隔以及重组。当事故发生的时候,只有存储在被损坏分区上的数据会被破坏,很大可能上其它分区的数据能得以保留。因此操作系统部分损坏并不意味着整个计算机就有风险或者会受到破坏。如果用户如果用户把数据保存在不同的分区,那么就只有那个分区会受到影响,而系统分区或者其它数据分区仍能正常运行。这也是当前采用分区的一个最重要因素。

三、有那些文件系统

FAT

ᅟᅠ    是一种由微软发明的并带有部分专利的文件系统,供MS-DOS使用,也是非NT内核的微软窗口使用的文件系统。后来随着微软系统的更新逐步退出FAT16和FAT32。在Win 9X时代,FAT16支持的分区最大为2GB。我们知道计算机将信息保存在硬盘上称为“簇”的区域内。使用的簇越小,保存信息的效率就越高。在FAT16的情况下,分区越大簇就相应的要大,存储效率就越低,势必造成存储空间的浪费。并且随着计算机硬件和应用的不断提高,FAT16文件系统已不能很好地适应系统的要求。在这种情况下,推出了增强的文件系统FAT32。同FAT16相比,FAT32主要具有以下特点:
ᅟᅠ    1.FAT32最大的优点是可以支持的磁盘大小达到32GB,但是不能支持小于512MB的分区。基于FAT32的Win 2000可以支持分区最大为32GB;而基于 FAT16的Win 2000支持的分区最大为4GB。
ᅟᅠ    2.由于采用了更小的簇,FAT32文件系统可以更有效率地保存信息。如两个分区大小都为2GB,一个分区采用了FAT16文件系统,另一个分区采用了FAT32文件系统。采用FAT16的分区的簇大小为32KB,而FAT32分区的簇只有4KB的大小。这样FAT32就比FAT16的存储效率要高很多,通常情况下可以提高15%。
ᅟᅠ    3.FAT32文件系统可以重新定位根目录和使用FAT的备份副本。另外FAT32分区的启动记录被包含在一个含有关键数据的结构中,减少了计算机系统崩溃的可能性。

NTFS

ᅟᅠ   ‌NTFS(New Technology File System)是一种由微软公司开发的文件系统,首次出现在Windows NT 3.1中,主要用于Windows NT系列操作系统。‌ NTFS特别为网络和磁盘配额、文件加密等管理安全特性设计,提供了长文件名、数据保护和恢复等功能,并支持跨越分区。‌NTFS可以支持的MBR分区(如果采用动态磁盘则称为卷)最大可以达到2TB,GPT分区则无限制。而Win 2000中的FAT32支持单个文件的大小最大为2GB。
NTFS的特点
‌ ᅟᅠ   ‌安全性‌:NTFS支持文件和目录权限,可以通过目录和文件许可实现安全性。
ᅟᅠ   ‌‌数据保护‌:NTFS是一个复杂的日志式文件系统,提供了高级数据结构,以改善性能、可靠性和磁盘空间利用率。
‌ ᅟᅠ   ‌高级功能‌:NTFS支持元数据,提供了若干附加扩展功能,如支持对分区、文件夹和文件的压缩、文件加密管理功能,能够为用户提供更高层次的安全保证。
‌ ᅟᅠ   ‌兼容性‌:NTFS是Windows 2000、Windows XP、Windows Vista、Windows 7、Windows 8、Windows 10等版本的操作系统的默认文件系统。

CDFS

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

exFAT

‌ ᅟᅠ   ‌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更为适用。请注意:exFAT只是一个折中的方案,只为U盘而生。

Ext

‌ ᅟᅠ   ‌EXT是延伸文件系统(英语:Extended file system,缩写为 ex),也译为扩展文件系统,一种文件系统,于1992年4月发表,是为linux核心所做的第一个文件系统。采用Unix文件系统(UFS)的元数据结构,以克服MINIX文件系统性能不佳的问题。它是在linux上,第一个利用虚拟文件系统实现出的文件系统,在linux核心0.96c版中首次加入支持,最大可支持2GB的文件系统。Ext分区‌是Linux系统中一种常见的磁盘分区格式,随后发展出了多个版本,包括EXT2、EXT3和EXT4。

Ext2

‌ ᅟᅠ   ‌Ext是 GNU/Linux 系统中标准的文件系统,其特点为存取文件的性能极好,对于中小型的文件更显示出优势,这主要得利于其簇快取层的优良设计。
‌ ᅟᅠ   ‌其单一文件大小与文件系统本身的容量上限与文件系统本身的簇大小有关,在一般常见的 x86电脑系统中,簇最大为 4KB,则单一文件大小上限为 2048GB,而文件系统的容量上限为 16384GB。
‌ ᅟᅠ   ‌但由于目前核心 2.4 所能使用的单一分割区最大只有 2048GB,实际上能使用的文件系统容量最多也只有 2048GB。

Ext3

‌ ᅟᅠ   ‌Ext3是一种日志式文件系统,是对ext2系统的扩展,它兼容ext2并增加了日志功能,以提高系统的稳定性和数据的安全性。EXT3文件系统的主要特点和功能如下:
‌ ᅟᅠ   ‌‌1、日志功能‌:EXT3引入了日志功能,这使其能够在系统异常关机后快速恢复数据,减少数据丢失的风险。日志记录了所有的文件操作,当系统重启时,可以回溯这些操作并修复错误,从而加快系统恢复速度‌。
‌‌ ᅟᅠ   ‌2、块组结构‌:EXT3将磁盘空间划分为多个块组,每个块组包含若干个块。这些块组用于存储文件系统的元数据和数据。块组的大小可以在格式化时指定,也可以使用默认设置。每个块组都有一个唯一的编号,从0开始,0号块起始于文件系统起始扇区‌。
‌‌ ᅟᅠ   ‌3、i节点‌:EXT3使用i节点来记录文件的时间、大小、块指针等信息。i节点还包含目录项,描述文件名和节点号,通过节点号可以访问其节点信息‌。
‌ ᅟᅠ   ‌‌4、超级块‌:在文件系统的头部是超级块,用于描述文件系统的综合信息,包括块的大小、块的数量、i节点的数量等‌。

Ext4

‌ ᅟᅠ   ‌Linux kernel 自 2.6.28 开始正式支持新的文件系统 Ext4。Ext4 是 Ext3 的改进版,修改了 Ext3 中部分重要的数据结构,而不仅仅像 Ext3 对 Ext2 那样,只是增加了一个日志功能而已。Ext4 可以提供更佳的性能和可靠性,还有更为丰富的功能:
‌‌ ᅟᅠ  1、更大的文件和文件数量支持‌:EXT4支持最大可达1EB的文件系统和最大16TB的文件。
‌‌ ᅟᅠ  2、日志功能‌:EXT4继承了EXT3的日志功能,进一步增强了文件系统的可靠性和稳定性。
‌ ᅟᅠ  ‌3、Extent数据结构‌:EXT4引入了Extent数据结构,支持更大的文件和理论上无限的文件数量,并且检索速度更快。
‌‌ ᅟᅠ  4、Flexible Block Group特性‌:EXT4增加了flex_bg特性,将多个块组中的Data Bitmap、Inode Bitmap和Inode Table集成到一起,提升了检索速度。
‌‌ ᅟᅠ  5、Sparse Super特性‌:EXT4增加了sparse_super特性,稀疏超级块的备份分布,提升了性能。

Btrfs

‌‌ ᅟᅠ  Btrfs(通常念成Butter FS),是由Oracle于2007年宣布并进行中的copy-on-write文件系统。目标是取代Linux目前的ext3文件系统,改善ext3的限制,特别是单个文件的大小,总文件系统大小或文件检查和加入目前ext3未支持的功能,譬如支持写时复制 (COW) 机制,并且支持快照 (增量快照)、支持对单个文件快照;同时支持单个超大文件、文件检查、内建 RAID;支持 B 树子卷 (组合多个物理卷,多卷支持) 等。具体如下:

‌‌ ᅟᅠ   Btrfs 核心特性:
多物理卷支持:Btrfs 可有多个物理卷组成 (类似 LVM);支持 RAID 以及联机 添加、删除、修改
写时复制更新机制 (COW):复制、更新、替换指针,而非传统意义上的覆盖
支持数据及元数据校验码:Checksum 机制
支持创建子卷:Subvolume 机制,同时可多层创建
支持快照:基于 COW 实现快照,并且相对于 LVM 可以实现快照的快照 (增量快照)
支持透明压缩:后台自动压缩文件(消耗一定 CPU),对前端程序透明

ZFS

‌‌ ᅟᅠ   ZFS(Zettabyte File System)是一种高性能的文件系统,由Sun Microsystems开发,后来成为OpenZFS项目的一部分。ZFS是一个具有高存储容量、文件系统与卷管理概念整合、崭新的磁盘逻辑结构的轻量级文件系统,同时也是一个便捷的存储池管理系统。ZFS是一个使用CDDL协议条款授权的开源项目。‌

‌‌ ᅟᅠ  ZFS分区的特点
‌存储池(Pool)‌:ZFS将多个物理存储设备组合成一个存储池,类似于LVM的卷组。存储池可以配置不同的RAID级别,如RAID1、RAID0等,以提高数据的可靠性和性能。
‌动态条带化‌:ZFS支持动态条带化,可以根据需求动态调整存储空间,而不需要重新配置磁盘。
‌数据完整性‌:ZFS通过校验和和即时拷贝技术确保数据的一致性和完整性,减少数据损坏的风险。
‌快照和克隆‌:ZFS支持快照和克隆功能,可以快速创建文件系统的快照或克隆,方便数据备份和恢复。
‌压缩和去重‌:ZFS可以对数据进行压缩和去重,节省存储空间。

HFS

‌‌ ᅟᅠ  ‌ HFS分区格式‌是苹果电脑使用的磁盘格式,全称为“Macintosh Hierarchical File System”。该格式最初在1985年由苹果公司开发,后来在1998年被更新为HFS+分区格式。HFS分区格式主要用于苹果电脑和其他苹果设备的磁盘格式,但在其他操作系统上也可以通过一些第三方软件读取该格式的文件‌。

HFS

‌‌‌ ᅟᅠ   分层结构‌:文件以节点的形式存在,节点包含标识符(如文件名)和其他相关信息(如文件的创建日期、大小等),这些节点可以以特定的层次关系组织起来,形成文件系统的层级结构‌。
‌大容量支持‌:HFS分区格式可以支持大容量的磁盘,并且能够快速定位特定文件的位置‌。
‌性能问题‌:在处理大文件时可能会影响性能,且缺乏一些现代文件系统所具备的特性,如快速搜索和元数据管理等‌。

HFS+

‌‌ ᅟᅠ   HFS+分区格式在性能方面有所优化,能够支持更大的磁盘空间,并且具备了一些HFS分区格式所不具备的现代文件系统特性。因此,对于需要使用苹果电脑的用户来说,建议使用HFS+分区格式,以获得更好的性能和更多的功能优势‌。

ReiserFS

‌‌ ᅟᅠ   ReiserFS,是一种文件系统格式,作者是Hans Reiser及其团队Namesys,1997年7月23日他将ReiserFS文件系统在互联网上公布。Linux内核从2.4.1版本开始支持ReiserFS。
‌‌ ᅟᅠ   ReiserFS 的命名是源自作者Hans Reiser的姓氏,这个日志型文件系统发展比ext2/3 晚近许多。在技术上使用的是 B*-tree 为基础的文件系统,其特色为能很有效率地处理大型文件到众多小文件都可以用很高的效率处理;实务上 ReiserFS 在处理文件小于 1k 小文件时,甚至效率可以比ext3快约10倍。ReiserFS原先是Novell公司的SuSE Linux Enterprise采用的缺省文件系统,直到2006年10月12日其宣称将在未来的版本改采ext3为缺省。

JFS

‌‌ ᅟᅠ   JFS( JOURNAL FILE SYSTEM),一种字节级日志文件系统,借鉴了数据库保护系统的技术,以日志的形式记录文件的变化。JFS通过记录文件结构而不是数据本身的变化来保证数据的完整性。这种方式可以确保在任何时刻都能维护数据的可访问性。
‌‌ ᅟᅠ   该文件系统主要是为满足服务器(从单处理器系统到高级多处理器和群集系统)的高吞吐量和可靠性需求而设计、开发的。JFS文件系统是为面向事务的高性能系统而开发的。在IBM的AIX系统上,JFS已经过较长时间的测试,结果表明它是可靠、快速和容易使用的。2000年2月,IBM宣布在一个开放资源许可证下移植Linux版本的JFS文件系统。JFS也是一个有大量用户安装使用的企业级文件系统,具有可伸缩性和健壮性。与非日志文件系统相比,它的突出优点是快速重启能力,JFS能够在几秒或几分钟内就把文件系统恢复到一致状态。虽然JFS主要是为满足服务器(从单处理器系统到高级多处理器和群集系统)的高吞吐量和可靠性需求而设计的,但还可以用于想得到高性能和可靠性的客户机配置,因为在系统崩溃时JFS能提供快速文件系统重启时间,所以它是因特网文件服务器的关键技术。使用数据库日志处理技术,JFS能在几秒或几分钟之内把文件系统恢复到一致状态。而在非日志文件系统中,文件恢复可能花费几小时或几天。
‌‌ ᅟᅠ   JFS的缺点是,使用JFS日志文件系统性能上会有一定损失,系统资源占用的比率也偏高,因为当它保存一个日志时,系统需要写许多数据。

VMFS

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

XFS

‌‌ ᅟᅠ   XFS一种高性能的日志文件系统,最早于1993年,由Silicon Graphics为他们的IRIX操作系统而开发,是IRIX 5.3版的默认文件系统。2000年5月,Silicon Graphics以GNU通用公共许可证发布这套系统的源代码,之后被移植到Linux 内核上。XFS 特别擅长处理大文件,同时提供平滑的数据传输。

UFS

‌‌ ᅟᅠ   UFS文件系统:基于BSD高速文件系统的传统UNIX文件系统,是Solaris的默认文件系统。默认启用UFS 日志记录功能。在早期的Solaris 版本中,UFS 日志记录功能只能手动启用。Solaris 10在运行64位Solaris内核的系统上支持多TB UFS文件系统。以前,UFS文件系统在64位系统和32位系统上的大小仅限于约1 TB(Tbyte)。现在,所有UFS文件系统命令和公用程序已更新为支持多TB UFS文件系统。
‌‌ ᅟᅠ   UFS1文件系统是OpenBSD和Solaris的默认文件系统。UFS1也曾是NetBSD和FreeBSD的默认文件系统,但NetBSD2.0和FreeBSD5.0以后版本开始使用UFS2做默认的文件系统。UFS2增加了对大文件和大容量磁盘的支持和一些先进的特性。UFS几乎是大部分UNIX类操作系统默认的基于磁盘的文件系统,包括Solaris、Free BSD、Open BSD、Net BSD、HP-UX等,甚至Apple的OS X也能支持UFS文件系统。

VXFS

‌‌ ᅟᅠ   VeritasFileSystem(VxFS)是首个商业日志记录文件系统。VxFS通过日志记录功能,元数据更改首先写入到日志,然后再写入到磁盘。由于无需在多处写入更改,且元数据是异步写入的,因此吞吐量的速度较快。VxFS也是基于扩展区的意向日志记录文件系统。VxFS设计用于要求高性能和高可用性,并且可以处理大量数据的操作环境。
‌‌ ᅟᅠ   VXFS文件系统是Veritas公司推出的一种高性能,高可用性的文件系统,一般用于数据中心。它是一种基于扩展的文件系统,能够让应用程序读取和写入大的连续块,适用于OLTP系统和DSS系统。通常被应用于分布式集群、双机、异地容灾等高可靠解决方案中,它主要是和VCS/VVR/GCO/VxVM这些软件配套使用。

ReFS

‌‌ ᅟᅠ   ReFS(Resilient File System,弹性文件系统) 是在Windows 8.1和Server® 2012中新引入的一个文件系统。ReFS 最初只应用于 Windows Server 2012 服务器版本中,对于 Windows 8 桌面版本则没有得到正式应用。直到在 Windows 10 v1703 中 ReFS 首次亮相于桌面版本并默认开启了格式化功能,而在 Windows 10 v1709 中微软将其变更为仅在专业工作站版和企业版中才开放格式化并默认收回了其他 SKU 版本创建 ReFS 卷功能(对于已格式化现有的 ReFS 卷在这些 SKU 中仍然可用)。
ReFS 的关键功能如下:
·带有校验和的元数据完整性
·提供可选用户数据完整性的完整性流。
·通过写入时分配事务模型实现可靠的磁盘更新(也称为写入时复制)
·支持超大规模的卷、文件和目录
·存储池和虚拟化使得文件系统可建立并易于管理
·通过数据条带化提高性能(带宽可管理)并通过备份提高容错性
·通过磁盘扫描防止潜在的磁盘错误
·借助“数据打捞”实现损坏还原,以便在任何情况下尽可能提高卷的可用性
·跨计算机共享存储池,以提供额外的容错性和负载平衡

总结

通过这些介绍,我想大家都对计算机的文件系统有个了解了吧?对于大家在使用中的一些问题,我们都可以通过这些了解到的基础来做出正确的选择。希望我的文章能帮到更多的人,谢谢大家耐心的观看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不孤独的疯子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值