8.10 mount:挂载文件系统
mount命令的参数选项及说明
async 所有涉及文件系统/O的操作都是异步处理,即数据不会同步写入到磁盘,而是写入到缓冲区中,这种设置会提高系统的性能,但同时也会降低数据的安全性,一般在生产环境下不推荐使用。除非对性能要求很高,对数据可靠性要求不高的场景 sync 与async相反,即有I/O操作时,都会同步处理/O,即把数据同步写入硬盘,此参数会牺牲一部分I/O性能,但是换来的是系统突发宕机后数据的安全性 atime 在每一次数据访问时,都会同步更新每次访问的文件的inode时间,是默认选项,在高并发的情况下,要明确加上noatime来取消该默认项,以达到提升/O性能,优化磁盘I/O的目的 noatime 不更新文件系统上文件的inode访问时间,在高并发环境下,应用此选项,可以在一定程度上提高系统I/O的性能 nodiratime 不更新文件系统上目录的inode访问时间,在高并发环境下,应用此选项,可以在一定程度上提高系统I/O的性能 auto 通过-a参数能够被自动挂载 noauto 不会自动挂载文件系统 defaults 默认值包括rw、suid、dev、exec、auto、nouser 和 async,/etc/fstab文件挂载配置的很多情况下都使用默认值 exec 允许执行二进制程序,取消该参数,可以提升系统的安全性 noexec 不能执行二进制程序 nosuid 不允许suid(Linux的特殊权限)特殊功能生效 nouser 禁止一个普通用户挂载该文件系统,这是挂载时的默认选项 remount 尝试重新挂载一个已经挂载了的文件系统,其通常用于改变一个文件系统的挂载标志,从而使得一个只读文件系统变得可写,这个动作不会改变设备或者挂载点。
提示一下,当系统发生故障时或者进入单用户模式、教援模式时,会发现根文件系统经常会变成只读文件系统,不允许修改,此时该命令就派上用场了,具体命令为:mount -o remount,rw / 会将根文件系统重新挂载使其可写。
在单用户模式或教援模式修改系统时该命令十分重要 ro 只读挂载 rw 读写挂载
显示系统已挂载的信息(不加参数或加-l参数)
[root@cs6 ~]# mount /dev/mapper/vg_cs6-lv_root on / type ext4 (rw) #<==磁盘/dev/mapper/vg_cs6-lv_root挂载在(on)根上,文件系统类型为ext4,可读可写(rw)。 proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0") /dev/sda1 on /boot type ext4 (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) /dev/sdb1 on /mnt/data1 type ext4 (rw)
对系统的光驱进行挂载
[root@cs6 ~]# mount /dev/cdrom /mnt #<=这里没有指定-t iso9660,但mount命令会自动识别 mount: block device /dev/sr0 is write-protected, mounting read-only #<=提示设备写保护,只读挂载。 [root@cs6 ~]# mkdir /mnt/cdrom [root@cs6 ~]# mount /dev/cdrom /mnt/cdrom mount: block device /dev/sr0 is write-protected, mounting read-only [root@cs6 ~]# ll -h /mnt/cdrom/ total 82K -r--r--r--. 1 root root 14 Jun 29 2018 CentOS_BuildTag dr-xr-xr-x. 3 root root 2.0K Jun 30 2018 EFI -r--r--r--. 1 root root 212 Nov 27 2013 EULA -r--r--r--. 1 root root 18K Nov 27 2013 GPL dr-xr-xr-x. 3 root root 2.0K Jun 30 2018 images dr-xr-xr-x. 2 root root 2.0K Jun 30 2018 isolinux dr-xr-xr-x. 2 root root 40K Jun 30 2018 Packages -r--r--r--. 1 root root 1.4K Jun 29 2018 RELEASE-NOTES-en-US.html dr-xr-xr-x. 2 root root 4.0K Jun 30 2018 repodata -r--r--r--. 1 root root 1.7K Nov 27 2013 RPM-GPG-KEY-CentOS-6 -r--r--r--. 1 root root 1.7K Nov 27 2013 RPM-GPG-KEY-CentOS-Debug-6 -r--r--r--. 1 root root 1.7K Nov 27 2013 RPM-GPG-KEY-CentOS-Security-6 -r--r--r--. 1 root root 1.7K Nov 27 2013 RPM-GPG-KEY-CentOS-Testing-6 -r--r--r--. 1 root root 3.4K Jun 30 2018 TRANS.TBL [root@cs6 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_cs6-lv_root 26G 1.7G 24G 7% / tmpfs 931M 0 931M 0% /dev/shm /dev/sda1 477M 28M 424M 7% /boot /dev/sdb1 392M 2.3M 369M 1% /mnt/data1 /dev/sr0 406M 406M 0 100% /mnt/cdrom
使用性能及安全挂载参数选项(-o多选项)的企业案例
[root@backup ~]# mount -t nfs -o nosuid,noexec,nodev,noatime,nodiratime,rsize=131072,wsize=131072 172.16.1.31:/data/ /upload [root@backup ~]# grep upload /proc/mounts 172.16.1.31:/data/ /upload nfs4 rw,nosuid,nodev,noexec,noatime,nodiratime,vers=4,rsize=131072,wsize=131072,namlen=255,hard,pro to=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=172.16.1.45,minorversion=0,local_lock=non e,addr=172.16.1.31 0 0
生产场景配置fstab后防止开机启动出错案例
[root@cs6 ~]# tail -1 /etc/fstab /dev/sdb1 /mnt ext4 defaults 0 0 [root@cs6 ~]# mount -a
提示:经过这样的挂载测试以后,就可以确保下一次开机的时候,系统能够重启成功,当然修改fstab文件也要特别注意,最后一列的数字最好改为0(表示不用fsck检查)。
8.11 umount:卸载文件系统
卸载已挂载的光盘
[root@cs6 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_cs6-lv_root 26G 1.7G 24G 7% / tmpfs 931M 0 931M 0% /dev/shm /dev/sda1 477M 28M 424M 7% /boot /dev/sdb1 392M 2.3M 369M 1% /mnt [root@cs6 ~]# umount /mnt/ [root@cs6 ~]# ls /mnt/ cdrom data1 data2 [root@cs6 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_cs6-lv_root 26G 1.7G 24G 7% / tmpfs 931M 0 931M 0% /dev/shm /dev/sda1 477M 28M 424M 7% /boot
生产场景下强制卸载的例子
[root@cs6 ~]# mount /dev/sdb1 /mnt/data1 [root@cs6 ~]# ls /mnt/data1 1.html 2.html 3.html 4.html 5.html lost+found [root@cs6 ~]# cd /mnt/data1 [root@cs6 data1]# umount /mnt/data1 #<==固为当前在/mnt/data1目条中,所以无法卸载,此处执行方法一,退出当前目录卸载。 umount: /mnt/data1: device is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1)) [root@cs6 data1]# umount -lf /mnt/data1 #<==方法二:使用-lf参教进行强制师载。 [root@cs6 data1]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_cs6-lv_root 26G 1.7G 24G 7% / tmpfs 931M 0 931M 0% /dev/shm /dev/sda1 477M 28M 424M 7% /boot