目录
Linux磁盘与文件系统管理
Linux文件系统初识
(一)磁盘与分区
磁盘主要组成结构:
①圆形碟片:主要记录数据部分;②机械手臂、磁头:可擦写碟片数据③主轴马达:协助磁头读写数据
存储数据的介质上来区分,关于硬盘可分为机械硬盘(Hard disk Drive, HDD)和固态硬盘(Solid State disk, SSD),机械硬盘采用磁性碟片来存储数据,而固态硬盘通过闪存颗粒来存储数据。
磁盘分区:
扇区为linux文件系统最小物理存储单位,主要有512B和4KB格式,扇区组成柱面;
磁盘分区两种格式:MBR分区表、GPT分区表
分区磁盘文件名:物理磁盘文件名模拟为/dev/sd[a-p] [1-128]格式,对于虚拟机,磁盘通常为/dev/vd[a-p] [1-128]格式。
(二)文件系统特性
linux正统文件系统为linux second Extended file system,ext2 fs。windows不支持此文件系统。
文件系统通常会将文件权限、属性与文件数据两部分数据存放在不同区块,权限与属性放置在inode中,而实际数据被放置在数据区块。
分区:①boot sector;②super block ;③inode ;④block。
文件数据存取两种形式:
索引式文件:类似于碎片目录化整理,通过碎片整理,将同一文件所属区块集合起来,放置在inode中,便于读取。(ext2格式)
FAT格式:读取文件,通过前后关系接连方式,引出全部内容。(U盘)
(三)ext2文件系统
ext2文件系统格式化:
启动扇区 boot sector安装启动引导程序,Block Group区块:
Superblock超级区块:记录整个文件系统相关信息:数据区块与总量、未使用与已使用inode与数据区块数量、数据区块与inode大小、文件系统挂载时间及最近一次写入数据时间等。Superblock含有一个有效检验位,有效位为1表示未被挂载,为0表示文件系统已挂载。一般存在于第一区块群组内,后续一般为第一区块超级区块备份。
df 命令主要读取的数据几乎都针对的是整个文件系统,df 命令主要是从各文件系统的 Super block 中读取数据。
关于ext2文件系统区块限制:
除非重格式化,区块的大小与数量在格式化完就不能进行修改;每个区块内最多仅放置一个文件,区块容纳不下情况,会占用多看区块弥补,可剩不可少。
inode表用于记录文件属性以及文件实际数据位置:读写属性、拥有者与用户组、文件大小、建立与状态改变时间等,记录区块号码的区域定义为12个直接、1个间接、1个双间接、1个三间接记录区。限制文件总额 = 直接+间接+双间接+三间接。
ext2支持三种区块格式:1K、2K、4K,由此磁盘分容量对文件大小有差异;
计算格式:format = 格式/4B ,sum = (format间接 +format x format双间接 +format x format x format三间接)x格式+12x格式
Block大小 | 1KB | 2KB | 4KB |
---|---|---|---|
单个最大文件限制 | 16GB | 256GB | 2TB |
最大文件系统容量 | 2TB | 8TB | 16TB |
通过 dumpe2fs 指令可查询 ext 系列超级区块信息
(四)文件存取与日志功能
确定用户对文件的目录是否具有相应权限,根据inode对照表找到没有使用的inode号码、并将文件权限与属性写入,格局区块对照表找到没有使用的区块号码,并将实际数据写入区块,更新inode表指向实际数据区块,更新区块对照表及超级区块内容。
一般将inode对照表与数据区块称之为数据存放区域,至于超级区块内容、区块对照表等成为元数据。
日志式文件系统
当系统需写入文件时,会先在日志记录区块记录某个文件准备写入的信息,实际写入时,开始写入文件的权限与数据,开始更新Metadata数据,并在日志记录区块完成改文件相关记录。
(五)目录树及挂载点
文件系统,在建立目录时,分配一个inode 与至少一块区块给目录。(ls -li查询根目录占用inode)
挂载为文件系统与目录树结合的操作,挂载点mount point一定是目录,进入文件系统的入口。
对文件操作,需经过目录的inode 与区块,找到指定信息调整位置。具体由根目录开始,通过挂载信息找到挂载点的inode号码指定区块,确认权限,读取区块内容。(同一个inode只会对应到一个文件内容)
文件系统简单操作
(一)磁盘与目录容量
磁盘的整体数据放置在超级区块中,而每个文件的容量记载在inode中。
命令行模式下:
df: df [ -ahikHTm ] [ 目录或文件名 ]
列出文件系统的整体磁盘使用量,数据为整个文件系统,读取范围主要是超级区块的信息;
查看文件系统的磁盘使用量,目录所占的磁盘空间,du默认会将所有文件的大小列出。
(二)硬链接、符号链接
linux包含两种链接文件方式:①快捷方式功能链接目标文件或目录;②通过文件系统inode链接目标文件(硬链接--对于单一文件操作),硬链接使得能在某目录下新增一条文件名链接到某个inode号码的关联记录中,并非真正意义产生文件。
一般来说,使用硬链接设置链接文件时,磁盘的空间与inode数目不会发生改变,仅多一条关联数据。目录填满的情况下,关联会产生新区块记录文件关联性,会导致磁盘变化。
符号链接就是建立一个独立文件,让数据指向它链接目标文件的文件名,源文件被删除,符号链接也会失效。
链接文件命令:#ln [ -sf ] [ 源文件 ] [ 目标文件 ] ;使用ln命令,不加任何参数即为硬链接,-s为符号链接。-f目标文件存在,就主动将目标文件直接删除后建立。
原文地址:https://www.jb51.cc/wenti/3284597.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。