挂载

作者: 姜饼人_9e7b | 来源:发表于2017-06-22 14:51 被阅读0次

目录:

  • 一、挂载
  • 二、挂载loop设备
  • 三、挂载网络资源
  • 四、挂载目录到另一个目录上
  • 五、挂载配置文件

一、挂载

1、什么是挂载

linux操作系统将所有的设备都看作文件,它将整个计算机的资源都整合成一个大的文件目录。我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上,然后通过访问这个目录来访问存储设备。

挂载好的文件、目录、设备以及特殊文件即可提供用户使用。除了操作系统调用的mount指令外,mount_root()会优先挂载(或称根目录) 。在这个情况下,操作系统会在调用setup前,先调用mount。

2、如何挂载

命令:mount [-fnrsvw] [-t vfstype] [-o options] device dir

  • device挂载的设备:
  • 设备文件:如/dev/sda1
  • 卷标:如-L 'MYDATA'
  • UUID:如-U '0c50523c-43f1-45e7-85c0-a126711d406e'
  • 伪文件系统名称:proc, sysfs, devtmpfs, configfs
  • dir挂载点
  • 建议使用空目录,否则非目录下原来的数据会无法访问。
  • -t vsftype:指定挂载的设备上的文件系统
  • -r: readonly
  • -w: read and write 默认选择
  • -n: 不更新/etc/mtab, mount不可见
  • -a:自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选项中有auto功能)
  • -L 'LABEL': 以卷标指定挂载设备
  • -U 'UUID': 以UUID指定要挂载的设备
  • -B, --bind: 绑定目录到另一个目录上
  • -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功能
  • loop: 使用loop设备
  • defaults:相当于rw, nosuid, dev, exec, auto, nouser, async

二、挂载文件设备(loop设备)

1、创建一个文件,大小随意,这里我创建1G

[root@CentOS6 ~]#dd if=/dev/zero of=/app/partfile bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 75.1955 s, 14.3 MB/s

2、对新创建的文件/app/partfile 创建文件系统

[root@CentOS6 ~]#mkfs.ext4 /app/partfile 
mke2fs 1.41.12 (17-May-2010)
/app/partfile is not a block special device.
Proceed anyway? (y,n) y

3、查看/app/partfile 的信息

[root@CentOS6 ~]#blkid /app/partfile 
/app/partfile: UUID="67047989-db3c-46cb-b5c8-b21129b76042" TYPE="ext4" 

4、把/app/partfile 挂载到一个目录下

[root@CentOS6 ~]#mount /app/partfile /mnt/part -o loop
[root@CentOS6 ~]#df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda2      100660656 9092656  86448000  10% /
tmpfs             502056      76    501980   1% /dev/shm
/dev/sda3       50264772 1120976  46583796   3% /app
/dev/sda1         991512   34916    905396   4% /boot
[root@CentOS6 ~]#df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda2      100660656 9092656  86448000  10% /
tmpfs             502056      76    501980   1% /dev/shm
/dev/sda3       50264772 1120976  46583796   3% /app
/dev/sda1         991512   34916    905396   4% /boot
/app/partfile     999320    1284    945608   1% /mnt/part

这样/app/partfile就可以当做一个块设备使用了。也可以当做U盘,拷贝到其他机器使用。

/etc/fstab配置格式:

/app/partfile /mnt/part  ext4 loop 0 0

三、挂载网络资源

这里我们用windows共享作为网络资源,然后挂载在Linux上。
1、配置window共享


设置window共享

2、添加windows用户,账号密码都是test


添加windows用户

3、把window共享资源挂载到Linux的/mnt/win目录上,并创建一个文件。

[root@CentOS6 ~]#mkdir /mnt/win
[root@CentOS6 ~]#mount -o username=test  //172.17.250.142/winshare /mnt/win
Password: 
[root@CentOS6 ~]#cd /mnt/win
[root@CentOS6 win]#ls
[root@CentOS6 win]#touch hello
[root@CentOS6 win]#ls
hello

4、上一步我们在共享文件夹创建了一个文件,我们到windows上看看~

image.png image.png

/etc/fstab配置格式:

//172.17.250.142/winshare   /mnt/win cifs defaults,username=test,password=test 0 0

四、挂载目录到另一个目录上

我们把/app这个目录,挂载到/mnt/app上,就可以通过/mnt/app去访问/app的资源。

[root@CentOS6 win]#mkdir /mnt/app
[root@CentOS6 win]#mount -B /app /mnt/app
[root@CentOS6 win]#ls /mnt/app
a  apache24  partfile
[root@CentOS6 win]#ls /app
a  apache24  partfile

可以看到/mnt/app里的内容和/app一样

/etc/fstab配置格式:

/app /mnt/app   none  bind 0 0

五、挂载配置文件

  • mount命令只能临时挂载,重启系统后挂载信息会丢失。如果要保留挂载信息,需要配置/etc/fstab文件。
[root@CentOS6 ~]#vim /etc/fstab 
UUID=6baffe84-ec5a-4ea1-968a-7066a069e118 /                       ext4    defaults        1 1
UUID=ad4301e6-44a9-4494-81fc-47d69461ccf8 /app                    ext4    defaults        1 2
UUID=21e638ff-1075-43f1-85f9-295a6e5478a5 /boot                   ext4    defaults        1 2
UUID=895a55d3-407d-4c1a-9034-9ed6550b8338 swap                    swap    defaults        0 0
UUID=6b129c71-e51e-493a-92bd-34a6c27486c3 swap                    swap   defaults  0 0
#目录挂载在目录上
/app /mnt/app   none  bind 0 0
#windows共享挂载
//172.17.250.142/winshare   /mnt/win cifs defaults,username=test,password=test 0 0
#文件挂载在目录上
/app/partfile  /mnt/part               ext4   loop    0 0 
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0

  • 每一行代表一个挂载点,每行从左到右共6列,每一列代表一个特性,格式如下:

|1|2 | 3 | 4 | 5| 6|
|:---:|:--------:| :--------: | :----: | :----: | :---: | :-----:|
|设备|挂载点 | 文件格式 | 挂载选项 | 转储频率| 自检次数|

  • 设备:建议使用UUID,设备UUID不会变动
  • LABEL: LABEL=""
  • UUID: UUID=""
  • 伪文件系统名称: proc, sysfs
  • 挂载选项:
    • default:相当于rw, nosuid, dev, exec, auto, nouser, async
  • 转储频率:
  • 0:不做备份
  • 1:每天转储
  • 2:每隔一天转储
  • 自检次序:
  • 0:不自检
  • 1:首先自检;一般只有rootfs才用

相关文章

  • docker卷挂载特点

    容器的卷挂载分为不同的挂载方式,有匿名挂载、具名挂载及绑定挂载 其中匿名挂载与具名挂载相比,使用匿名挂载在容器运行...

  • Linux学习操作系统优化

    挂载知识补充: ps:在挂载的时候不要使用有数据的挂载目录。 mount 挂载设备 挂载点 umount 挂载点

  • mount 挂载与 umount 卸载

    mount:挂载 挂载本地光盘: NFS 挂载: CentOS 挂载 U 盘: 查看挂载的情况: 查看某台主机提供...

  • 挂载

    目录: 一、挂载 二、挂载loop设备 三、挂载网络资源 四、挂载目录到另一个目录上 五、挂载配置文件 一、挂载 ...

  • 我的第一篇博客

    搭建本地YUM本地库iso挂载 挂载: 卸载: 挂载:

  • CENTOS挂载磁盘

    临时挂载 永久挂载

  • [LN_05] Linux挂载 & 用户登录信息查看命令

    一、Linux挂载命令 挂载目的是分配挂载点(分配盘符),Linux的挂载点是用目录来指定 1. 查询与自动挂载 ...

  • 挂载命令

    查询与自动挂载 mount -l 查询系统中已经挂载的设备 mount -a 自动挂载 挂载命令 mount -t...

  • linux 开机自动挂载磁盘

    查看磁盘信息 在要挂载到的地方新建文件夹,比如 设置开机挂载 手动挂载: 自动挂载: 立即生效

  • win10子系统ubuntu挂载E盘到指定目录

    挂载磁盘 -- DrvFs 挂载E: 盘到/home/test 卸载 挂载网络上的其他位置 挂载NTFS上空的文件夹

网友评论

      本文标题:挂载

      本文链接:https://www.haomeiwen.com/subject/kudfcxtx.html