当前位置:首页 > 科技  > 软件

文件系统那些事儿,你学会了吗?

来源: 责编: 时间:2024-02-06 10:12:16 463观看
导读引言“Everything is a file(一切皆文件)”是UNIX世界里的名言,也是UNIX系统的设计思想之一。在其之后演变出众多UNIX、Linux,如开源的FreeBSD、OpenBSD、GNU/Linux或商业的AIX、HP-UX、Solaris等均继承了该思想。不论是

引言

“Everything is a file(一切皆文件)”是UNIX世界里的名言,也是UNIX系统的设计思想之一。在其之后演变出众多UNIX、Linux,如开源的FreeBSD、OpenBSD、GNU/Linux或商业的AIX、HP-UX、Solaris等均继承了该思想。不论是普通文件、目录、字符设备、块设备、socket套接字、网络设备等,对操作系统来说都是文件。虽然类型不同,但操作系统都提供了一套统一的接口,即文件系统来对上述各种文件统一管理。本文讲述了G行文件系统使用中遇到的一些有趣问题和解决办法,供大家参考。CLP28资讯网——每日最新资讯28at.com

CLP28资讯网——每日最新资讯28at.com

1、文件系统的基本功能

文件系统是操作系统的重要组成部分,定义了把文件存储于硬盘时的数据结构及管理方式。硬盘是由很多扇区组成,为了访问硬盘中的数据,就必须在文件和扇区之间建立联系,比如需要知道文件从哪个扇区开始、一共占多少个扇区、文件有什么属性……这就是文件系统要做的事情。CLP28资讯网——每日最新资讯28at.com

一个操作系统通常会建立多个文件系统,每个文件系统都有独立和完整的结构,当一个文件系统出现问题不会影响到其他文件系统。通过文件系统还可以实现配额管理,限制用户的存储空间容量,防止用户无限制地使用存储空间。CLP28资讯网——每日最新资讯28at.com

 一般来说,文件系统是和操作系统紧密结合在一起的,不同类型的操作系统默认使用不同的文件系统,比如AIX的jfs2文件系统、HP-UX的vxfs文件系统、Linux的ext4文件系统等。CLP28资讯网——每日最新资讯28at.com

CLP28资讯网——每日最新资讯28at.com

2、文件系统和LVM

文件系统通常建立在LVM(Logical Volume Manager)之上。基于LVM的管理功能,将硬盘或硬盘分区组合起来,创建一个逻辑层给文件系统使用,实现了灵活、方便、动态地管理各种存储设备。各类UNIX/Linux在LVM管理上大同小异,如下图所示:CLP28资讯网——每日最新资讯28at.com

CLP28资讯网——每日最新资讯28at.com

图片图片CLP28资讯网——每日最新资讯28at.com

硬盘(或使用SCSI等协议连接的外置存储)在LVM中被标记为物理卷(PV,Physical Volume),多个PV组成一个卷组(VG,Volume Group),然后,在VG中划分出多个逻辑卷(LV,Volume Group),最后将LV格式化成文件系统(FS,File System)供用户使用。这样,一个文件系统的大小就突破了物理硬盘空间连续性的限制,也可以跨多个硬盘,提供更大的存储空间。LVM也可用于提升I/O性能,通过对LV逻辑卷设置条带化,使I/O落在多个PV物理卷上。CLP28资讯网——每日最新资讯28at.com

CLP28资讯网——每日最新资讯28at.com

3、文件系统使用中遇到的典型问题

文件系统虽然有上述各种优点,但是实际使用中也遇到过形形色色的问题,接下来我们分享几个有代表性的文件系统问题。CLP28资讯网——每日最新资讯28at.com

案例1:某服务器在编译Tuxedo ubb配置文件时,编译报错,并且没有日志生成。CLP28资讯网——每日最新资讯28at.com

图片图片CLP28资讯网——每日最新资讯28at.com

从官方错误编码解释分析:编译文件所在的目录中,存在目录名过长(大于78个字符)或目录结构权限错误。CLP28资讯网——每日最新资讯28at.com

图片图片CLP28资讯网——每日最新资讯28at.com

但检查确认该ubb所在的目录中,不存在过长的目录名。尝试将权限都改成了777,编译仍然报错。CLP28资讯网——每日最新资讯28at.com

图片图片CLP28资讯网——每日最新资讯28at.com

对编译命令进行truss跟踪,发现编译命令在检查当前路径的权限时报EACCES错。EACCES错误的说明是“Search permission is denied on a component of the path prefix.”,Search permission也就是x(执行)位的权限。CLP28资讯网——每日最新资讯28at.com

图片图片CLP28资讯网——每日最新资讯28at.com

根据报错提示,执行检查命令,也验证了Permission denied错误。通过AIX官方文档资料确认,在AIX操作系统中,所有的jfs/jfs2文件系统都有两套权限:文件系统权限和文件系统挂载点目录权限。用户要对文件系统和挂载点目录都有r和x(searchable)的权限才能正常使用。卸载文件系统后,对挂载点目录赋权755,重新挂载文件系统,编译顺利通过。CLP28资讯网——每日最新资讯28at.com

图片图片CLP28资讯网——每日最新资讯28at.com

案例 2:某个批量任务每天自动创建 24 个目录(每小时 1个)。某天运行该任务时突然报错,显示不能创建目录。CLP28资讯网——每日最新资讯28at.com

图片图片CLP28资讯网——每日最新资讯28at.com

按照错误提示,手工检查当前文件系统空间和 inode 使用率都不高。该批量任务报错前创建了 9 个目录,手工尝试创建第 10个目录也失败了,报错信息和批量任务的报错信息一致。CLP28资讯网——每日最新资讯28at.com

图片图片CLP28资讯网——每日最新资讯28at.com

进一步排查发现批量任务脚本中对历史文件打包备份后仅是清理了文件而未删除目录,导致目录累计越来越多。当前目录下的子目录一共 32767 个,怀疑是一个目录下的子目录数量达到了上限。对这些历史子目录进行清理后,新子目录创建成功。CLP28资讯网——每日最新资讯28at.com

图片图片CLP28资讯网——每日最新资讯28at.com

我们对 AIX、HP-UX、Linux 等操作系统进行了测试,结果表明 AIX 和 HP-UX 的文件系统的目录有 32768 个子目录的限制,Linux 内核版本小于等于 3.0.101 是有 32000 子目录限制。于是,我们将一个目录下的子目录数量统计加入巡检和监控,当发现子目录数量接近 30000 时会自动通知管理员进行清理。CLP28资讯网——每日最新资讯28at.com

案例 3:一个业务系统做压力稳定性测试时,发现四台应用服务器中的一台交易响应变慢。查看这台服务器上的应用日志,发现有接近 15 秒的“断档”,没有记录。而同一时段的其他 3 台应用服务器的日志记录均是连贯的。CLP28资讯网——每日最新资讯28at.com

图片图片CLP28资讯网——每日最新资讯28at.com

查看这台故障服务器的性能数据,发现故障时段 vxfsd 进程竟然占用了 8 颗 CPU。应用日志所在的目录就是一个单独的 vxfs文件系统,vxfsd 又是 vxfs 文件系统的主进程,因此定位是 vxfs故障导致应用日志无法写入。CLP28资讯网——每日最新资讯28at.com

图片图片CLP28资讯网——每日最新资讯28at.com

进一步排查发现这台服务器应用日志文件系统的 lastid 计数器值远远小于其他 3 台服务器的数值。CLP28资讯网——每日最新资讯28at.com

图片图片CLP28资讯网——每日最新资讯28at.com

图片图片CLP28资讯网——每日最新资讯28at.com

查看 vxfs 的官方文档确认:lastid 计数器最大值是 2 的30 次方,约等于 10 亿 7 千万。超过最大值后,vxfsd 进程就会对 vxfs 文件系统元数据(包括 lastid)自动重置,重置耗时 15秒,期间会影响 I/O。CLP28资讯网——每日最新资讯28at.com

了解 vxfs 这个特性后,我们部署了巡检和监控:当一个 vxfs文件系统的 lasitd 达到 8 亿时通知管理员。管理员选择业务低峰时段主动对 lastid 这一元数据进行手工重置,避免在业务高峰时段因为 lastid 自动重置影响系统性能。CLP28资讯网——每日最新资讯28at.com

CLP28资讯网——每日最新资讯28at.com

CLP28资讯网——每日最新资讯28at.com

4、展望

随着硬件技术的发展,文件系统技术也在不断创新。尤其是SSD 闪存盘的普及,需要文件系统提供与之相适应的文件管理方式,如 BTRFS 的 COW(Copy On Write)方式,避免频繁擦写 SSD,提升了 I/O 性能也延长了 SSD 的使用寿命。再有,ZFS 等新一代文件系统自身就具备了对硬盘的条带化和镜像能力,已经不需要LVM 的支持了。但是,无论文件系统功能如何演进,它的基本原理没有改变,值得我们深入探究。CLP28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-74666-0.html文件系统那些事儿,你学会了吗?

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: .NET轻量级ORM框架Dapper.NET的高级应用实例详解

下一篇: 面向AI工程的五大JavaScript工具

标签:
  • 热门焦点
  • 俄罗斯:将审查iPhone等外国公司设备 保数据安全

    iPhone和特斯拉都属于在各自领域领头羊的品牌,推出的产品也也都是数一数二的,但对于一些国家而言,它们的产品可靠性和安全性还是在限制范围内。近日,俄罗斯联邦通信、信息技术
  • 2023年Q2用户偏好榜:12+256G版本成新主流

    3月份的性能榜、性价比榜和好评榜之后,就要轮到2023年的第二季度偏好榜了,上半年的新机潮已经过去,最明显的肯定就是大内存和存储的机型了,另外部分中端机也取消了屏幕塑料支架
  • 企业采用CRM系统的11个好处

    客户关系管理(CRM)软件可以为企业提供很多的好处,从客户保留到提高生产力。  CRM软件用于企业收集客户互动,以改善客户体验和满意度。  CRM软件市场规模如今超过580
  • 之家push系统迭代之路

    前言在这个信息爆炸的互联网时代,能够及时准确获取信息是当今社会要解决的关键问题之一。随着之家用户体量和内容规模的不断增大,传统的靠"主动拉"获取信息的方式已不能满足用
  • Python异步IO编程的进程/线程通信实现

    这篇文章再讲3种方式,同时讲4中进程间通信的方式一、 Python 中线程间通信的实现方式共享变量共享变量是多个线程可以共同访问的变量。在Python中,可以使用threading模块中的L
  • 慕岩炮轰抖音,百合网今何在?

    来源:价值研究所 作者:Hernanderz“难道就因为自己的一个产品牛逼了,从客服到总裁,都不愿意正视自己产品和运营上的问题,选择逃避了吗?”这一番话,出自百合网联合创
  • 消费结构调整丨巨头低价博弈,拼多多还卷得动吗?

    来源:征探财经作者:陈香羽随着流量红利的退潮,电商的存量博弈越来越明显。曾经主攻中高端与品质的淘宝天猫、京东重拾“低价”口号。而过去与他们错位竞争的拼多多,靠
  • 郭明錤称华为和江淮汽车合作开发问界MPV,定价100万左右、计划明年量产

    8 月 1 日消息,郭明錤今天在 Medium 平台发布博文,称华为正在和江淮汽车合作,开发售价在 100 万元的问界 MPV,预计在 2024 年第 2 季度量产,销量目标为
  • 三星Galaxy Z Fold5今日亮相:厚度缩减但仍略显厚重

    据官方此前宣布,三星将于7月26日也就是今天在韩国首尔举办Unpacked活动,届时将带来带来包括Galaxy Buds 3、Galaxy Watch 6、Galaxy Tab S9、Galaxy
Top