深入理解文件系统

本文详细解释了块设备的命名规则,包括IDE、SATA、SSD、虚拟硬盘和光驱等。介绍了文件系统的概念,如本地文件系统(如NTFS和ext系列)、网络文件系统(NFS和CIFS)、集群文件系统(如cephfs、GFS和VIMS)以及光盘文件系统(iso9660)。同时涵盖了分区、格式化、文件组成、读写流程以及mv、cp、rm操作与inode的关系,以及误删文件恢复的方法,如extundelete和xfsdump/xfsrestore工具。
摘要由CSDN通过智能技术生成

块设备的命名方式

块设备的形式

U盘、机械硬盘、固态硬盘、移动硬盘;这些设备都是专门存储文件的存储介质;块设备无法直接使用,需要通过格式化才能使用

IDE设备

        /dev/hda   /dev/hda1

        /dev/hdb   /dev/hdb1

第一个IDE设备的第一个分区

SCISI/SATA/SSD

        /dev/sda

        /dev/sdb   /dev/sda1

     virtIO

        /dev/vda

        /dev/vdb

        /dev/vda1

第一个虚拟硬盘的第一个分区

        Xen: /dev/xvda1

xen虚拟化第一个硬盘的第一个分区

Nvme固态卡

        /dev/nvme0n1p1

第一个固态卡的第一个分区

光驱

        /dev/sr0

逻辑设备

        /dev/mapper/rhel-root 逻辑卷

        /dev/rhel/root

文件系统

文件系统概念

一个块设备想要保存文件,则此设备必须要有文件系统;文件实际上是存放到文件系统上的,文件系统是块设备上的 存放形式和结构;

分区

分区是指将一个物理磁盘划分为多个逻辑存储空间(分区);每一个逻辑存储空间都可以配置不同的文件系统,并且分区和分区之间互不干扰

格式化

创建文件系统

文件系统的类型

1.本地文件系统:一般是在本地使用

        a)在windows中:

                i.NTFS主流的windows文件系统

                ii.fat系列fat16、fat32  无法存储4G以上的文件

                iii.exfat专门做移动介质存储的文件系统(支持存储4G以上的文件)

        b)在Linux中:

                i.ext系列ext2、ext3、ext4

                ii.xfs系列  日志类型文件系统,主流(RHEL7开始 默认)

2.网络文件系统:通过网络实现目录的共享

        a)NFS(网络文件系统):Linux和Linux之间目录的共享

        b)CIFS:windows和windows之间、Linux和windows之间实现目录的共享

3.集群文件系统:多个主机做一个存储池

        a)cephfsceph分布式存储

        b)GFSfsgoogle的集群文件系统

        c)VIMS华为的集群文件系统

4.光盘文件系统

        a)iso9660  光盘独有的文件系统

文件的组成

文件有两个部分组成:元数据+数据

元数据:描述数据的数据;一个文件的属性信息:文件的权限、大小、时间戳

数据:指的是文件系统中的块,存放的就是实际的数据内容

        file=inode+block

一个block的大小是4kib,一个扇区的大小是512Byte;

多个扇区组成一个block,文件保存更加集中;如果同时写多个文件,1扇区是file1,2扇区是file2,3扇区是file1,这样查询比较慢;

inode通过inode表查询数据,因为inode表保存了block的为止;

文件和目录的关系

人是通过文件名识别文件,系统是通过inode编号识别文件;

系统是通过目录的数据来查询文件名和inode编号的关系;

        文件=元数据+数据

        目录=元数据+数据

        文件和目录的元数据都是保存  属性信息-->大小、权限、时间戳、指针

        文件的数据保存 block 保存实际的数据内容

        目录的数据保存 文件名和inode编号的对应关系

文件读取和写入流程

假设现在读取的是/etc/passwd文件

1.首先获取/etc目录的inode编号,根据目录的数据来查找passwd文件名和inode编号的对应关系,找到passwd文件的inode编号

2.通过读取inode表 来找到passwd文件底层的block的位置,要判断文件的权限

3.如果有读的权限,则读取block的内容

mv和inode的关系

在同一个文件系统内进行移动:inode编号不会变化,仅仅是移动了inode编号和文件名的映射关系

在不同文件系统进行移动:inode编号会变化,实际上是将文件拷贝到目标文件系统中,然后删除源文件系统的inode

cp和inode的关系

无论是同一文件系统还是不同文件系统,inode编号都会发生变化,在底层会开辟一个新的block进行存储数据

rm和inode的关系

rm删除的是文件名和inode编号的映射关系;block处于释放状态,还存在,等待下一次的数据写入

找回误删除文件的数据

首先不要继续写入数据;通过第三方工具实现文件的恢复  extundelete

ext系列文件系统恢复工具

extundelete   dump和restore(先备份再恢复)

xfs系统文件系统恢复工具

xfsdump和xfsrestore(先备份再恢复)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值