Linux如何管理并挂载硬盘设备

一、什么是挂载

在拿到一块全新的硬盘存储设备后要先分区,然后格式化,最后才能挂载并正常使用。
当用户需要使用硬盘设备或分区中的数据时,需要先将其与一个已存在的目录文件进行关联,而这个关联动作就是“挂载”。

二、mount命令

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

20221221172953

例如,要把设备/dev/sdb2 挂载到/backup 目录,只需要在 mount 命令中填写设备与挂载目录参数就行,系统会自动去判断要挂载文件的类型,因此只需要执行下述命令即可:

mount /dev/sdb2 /backup

虽然按照上面的方法执行 mount 命令后就能立即使用文件系统了,但系统在重启后挂载就会失效,也就是说我们需要每次开机后都手动挂载一下。这肯定不是我们想要的效果,如果想让硬件设备和目录永久地进行自动关联,就必须把挂载信息按照指定的填写格式写入到/etc/fstab 文件中. 这个文件中包含着挂载所需的诸多信息项目,一旦配置好之后就能一劳永逸了

格式为:

设备文件 挂载目录 格式类型 权限选项 是否备份 是否自检

20221221173251

如果想将文件系统为 ext4 的硬件设备/dev/sdb2 在开机后自动挂载到/backup 目录上,并保持默认权限且无需开机自检,就需要在/etc/fstab 文件中写入下面的信息,这样在系统重启后也会成功挂载。

20221221173415

三、umount 命令

umount 命令用于撤销已经挂载的设备文件,格式为“umount [挂载点/设备文件]”。我们挂载文件系统的目的是为了使用硬件资源,而卸载文件系统就意味不再使用硬件的设备资源;相对应地,挂载操作就是把硬件设备与目录进行关联的动作,因此卸载操作只需要说明想要取消关联的设备文件或挂载目录的其中一项即可,一般不需要加其他额外的参数。我们来尝试手动卸载掉/dev/sdb2 设备文件

umount /dev/sdb2

四、添加硬盘设备

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

我们不需要为了做这个实验而特意买一块真实的硬盘,而是通过虚拟机软件进行硬件模拟。

首先把虚拟机系统关机,稍等几分钟会自动返回到虚拟机管理主界面,然后单击“编辑虚拟机设置”选项,在弹出的界面中单击“添加”按钮,新增一块硬件设备。

20221221174115

选择推荐的SCSI磁盘类型,点击下一步
20221221174218

这里要选择"创建新的虚拟磁盘"
20221221174403

磁盘容量和存储方式自己根据情况调整。
20221221174557

新的硬盘添加完毕后,就可以看到设备信息了。
20221221174803

按照 udev 服务命名规则,第二个被识别的 SCSI 设备应该会被保存为/dev/sdb,这个就是硬盘设备文件了。但在开始使用该硬盘之前还需要进行分区操作,例如从中取出一个 2GB 的分区设备以供后面的操作使用。
20221221190152

五、使用fdisk命令管理硬盘设备

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

fdisk 命令中的参数以及作用

  • m 查看全部可用的参数
  • n 添加新的分区
  • d 删除某个分区信息
  • l 列出所有可用的分区类型
  • t 改变某个分区的类型
  • p 查看分区信息
  • w 保存并退出
  • q 不保存直接退出

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

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

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

20221221190700

再次使用参数 p 来查看硬盘设备中的分区信息。果然就能看到一个名称为/dev/sdb1、起始扇区位置为 2048、结束扇区位置为 4196351 的主分区了。这时候千万不要直接关闭窗口,而应该敲击参数 w 后回车,这样分区信息才是真正的写入成功啦

20221221190839

20221221190955

在上述步骤执行完毕之后, Linux 系统会自动把这个硬盘主分区抽象成/dev/sdb1 设备文件。

20221221191416

六、格式化硬盘

如果硬件存储设备没有进行格式化,则 Linux 系统无法得知怎么在其上写入数据。因此,在对存储设备进行分区后还需要进行格式化操作。在 Linux 系统中用于格式化操作的命令是mkfs。这条命令很有意思,因为在 Shell 终端中输入 mkfs 名后再敲击两下用于补齐命令的 Tab键,会有如下所示的效果:

20221221191450

这个 mkfs 命令很贴心地把常用的文件系统名称用后缀的方式保存成了多个命令文件,用起来也非常简单—mkfs.文件类型名称。例如要格式分区为 XFS 的文件系统,则命令应为

mkfs.xfs /dev/sdb1

20221221191645

七、挂载硬盘设备

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

20221221192404

存储设备已经顺利挂载之后,接下来就可以尝试通过挂载点目录向存储设备中写入文件了。

20221221192639

八、使挂载永久生效

前面在讲解 mount 命令时提到,使用 mount 命令挂载的设备文件会在系统下一次重启的时候失效。如果想让这个设备文件的挂载永久有效,则需要把挂载的信息写入到配置文件中:

vim /etc/fstab

20221221192933

猜你喜欢

转载自blog.csdn.net/hubing_hust/article/details/128401083