在日常生产中,我们通常希望自动去挂载文件系统等,这样解决了我们繁琐的问题,提高了工作的效率。
目录:
一、挂载和卸载概念
二、挂载和卸载工具的使用
三、/etc/fstab文件的介绍及使用
一、挂载和卸载概念
挂载:将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件访问入口的行为
卸载:为解除此关联关系的过程
注意:
1、挂载点下原有文件在挂载完成后会被临时隐藏
2、挂载点目录一般为空
3、不可以循环挂载。
4、普通用户不能挂载设备。
5、多个设备不能同时挂载在同一个挂载点上。单个设备同时可以挂载不同的挂载点上。
6、单个设备挂载到不同的挂载点上,只取消最后一个挂载上的设备。
二、挂载和卸载工具的使用
mount命令:mount a filesystem
mount:通过查看/etc/mtab文件显示当前已挂载的所有设备
` 示例:
[root@localhost~]#mount`
usage:mount [-fnrsvw] [-t vfstype] [-o options] device
指明挂载设备的方式:
(1)设备文件:例如/dev/sda5
(2)卷标:-L 'LABEL', 例如 -L 'MYDATA'
(3)UUID, -U 'UUID':例如 -U '0c50523c-43f1-45e7-85c0-a126711d406e'
(4)伪文件系统名称:proc, sysfs, devtmpfs, configfs
挂载点:
(1)必须事先存在;
(2)建议挂载点是空目录;
选项:
-t vsftype:指定要挂载的设备上的文件系统类型
-r: readonly,只读挂载
-w: read and write, 读写挂载
-n,–no-mtab : 不更新/etc/mtab,mount不可见
-a:自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选项中有auto功能)
-L ‘LABEL’: 以卷标指定挂载设备
-U ‘UUID’: 以UUID指定要挂载的设备
-B, –bind: 绑定目录到另一个目录上
示例
[root@localhost~]#mount -n /dev/sda5 /mnt/sdb5
注意:使用命令df命令 mount命令是看不到这个挂载的,如果想查看使用下面方法:
查看内核追踪到的已挂载的所有设备
[root@localhost~]#cat /proc/mounts
示例:阐述-B选项的好处
[root@localhost~]#mount -B /etc/ /app/
这种方法可以实现文件共享
[root@localhost~]#ll -di /etc /app
2490369 drwxr-xr-x. 126 root root 12288 Jul 14 09:03 /app
2490369 drwxr-xr-x. 126 root root 12288 Jul 14 09:03 /etc
注意:但是我们使用命令可以看到两个文件夹的inode是相同的,但是节点数没有增加,这就与硬链接有区别。以后我们看到indoe数一样,有两种情况1、硬链接2、文件绑定。
-o options:(挂载文件系统的选项),多个选项使用逗号分隔
async:异步模式 sync:同步模式,内存更改时,同时写磁盘 atime/noatime:包含目录和文件 auto/noauto:是否支持自动挂载,是否支持-a选项 exec/noexec:是否支持将文件系统上运行应用程序 dev/nodev:是否支持在此文件系统上使用设备文件 suid/nosuid:是否支持 suid和sgid权限 remount:重新挂载 ro:只读 rw:读写 user/nouser:是否允许普通用户挂载此设备,/etc/fstab使用 acl:启用此文件系统上的acl能 loop: 使用loop设备 defaults:相当于rw, nosuid, dev, exec, auto, nouser, async
示例:如何不修改目录或文件atime
[root@localhost~]#chattr +A /var/www/html/file “+A”选项设定不更新访问时间
[root@localhost/var/www/html]#chattr +A /var/www/html/
[root@localhost/var/www/html]#touch f1.html
[root@localhost/var/www/html]#lsattr f1.html
-------A-----e- f1.html
[root@localhost/var/www/html]#cp /etc/fstab f2.html
[root@localhost/var/www/html]#lsattr f2.html
-------A-----e- f2.html
findmnt :find a filesystem
可以使用这个命令判断是否存在被挂载的文件系统
卸载命令:
查看正在访问指定文件系统的进程
lsof MOUNT_POINT
fuser -v MOUNT_POINT
终止所有在正访问指定的文件系统的进程
fuser -km MOUNT_POINT
卸载
umount DEVICE
umount MOUNT_POINT
三、/etc/fstab文件的介绍及使用
/etc/fstab每行定义一个要挂载的文件系统
要挂载的设备或伪文件系统
设备文件
LABEL:LABEL=""
UUID:UUID=""
伪文件系统名称:proc, sysfs
挂载点
文件系统类型
挂载选项:defaults
转储频率:0:不做备份 1:每天转储 2:每隔一天转储
自检次序: 0:不自检
1:首先自检;一般只有rootfs才用1
建议不检查,如果检查的话,或许开机起不来系统。
注意:nfs 挂载,如果没有网络,即使有检测,都不会报错。
示例
/etc/ /mnt/etc/ none bind 0 0
/root/f1 /mnt/f1 ext4 loop 0 0
192.168.0.1:/mnt/f1 /mnt/nfs nfs defaults 0 0