7.1.9 【Linux】XFS 文件系统简介

news2024/9/26 3:20:12

EXT当前的缺点:支持度最广,但格式化超慢

Ext 文件系统家族对于文件格式化的处理方面,采用的是预先规划出所有的 inode/block/metadata 等数据,未来系统可以直接取用, 不需要再进行动态配置的作法。这个作法在早期磁盘容量还不大的时候还算 OK 没啥问题,但时至今日,磁盘容量越来越大,连传统的 MBR 都已经被 GPT 所取代,现在都已经是PB或EB以上容量了。

XFS 文件系统的配置

xfs 就是一个日志式文件系统,而 CentOS 7.x 拿它当默认的文件系统,自然就是因为最早之前,这个 xfs 就是被开发来用于大容量磁盘以及高性能文件系统之用, 因此,相当适合现在的系统环境。此外,几乎所有 Ext4 文件系统有的功能, xfs 都可以具备。

xfs 文件系统在数据的分佈上,主要规划为三个部份,一个数据区 (data section)、一个文件系统活动登录区 (log section)以及一个实时运行区 (realtime section)。 这三个区域的数据内容如下:

数据区 (data section)

基本上,数据区就跟我们之前谈到的 ext 家族一样,包括 inode/data block/superblock 等数据,都放置在这个区块。 这个数据区与 ext 家族的 block group 类似,也是分为多个储存区群组 (allocation groups) 来分别放置文件系统所需要的数据。 每个储存区群组都包含了(1)整个文件系统的 superblock、 (2)剩余空间的管理机制、 (3)inode的分配与追踪。此外,inode与 block 都是系统需要用到时, 这才动态配置产生,所以格式化动作超级快。

另外,与 ext 家族不同的是, xfs 的 block 与 inode 有多种不同的容量可供设置,block 容量可由 512Bytes ~ 64K 调配,不过,Linux 的环境下, 由于内存控制的关系 (分页档pagesize 的容量之故),因此最高可以使用的 block 大小为 4K 而已。

文件系统活动登录区 (log section)

在登录区这个区域主要被用来纪录文件系统的变化,文件的变化会在这里记录下来。直到该变化完整的写入到数据区后,才会被终结。系统所有的动作都会在这个区做记录,因此这个区块的磁盘活动很频繁。

实时运行区 (realtime section)

当有文件要被创建时,xfs 会在这个区段里面找一个到数个的 extent 区块,将文件放置在这个区块内,等到分配完毕后,再写入到 data section 的 inode 与 block 去! 这个 extent 区块的大小得要在格式化的时候就先指定,最小值是 4K 最大可到 1G。一般非磁盘阵列的磁盘默认为 64K 容量,而具有类似磁盘阵列的 stripe 情况下,则建议 extent 设置为与 stripe 一样大较佳。这个 extent 最好不要乱动,因为可能会影响到实体磁盘的性能。

XFS 文件系统的描述数据观察

上面的信息:

第 1 行里面的 isize 指的是 inode 的容量,每个有 256Bytes 这么大。至于 agcount 则是前面谈到的储存区群组 (allocation group) 的个数,共有 4 个, agsize 则是指每个储存区群组具有 65536 个 block 。配合第 4 行的 block 设置为 4K,因此整个文件系统的容量应该就是 4655364K 这么大!

第 2 行里面 sectsz 指的是逻辑扇区 (sector) 的容量设置为 512Bytes 这么大的意思。

第 4 行里面的 bsize 指的是 block 的容量,每个 block 为 4K 的意思,共有 262144 个block 在这个文件系统内。

第 5 行里面的 sunit 与 swidth 与磁盘阵列的 stripe 相关性较高。这部份我们下面格式化的时候会举一个例子来说明。

第 7 行里面的 internal 指的是这个登录区的位置在文件系统内,而不是外部设备的意思。且占用了 4K * 2560 个 block,总共约 10M 的容量。

第 9 行里面的 realtime 区域,里面的 extent 容量为 4K。不过目前没有使用。

由于我们并没有使用磁盘阵列,因此上头这个设备里头的 sunit 与 extent 就没有额外的指定特别的值。根据 xfs(5) 的说明,这两个值会影响到你的文件系统性能, 所以格式化的时候要特别留意。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/712571.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

14 动态主题类型Dynamic Topic Types

14 动态主题类型Dynamic Topic Types eProsima Fast DDS提供了一种动态方式来定义和使用主题类型和主题数据。我们的实现遵循用于DDS接口的OMG可扩展和动态主题类型。有关更多信息,您可以阅读DDS XTypes V1.2的规范。 动态主题类型提供了在没有与IDL相关的限制的情况下通过RTP…

vscode文档搜索机制

vscode的全局搜索速度非常快,其中的奥妙是什么? 我们常常需要在一大堆文本文件里搜索一个字符串,在Linux下可以用自带的grep,不过grep的命令行还是有点难记。ripgrep是开源工具,使用Rust编写,全平台支持。看…

工业RFID在自动化控制中的解决方案

在工业自动化控制领域中,利用RFID技术可以对物品、设备和工具的进行追踪,可以有效提高生产效率和管理水平。下面我们就一起来了解一下,RFID在工业自动化控制中的解决方案是什么样的。 工业RFID在自动化控制中的解决方案 在工业生产过程中&a…

ai图片转绘画怎么转?分享几个ai图片生成绘画软件给你

小伙伴们,我今天要给你分享一些超酷的东西——ai图片生成器,它们就像是一个神奇的艺术宝盒,可以将你的文字变成令人瞠目结舌的艺术作品。你有没有想象过可以用ai技术让你的文字爆发出无限创意和惊人的艺术风格?没错,这…

共享打印机突然出现0x00000771

操作无法完成0x00000771 当多台电脑共享一台打印机时,突然出现了操作无法完成0x00000771。 解决方法为: 在直接连接打印机的电脑上进行操作: 选中“此电脑”,右键选中“管理” 打开“服务与应用程序” 选择" 服务 ",找…

与 TDengine 性能直接相关——3.0 的落盘机制优化及使用原则

许多用户会有一个疑问,“落盘”俩字听起来就很底层,似乎无法和手头的性能问题联系到一起,本篇文章的目的就是让大家对它们俩建立起直观的认识。 写到数据库的数据总要保存起来——所以时序数据库(Time Series Database&#xff0…

移动隔断屏风墙,无地轨设计,空间灵活应用

移动隔断屏风墙是一种非常适合办公室的设计选择,它可以提供灵活的办公空间布局,并且无地轨设计可以避免地面安装轨道,给空间带来更大的自由度。以下是一些关于移动隔断屏风墙的特点和设计建议: 1. 灵活应用:移动隔断屏…

JavaScript多功能甘特图组件 - jsGantt

jsGantt 是一个可定制的、灵活的、多语言的甘特图组件,由原生 JavaScript 构建。它使用客户端渲染以获得快速的性能和动态的交互性。非常适用于任何需要交互式时间线或时间表显示的项目。 更多特点 多语言支持: 通过对多语言的支持,使您的甘…

容器技术与容器编排系统详解

一、Docker 容器技术 概括起来,Docker 容器技术有3个核心概念容器、镜像和镜像仓库。如果把容器类比为动态的、有生命周期的进程,则镜像就像是静态的可执行程序及其运行环境的打包文件,而镜像仓库则可想象成应用程序分发仓库,事先…

6.30学习-函数柯里化,回调解决异步多线程

6.30学习-函数柯里化,回调解决异步多线程 1.函数柯里化1.1 确定参数的函数柯里化1.2参数不确定的函数柯里化1.3 用法1.3.1 给setTimeout传递进来的函数添加参数 2.回调解决异步多线程 1.函数柯里化 函数柯里化,经常可能就面试的时候听说过,反…

【Unity3D编辑器开发】Unity3D中初次尝试使用PropertyDrawer属性

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 前段时间一直比较忙,没有时间更新博客,…

SSH连接vmware 虚拟机 centos

检查虚拟机设置的网络连接是否为NAT模式 点击左上角“编辑” -> “虚拟网络编辑器” 在虚拟网络编辑器中查看IP地址 ,点击NAT模式后,点击“NAT设置 记住自己的网关,下面在服务器中配置需要 进入服务器的 /etc/sysconfig/network-scripts/ 编辑 i…

Java性能权威指南-总结22

Java性能权威指南-总结22 对象序列化追踪对象复制 Java EE网络API小结 对象序列化 追踪对象复制 先介绍一个示例,如何不对对象引用进行序列化,以避免在反序列化时处理对象引用。然而,writeobject()中最有力的优化是不重复输出对象引用。 在…

强大业务体系支撑,亚马逊云科技占据近八成中国企业出海总销量

从人类发展历史上看,无论是刳木为舟,剡木为楫,还是郑和下西洋,亦或是欧洲大航海时代,人类对于出海探索这件事就从未停止。而在如今的时代,相似的故事依旧在上演。过去的十年,是中国互联网最为繁…

一文了解AppSec,以及如何通过Perforce工具保障应用程序防护

应用程序防护(AppSec)是有效且高效的安全措施,有助于帮助软件应用程序解决日益严重的安全威胁。本篇文章将讨论应用程序防护(AppSec)的原理、最佳实践以及您应该使用什么AppSec工具。 什么是AppSec? AppS…

近视眼选择什么台灯好一点?高品质护眼台灯推荐

目前我国儿童以及青少年的近视率达到53.7%,且近视发病率不断呈现低龄化趋势,导致近视的主要是因为用眼过度。而电子产品的普及,网课、打游戏、刷短视频等,被许多家长认为是导致近视的主要原因,其往往忽略掉了一个很重要…

springboot社区服务系统-计算机毕设 附源码77279

springboot社区服务系统 摘 要 科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流,人类发展的历史正进入一个新时代。在现实运用中&a…

Unity游戏开发之游戏动画(模型动画制作及导入)

一. 简单制作3D角色 在stream中下载Fuse软件在Fuse中制作人物,导出模型为OBJ格式(注意:这里导出目录必须为英文路径,否则只能导出空的OBJ文件)压缩Obj文件为zip格式打开Mixamo网站:https://www.mixamo.com…

刷题日记04《回溯算法》

回溯算法本质 回溯算法的本质是穷举,即对所有可能的情况进行一一穷举,如果求解过程中发现某个情况不符合求解要求,直接进行剪枝即可 回溯算法模板 我们可以将回溯算法理解为以下两种模板 1.递归回溯 result [] def backtrack(路径, 选择列表…

企业电子招投标系统源代码之电子招投标系统建设的重点和未来趋势+spring clould +java+二次开发

计算机与网络技术的不断发展,推动了社会各行业信息化的步伐。时至今日,电子政务、电子商务已经非常普及,云计算、大数据、工业4.0、“互联网”等发展理念也逐步深入人心,如何将传统行业与互联网科技有效结合起来,产生1…