• Autofs自动挂载服务


    Autofs自动挂载服务

    Autofs简介

    mount是用来挂载文件系统的,可以在系统启动的时候挂载也可以在系统启动后挂载。对于本地固定设备,如硬盘可以使用mount挂载;而光盘、软盘、NFS、SMB等文件系统具有动态性,即需要的时候才有必要挂载。光驱和软盘我们一般知道什么时候需要挂载,但NFS和SMB共享等就不一定知道了,即我们一般不能及时知道NFS共享和SMB什么时候可以挂载。而autofs服务就提供这种功能,好像windows中的光驱自动打开功能,能够及时挂载动态加载的文件系统。免去我们手动挂载的麻烦。要实现光驱,软盘等的动态自动挂载,需要进行相关的配置

    Autofs特点

    • 优点

      autofs是一个守护进程,它会在后台检测用户是否要访问某一个还未挂载的文件系统,autofs会自动检测该文件系统是否存在,如果存在则进行挂载,如果用户过了一段时间还没有使用该文件系统,autofs自动将其卸载,节省人力维护的成本,以及节省服务器资源

    • 缺点

      当用户请求时候才挂载文件系统,如果高并发的业务场景,大量的用户并发访问文件系统,autofs突然进行大量挂载,会给服务器造成很大的压力,一次一些高并发场景下,宁愿保持持续挂载,也不用

    安装Autofs服务

    [root@localhost ~]# yum -y install autofs
    Updating Subscription Management repositories.
    Last metadata expiration check: 0:09:58 ago on Sun 14 Mar 2021 08:41:40 PM CST.
    Dependencies resolved.
    ====================================================================================
     Package          Architecture     Version                     Repository      Size
    ====================================================================================
    Installing:
     autofs           x86_64           1:5.1.4-43.el8              base           781 k
    ====================================================================================
    Install  1 Package
    
    Total download size: 781 k
    Installed size: 3.6 M
    Downloading Packages:
    autofs-5.1.4-43.el8.x86_64.rpm                      1.8 MB/s | 781 kB     00:00    
    ------------------------------------------------------------------------------------
    Total                                               1.8 MB/s | 781 kB     00:00     
    Running transaction check
    Running transaction
      Preparing        :                                                            1/1 
      Installing       : autofs-1:5.1.4-43.el8.x86_64                               1/1       
    Installed products updated.
    
    Installed:
      autofs-1:5.1.4-43.el8.x86_64                                                      
    
    Complete!
    
    //设置开机自启
    [root@localhost ~]# systemctl start autofs
    [root@localhost ~]# systemctl enable autofs
    Created symlink /etc/systemd/system/multi-user.target.wants/autofs.service → /usr/lib/systemd/system/autofs.service.
    

    修改配置文件(主配置+子配置)

    autofs服务程序的主配置文件中需要按照挂载目录 子配置文件的格式写入参数。挂载目录是设备要挂载位置的上一级目录

    设备一般是挂载到/media/cdrom目录中的,那么此处就应该写成/media即可,而对应的子配置文件则是对这个目录内挂载设备信息的进一步说明,配置文件是需要用户自行定义的

    定义主配置文件

    [root@localhost ~]# vim /etc/auto.master
    #
    # Sample auto.master file
    # This is a 'master' automounter map and it has the following format:
    # mount-point [map-type[,format]:]map [options]
    # For details of the format look at auto.master(5).
    #
    /misc   /etc/auto.misc
    /media /etc/cdrom.misc #添加这行配置
    

    定义子配置文件

    子配置文件中应按照“挂载目录 挂载文件类型及权限 :设备名称”的格式写入参数

    把设备挂载到/media/cdrom目录中,则此时写iso即可,而-fstype为文件系统格式参数,iso9660为光盘系统设备格式,ro、nosuid及nodev为光盘设备具体的权限参数,最终/dev/cdrom则是定义要挂载的设备名称

    [root@localhost ~]# vim /etc/cdrom.misc 
    
    cdrom -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
    
    //重启autofs
    [root@localhost ~]# systemctl restart autofs
    

    测试

    //查看挂载情况
    #cdrom没有被挂载
    [root@localhost ~]# df -h
    Filesystem             Size  Used Avail Use% Mounted on
    devtmpfs               883M     0  883M   0% /dev
    tmpfs                  901M     0  901M   0% /dev/shm
    tmpfs                  901M   17M  884M   2% /run
    tmpfs                  901M     0  901M   0% /sys/fs/cgroup
    /dev/mapper/rhel-root   47G  1.9G   46G   4% /
    /dev/sda1             1014M  179M  836M  18% /boot
    tmpfs                  181M     0  181M   0% /run/user/0
    
    //进入media/cdrom触发挂载
    [root@localhost ~]# cd /media/cdrom
    [root@localhost cdrom]# ls
    AppStream  EULA              images      RPM-GPG-KEY-redhat-beta
    BaseOS     extra_files.json  isolinux    RPM-GPG-KEY-redhat-release
    EFI        GPL               media.repo  TRANS.TBL
    #可以看到cdrom被挂载
    [root@localhost cdrom]# df -h
    Filesystem             Size  Used Avail Use% Mounted on
    devtmpfs               883M     0  883M   0% /dev
    tmpfs                  901M     0  901M   0% /dev/shm
    tmpfs                  901M   17M  884M   2% /run
    tmpfs                  901M     0  901M   0% /sys/fs/cgroup
    /dev/mapper/rhel-root   47G  1.9G   46G   4% /
    /dev/sda1             1014M  179M  836M  18% /boot
    tmpfs                  181M     0  181M   0% /run/user/0
    /dev/sr0               7.9G  7.9G     0 100% /media/cdro
    
  • 相关阅读:
    C语言面向对象编程(五):单链表实现(转)
    pthread_barrier_init,pthread_barrier_wait简介(转)
    Linux信号(signal) 机制分析(转)
    Linux 进程间通信 --- 信号通信 --- signal --- signal(SIGINT, my_func); --- 按键驱动异步通知(转)
    Linux 多线程环境下 进程线程终止函数小结(转)
    批量杀进程 ps awk grep
    C++中的INL(转)
    gdb调试多进程和多线程命令(转)
    转: 基于netty+ protobuf +spring + hibernate + jgroups开发的游戏服务端
    转:全栈工程师的知识栈列表
  • 原文地址:https://www.cnblogs.com/leixixi/p/14535467.html
Copyright © 2020-2023  润新知