Linux中磁盘与文件管理系统(一)

看鸟叔!!!

磁盘与文件管理系统

1、认识文件系统

实体磁盘的命名:/dev/sd[a-p][1-128] 分区槽的命名,例如第一颗磁盘:/dev/sda[1-128]
虚拟磁盘的命名:/dev/vd[a-p][1-128]
软件磁盘列阵:/dev/md[a-p]
使用LVM时:/dev/VGNAME/LVNAME

2、文件系统特性

磁盘分区以后需要格式化以后才能使用此文件系统,因为每种操作系统所设定的文件属性/权限不相同,为了存放数据,将分区操格式化为操作系统可以使用的“文件格式系统”。

目前的格式化不再说成针对partition来格式化,通常可称呼一个可被挂载的数据为一个文件系统而不是一个分区槽。

文件系统的运作:(与操作系统的文件数据有关,linux中除了文件实际内容外,还有文件权限(rwx)、文件属性(拥有者、群组、时间参数)。文件系统通常会两部分的数据分别存放在不同的区块,权限与属性放置到indoe(记录文件属性,一个文件占用一个inode,同时记录此文件数据所在的block号码)中,实际数据放到 data block 区块中,和超级区块(superblock)记录整个文件系统的整体信息,包括inode与block的总量、使用量、剩余量,文件系统的格式、相关信息。(索引式文件系统)

FAT文件系统格式:没有inode,类似于链式。

【碎片整理】 文件写入的block过于离散,文件读取效能变差,碎片整理后将同一个文件所属的blocks汇整在一起。FAT需要经常整理,Ext2/Ext3不需要(索引式)。

3、Linux的EXT2系统

inode与block固定后不再变动。
数量大时,区分区块群组(block group),每个区块群组都有独立的inode/block/superblock系统。
Boot Sector(启动扇区) ———> block group1 | block group2 | block group3 | …
/
/ \ (每个block group包括下面一行)
Superblock,档案系统临时描述,区块对应表,inode对应表,inode table,data block

启动扇区:安装开机管理程序

data block(资料区块):放置文件内容数据,(所支持的block大小:1、2、4K),每个block都有编号,每个block除非重新格式化外,大小和数量不能够改变,每个block只能放置一个文件上的数据,大文件会占用多个block数量。
			
inode table(inode表格):文件的存取模式,拥有者和群组,容量,建立的状态和改变的时间,最近读取、修改时间,定义文件特性的flag,真正内容的指向。每个inode大小固定位128bytes(ext4 xfs可设置到256),每个文件占用一个(文件系统能够建立的文件数量与inode数量有关),系统读取文件时先找到inode,检查权限,复合以后才开始实际读取block内容。

Super block(超级区块):记录整个filesystem,没有Superblock就没有此filesystem。记录block、inode的总量,未使用和已使用的block、inode的数量,block、inode的大小,filesystem的挂在时间、最近一次写入数据的时间、最近一次检验磁盘(fsck)的时间,一个valid bit值,0为已被挂载,1相反。使用dumper2fs指令查看其相关信息

Filesystem Description(文件系统描述说明):描述每个block group各部分和block开始与结束的号码

block bitmap(区块对照表):记录block是否使用

			inode bitmap(inode对照表):记录inode是否使用

使用dumper2fs指令查看Super block信息指令:

dumper2fs -h(只列出super的信息) 装置文件名
blkid(查询系统有被格式化的装置)

4、与目录树的关系

目录:新建目录,文件系统会分配一个inode与至少一块block。实际观察目录里文件占用的inode号码时,使用
ls -i

文件:

目录树读取:
inode本身不记录文件名,文件名的记录实在目录的block中。(新增、删除、更名文件名与目录的w权限有关)

	系统透过挂载的信息找到挂载点的inode号码,得到根目录inode内容,根据inode读取block内的文件名数据,在一层一层往下读取,例如:
	ll -di / /etc /etc/passwd
	则读取步骤:
	1> / 的 inode
	2> / 的 block
	3> /etc 的inode
	4> /etc 的block
	5> /etc/passwd 的inode
	6> /etc/passwd 的block

fs的大小与磁盘读取效能:

5、EXT2、EXT3、EXT4 文件的存取与日志式文件系统的功能

新增文件过程:

1> 确定用户是否对此目录有w x权限
2> 根据inode bitmap找到没有使用的inode号码,将新文件的权限和属性写入
3> 根据block bitmap找到没有使用的block号码,写入实际数据,更新inode的指向数据
4> 同步更新inode bitmap和block bitmap的内容,并更新superblock

【中介数据】 inode block称为数据存放区域,其它的区块别成为metadata(中介资料),因为那些数据是经常变动的,每次新增、移除、编辑是都可能会影响到这三个部分的数据,因刺被称为中介数据。

数据不一致状态:
只写入了inode和block的数据,superblock的数据没有更新成功,解决:系统在重新启动的时候,会由superblock中的valid bit(是否挂载)与fs state (clean与否)等状态是否进行数据一致性的检查

日志式文件系统:
在fs中划分一个区块,专门记录写入或修订文件是的步骤
1、系统写入文件之前,在日志记录区块记录某个文件准备要写入的信息
2、实际写入:写入权限和数据,更新metadata
3、完成更新后,日至中完成该文件记录

6、文件系统的运作

【异步处理】系统加载文件到内存,若此文件没有更动郭,在内存区段的数据被设定为clean;若内存中的数据被更改了,此时内存中的数据被设定为dirty(脏数据),则此时所有的动作都在内存中执行,没有写入到磁盘。系统会不定时将内存中脏数据写回磁盘。

系统会将常用的文件数据放在主存储器的缓冲区中,加速文件系统的读写,看可以手动使用sync强迫内存中脏数据写回磁盘,关机指令主动呼叫sync,非正常关机重启时会花时间进行磁盘检验,甚至导致文件系统的损毁(非磁盘损毁)

7、挂载点意义(mount point)

【挂载】将文件系统与目录树结合的动作称为挂载,挂载了以后fs才可以使用。挂载点一定是目录,该目录为进入该文件系统的入口。

同一个fs的某个inode只会对应到一个文件内容(一个文件占用一个inode),可以通过inode号码来确认不同文件名是否为相同的文件 ls -ild / /. /…(根目录下 . … 是一个东西)

8、其他linux支持的文件系统与VFS

传统文件系统:ext2 minix MS-DOS FAT(用vfat模块) iso9660(光盘)
日志式文件系统:ext3 ext4 ReiserFS Windows’NTFS IBM’sJFS SGI’s XFS ZFS
网络文件系统:NFS SMBFS

查看linux支持的文件系统: ls -l /lib/moudles/$(uname -r)/kernal/fs
系统已加载到内存中支持的文件系统:cat /proc/filesystem

Linux VFS(Virtual Filesystem Switch)

9、XFS 文件系统简介

ext家族支持度广,格式化较慢

XFS 文件系统配置:资料区、活动登录区、实时运作区

	资料区(data section):类似于ext家族,每个存储区群组(allocation groups,AG)包含superblock、剩余空间的管理机制、inode的分配与追踪,inode(512b-64K)与block(256b-2M)动态配置产生,格式化快!

	活动登录区(log section):记录文件系统的变化(类似于日志区),fs因为某些缘故损毁,检验登录区,查看系统崩溃以前fs正在进行的活动,由此恢复

	实时运作区(realtime section):创建文件时,在区段找到一个或多个extent区块,将文件放置区块内,分配完毕后写入到data section的inode block中去。extent大小在格式化的时候指定(4K-1G)

XFS 文件系统的描述数据观察 :xfs_info 挂载点|装置文件名

df -T /boot 找到/boot挂载点下superblock记录
xfs_info /dev/vda2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值