重点: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
Windows与Linux *** 作系统对磁盘和文件的管理方式区别为:文件格式不同、空间不同、碎片整理不同。Windows与Linux *** 作系统都是以一组磁盘管理应用程序的形式提供给用户。在硬盘中产生临时交换文件,用该文件所占用的硬盘空间虚拟成内存。
一、文件格式不同
1、Windows *** 作系统:Windows *** 作系统使用FAT、NTFS文件格式。
2、Linux *** 作系统:Linux *** 作系统使用ext2、ext3、ext4文件格式。
二、空间不同
1、Windows *** 作系统:Windows *** 作系统的磁盘驱动器上有很多扇区,每个扇区都有存放一小段数据。大文件的存储需要占用很多不同的扇区。
2、Linux *** 作系统:Linux *** 作系统把所有文件都分散到了整个磁盘上,每两个文件之间都留有相当巨大的空闲空间。
三、碎片整理不同
1、Windows *** 作系统:当文件被修改、体积增加时,Windows *** 作系统尝试把文件新增的部分存放到紧邻原始文件的扇区里。但周边已经没连续的足够扇区空间了,文件需要被分割成数段。所以需要一个碎片整理工具。
2、Linux *** 作系统:当文件被修改、体积增加时,Linux *** 作系统通常有足够的空间来扩展,一旦有碎片产生时,文件系统会尝试移动整个文件来消除碎片。所以不需要一个碎片整理工具。
CPU、Memory(RAM)、I/O
I/O: Disks, Ehtercard
Disks: 持久存储数据
块(block):随机访问,数据交换单位是“块”;
字符(character):线性访问,数据交换单位是“字符”;
/dev
设备文件:关联至设备的驱动程序;设备的访问入口;
设备号:
major:主设备号,区分设备类型;用于标明设备所需要的驱动程序;
minor:次设备号,区分同种类型下的不同的设备;是特定设备的访问入口;
mknod命令:
make block or character special files
设备文件名:ICANN
主分区和扩展分区的标识:1-4
逻辑分区:5+
MBR分区表(Disk Partition Table)
MBR缺点:
GPT 使用了 34 个 LBA 区块来纪录分区信息。GPT 除了前面 34 个 LBA 之外,整个磁盘的最后 33 个 LBA 也拿来作为备份。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)