Linux挂载管理(mount)
标签: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:每次访问⽂件时更新⽂件的访问时间,默认⽅式。
user:任何⽤户都可以挂载
nouser:只有超级⽤户才可以挂载
auto:系统开机⾃动挂载
noauto:系统开机不⾃动挂载
remount:重新挂载⽂件系统。
查看当前已挂载的分区
mount
通过mount不带参数命令可以查看当前系统的所有挂载分区情况,包括分区的挂载点、分区类型、参数等。
linux命令查看文件夹大小查看挂载分区下的⽂件
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进程正在占⽤。
lsof命令
查看正在被使⽤的⽂件,losf命令是list open file的缩写。
lsof /sdb1(挂载点)
通过losf命令可以查看正在被使⽤的⽂件,可以看到是bash正在使⽤,因为当前我就是在sdb1⽂件夹下⾯,当前的命令窗⼝正在使⽤,切换到别的⽬录下⾯
当切换到别的路径下⾯后,再使⽤umount命令就可以卸载分区,使⽤mount查看分区信息可以看到sdb1分区已经被卸载了.
修改配置⽂件
mount挂载分区在系统重启之后需要重新挂载,修改/etc/fstab⽂件可使挂载永久⽣效
vim /etc/fstab
# <file system> <mount point> <type> <options> <dump> <pass>
UUID=9905757a-a2a3-4a4a-abc7-ece61efeb531 / ext4 defaults 11
UUID=7981f23f-e636-474c-bf10-65adc5c56397 /boot ext4 defaults 12
UUID=d0000d2a-a161-4961-b843-d4ba060ad24c swap swap defaults 00
tmpfs /dev/shm tmpfs defaults 00
devpts /dev/pts devpts gid=5,mode=62000
sysfs /sys sysfs defaults 00
proc /proc proc defaults 00
/dev/sdb6 /sdb6 ext4 sync,noatime 00
file system:第⼀列是分区号
mount point:挂载点
type:⽂件类型
option:-o参数,defaults: rw, suid, dev, exec, auto, nouser, and async
如果不使⽤default默认参数,那么可以使⽤逗号分隔指定参数
ro,rw:只读或者读写的⽅式挂载,默认是rw.
sync:不适⽤缓存,所有操作直接读写磁盘。
async:适⽤缓存,默认⽅式。
noatime:每次访问⽂件时不更新⽂件的访问时间。
atime:每次访问⽂件时更新⽂件的访问时间,默认⽅式。
user:任何⽤户都可以挂载
nouser:只有超级⽤户才可以挂载
auto:系统开机⾃动挂载
noauto:系统开机不⾃动挂载
dump:当其值设置为1时,将允许dump备份程序备份;设置为0时,忽略备份操作
pass:fsck磁盘检查设置,其值是⼀个顺序。当其值为0时,永远不检查;⽽ / 根⽬录分区永远都为1。其它分区从2开始,数字越⼩越先检查,如果两个分区的数字相同,则同时检查。
通过mont和df命令查看到的逻辑分区名和配置⽂件中配置的逻辑分区名不⼀样,但是⼆者的意思是⼀样的,不要被误解
补充
挂载ios镜像⽂件
mount -o loop iso镜像⽂件挂载点
例:
mount -o loop CentOS-6.7-x86_64-bin-DVD1.iso /iso
使挂载⽴即⽣效
sync
总结
mount命令⽐较重要的知识点就是合理的使⽤参数,当然同样要记住mount挂载在服务器重新启动后⼜需要重新挂载,如果想永久挂载还是需要去修改/etc/fstab⽂件,因为这些参数会对我们系统的性能造
成影响。⼀天连续写了两篇⽂章真的很累,现在已经凌晨了,洗洗睡。
备注:
作者:
博客:
本站点所有随笔都是原创,欢迎⼤家转载;但转载时必须注明⽂章来源,且在⽂章开头明显处给明链接,否则保留追究责任的权利。
《欢迎交流讨论》
---恢复内容结束---
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论