mount挂载

mount

1 挂载mount                                                                                                                               

      基本概念

       挂载:将额外文件系统与根文件系统现存的目录建立起关联关系,进而使得此目录做为其它文件访问入库的行为

       卸载:为解除关联关系的过程

       注意:挂载点下原有的文件在挂载完成后会被临时隐藏,但数据不会丢失。所以挂载目录最好为空目录。

2  挂载方法                                                                                                                                     

mount  DEVICE MOUNT_POINT 

其中DEVICE为要挂载的设备,可以是磁盘分区、卷标(LABEL)、UUID或者文件(文件格式化后也可以当做磁盘挂载);MOUNT_POINT为挂载点。

例如:    [root@local ~]# mount /dev/sdc1  /mnt/sdc1
    [root@local ~]# mount -U "95c37ae8-7bd9-4d8b-ba17-61aaf39f292f" /mnt/sdc1
    [root@local ~]# mount -L "SDC1" /mnt/sdc1/      #SDC1位分区?dev/sdc1的卷标

以上三种方法都可以把/dev/sdc1分区挂载到/dev/sdc1目录下,现在就可以进入/mnt/sdc1目录访问/dev/sdc1磁盘,此时在/mnt/sdc1上的所有对数据的操作都会保存至/dev/sdc1分区。

       挂载之前必须创建文件系统,既就是格式化分区。

3  看挂载的命令dflsblk或者cat /proc/mounts                                                                      

可以通过执行 df  命令来显示当前以及挂载的设备

[root@local ~]# df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda2       12254344 6357184   5251632  55% /
devtmpfs         1001592       0   1001592   0% /dev
tmpfs            1016064      88   1015976   1% /dev/shm
tmpfs            1016064    9292   1006772   1% /run
tmpfs            1016064       0   1016064   0% /sys/fs/cgroup
/dev/sda1         194235  123782     56117  69% /boot
tmpfs             203216      16    203200   1% /run/user/0
/dev/sr0         8086368 8086368         0 100% /run/media/root/CentOS 7 x86_64
/dev/sdc1        1998672    6144   1871288   1% /mnt/sdc1 #可以看到分区已经挂载成功
[root@local ~]#  lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
fd0      2:0    1     4K  0 disk
sda      8:0    0    20G  0 disk
├─sda1   8:1    0   200M  0 part /boot
├─sda2   8:2    0    12G  0 part /
└─sda3   8:3    0     1G  0 part [SWAP]
sdb      8:16   0     5G  0 disk
├─sdb1   8:17   0   976M  0 part
├─sdb2   8:18   0 975.6M  0 part
└─sdb3   8:19   0   975M  0 part
sdc      8:32   0     5G  0 disk
└─sdc1   8:33   0     2G  0 part /mnt/sdc1
sr0     11:0    1   7.7G  0 rom 
[root@local ~]# cat /proc/mounts
rootfs / rootfs rw 0 0
sysfs /sys sysfs rw,seclabel,nosuid,nodev,noexec,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
devtmpfs /dev devtmpfs rw,seclabel,nosuid,size=1001592k,nr_inodes=250398,mode=755 0 0
securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /dev/shm tmpfs rw,seclabel,nosuid,nodev 0 0
 [. . . . .]
tmpfs /run/user/0 tmpfs rw,seclabel,nosuid,nodev,relatime,size=203216k,mode=700 0 0
/dev/sdc1 /mnt/sdc1 ext4 rw,seclabel,relatime,data=ordered 0 0

4  mount常用命令选项                                              

       -t     vsftype:指定要挂载的设备上的文件系统类型

       -rreadonly,只读挂载

       -wread and write,读写挂载

       -n:不更新/etc/mtabmount不可见,既就是mount命令看不到已经挂载成功

       -a:自动挂载所有支持自动挂载的设备(指定了在/etc/fstab文件中,且挂载选项中有auto功能)

       -LLABEL”:以卷标指定挂载设备

       -U UUID”:以UUID指定要挂载的设备

       -B–bind:绑定目录到另一个目录上

       -o option:挂载文件系统的选项,多个选项同时使用用逗号分隔。是一个神奇的选项。

              async:一步挂载

              sync:同步挂载

              atime/noatime:禁用或启用自动更新atime,包含目录和文件

              diratime/nodiratime:目录的访问时间戳

              auto/noauto:是否支持自动挂载,是否支持-a选项

              exec/noexec:是否支持将文件系统上运行应用程序

              dev/nodev:是否支持在次文件系统上使用设备文件

              suid/nosuid:是否支持suidsgid权限

              remount:重新挂载

              ro:只读挂载

              rw:读写挂载

              user/nouser:是否运行普通用户挂载此设备,默认管理员才能挂载

              acl:启用此文件系统上的acl功能

       默认:相当于renosuiddevexecautonouserasync

5  其它挂载相关的命令                                             

       1)查看挂载点的挂载情况:findmnt
MOUNT_POINT

[root@local ~]# findmnt /mnt/sdc1
TARGET    SOURCE    FSTYPE OPTIONS
/mnt/sdc1 /dev/sdc1 ext4   rw,relatime,seclabel,data=ordered
[root@local ~]# findmnt /mnt/sdc2
TARGET    SOURCE    FSTYPE OPTIONS
/mnt/sdc2 /dev/sdc2 xfs    rw,relatime,seclabel,attr2,inode64,noquota

2)查看正在访问指定的文件系统的进程:lsof 
MOUNT_POINT
fuser
–v MOTN_POINT

[root@local ~]# lsof /mnt/sdc1
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
bash    1615 root  cwd    DIR   8,33     4096    2 /mnt/sdc1
bash    2024 root  cwd    DIR   8,33     4096    2 /mnt/sdc1

可以看到有两个用户正在访问/mnt/sdc1目录

[root@local ~]# fuser -v /mnt/sdc1
                     USER        PID ACCESS COMMAND
/mnt/sdc1:           root     kernel mount /mnt/sdc1
                     root       1615 ..c.. bash
                     root       2024 ..c.. bash

3)终止所有正在访问指定的文件系统的进程

[root@local ~]# fuser -km /mnt/sdc1
/mnt/sdc1:            1615c  2024c

接下来查看是否成功

[root@local ~]# lsof /mnt/sdc1
[root@local ~]#

可以看到以及踢成功,不过在实际应用时,最好提前发通知,以免用户在线导数据丢失

6 卸载                                                       

       卸载命令:umount       DEVICE

       或者umount   MOUNT_POINT

[root@local ~]# umount /dev/sdc1  #卸载/dev/sdc1

以及看不到/dev/sdc1说明卸载成功

[root@local ~]# df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda2       12254344 6869184   4739632  60% /
devtmpfs         1001592       0   1001592   0% /dev
tmpfs            1016064      84   1015980   1% /dev/shm
tmpfs            1016064    9232   1006832   1% /run
tmpfs            1016064       0   1016064   0% /sys/fs/cgroup
/dev/sda1         194235  123782     56117  69% /boot
tmpfs             203216      16    203200   1% /run/user/42
tmpfs             203216       0    203216   0% /run/user/0
/dev/sdc2        1038336   32944   1005392   4% /mnt/sdc2

下来用另一种方法卸载/dev/sdc2

[root@local ~]# umount /mnt/sdc2
[root@local ~]#
[root@local ~]# df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda2       12254344 6869184   4739632  60% /
devtmpfs         1001592       0   1001592   0% /dev
tmpfs            1016064      84   1015980   1% /dev/shm
tmpfs            1016064    9232   1006832   1% /run
tmpfs            1016064       0   1016064   0% /sys/fs/cgroup
/dev/sda1         194235  123782     56117  69% /boot
tmpfs             203216      16    203200   1% /run/user/42
tmpfs             203216       0    203216   0% /run/user/0

以及看不到/dev/sdc2,说明卸载成功

7  /etc/fstab                                                                                                                          

查看/etc/fstab文件

[root@local ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Sun Apr 16 10:18:50 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=dddd23d1-1012-4bac-9717-56b9b469e0c2  /           ext4    defaults    1  1
UUID=316d8677-25b8-49af-b4eb-54daa20b6595  /boot        ext4    defaults    1  2
UUID=dacd6ddd-d765-4646-b98c-0579f2732749  swap        swap    defaults    0  0

可以看到,每行定义一个要挂载的文件系统,有六个字段,每个字段对于的含义:

       第一个字段:要挂载的设备或者伪文件系统

              设备文件、卷标(LABEL)、UUID、伪文件系统名称(procsysfs

       第二个字段:指定挂载点

       第三个字段:文件系统类型

       第四个字段:挂载选项

              syncatime/noatimediratime/nodiratimeauto/noautoexec/noexecdev/nodevsuid/nosuid

              remountrorwuser/nouser acl

       第五个字段:转存频率

              0:不做备份

              1:每天转存

              2:没隔一天转存

       第六感字段:启动时自检次序

              0:表示不自检

              1:首先自检,一般只有rootfs才用1

            

原创文章,作者:linux is not unix,如若转载,请注明出处:http://www.178linux.com/73873

评论列表(1条)

  • renjin
    renjin 2017-04-28 10:08

    主要对linux下的分区挂载展开了介绍,内容总结的非常详细,排版也很好,可以看出来,最近一定是很用功的。并且博客的质量数量都和之前提高了不少,真心不错,继续努力