块设备的命名方式
块设备的形式
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(先备份再恢复)