Linux 系统管理及服务配置实战-第15章 磁盘管理6(连载15)
EXT2/3/4文件系统** 索引式文件系统
Ext3/Ext4文件系统基本结构
? superblock:记录此文件系统的整体信息,包括inode/block的总量、使用量、剩余量,以及文件系统的格式等
Ext文件系统 EXT2/3/4文件系统** 索引式文件系统 Ext3/Ext4文件系统基本结构 ? superblock:记录此文件系统的整体信息,包括inode/block的总量、使用量、剩余量,以及文件系统的格式等; ? inode:记录文件的属性(文件的元数据metadata),一个文件占用一个inode,同时记录此文件数据所在的block number; ? block:实际存储文件的內容,若文件太大时,会占用多个block。 Superblock 沒有Superblock ,就沒有filesystem ? block 与 inode 的总量; ? 未使用与已使用的 inode / block 数量; ? block 与 inode 的大小 (block 为 1, 2, 4K,inode 为 128bytes 或 256bytes); ? filesystem 的挂载时间、最近一次写入数据的时间、最近一次检查 (fsck) 的时间等文件系统相关信息; ? 每个block group 都可能含有 superblock,这样可以进行用于 superblock 的修复; data block: 存储文件的实际数据 查看文件系统的信息 dumpe2fs
EXT2/EXT3/EXT4 日志式文件系統 新建一个文件的过程: 1.先确定使用者对于想新创建文件目录是否具有 w 与 x 的权限; 2.根据 inode bitmap 找到沒有使用的 inode 号码,并将文件的权限和属性写入; 3.根据 block bitmap 找到沒有使用的 block号码,将文件的实际数据写入 block 中,且更新 inode 的 block 指向信息; 4.将刚刚写入的 inode 与 block 信息同步更新 inode bitmap 与 block bitmap,并更新 superblock 的內容。 ? 文件的不一致 (Inconsistent) 状态 例如突然断电、kernel发生错误等。这样可能写入的信息仅有 inode table 及 data block 而已,最后一个同步更新的步 骤并沒有做完,此时就会发生 metadata 的內容与实际信息产生不一致 (Inconsistent) 的情況 ? 日志式文件系統 (Journaling filesystem) 1. 准备:当系統要写入一个文件时,会先在日志区记录某个文件准备写入的信息; 2.实际写入:写入文件的权限与数据,更新 metadata 的信息; 3.结束:完成数据与 metadata 的更新后,在日志记录区块中完成文件的记录. 修复文件系统 fsck,e2fsck -fy 案例1: 系统无法启动 案例二:Read-only file system 如果运行中的服务器的某一个分区出现readonly,导致进程无法写这个分区(比如nginx进程无法写日志文件到此分区, 手动测试touch文件到此分区也显示:cannot touch ‘xxxxx’:Read-only file system),该怎么办? 解决:磁盘read-only的原因一般有2种,一种是没有正常关机导致,还有一种是硬盘故障导致。如果是/分区,这种情况只能下线报修磁盘了。如果是其它分区,则可以尝试三步解决此问题: 1.先卸载此分区 2.再fsck.ext4 -fy /dev/sdb1 3.最后挂载此分区,检查是否可以正常读写。 注:以上操作过程,请保证服务器不在线上提供服务 案例三:修复superblock 找到备份的superblock
3.1.XFS文件系统 ? 数据区 (data section) 数据区就跟之前了解到的 ext 家族一样,包括 inode/data block/superblock 等信息,都放在该区块。 ? 文件系统日志区 (log section) ? 实时运行区 (realtime section) 修复 XFS 文件系统 xfs_repair
3.2.FAT文件系统 FTA 文件系统没有 inodeLinux 磁盘管理,所以FAT没有将文件所有的block在一开始就读取出来。每个block number记录在前一个block中, 如果一个文件写入的block过于分散,则读取速度非常慢。可以通过碎片整理的方式将分散的block尽量整理到一起。 创建文件系统vfat [root@localhost]# mkfs.vfat /dev/vda6 结语:文件系统是组织管理文件的工具。是磁盘底层软件,理解其中的索引和块(inode和block)。对后续的系统管理起着至关重要的作用。
(编辑:成都站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |