背景

我们经常安装操作系统时,会遇到选着文件系统,那到底应该选一个什么文件系统呢?centos/redhat 7 默认将文件系统设置为xfs。拿Centos7.5为例,默认分区的文件系统为xfs,但是基于习惯还是会将其改为ext4使用,那xfs到底能不能使用呢?与ext4的区别是啥,对实际应用的影响又是啥呢?我们在本文来聊聊。

首先什么是文件系统呢?

文件系统主要用于控制操作系统中所有程序在不使用数据时如何存储数据、如何访问数据以及有什么其它信息(元数据)和数据本身相关等等。一个日志文件系统只能在掉电或者和存储设备意外断开连接时提供数据安全性,并不能在文件系统出现坏块或者发生逻辑错误时保护数据。这时,我们可以采用廉价磁盘冗余阵列的方案。

介绍

1、查看linux系统下支持的文件系统

对于 Linux 系统而言,有很多种文件系统可以选择,现在默认的是广泛采用的 ext4。我们可执行以下命令来查看当前系统支持哪些:

ll /lib/modules/3.10.0-229.el7.x86_64/kernel/fs/

2、各个文件系统之间的主要区别

Ext2文件系统的磁盘结构如下图:

如上所示,第一个块都是引导块,引导块保存了分区和内核启动加载器相关的信息,不受文件系统管理。其余磁盘块被Ext2分成了许多块组,每组包含的数据块和索引节点等都存放在相邻的磁道上,所有的块组大小相同且顺序的存放在磁盘上,内核可以根据块组的整数索引很快计算该块组在磁盘上的具体位置。且由于内核尽可能的把同一个文件的数据块存放在同一个块组中,所以块组减少了文件碎片,即减少了访问该文件的磁盘平均寻道时间。

1>超级块

是描述文件系统相关信息的超级块的一个拷贝,数据结构为ext2_super_block,主要记录了索引节点总数,块总数,空闲块数,空闲索引节点数,每块组的块数和索引节点数,分区的状态,安装操作计数器和最后一次安装时间等,用于文件系统一致性检查。

2>组描述符

记录当前块组相关信息,数据结构为ext2_group_desc,主要包含数据块位图,索引节点位图对应的块号,第一个索引节点表块的块号,组中空闲块和空闲索引节点的个数,即可以根据组描述符快速定位数据块位图,索引节点位图和索引节点表。

3>数据库块位图和索引节点位图

位图就是位的序列,其中0表示该位对应的数据块或者索引节点是空闲的,1表示占用的,每个位图都存放在单独的块中,比如块的大小是1024字节,可以描述的1024*8=8192个块的状态。根据位图可以快速定位处于空闲的数据块或者索引节点。

4>索引节点表

索引节点表就是一组连续的索引节点,存放在一组连续的磁盘块上,第一个磁盘块的块号保存在组描述符中的bg_inode_table字段中。所有的索引节点大小相同,即128字节,比如大小为4096字节的块可以包含32个索引节点。每个Ext2索引节点的数据结构为ext2_innode,主要包含了文件类型,文件访问控制列表,目录访问控制列表,文件大小,文件数据块数,最后访问时间,最后修改时间,指向第一个数据块的指针等文件属性信息。

索引节点大小有限制,如果需要增加其他的文件属性则需要使用增强属性机制,增加的属性都保存在一个单独的数据块中,索引节点的i_file_acl字段指向该数据块,linux提供setxattr(),getxattr(),listxattr()等系统调用来处理增强属性。增强属性机制主要是为了实现ACL访问控制列表而引入的,通过该列表可以限定某个文件允许访问的用户或者用户组及其对应的权限。

5>数据块

不同文件类型使用数据块的方式不同,主要有以下几种情形:

普通文件在创建时是空的,不需要数据块,只有写入数据时才分配数据块,也可通过truncate()系统调用清空其对应的数据块。
目录对应的数据块是一个特殊的数据结构,ext2_dir_entry_2,包含了索引节点号,目录项长度,文件名长度,文件类型和文件名5个属性,根据索引节点号可以快速定位对应的索引节点,根据目录项长度可以找到下一个目录项的起始地址。
符号链接的数据块取决于符号链接的路径名长度,如果小于60个字符则放在索引节点的i_blocks字段,如果大于60个字符则采用跟目录相同的数据块。
设备文件,管道和套接字都不需要数据块,相关信息都存放在索引节点中

Ext2文件系统:

通过superformat或者fdformat程序格式化磁盘,然后通过mke2fs程序创建Ext2文件系统,创建时需要指定块大小和分配的索引节点个数,保留块的百分比(默认5%),然后初始化所有的块组的组描述符,索引节点表和位图等,对有缺陷的块会用一个链表组织起来放到lost+found目录下。

Ext2是通过索引节点内的i_block字段保存对应映射关系,该字段是一个定长的数组,长度通过EXT2_N_BLOCKS指定,默认为15。

Ext3文件系统:

系统启动过程中会调用e2fsck程序检查文件系统超级块对象的s_mount_state字段,如果他不等于EXT2_VALID_FS,说明文件系统因为断电故障或者系统崩溃等原因未正常退出,此时保存在内存中的未及时刷新到磁盘上的相关数据结构可能处于不一致状态,e2fsck程序就开始检查并适当修正磁盘上文件系统的所有数据结构。这种文件系统一致性检查的所花费的时间取决于要检查的文件数和目录数,随着磁盘容量扩大,文件数和目录数不断增加,耗时也不断加长。为了避免这种耗时性的一致性检查引入了日志文件系统,通过一个特殊的磁盘区来记录磁盘的写操作,这种记录就叫做日志,当文件系统不一致后通过日志来修复相关数据结构就很快了,因为可以通过日志很快定位故障前发生修改的磁盘数据结构。所谓日志是指执行任何磁盘写操作时,先把待写的块的副本写入日志中,等写入日志的I/O数据传送完成时就会开始该块与对应磁盘逻辑块之间的I/O数据传输,即正常的磁盘写入,等写入完成,日志中的块副本就会被丢弃,视为无效的。当从系统故障中恢复时,e2fsck程序会将故障前已经提交到日志的未写入磁盘的块副本重新写入文件系统,故障前未提交到日志的未写入磁盘块则忽略,保证一定程度的数据一致性。

Ext3是Ext2的增强版,与Ext2兼容,其磁盘数据结构与Ext2基本相同,在Ext2的基础上重点强化了日志功能。文件系统通常有两种块,包含元数据的块和包含普通文件数据的块,Ext3支持将元数据块和普通文件数据块都写入日志中;提供了3种日志模式:

1>日志(journal),文件系统的所有文件数据和元数据的改变都写入日志中。该模式减少了文件修改丢失,但是增加了额外的磁盘开销,是最安全和最慢的模式
2>预定(ordered),只有文件系统的元数据的修改才写入日志,但是保证当元数据块和相关的文件数据块都需要写入磁盘时,文件数据块会比元数据块先写入磁盘,此时元数据块已经在日志中保存了一个副本。该模式是Linux的默认模式,可以减少普通文件修改的丢失,因为要维护元数据块和普通文件块的相关性和两者的磁盘写入顺序,相比写回模式有轻微的性能损耗。
3>写回(writeback),只有文件系统的元数据的修改才写入日志,对元数据块和普通文件数据块写入磁盘的顺序不做限制,由页高速缓存的脏页刷新机制决定。该模式是其他日志文件系统使用的方式,是最快的模式,但是当系统故障时存在文件损坏的风险。

文件系统的日志模式可通过mount命令在设备挂载的时候指定,如:mount –t ext3 –odata=writeback /dev/sda2 /vpm

ext4 文件系统由 ext3 文件系统改进而来,而后者又是从 ext2 文件系统改进而来。Ext4完全向后兼容Ext3,其磁盘数据结构与Ext3基本一致,这里我们主要看下ext系列的代表ext4文件系统。


Ext4文件系统:

ext4 还有一些明显的限制。最大文件大小是 16 TB(大概是 17.6TB)。使用 ext4 能创建的最大卷/分区是 1 exbibyte(大概是 1,152,921.5 terabytes)。 ext4 比 ext3 有很大的速度提升,它是一个日志文件系统,意味着它会对文件在磁盘中的位置以及任何其它对磁盘的更改做记录。另外,它还不支持透明压缩重复数据删除或者透明加密,支持快照。

该文件系统中,每个文件会对应一系列磁盘块,通过在inode中有序的存放磁盘块号,也就保存下了<文件逻辑块号, 磁盘块号>的映射关系。一个文件的逻辑块号必然是连续的,而磁盘块号则不必连续;通常一个block大小为4KB,所以一个比较大的文件,就需要存相当多的块号;

对于很大的文件,有一种解决办法就是间接存放块号,也就是说inode中有部分块号指向的block不是存放这个file的数据,而是存放块号——即一种间接寻址的逻辑。通常会包括三级,一部分直接指向文件的数据块,一部分指向存有块号的块,一部分指向存有“存有块号的块的块号”的块。ext4采用的办法是使用extent来保存<文件逻辑块号, 磁盘块号>的映射关系:一个extent对应一系列连续的块号,故一个extent最基本的几个域有——文件逻辑块号,起始磁盘块号,块数量;一个inode可以直接存放4个extent,对于很大的文件,ext4采用extent_tree的方式,其本质也是一种间接寻址的关系。

涉及的术语:

磁盘块:就是块设备对磁盘的一个逻辑抽象,对于文件系统而言,磁盘就是一个一个连续的块,每个块通常大小为4KB,并且磁盘块有序编码,每个块对应有一个磁盘块号;

文件逻辑块号:从逻辑上讲,一个文件可以看做一系列连续的数据块,每个数据块的大小和磁盘块大小相同;从物理上讲,一个文件可以对应磁盘上若干个磁盘块,这些磁盘块可以在物理上不连续逻辑块号磁盘块号的对应关系,很像虚拟地址和物理地址的关系:文件给你的感觉就是连续的数据,也就是连续的逻辑块,但实际上文件对应的磁盘块是可以不连续的,也就是不连续的物理块。

inode:保存文件的元数据,元数据可以描述一个文件;一个inode最基本也最重要的信息就两个,用来标识inode的inode号,
用来指明这个文件对应着哪些磁盘块的信息——即逻辑块号和磁盘块号的对应关系。inode存放文件元数据,但是文件名如何存放呢?这里的文件名,我们可以认为就是/(根)下的文件,这些文件名与inode的对应关系,存放在根目录数据中;根下这些文件,文件名都是目录的数据。

extent区段:extent是一系列连续的物理块 (最多达 128 MiB,块大小为 4 KiB情况下),可以一次性保留和寻址。区段可以减少给定文件所需的 inode 数量,并显著减少碎片并提高写入大文件时的性能。

ext4 是一个健壮、稳定的文件系统。如今大多数人都应该在用它作为根文件系统,但它无法处理所有需求。它的限制如下:

1>虽然 ext4 可以处理高达 1 EiB 大小(相当于 1,000,000 TiB)大小的数据,但不建议这样做。实际应用中,现在 ext4 不会处理(并且可能永远不会)超过 50-100 TiB 的数据。红帽企业 Linux 在其合同上仅支持最高 50 TiB 的 ext4 文件系统,并建议 ext4 卷不超过 100 TiB。

2>ext4 不足以保证数据的完整性。这种日志文件系统它并未涵盖数据损坏的许多常见原因,仍然存在物理数据损坏层面的风险,而这些无法检测或修复这种损坏;ext4 只是一个纯文件系统,而不是存储卷管理器。即使一个文件系统是安全的,如果在内核升级期间出现问题,使用它作为根文件系统也是非常可怕的。如果你没有充分的理由通过一个 chroot 去使用替代介质引导,耐心地操作内核模块、grub 配置和 DKMS……不要在一个很重要的系统中去掉预留的根文件。

XFS文件系统:

XFS 与非 ext 文件系统在 Linux 中的主线中的地位一样。它是一个 64 位的高性能日志文件系统,最大可支持 16 EB(大约一千六百万 TB,自 2001 年来内置于 Linux 内核后,为大型文件系统和高度并发性提供了高性能(即大量的进程都会立即写入文件系统)。xfs特别擅长处理大文件,同时提供平滑的数据传输。

支持大小为 8EB 的文件(大约八百万 TB)存储,同时目录结构包含千百万条目。XFS 支持元数据日志,它可提高崩溃恢复速度。XFS 文件系统还可在挂载和激活的情况下清除磁盘碎片并重新定义大小。默认选择并推荐使用这个文件系统。XFS 最大支持分区大小为 500 TB。

从 RHEL 7 开始,XFS 成为 Red Hat Enterprise Linux 的默认文件系统。对于家庭或小型企业用户来说,它仍然有一些缺点 —— 最值得注意的是,重新调整现有 XFS 文件系统是一件非常痛苦的事情。虽然 XFS 是稳定的且是高性能的,但它和 ext4 之间没有足够具体的最终用途差异,以值得推荐。XFS 在任何方面都不是 像ZFS、Btrfs 甚至 WAFL(一个专有的 SAN 文件系统)的“下一代”文件系统。就像 ext4 一样,它应该被视为一种更好的方式的权宜之计。

高并发压力下 xfs 的性能比 ext4 高 5-10% 左右。对应的io利用率 xfs 明显比ext4低,但是cpu 比较高 如果qps tps 在5000以下 etf4 和xfs系统无明显差异。压测显示 xfs 在高并发 72个并发情况下出现thread_running 抖动,而ext4 表现比较稳定。

XFS文件系统特性:

数据完全性:采用XFS文件系统,当意想不到的宕机发生后,首先,由于文件系统开启了日志功能,所以你磁盘上的文件不再会意外宕机而遭到破坏了。不论目前文件系统上存储的文件与数据有多少,文件系统都可以根据所记录的日志在很短的时间内迅速恢复磁盘文件内容。

传输特性:XFS文件系统采用优化算法,日志记录对整体文件操作影响非常小。XFS查询与分配存储空间非常快。xfs文件系统能连续提供快速的反应时间。有人对XFS、JFS、Ext3、ReiserFS文件系统进行过测试,XFS文件文件系统的性能表现相当出众。

可扩展性:XFS 是一个全64-bit的文件系统,它可以支持上百万T字节的存储空间。对特大文件及小尺寸文件的支持都表现出众,支持特大数量的目录。最大可支持的文件大 小为263 = 9 x 1018 = 9 exabytes,最大文件系统尺寸为18 exabytes。XFS使用高的表结构(B+树),保证了文件系统可以快速搜索与快速空间分配。XFS能够持续提供高速操作,文件系统的性能不受目录中目录及文件数量的限制。

传输带宽:XFS 能以接近裸设备I/O的性能存储数据。在单个文件系统的测试中,其吞吐量最高可达7GB每秒,对单个文件的读写操作,其吞吐量可达4GB每秒。

容量: XFS是一个64位文件系统,最大支持 8exbibytes 减1字节的单个文件系统,实际部署时取决于宿主操作系统的最大块限制。对于一个32位Linux系统,文件和文件系统的大小会被限制在 16tebibytes。

xfs使用中会遇到磁盘空间剩余很多,但是却报错空间不足的问题,因xfs文件系统会把inode存储在磁盘最开始的这1T空间里,如果这部分空间被完全填满了,那么就会出现磁盘空间不足的错误提示了。解决办法就是在挂载时,指定 inode64 选项:

mount -o remount -o noatime,nodiratime,inode64,nobarrier /dev/sdb1 /backup

这个在内核3.7以后的版本 已经解决了。其默认defaults 挂载参数里已包含inode64,如下:

(rw,noatime,attr2,inode64,sunit=128,swidth=512,noquota)

注意:“XFS文件系统默认在挂载时 启用“写入屏障” 的支持。该特性会一个合适的时间冲刷下级存储设备写回缓存,特别是在XFS做日志写入操作的时候。这个特性的初衷是保证文件系统的一致性,具体实现却因设备而异——不是所有的下级硬件都支持缓存冲刷请求。在带有电池供电缓存的硬件RAID控制器提供的逻辑设备上部署XFS文件系统时,这项特性可能导致明显的性能退化,因为文件系统的代码无法得知这种缓存是非易失性的。如果该控制器又实现了冲刷请求,数据将被不必要地频繁写入物理磁盘。为了防止这种问题,对于能够在断电或发生其它主机故障时保护缓存中数据的设备,应该以 nobarrier 选项挂载XFS文件系统。”

ZFS文件系统:

ZFS 由 Sun Microsystems 开发,以 zettabyte 命名 —— 相当于 1 万亿 GB —— 因它理论上可以解决大型存储系统。

作为真正的下一代文件系统,ZFS 提供卷管理(能够在单个文件系统中处理多个单独的存储设备),块级加密校验和(允许以极高的准确率检测数据损坏),自动损坏修复(其中冗余或奇偶校验存储可用),快速异步增量复制,内联压缩等,以及更多。

从 Linux 用户的角度来看,ZFS 的最大问题是许可证问题。ZFS 许可证是 CDDL 许可证,这是一种与 GPL 冲突的半许可的许可证。关于在 Linux 内核中使用 ZFS 的意义存在很多争议,其争议范围从“它是 GPL 违规”到“它是 CDDL 违规”到“它完全没问题,它还没有在法庭上进行过测试。”最值得注意的是,自 2016 年以来 Canonical 已将 ZFS 代码内联在其默认内核中,而且目前尚无法律挑战。

目前,尚不建议将 ZFS 作为 Linux 的根文件系统。如果想在 Linux 上利用 ZFS 的优势,可用 ext4 设置一个小的根文件系统,然后将 ZFS 用在你剩余的存储上,把数据、应用程序以及你喜欢的东西放在它上面 —— 但把root 分区保留在 ext4 上,直到你的发行版明确支持 ZFS 根目录。

Btrfs文件系统:

Btrfs 是 B-Tree Filesystem 的简称,通常发音为 “butter” —— 由 Chris Mason 于 2007 年在 Oracle 任职期间发布。Btrfs 旨在跟 ZFS 有大部分相同的目标,提供多种设备管理、 每块校验、异步复制、直列压缩等更多。btrfs 能横跨多种硬盘。

至 2018 年,Btrfs 相当稳定,可用作标准的单磁盘文件系统,但可能不应该依赖于卷管理器。与许多常见用例中的 ext4、XFS 或 ZFS 相比,它存在严重的性能问题,其下一代功能 —— 复制、多磁盘拓扑和快照管理 —— 可能非常多,其结果可能是从灾难性地性能降低到实际数据的丢失。

Btrfs 的维持状态是有争议的;SUSE Enterprise Linux 在 2015 年采用它作为默认文件系统,而 Red Hat 于 2017 年宣布它从 RHEL 7.4 开始不再支持 Btrfs。可能值得注意的是,该产品支持 Btrfs 部署用作单磁盘文件系统,而不是像 ZFS 中的多磁盘卷管理器。

3、应用概述

ext2:使用 16 位内部寻址,它提供了 GB 级别的最大文件大小和 TB 级别的文件系统大小;分配长文件名,最多有 255 个字符。当数据写入到磁盘的时候,系统发生崩溃或断电,容易发生灾难性的数据损坏,且由于碎片(单个文件存储在多个位置)问题,也容易造成数据丢失;目前,ext2 还在某些特殊的情况下使用—— 最常见的是,它会作为便携式 USB 驱动器的文件系统格式。

ext3: 文件系统使用 32 位寻址,这限制它最大支持 2 TiB 文件大小和 16 TiB 文件系统系统大小;当数据写入到Ext3文件系统中时,Ext3的数据块分配器每次只能分配一个4KB的块; ext3目前只支持32,000个子目录;提供粒度为一秒的时间戳;ext3 没有对日志进行校验,这给处于内核直接控制之外的磁盘或自带缓存的控制器设备带来了问题。如果控制器或具自带缓存的磁盘脱离了写入顺序,则可能会破坏 ext3 的日记事务顺序,从而可能破坏在崩溃期间(或之前一段时间)写入的文件。ext3 文件系统运行 e2defrag 可能会导致灾难性损坏和数据丢失。ext3主要优点是日志功能(journaling)。使用记录日志的文件系统可减少崩溃后恢复文件系统所需时间,因为它不需要在每次发生崩溃时都运行 fsck 程序检查文件系统元数据一致性。

ext4:硬盘中,小文件较少;它使用 48 位寻址,理论上可以在文件系统上分配高达 16 TiB 大小的文件,其中文件系统大小最高可达 1000000 TiB(1 EiB);目录数不受限制;Ext4的多块分配器支持一次调用分配多个数据块; 引入区段extent,extent是存放文件块号和逻辑块号映射关系的数据结构,是对Ext3中inode数据结构的一个改进,从而节省大文件下多次访问磁盘获取索引节点表的性能开销;增加了日志校验,检查日志文件的正确和完整性,避免被非法篡改,支持纳秒级的时间戳;ext2 和 ext3 都不直接支持在线碎片整理 —— 即在挂载时会对文件系统进行碎片整理,但ext4 通过 e4defrag 提供支持。ext4 的 e4defrag 是一个在线、内核模式、文件系统感知、块和区段级别的碎片整理实用程序。

ext4 比 ext3 有很大的速度提升;ext3 下,在 fsck 被调用时会检查整个文件系统 —— 包括已删除或空文件。相比之下,ext4 标记了 inode 表未分配的块和扇区,从而允许 fsck 完全跳过它们。这大大减少了在大多数文件系统上运行 fsck 的时间,它实现于内核 2.6.24。 ext4 具有冗余超级块,因此为文件系统校验其中的元数据提供了一种方法,可以自行确定主超级块是否已损坏并需要使用备用块。可以在没有校验和的情况下,从损坏的超级块恢复 —— 但是用户首先需要意识到它已损坏,然后尝试使用备用方法手动挂载文件系统。 Btrfs 或 ZFS 等下一代文件系统则提供极其强大的每块校验。

Ext4 作为传统的文件系统非常成熟稳定,但是随着存储需求的越来越大,Ext4 渐渐适应变差。比如说现在虽然Ext4 目录索引采用了Hash Index Tree, 但是依然限制高度为2. 做过实际测试Ext4的单个目录文件超过200W个,性能下降的就比较厉害了。由于历史磁盘结构原因Ext4 的inode 个数限制(32位数)最多只能有大概40多亿文件。而且Ext4的单个文件大小最大只能支持到16T(4K block size)。

xfs:硬盘支持中等规模,小文件较多;XFS 是基于B+Ttree 管理元数据的;根据所记录的日志在很短的时间内迅速恢复磁盘文件内容;采用优化算法,日志记录对整体文件操作影响非常小;它是一个全64-bit的文件系统,它可以支持上百万T字节的存储空间,能以接近裸设备I/O的性能存储数据。Ext4受限制于磁盘结构和兼容问题,可扩展性和scalability就不如XFS。在多文件、大文件系统、空间利用率等场景,xfs仍然比ext4有优势。

vfat:即FAT32,采用32位的文件分配表,支持最大分区128GB,最大文件4GB

tmpfs是一种基于内存的文件系统,故tmpfs 数据在重新启动之后不会保留。

NTFS:支持最大分区2TB,最大文件2TB,安全性和稳定性非常好,不易出现文件碎片。

4、ext3,ext4,xfs和btrfs文件系统性能对比

1> 单字节写入性能对比

2> 块写入性能对比(硬盘是块设备这种对比来的更有意义)

上图可知,性能上差不多,但是效率上(CPU占用率上)来说最好的是xfs接下来依次是EXT4,EXT3,BTRFS

3> 直接块顺序读写(关掉任何的系统和文件缓存)

EXT3/ 4是最好的选择,其次是BTRFS,最后是XFS.

4>随机寻道

BTRFS系能最差,不到20 seeks/sec;EXT3性能最好,如果软件大量的随机寻址的话这个文件系统性能更好

5>创建和删除大量文件(文件量一定)


BTRFS系统性能最差,EXT4是更高效高性能的系统,接下来依次是XFS,EXT3

6>顺序读写吞吐量【没有fsync的是100 writes/one fsync(),有的是1 writes/one fsync()】

100 writes/one fsync()各个性能差不多;1 writes/one fsync()时EXT3性能最好,接下来依次是XFS,EXT4,BTRFS;write + fsync()在BTRFS下对读性能产生影响

7>随机读写吞吐量

EXT3随机写入性能是最好的,适用于数据库,高容量的记录程序和虚拟机系统,数据库最好是EXT3系统

8>顺序创建128个文件,每个长16 MB(共2 GB)各种系统产生的碎片情况


EXT4,XFS这种有延时分配机制的系统产生的碎片少于EXT3(即使one write/one fsync());BTRFS系统碎片是个严重的问题.

9>

参考;https://www.linuxidc.com/Linux/2018-09/154065.htm,https://cloud.tencent.com/developer/article/1460643,

关于Linux学习的更多知识,大家可参考《Linux就这么学》这本书,内容详细且易懂,在此基础上还可看下《Kubernets权威指南:从Docker到Kubernetes实践全接触》,将对我们从事相关工作提供较好的指导。

linux的磁盘文件系统特点总结相关推荐

  1. linux的磁盘文件系统特点总结(ext2/ext3/ext4/xfs/tmpfs)

    实际中,如何选择磁盘的文件系统,我进行了归纳和总结 1.查看linux系统下支持的文件系统 ll /lib/modules/3.10.0-229.el7.x86_64/kernel/fs/ 2.各个文 ...

  2. linux的磁盘文件系统格式怎么看,linux如何下查看磁盘分区的文件系统格式?

    df -T 只可以查看已经挂载的分区和文件系统类型. FilesystemType1K-blocks Used Available Use% Mounted on /dev/sda1ext420642 ...

  3. linux管理磁盘和文件系统

    linux管理磁盘和文件系统 >管理磁盘及分区     在linux的服务器中,当现有硬盘的分区规划不能满足要求时,就需要对硬盘中的分区进行重新规划和调整,有时候还需要添加新的硬盘设备来扩展存储 ...

  4. linux 查看磁盘分区,文件系统,使用情况的命令和相关工具介绍,Linux 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍...

    Linux 查看磁盘分区.文件系统.使用情况的命令和相关工具介绍 作者:北南南北 来自:http://doc.xuehai.net 提要:Linux 磁盘分区表.文件系统的查看.统计的工具很多,有些工 ...

  5. linux centos7磁盘分区扩容,centos7 xfs文件系统的磁盘扩容

    1. 找到未使用的磁盘 df -hT,目前是1T的空间 文件系统 类型 容量 已用 可用 已用% 挂载点 devtmpfs devtmpfs 7.8G 0 7.8G 0% /dev tmpfs tmp ...

  6. linux 查看磁盘分区,文件系统,使用情况的命令和相关工具介绍,新型linux 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍.doc...

    新型linux 查看磁盘分区.文件系统.使用情况的命令和相关工具介绍.doc 还剩 3页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 七.partx ...

  7. 鸟哥的Linux笔记-------磁盘与文件系统

    2019独角兽企业重金招聘Python工程师标准>>> 一.索引式文件系统 文件系统通常会将这两部分的数据分别存放在不同的区块,权限和属性放置到 inode 中,至于实际数据则放置到 ...

  8. Linux主分区文件系统,Linux_Linux磁盘和文件系统管理,1、 分区MBR(Master Boot Recor - phpStudy...

    Linux磁盘和文件系统管理 1. 分区 MBR(Master Boot Recorder)主引导分区仅提供最多4个分区,主分区(Primary,P)与扩展分区(Extended,E),如3P+1E, ...

  9. 【Linux】基础IO -- 磁盘文件系统

    前言 上篇Linux文章,我们学习了打开文件,读写文件等的操作.这些都是针对被打开的文件. 而文件还有没有打开的状态,也就是磁盘文件.本篇博客就将会针对磁盘文件,学习其相关知识. 文章目录 前言 一. ...

最新文章

  1. 关于SQL的基础知识点
  2. AI芯片的“战国时代”:计算力将会驶向何方?
  3. 洛谷P1352 没有上司的舞会题解
  4. Qt:解决使用png图片时,报错libpng warning: iCCP: known incorrect sRGB profile的问题
  5. js 一/二维数组排序
  6. 设计模式之---观察者模式
  7. 通用路由封装(GRE)×××配置
  8. Nemuria UML架构图 第3次迭代. 重构
  9. UVa 11992 (线段树 区间修改) Fast Matrix Operations
  10. 初步了解关于js跨域问题
  11. libcurl 发送邮件_libcurl smtp发送邮件附件大小限制问题
  12. “网红”Cat-1模组
  13. Redis文档链接(含官方中文)
  14. 区块链究竟有什么价值体现?
  15. 时隔4年,翟天临怒怼网友:论文写不过是你能力不行...
  16. 群晖服务器共享文件忘记密码,群晖synology NAS ds 1815+忘记google authenticator二次验证密码...
  17. Java BufferedWriter.write()具有什么功能呢?
  18. ThinkPHP5结合云之讯短信验证简单案例
  19. 还在抱怨pandas运行速度慢?这几个方法会颠覆你的看法
  20. 怎么备份VMware虚拟磁盘文件或移植到其他虚拟机

热门文章

  1. docker发布一个springboot项目真香
  2. Python变量,常量,基础数据类型,input用户交互
  3. 北京大学计算机及应用自考,2017年下半年北京大学计算机及应用专业自考毕业论文初审结果...
  4. 什么叫做石英表_石英表和机械表区别是什么?
  5. 苏宁Java开发面试
  6. spring cloud eureka 样式没有了,wro.css wro.js 404
  7. .net 导出excel时,excel的临时文件不存放在服务器上,打开共享盘Excel文件每次保存之后都会保留.TMP的临时文件...
  8. mysql网关源码_Soul API网关源码解析 01
  9. uniapp引入阿里云短信业务
  10. 在kaldi工具包使用小数字语料库创建一个简单的ASR系统(番外篇)