你的位置:首页 > 操作系统

[操作系统]Linux 挂载管理


标签:mount,umount

概述  

在上一章增加linux操作系统空间中已经使用过了mount命令对分区进行挂载,这一章详细介绍挂载管理,该命令涉及的知识点也挺多的而且也还比较重要,是需要掌握的一个命令。

 

挂载分区

mount基本语法

mount [参数] /dev/sdb1(需要挂载的分区) /sdb1(挂载目录)

参数是可选的,也可以不带参数,参数的使用方法(-o ro,sync,atime)。

参数:

-t:指定文件系统类型

mount -t ext4 /dev/sdb1 /sdb1

-o:指定挂载选项

    ro,rw:只读或者读写的方式挂载,默认是rw.

    sync:不适用缓存,所有操作直接读写磁盘。

    async:适用缓存,默认方式。

    noatime:每次访问文件时不更新文件的访问时间。

    atime:每次访问文件时更新文件的访问时间,默认方式。

    remount:重新挂载文件系统。

 

查看当前已挂载的分区

mount

通过mount不带参数命令可以查看当前系统的所有挂载分区情况,包括分区的挂载点、分区类型、参数等。

查看挂载分区下的文件ls /sdb1

 每个挂载分区下面都会有一个Lost+found文件夹,该文件夹用来存放文件的损坏数据,例如使用fsck检查分区命令的错误信息就写入该文件夹(命令:fsck /dev/sdb1)。

修改分区只读  

mount -o remount,ro /dev/sdb1 /sdb1

 把sdb1修改为只读后,使用touch无法创建文件。

不更新文件访问时间

mount -o remount,rw,noatime /dev/sdb1 /sdb1

特别是对性能要求很高的系统中,可以将文件系统设为不更新访问文件的时间,比如存放数据库文件的分区,由于访问非常频繁,如果每次访问都更新访问时间对性能会造成一定的影响,这时我们可以将该分区设置成不更新访问文件的时间来提高性能。

stat命令

可以使用stat命令查看文件的访问时间

stat test

这里是因为我后面对参数做过修改,加上noatime参数后确实不会对访问时间进行修改,大家可以试一下;

不使用缓存

开启缓存的目的是为了提高读写的性能,即你对一个数据的读写先读写缓存,因为缓存的读写速度要远远高于磁盘,这样就会提高读写的性能,但是带来性能的同时也会存在丢失修改的风险,当写入缓存的时候突然断电那么这个时候缓存的数据就有可能会丢失了,造成没有写入磁盘。不过现在linux文件系统类型比如ext3,ext4默认都会记录日志,即分区中会存在128M大小的日志空间用来记录对磁盘的读写操作,这也是为了保证数据的丢失修改的一个措施。如果对数据要求很严格的系统可以不适用缓存,但是绝大多数情况下都是适用缓存,这也是linux默认的方式。

mount -o remount,rw,noatime,sync /dev/sdb1 /sdb1

卸载分区

umount语法

umount /dev/sdb1(分区)或者umount /sdb1(挂载点)

卸载sdb1分区

 卸载失败,这里提示设备繁忙

fuser命令

可以使用fuser命令查看文件系统占用的进程

fuser -m /sdb1(挂载点)
或者
fuser -m /dev/sdb1(分区)

 

可以看到2821进程正在占用。

losf命令

查看正在被使用的文件,losf命令是list open file的缩写。

losf /sdb1(挂载点)

 

通过losf命令可以查看正在被使用的文件,可以看到是bash正在使用,因为当前我就是在sdb1文件夹下面,当前的命令窗口正在使用,切换到别的目录下面

当切换到别的路径下面后,再使用umount命令就可以卸载分区,使用mount查看分区信息可以看到sdb1分区已经被卸载了.

总结

mount命令比较重要的知识点就是合理的使用参数,因为这些参数会对我们系统的性能造成影响。一天连续写了两篇文章真的很累,现在已经凌晨了,洗洗睡。 

 

 


备注:

    作者:pursuer.chen

    博客:http://www.cnblogs.com/chenmh

本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接,否则保留追究责任的权利。

《欢迎交流讨论》

 



 

 

---恢复内容结束---