挂载硬件设备
- 在磁盘上建立好文件系统之后,还需要把新建立的文件系统挂载到系统上才能使用。
- 文件系统所挂载到的目录被称为挂载点。
- Linux系统中提供了/mnt和/media两个专门的挂载点。
- 一般而言,挂载点应该时一个空目录,否则目录中原来的文件将被系统隐藏。
- 文件系统可以在系统引导过程中自动挂载,也可以手动挂载。
Q1:什么叫挂载点?
A:Linux当中一切以/开始,之后可以创建很多目录(挂载点),但是目录(这些挂载点)仅仅是一个入口,进入之后使用哪个空间、多少空间是由哪个分区挂载在这个目录上决定的。
可以理解成一棵树上有很多挂钩(挂载点),这些挂扣上能存放/使用多少东西,是由这些挂勾上挂多大的箱子(分区、镜象等)决定的,如果不挂,则共享/的空间大小。
另外,分区和镜象等内容只有明确挂载一个挂载点(有了入口),才能被用户访问。
1、df 命令 ——显示磁盘空间使用情况
- Disk Free,显示系统上可使用的磁盘空间
参数 | 作用 |
---|---|
-a | 显示所有系统文件 |
-B | <块大小> 指定显示时的块大小 |
-h | 以容易阅读的方式显示 |
-H | 以1000字节为换算单位来显示 |
-i | 显示索引字节信息 |
-k | 指定块大小为1KB |
-l | 只显示本地文件系统 |
-t | <文件系统类型> 只显示指定类型的文件系统 |
-T | 输出时显示文件系统类型 |
实例:
①、显示磁盘分区使用情况:
②、以容易阅读的方式显示磁盘分区使用情况:
③、显示指定文件所在分区的磁盘使用情况:
2、mount 命令 ——用于挂载文件系统
- mount [参数] 文件系统 挂载目录
- 把硬盘设备或分区与一个目录文件进行关联,然后就能在这个目录中看到硬件设备中的数据
参数 | 作用 |
---|---|
-t | 指定挂载类型 |
-l | 显示已加载的文件系统列表 |
-V | 显示程序版本 |
-n | 加载没有写入文件“/etc/mtab”中的文件系统 |
-r | 将文件系统加载为只读模式 |
-a | 加载文件“/etc/fstab”中描述的所有文件系统 |
实例:
①、查看版本:
[root@localhost ~]# mount -V
②、启动所有挂载:
[root@localhost ~]# mount -a
③、挂载 /dev/cdrom 到 /mnt:
[root@localhost ~]# mount /dev/cdrom /mnt
④、挂载nfs格式文件系统:
[root@localhost ~]# mount -t nfs /123 /mnt
⑤、挂载第一块盘的第一个分区到/etc目录 :
[root@localhost ~]# mount -t ext4 -o loop,default /dev/sda1 /etc
Q2:为什么写的是mount /dev/cdrom /mnt,但是使用df -h却显示/dev/sr0,而不是/dev/cdrom?
A:因为/dev下的cdrom目录对应的软链接(l)是sr0,/dev/cdrom和/dev/sr0是一个意思。但是如果/dev/cdrom消失,/dev/sr0也就无意义。
3、umount 命令 ——卸载文件系统
- umount [挂载点/设备文件]
参数 | 作用 |
---|---|
-a | 卸载/etc/mtab中记录的所有文件系统 |
-n | 卸载时不要将信息存入/etc/mtab文件中 |
-r | 若无法成功卸载,则尝试以只读的方式重新挂入文件系统 |
-t | 文件系统类型:仅卸载选项中所指定的文件系统 |
-v | 执行时显示详细的信息 |
-V | 显示版本信息 |
实例
①、通过设备名卸载:
②、通过挂载点卸载:
Q3:为什么重启后会挂载至/run目录下?
A:mount命令后就能立即使用文件系统了,但系统在重启后挂载就会失效,也就是说我们需要每次开机后都手动挂载一下。
4、永久挂载 ——/etc/fstab
- 这肯定不是我们想要的效果,如果想让硬件设备和目录永久地进行自动关联,就必须把挂载信息按照指定的填写格式“设备文件 挂载目录 格式类型 权限选项 是否备份 是否自检”写入到/etc/fstab文件中。这个文件中包含着挂载所需的诸多信息项目,一旦配置好之后就能一劳永逸了。
- 获取uuid的方式,使用blkid进行查看。
- 复制UUID和 TYPE的值,写入/etc/fstab文件中
- 使用mount -a将/etc/fstab中尚未挂载的均进行挂载
- 重启之后,依然岿然不动(挂载在/mnt处)
5、autofs自动挂载服务
- 安装服务,要把挂载信息写入到/etc/fstab 中,这样远程共享资源就会自动随服务器开机而进行挂载。
- 虽然这很方便,但是如果挂载的远程资源太多,则会给网络带宽和服务器的硬件资源带来很大负载。如果在资源挂载后长期不使用,也会造成服务器硬件资源的浪费。
- autofs 自动挂载服务可以帮我们解决这一问题。
- autofs 服务程序是一 种 Linux 系统守护进程,当检测到用户视图访问一个尚未挂载的文件系统时,将自动挂载该文件系统。
- 将挂载信息填入/etc/fstab文件后,系统在每次开机时都自动将其挂载。
- autofs 服务程序则是在用户需要使用该文件系统时才去动态挂载,从而节约了网络资源和服务器的硬件资源。
6、安装autofs服务
step 1
使用本地镜像源安装autofs服务——yum install autofs
step 2
修改autofs服务的主配置文件——/etc/auto.master
- 处于生产环境中的 Linux 服务器,一般会同时管理许多设备的挂载操作。
- 如果把这些设备挂载信息都写入到 autofs 服务的主配置文件中,无疑会让主配置文件臃肿不堪,不利于服务执行效率,也不利于日后修改里面的配置内容。
- 因此在 autofs 服务程序的主配置文件中需 要按照“挂载目录 子配置文件”的格式进行填写。
- 挂载目录是设备挂载位置的上一级目录。光盘设备一般挂载到/mnt/cdrom (/media/cdrom)目录中,那么挂载目录写成/mnt(/media) 即可。
- 对应的子 配置文件则是对这个挂载目录内的挂载设备信息作进一步的说明。
子配置文件需要用户自行 定义,文件名字没有严格要求,但后缀建议以.misc 结束。
step 3
修改子配置文件——/etc/sjw.misc
- 应按照“挂载目录 挂载文件类型及权限 :设备名称”的格式进行填写。
- 要把光盘设备挂载到/mnt/cdrom目录中,可将挂载目录写为 cdrom。
- -fstype 为文件系统格式参数,iso9660 为光盘设备格式,ro、nosuid 及 nodev为光盘设备具体的权限参数,/dev/cdrom则是 定义要挂载的设备名称。
- 配置完成后再顺手将 autofs服务程序启动并加入到系统启动项中。
step 4
查看当前的光盘设备挂载情况
- 发现光盘设备没有被挂载上。
- /mnt目录中根本没有cdrom子目录
- 使用cd命令直接进入cdrom子目录中
- 发现光盘设备被立即自动挂载上