linux私房菜笔记 - 第七章 - Linux磁盘与文件系统管理
重点:inode、block(数据区块)、superblock(超级区块)
磁盘结构
GPT与MBR
区别
磁盘以文件表示
linux中设备都以文件形式在/dev中表示,如磁盘为/dev/sd[a-p物理][1-128分区]
文件系统:boot+group+group...
group: inode信息 数据
限制:
缺点:
区块大:小文件多浪费空间
区块小:inode多读写性能差
记录一个区块指针需要4B,一个inode包含12个直接、1个间接、1个双间接、1个三间接,所以1K区块下一个文件最大12+256+256 256+256 256*256个数据区块共16G
如何查看这些信息
输出:超级区块信息+区块群组信息
存
取
数据不一致
异步处理
修改时将文件读入内存标记为clean,修改后标记为dirty但并不立即写入硬盘,需要调用sync。
不正常关机时会导致磁盘校验。
文件系统与目录树
挂载:文件系统与目录树结合,比如将 / 挂载到 /dev/sda1 这个设备
相同文件系统类型的不同文件系统目录树根的inode相同,不同文件系统内文件inode值可能重复,同一个文件系统inode与文件一一对应。
Linux支持多种文件系统,包括 传统、日志、网络 的,以下命令可以查询。
VFS(Virtual Filesystem Switch)是位于 内核层 的 系统调用 ,帮助处理读取不同文件系统
ext4不好:预先分配所有inode,格式化慢,不适合大容量磁盘
XFS好:适合大容量磁盘和巨型文件
lsattr 和 chattr 可以更改隐藏属性,但是xfs不支持部分隐藏属性
xfs分为数据区(data section)、文件系统活动登录区(log section)、实时运行区(realtime section)
数据区
同ext,分为超级区块、剩余空间的管理、inode分配与追踪。但是inode动态分配,格式化快。且数据块(4K以上内核不给挂载)与inode大小(256B-2M)可以自定义。
文件系统活动登录区
类似日志区,所有文件变化在此记录,当完全被写入记录才被删除,用于校验。可指定外部磁盘作为该区。
实时运行区
先在该区段中寻找数个extent区块,将文件放到这些区块中, 等分配完了 再写入数据区中的inode与区块中。
xfs文件系统查看信息
注意点:如果对 /boot 使用,可以看到 /dev/sda2 指向某个物理设备,但是对 / 使用,可以看到指向 /dev/mapper/centos-root 。这是因为在安装系统时候, 设备分区 使用了LVM而非标准分区,linux为你自动创建的空间池,用多少取多少。
含有inode大小、个数、总数、区块大小、数量、与阵列 stripe 有关的信息
df
/proc 中1kblock,used,free都是0,因为这个目录挂载在内存中
/dev/shm/ 是用内存虚拟出的磁盘空间
不知道某个目录/文件所在挂载点,还想知道这个分区还能存多少东西?
du
硬链接
符号链接
流程: 分区->格式化->检验(可选)->挂载(Linux特色)
查看UUID(全局唯一标识符): lsblk-f 或 blkid
分区流程: lsblk 或 blkid 查看分区-> gdisk 或 fdisk 根据提示操作
区块与扇区:区块针对 文件系统 而言,扇区针对 物理硬盘 而言
不要处理正在活动的分区 (已挂载的分区),linux将不能更新分区表
添加分区默认按序号给分区编号,且默认开始扇区从第一个未被占用的扇区开始。
功能:使用文件系统格式化软件格式化磁盘分区。
命令: mkfs.xfs mkfs.ext4 mkfs
2024-10-28 广告