Linux 磁盘挂载2(文件系统格式化、磁盘挂载、VFS虚拟化文件系统)

目录

Linux文件系统

文件系统类型

Linux如何保存文件

VFS虚拟文件系统

 文件格式化命令

mkfs 格式化文件系统

磁盘挂载命令

mount 临时挂载命令

umount  卸载文件系统

vim /etc/fstab 永久挂载


Linux文件系统

Linux 磁盘挂载1(硬盘分区)_linux磁盘格式化和挂载-CSDN博客

文件系统类型

Linux系统中的一切都是文件

  所以Linux中的什么都可以更改,包括内核(kernel)

  硬盘都会映射为硬盘文件保存在/dev文件中

  系统的运行状态都会被保存在/proc文件中

什么是文件系统

文件系统是文件的数据结构和组织方式
操作系统中负责管理和存储文件信息的软件结构称为文件管理系统,简称文件系统
文件系统中包括文件中的数据、文件系统结构;所有Linux用户和程序看到的文件、目录、软连接等都存储在文件系统中

Linux的文件系统类型

 RHEL 4 使用ext2文件系统

 RHEL 5 使用ext3文件系统

 RHEL 6 使用ext4文件系统

 RHEL 7 使用xfs文件系统

 RHEL 8 使用xfs文件系统

ext2 文件系统

支持最大16TB的分区和最大2TB的单个文件

没有日志功能(突然服务器断电、死机会造成数据丢失)

ext3 文件系统

支持最大16TB的分区和最大2TB的单个文件

与ext2相比加入了日志功能,当操作系统崩溃的时候保证系统的可靠性

不过性能不够

ext4 文件系统

是一个32位的文件系统

相比于ext3性能提升了,支持的存储量达到最大1EB分区和单个16TB的文件大小

新增了无限数量子目录、Extents连续数据块概念、多块分配、延迟分配、持久分配、快速FSCK、日志校验、无日志模式、inode增强等

xfs 文件系统

是一个64位的文件系统,最大支持18EB的存储空间,不过性能与ext4差不多

相比于ext4最大的变化就是容量提升了(为了满足云计算、大数据的大容量)

Linux如何保存文件

Linux并不是直接把文件的内容写入到硬盘中,而是将文件分为两部分保存

通过inode保存文件的权限与属性信息,通过block保存实际的文件内容

inode 记录文件属性和指针

每个文件占用一个独立的inode表格,此表格默认128字节

inode是一串数据,不同文件对应的inode在文件系统里是唯一的

指针:通过指针指向一个block块(占4字节)

文件属性:包括文件的权限(一般权限、特殊权限、隐藏权限)、所有者、所属组、文件大小、、文件最后一次访问时间、文件的修改时间等

block

真正保存数据的数据块(大小一般是1k、2k、4k)

当文件较大时,会有多个block,然后把多个block首尾相连(第一个block结尾作为指针指向第二个block,然后第二个block的结尾也作为指针指向第三个block,依次这样)

Linux 磁盘挂载2(文件系统格式化、磁盘挂载、VFS虚拟化文件系统)_第1张图片

注意事项

一个文件被创建后至少会占用一个inode和一个block

文件的inode只能有一个,block有多个,可以通过做链接文件来增加文件的inode(文件夹默认会占用两个inode)

如果block的大小为1k

  当文件是1.2k的大小时,会直接占用2个block块

  当文件时0.8k的大小时,剩余的0.2k也不能被其它文件使用(即一个block只可以存放一个文件的数据)

VFS虚拟文件系统

VFS为各类文件系统提供了一个统一的操作界面和编程接口,使得用户进行系统调用时不再关心系统的底层文件系统,可以将系统调用指令转为具体文件系统能够读懂的指令

Linux 磁盘挂载2(文件系统格式化、磁盘挂载、VFS虚拟化文件系统)_第2张图片

 文件格式化命令

mkfs 格式化文件系统

将硬盘分区格式化之后,可以使得Linux系统得知怎样在硬盘上写入数据

格式化文件之前先使用lsblk命令查看磁盘分区情况,如果磁盘分区没有显示出来

需要reboot系统

mkfs.文件系统1 设备1     将设备1格式化为文件系统1

mkfs -t 文件系统2 设备2  将设备2格式化为文件系统2

命令举例

mkfs.xfs /dev/sdb5       将sdb5格式化为xfs文件系统

mkfs -t xfs /dev/sdb1     将sdb1格式化为xfs文件系统

Linux 磁盘挂载2(文件系统格式化、磁盘挂载、VFS虚拟化文件系统)_第3张图片

lsblk -f 查看磁盘文件系统

Linux 磁盘挂载2(文件系统格式化、磁盘挂载、VFS虚拟化文件系统)_第4张图片

磁盘挂载命令

磁盘进行文件格式化之后,需要将磁盘进行挂载

将一个设备文件与目录(挂载点)做关联的动作叫做挂载

只有将设备文件挂载到挂载点之后,此设备才可以被使用

mount 临时挂载命令

mount 设备1 挂载点1   将设备1挂载到挂载点1

mount -o rw,remount /sysroot   以可读写的方式重新挂载/sysroot

 -t 指定挂载的文件类型

 -o 表示指定挂载文件系统重新挂载

       rw  以读写的方式挂载

       ro  以只读的方式挂载

       remount 重新挂载已经挂载了的文件系统

       defaults  使用所有选项的默认值(auto、nouser、rw、suid)

       auto     允许以-a进行挂载

       nouser   不允许一般用户挂载

       suid     确认suid和guid位

命令举例(需要先创建挂载目录 mkdir 目录)

将/dev/sdb1挂载到/media/sdb1目录

将/dev/sdb5挂载到/media/sdb5目录

Linux 磁盘挂载2(文件系统格式化、磁盘挂载、VFS虚拟化文件系统)_第5张图片

挂载注意事项

对于MBR分区来说,扩展分区不能挂载,只可以挂载主分区和逻辑分区

当把设备文件挂载到以后内容的目录时,目录的原始文件会被隐藏;当取消挂载后,文件内容还会回来

挂载目录不一定要是/media目录下的子目录,任意目录都可以,只是为了遵循FHS协议,建议挂载到/media目录下

umount  卸载文件系统

取消设备与挂载点的关联操作

umount  设备文件名/挂载目录  卸载设备的文件系统

  -v 执行时显示详细的信息

  -r 尝试以只读的方式重新挂载文件系统

Linux 磁盘挂载2(文件系统格式化、磁盘挂载、VFS虚拟化文件系统)_第6张图片

vim /etc/fstab 永久挂载

使用mount命令挂载只是临时生效,重启后挂载点就消失了

我们需要通过编辑/etc/fstab文件来进行永久挂载,让计算机在重启后还可以自动挂载设备文件

/etc/fstab文件内容格式

Linux 磁盘挂载2(文件系统格式化、磁盘挂载、VFS虚拟化文件系统)_第7张图片

/dev/sdb1       设备命令(绝对路径-也可以是硬盘号)  

/media/sdb1    设备挂载点(绝对路径)    

xfs                   挂载的文件系统格式 

defaults           权限(defaults为默认)

0                   (不要开启自动备份,为1或2表示开启自动备份 数字越小优先级越大)

0                   (不要开启自动校验,为1或2表示开启自动校验,数字越小优先级越大)

Linux 磁盘挂载2(文件系统格式化、磁盘挂载、VFS虚拟化文件系统)_第8张图片

查看硬盘对应的硬盘号(UUID--也就是硬盘的GUID)

blkid /dev/sdb1——查看硬盘对应的硬盘号(如果显示结果没有Type,则表示该分区还没有进行文件格式化)

你可能感兴趣的:(Linux,linux,运维,服务器)