一文看懂linux的挂载原理和流程

2018-01-05 00:05    来源:全栈步道者

挂载

在了解挂载之前务必要了解几个概念

分区:对硬盘的合理性分割,分成合适的大小

格式化:让linux系统读取文件信息

挂载:把硬盘设备于某个目录相关联,关联的动作为挂载Mount命令

mount命令用于挂载文件系统,格式为"mount 文件系统 挂载目录"。mount命令中可用的参数及作用如下图所示。挂载是在使用硬件设备前所执行的最后一步操作。只需使用mount命令把硬盘设备或分区与一个目录文件进行关联,然后就能在这个目录中看到硬件设备中的数据了。对于比较新的Linux系统来讲,一般不需要使用-t参数来指定文件系统的类型,Linux系统会自动进行判断。而mount 中的-a参数则厉害了,它会在执行后自动检查/etc/fstab文件中有无疏漏被挂载的设备文件,如果有,则进行自动挂载操作

注(/etc/fstab)包含了你的电脑上的存储设备及其文件系统的信息。它是决定一个硬盘(分区)被怎样使用或者说整合到整个系统中的唯一文件

由于我是在vm下运行的,这里做一个挂载的演示

首先需要在虚拟机中模拟添加入一块新的硬盘存储设备,然后再进行分区、格式化、挂载等操作,最后通过检查系统的挂载状态并真实地使用硬盘来验证硬盘设备是否成功添加。

开始之前先查看下/dev 目录下的文件

1.编辑虚拟机设置

2.添加硬盘

3.选择类型

4.创建新虚拟磁盘

5.容量设置并完成

磁盘创建完成接下来就是启动系统去挂载(干货来了)

在虚拟机中模拟添加了硬盘设备后就应该能看到抽象成的硬盘设备文件了。按照前文讲解的udev服务命名规则,第二个被识别的SCSI设备应该会被保存为/dev/sdb,这个就是硬盘设备文件了。但在开始使用该硬盘之前还需要进行分区操作

fdisk命令

fdisk命令用于管理磁盘分区,格式为"fdisk [磁盘名称]",它提供了集添加、删除、转换分区等功能于一身的"一站式分区服务"。不过与前面讲解的直接写到命令后面的参数不同,这条命令的参数是交互式的,因此在管理硬盘设备时特别方便,可以根据需求动态调整

我们直接使用命令 fdisk /dev/sdb

第1步:我们首先使用fdisk命令来尝试管理/dev/sdb硬盘设备。在看到提示信息后输入参数p来查看硬盘设备内已有的分区信息,其中包括了硬盘的容量大小、扇区个数等信息:

第2步:输入参数n尝试添加新的分区。系统会要求您是选择继续输入参数p来创建主分区,还是输入参数e来创建扩展分区。这里输入参数p来创建一个主分区

第3步:在确认创建一个主分区后,系统要求您先输入主分区的编号。我们在前文得知,主分区的编号范围是1~4,因此这里输入默认的1就可以了。接下来系统会提示定义起始的扇区位置,这不需要改动,我们敲击回车键保留默认设置即可,系统会自动计算出最靠前的空闲扇区的位置。最后,系统会要求定义分区的结束扇区位置,这其实就是要去定义整个分区的大小是多少。我们增加666M

注:此处的单位必须为大写 G 、M 等

第4步:再次使用参数p来查看硬盘设备中的分区信息。果然就能看到一个名称为/dev/sdb的分区 这时候千万不要直接关闭窗口,而应该敲击参数w后回车,这样分区信息才是真正的写入成功啦

保存分区结果

最后,使用partprobe将分区信息同步到内核

格式化

前面我们说过如果没有进行格式化,虽然已经可以检测到相关的存储和详情,但是还是不能进行写入。因此我么用mkfs 命令进行格式化

可以看到这里列出了所有我们可以格式化为的格式

格式化完成!!

接下来就是要来挂载并使用存储设备了。与之相关的步骤也非常简单:首先是创建一个用于挂载设备的挂载点目录;然后使用mount命令将存储设备与挂载点进行关联;最后使用df -h命令来查看挂载状态和硬盘使用量信息。

挂载完成