挂载:
将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件访问入口的行为
卸载:
为解除此关联关系的过程
把设备关联挂载点:mount Point
mount
卸载时:可使用设备,也可以使用挂载点
umount
mount umount命令都是临时生效,机器重启后失效
挂载点下原有文件在挂载完成后会被临时隐藏
挂载点目录一般为空
用mount 命令挂载文件系统
挂载方法:mount DEVICE MOUNT_POINT
mount :通过查看/etc/mtab 文件显示当前已挂载的所有设备
mount [-fnrsvw] [-t vfstype] [-o options] device dir
device :指明要挂载的设备;
(1) 设备文件:例如/dev/sda5
(2) 卷标:-L ‘LABEL’, 如 例如 -L ‘MYDATA’
(3) UUID, -U ‘UUID’如 :例如 -U ‘0c50523c-43f1-45e7-85c0-a126711d406e’
(4)伪文件系统名称:proc, sysfs, devtmpfs, configfs
dir :挂载点
事先存在;建议使用空目录
进程正在使用中的设备无法被卸载
挂载方法:mount DEVICE MOUNT_POINT
mount :通过查看/etc/mtab 文件显示当前已挂载的所有设备
[root@station29 ~]# cat /etc/mtab /dev/sda6 / ext4 rw 0 0 proc /proc proc rw 0 0 sysfs /sys sysfs rw 0 0 devpts /dev/pts devpts rw,gid=5,mode=620 0 0 tmpfs /dev/shm tmpfs rw,rootcontext="system_u:object_r:tmpfs_t:s0" 0 0 /dev/sda1 /boot ext4 rw 0 0 /dev/sda2 /data ext4 rw 0 0 /dev/sda3 /home ext4 rw 0 0 none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
mount [-fnrsvw] [-t vfstype] [-o options] device dir
device :指明要挂载的设备;
(1) 设备文件:例如/dev/sda5
(2) 卷标:-L ‘LABEL’, 如 例如 -L ‘MYDATA’
(3) UUID, -U ‘UUID’如 :例如 -U ‘0c50523c-43f1-45e7-85c0-a126711d406e’
(4) 伪文件系统名称:proc, sysfs, devtmpfs, configfs
dir :挂载点
事先存在;建议使用空目录
进程正在使用中的设备无法被卸载
[root@station29 ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda6 173059896 3771028 160491224 3% / tmpfs 953124 72 953052 1% /dev/shm /dev/sda1 194241 72183 111818 40% /boot /dev/sda2 20511356 45032 19417748 1% /data /dev/sda3 10190136 40508 9625340 1% /home [root@station29 ~]# mkdir /sda6 [root@station29 sda6]# mount /dev/sda1 /sda6
将sda1挂载到sda6下
[root@station29 sda6]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda6 173059896 3771032 160491220 3% / tmpfs 953124 72 953052 1% /dev/shm /dev/sda1 194241 72183 111818 40% /boot /dev/sda2 20511356 45032 19417748 1% /data /dev/sda3 10190136 40508 9625340 1% /home /dev/sda1 194241 72183 111818 40% /sda6 [root@station29 sda6]# mount /dev/sda6 /sda6/sda1 [root@station29 sda6]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda6 173059896 3770976 160491276 3% / tmpfs 953124 72 953052 1% /dev/shm /dev/sda1 194241 72185 111816 40% /boot /dev/sda2 20511356 45032 19417748 1% /data /dev/sda3 10190136 40508 9625340 1% /home /dev/sda1 194241 72185 111816 40% /sda6 /dev/sda6 173059896 3770976 160491276 3% /sda6/sda1 [root@station29 ~]# umount /dev/sda6 (取消挂载) [root@station29 ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda6 173059896 3770976 160491276 3% / tmpfs 953124 72 953052 1% /dev/shm /dev/sda1 194241 72185 111816 40% /boot /dev/sda2 20511356 45032 19417748 1% /data /dev/sda3 10190136 40508 9625340 1% /home /dev/sda1 194241 72185 111816 40% /sda6
注意:取消挂载时不能有其他用户访问
fuser -v /dev/sda6 查看正在访问的用户
fuser -km /dev/sda2 杀掉所有进程
一个设备可同时挂载到多个目录中,一个目录不可同时挂载多个设备
[root@station29 ~]# mount /dev/sda6 on / type 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) /dev/sda2 on /data type ext4 (rw) /dev/sda3 on /home type ext4 (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) /dev/sda1 on /sda6 type ext4 (rw) /dev/sr0 on /media/CentOS_6.9_Final type iso9660 (ro,nosuid,nodev,uhelper=udisksuid=500,gid=500,iocharset=utf8,mode=0400,dmode=0500) [root@station29 ~]# cat /etc/mtab /dev/sda6 / ext4 rw 0 0 proc /proc proc rw 0 0 sysfs /sys sysfs rw 0 0 devpts /dev/pts devpts rw,gid=5,mode=620 0 0 tmpfs /dev/shm tmpfs rw,rootcontext="system_u:object_r:tmpfs_t:s0" 0 0 /dev/sda1 /boot ext4 rw 0 0 /dev/sda2 /data ext4 rw 0 0 /dev/sda3 /home ext4 rw 0 0 none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0 /dev/sda1 /sda6 ext4 rw 0 0 /dev/sr0 /media/CentOS_6.9_Final iso9660 ro,nosuid,nodev,uhelper=udisks,uid=500,id=500,iocharset=utf8,mode=0400,dmode=0500
mount常用命令选项
-t vsftype :指定要挂载的设备上的文件系统类型
-r: readonly ,只读挂载
-w: read and write, 读写挂载
-n: 不更新/etc/mtab ,mount 不可见
-a :自动挂载所有支持自动挂载的设备( 定义在了/etc/fstab文件中,且挂载选项中有auto 功能)
-L ‘LABEL’: 以卷标指定挂载设备
-U ‘UUID’: 以UUID 指定要挂载的设备
-B, –bind: 绑定目录到另一个目录上
查看内核追踪到的已挂载的所有设备:cat /proc/mounts
[root@station29 ~]# cat /proc/mounts rootfs / rootfs rw 0 0 proc /proc proc rw,relatime 0 0 sysfs /sys sysfs rw,seclabel,relatime 0 0 devtmpfs /dev devtmpfs rw,seclabel,relatime,size=938316k,nr_inodes=234579,mode=755 0 0 devpts /dev/pts devpts rw,seclabel,relatime,gid=5,mode=620,ptmxmode=000 0 0 tmpfs /dev/shm tmpfs rw,seclabel,relatime 0 0 /dev/sda6 / ext4 rw,seclabel,relatime,barrier=1,data=ordered 0 0 none /selinux selinuxfs rw,relatime 0 0 devtmpfs /dev devtmpfs rw,seclabel,relatime,size=938316k,nr_inodes=234579,mode=755 0 0 /proc/bus/usb /proc/bus/usb usbfs rw,relatime 0 0 /dev/sda1 /boot ext4 rw,seclabel,relatime,barrier=1,data=ordered 0 0 /dev/sda2 /data ext4 rw,seclabel,relatime,barrier=1,data=ordered 0 0 /dev/sda3 /home ext4 rw,seclabel,relatime,barrier=1,data=ordered 0 0 none /proc/sys/fs/binfmt_misc binfmt_misc rw,relatime 0 0 /etc/auto.misc /misc autofs rw,relatime,fd=7,pgrp=2019,timeout=300,minproto=5,maxproto=5,indirect 0 0-hosts /net autofs rw,relatime,fd=13,pgrp=2019,timeout=300,minproto=5,maxproto=5,indirect 0 0
loop设备
文件往目录中挂载,都会用到loop设备
[root@station29 ~]# mount /dev/sda6 on / type 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) /dev/sda2 on /data type ext4 (rw) /dev/sda3 on /home type ext4 (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) /dev/sda1 on /sda6 type ext4 (rw) /dev/sr0 on /media/CentOS_6.9_Final type iso9660 (ro,nosuid,nodev,uhelper=udisks,uid=500,gid=500,iocharset=utf8,mode=0400,dmode=0500) /root/partfile on /mnt/file type ext4 (rw,loop=/dev/loop0) /root/partfile2 on /mnt/file2 type vfat (rw,loop=/dev/loop1) [root@station29 ~]# ls /dev/loop* (loop默认共有8个) /dev/loop0 /dev/loop2 /dev/loop4 /dev/loop6 /dev/loop1 /dev/loop3 /dev/loop5 /dev/loop7 [root@station29 ~]# vim /boot/grub/grub.conf (修改loop数量,该文件计算机重启时才会读取) root (hd0,0) kernel /vmlinuz-2.6.32-696.el6.x86_64 ro root=UUID=1fd1710f-ff1a-4eba-94f8-c57ecc05d6c6 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet crashkernel=auto max_loop=100 (设置loop数量为100个) [root@station29 ~]# reboot (修改后重启) Broadcast message from zhouao@station29.magelinux.com (/dev/pts/0) at 7:20 ... The system is going down for reboot NOW! [root@station29 ~]# ls /dev/loop* /dev/loop0 /dev/loop22 /dev/loop36 /dev/loop5 /dev/loop63 /dev/loop99 /dev/loop18 /dev/loop31 /dev/loop45 /dev/loop59 /dev/loop72 /dev/loop86 /dev/loop19 /dev/loop32 /dev/loop46 /dev/loop6 /dev/loop73 /dev/loop87 /dev/loop2 /dev/loop33 /dev/loop47 /dev/loop60 /dev/loop74 /dev/loop88 ...... (创建设备文件用mknod) 如果不重启增加loop数量 [root@station29 ~]# mknod /dev/loop100 b 7 100 [root@station29 ~]# ll /dev/loop100 brw-r--r--. 1 root root 7, 100 Apr 25 07:27 /dev/loop100 [root@station29 ~]# losetup -a (可看设备与文件的对应关系) 将文件和loop设备关联 (CentOS6中使用CentOS7中直接使用losetup) [root@station29 ~]# losetup /dev/loop7 partfile2 [root@station29 ~]# losetup -a /dev/loop1: [0806]:8393192 (/root/partfile2) /dev/loop7: [0806]:8393192 (/root/partfile2) [root@station29 ~]# mount /dev/loop7 /mnt/file [root@station29 ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda6 173059896 4064456 160197796 3% / tmpfs 953124 72 953052 1% /dev/shm /dev/sda1 194241 35220 148781 20% /boot /dev/sda2 20511356 45032 19417748 1% /data /dev/sda3 10190136 40508 9625340 1% /home /dev/loop7 204580 0 204580 0% /mnt/file2 -o options :( 挂载文件系统的选项) ,多个选项使用逗号分隔 async :异步模式 sync :同步模式, 内存更改时,同时写磁盘 atime/noatime :包含目录和文件 diratime/nodiratime :目录的访问时间戳 auto/noauto :是否支持自动挂载, 是否支持-a 选项 exec/noexec :是否支持将文件系统上运行应用程序 dev/nodev :是否支持在此文件系统上使用设备文件 suid/nosuid :不否支持suid 和sgid 权限 remount :重新挂载 ro :只读 rw: : 读写 user/nouser :是否允许普通用户挂载此设备,默认管理员才能挂载 acl :启用此文件系统上的acl 功能 Defaults :相当于rw, nosuid, dev, exec, auto, nouser, async [root@station29 ~]# mount /dev/sda6 on / type 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) /dev/sda2 on /data type ext4 (rw) /dev/sda3 on /home type ext4 (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) /dev/loop7 on /mnt/file2 type vfat (rw) (重新挂载:remount 用户在线时使用) [root@station29 ~]# mount -o remount,ro /mnt/file2 [root@station29 ~]# mount /dev/sda6 on / type 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) /dev/sda2 on /data type ext4 (rw) /dev/sda3 on /home type ext4 (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) /dev/loop7 on /mnt/file2 type vfat (ro) [root@station29 ~]# mount -o remount,rw,nosuid,noexec,nodev /mnt/file2 [root@station29 ~]# mount /dev/sda6 on / type 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) /dev/sda2 on /data type ext4 (rw) /dev/sda3 on /home type ext4 (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) /dev/loop7 on /mnt/file2 type vfat (rw,noexec,nosuid,nodev) 不支持文件系统运行程序,不支持suid和sgid权限,不支持此文件系统上的设备文件
卸载命令
查看挂载情况:
findmnt MOUNT_POINT [root@station29 ~]# findmnt /dev/sda1 TARGET SOURCE FSTYPE OPTIONS /boot /dev/sda1 ext4 rw,relatime,seclabel,barrier=1,data=ordered [root@station29 ~]# findmnt /mnt/sda1 [root@station29 ~]# echo $? 配合echo $?可查询是否是挂载点 1 [root@station29 ~]# findmnt /dev/sda1 &> /dev/null || mount /dev/sdb2 /dev/sda1 查询是否是挂载点,如果不是就挂载 [root@station29 ~]# findmnt /mnt/sda1 &> /dev/null && umount /mnt/sda1 && mount/dev/sda1 /mnt/sda1 如果是挂载点,那么卸掉挂载后重新挂载 查看正在访问指定文件系统的进程: lsof MOUNT_POINT [root@station29 ~]# lsof /sbin/init COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME init 1 root txt REG 8,6 150352 1310780 /sbin/init fuser -v MOUNT_POINT
[root@station29 ~]# lsof /mnt/ COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME bash 3246 rookie cwd DIR 8,6 4096 7602177 /mnt [root@station29 ~]# fuser -v /mnt USER PID ACCESS COMMAND /mnt: rookie 3246 ..c.. bash
终止所有在正访问指定的文件系统的进程:
fuser -km MOUNT_POINT
卸载:
umount DEVICE
umount MOUNT_POINT
挂载点和/etc/fstab
配置文件系统体系
被mount 、fsck 和其它程序使用
系统重启时保留文件系统体系
可以在设备栏使用文件系统卷标
使用mount -a 命令挂载/etc/fstab中的所有文件系统
文件挂载配置文件
/etc/fstab 每行定义一个要挂载的文件系统;
要挂载的设备或伪文件系统
挂载点
文件系统类型
挂载选项
转储频率
自检次序
要挂载的设备或伪文件系统:
设备文件、LABEL(LABEL=””) 、UUID(UUID=””) 、伪文件系统名称(proc,sysfs)
挂载选项: defaults
转储频率: 0 :不做备份
1 :每天转储
自检次序: 0 :不自检
1 :首先自检;一般只有rootfs 才用1
转储频率和自检次序都设置为0时,可避免损坏后系统无法启动的问题
[root@station29 ~]# vim /etc/fstab UUID=1fd1710f-ff1a-4eba-94f8-c57ecc05d6c6 / ext4 defaults 1 1 UUID=34e5ffbe-c2b3-4745-89bc-1811245ae758 /boot ext4 defaults 1 2 ...... sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 UUID=4fd1710f-ff1a-4eba-94f8-c57ecc05d6c3 /mnt/sdb1 ext4 defaults 0 0 [root@station29 ~]# mount -a
例:目录挂载目录
[root@station29 ~]# vim /etc/fstab UUID=1fd1710f-ff1a-4eba-94f8-c57ecc05d6c6 / ext4 defaults 1 1 UUID=34e5ffbe-c2b3-4745-89bc-1811245ae758 /boot ext4 defaults 1 2 ...... sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 UUID=4fd1710f-ff1a-4eba-94f8-c57ecc05d6c3 /mnt/sdb1 ext4 defaults 0 0 [root@station29 ~]# mount -a
例:文件挂载
root@station29 ~]# vim /etc/fstab UUID=1fd1710f-ff1a-4eba-94f8-c57ecc05d6c6 / ext4 defaults 1 1 UUID=34e5ffbe-c2b3-4745-89bc-1811245ae758 /boot ext4 defaults 1 2 proc /proc proc defaults 0 0 UUID=4fd1710f-ff1a-4eba-94f8-c57ecc05d6c3 /mnt/sdb1 ext4 defaults 0 0 /boot /mnt/boot none bind 0 0 /root/partfile /mnt/file ext4 loop 0 0 [root@station29 ~]# mount -a
原创文章,作者:Linux.rookie,如若转载,请注明出处:http://www.178linux.com/74492