掛載:
將額外文件系統與根文件系統某現存的目錄建立起關聯關系,進而使得此目錄做為其它文件訪問入口的行為
卸載:
為解除此關聯關系的過程
把設備關聯掛載點: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.www58058.com/74492