mount

mount 功能说明:挂载文件系统
mount命令可以将指定的文件系统挂载到指定目录(挂载点),在Linux系统下必须先挂载所有的设备,然后才能被访问。
挂载的目录必须事先存在且最好为空,如果目录不为空,那么挂载设备后会掩盖以前的目录内容,但原目录下的内容不会受损,
所以,如果卸载了相应的设备,那么此前的目录内容又可以访问了。


参数选项
-l    显示系统已经挂载的设备的相关信息
-a    根据/etc/fstab文件里的配置挂载文件系统
-t    指定挂载的文件系统类型
      例如,文件系统类型有,nfs(网络文件系统),iso9660(挂载CD-ROM光盘),auto(自动检测文件系统)。
      如果不设置t参数,或使用-t auto参数,mount命令会自行选择挂载的文件类型
-o    后接一些挂载的选项,是安全、性能优化的重要选项
-r    只读挂载,等同于-o ro的挂载方式
-w    读写挂载,等同于-o rw的挂载方式

 
mount的-o参数可接的选项

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)
 



范例:对系统的光驱进行挂载
首先要把光盘放入光驱驱动器中,如果是VM(虚拟机),则需要将ISO镜像放入VM光驱驱动器中,然后执行下面的操作:
 
[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




范例:生产场景文件系统故障解决案例。 

由于系统等问题,在工作中可能会造成文件系统只读,这时就需要重新挂载根(/)为读写模式。 
mount -o remount,rw / #<==remount 索试重新挂载“/”为rw(可读可写)。  

如果上述操作还不能解决问题,则需要重启系统或使用救援模式来解决。



范例:生产场景配置fstab后防止开机启动出错案例
在工作中,当添加新的磁盘时,会有永久性挂载的需求,此时就会配置/etc/fstab这个文件,
但这个文件若配置错误则有可能造成系统重启后无法开机,因此,在配置好fstab文件后可先用mount -a读取/etc/fstab进行挂载测试,
如果能挂载成功,那么重启一般也会正常,反之则会出现异常。

[root@cs6 ~]# tail -1 /etc/fstab
/dev/sdb1              /mnt                     ext4       defaults     0  0
[root@cs6 ~]# mount -a 

提示:经过这样的挂载测试以后,就可以确保下一次开机的时候,系统能够重启成功,
当然修改fstab文件也要特别注意,最后一列的数字最好改为0(表示不用fsck检查)。

 

上一篇:LINUX常用命令之挂载、文件目录管理和vim编辑器


下一篇:OpenCV +Python 制作画板