如何配置开机自动挂载NFS共享

字数 3056阅读 731评论 0赞 0

NFS共享开机自动挂载就是让客户端在开机启动时自动触发mount命令把NFS共享挂载到本机的挂载点而不需要人工操作,从而在大规模集群中节省系统管理员工作量。

背景信息

  • NFS共享开机自动挂载有多种方法可以实现。
  • Linux的部分配置文件在每次系统启动时都会执行一次。因此,如果有需要在系统启动时挂载的NFS共享,可以将对应的挂载命令写入配置文件,比如:

    • 通过编辑“/etc/fstab”文件的方式。
    • 通过编辑“/etc/rc.d/rc.local”文件的方式。

这两种方式都能实现开机自动挂载,用户可以根据需要和使用习惯自行选择对应的配置文件进行设置。本文我们仅举例第二种方法。

配置示例

这里我们以CenOS操作系统为例,其他Linux操作系统的配置方法类似。

  1. 使用vi命令编辑“/etc/rc.d/rc.local”配置文件,将需要在开机启动时执行的挂载命令写入并保存。

编辑完成后,使用cat命令确认写入是否成功。

  • 对于不同的操作系统,开机启动配置文件的名称和所在目录可能不同,请您以具体的操作系统为准。

例如,对于SUSE 11 SP2是在/etc/rc.d/after.local中配置。

  • 这里我们以将挂载命令“mount -t nfs -o vers=3,proto=tcp,rsize=262144,wsize=262144,hard,intr,timeo=600 192.168.50.16:/nfstest /mnt”写入启动文件为例。
  • 请确认写入的命令能够手动挂载成功,避免客户端在重启时自动挂载失败。

    [root@localhost ~]# cd /etc/rc.d/
    [root@localhost rc.d]# ls
    init.d rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d rc.local
    [root@localhost rc.d]# vi rc.local
    [root@localhost rc.d]# cat rc.local

    !/bin/bash

    THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES

    It is highly advisable to create own systemd services or udev rules

    to run scripts during boot instead of using this file.

    In contrast to previous versions due to parallel execution during boot

    this script will NOT be run after all other services.

    Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure

    that this script will be executed during boot.

    touch /var/lock/subsys/local
    mount -t nfs -o vers=3,proto=tcp,rsize=262144,wsize=262144,hard,intr,timeo=600 192.168.50.16:/nfstest /mnt

    [root@localhost rc.d]# ll
    total 4
    drwxr-xr-x. 2 root root 123 Sep 4 2020 init.d
    drwxr-xr-x. 2 root root 107 Sep 4 2020 rc0.d
    drwxr-xr-x. 2 root root 107 Sep 4 2020 rc1.d
    drwxr-xr-x. 2 root root 107 Sep 4 2020 rc2.d
    drwxr-xr-x. 2 root root 107 Sep 4 2020 rc3.d
    drwxr-xr-x. 2 root root 107 Sep 4 2020 rc4.d
    drwxr-xr-x. 2 root root 107 Sep 4 2020 rc5.d
    drwxr-xr-x. 2 root root 107 Sep 4 2020 rc6.d
    -rw-r--r--. 1 root root 581 Apr 23 09:47 rc.local

  1. 由于rc.local配置文件默认没有执行权限,请通过chmod+x rc.local命令为该文件设置执行权限。

    [root@localhost rc.d]# chmod +x rc.local
    [root@localhost rc.d]# ll
    total 4
    drwxr-xr-x. 2 root root 123 Sep 4 2020 init.d
    drwxr-xr-x. 2 root root 107 Sep 4 2020 rc0.d
    drwxr-xr-x. 2 root root 107 Sep 4 2020 rc1.d
    drwxr-xr-x. 2 root root 107 Sep 4 2020 rc2.d
    drwxr-xr-x. 2 root root 107 Sep 4 2020 rc3.d
    drwxr-xr-x. 2 root root 107 Sep 4 2020 rc4.d
    drwxr-xr-x. 2 root root 107 Sep 4 2020 rc5.d
    drwxr-xr-x. 2 root root 107 Sep 4 2020 rc6.d
    -rwxr-xr-x. 1 root root 581 Apr 23 09:47 rc.local

  2. 重启操作系统,验证NFS共享是否挂载成功。

    1. 重启操作系统。

* 重启操作系统将导致主机上的业务断开,执行重启命令前,请先确认当前客户端没有正在运行的业务并谨慎操作。
* 请确认配置文件中添加的命令能够手动挂载成功,避免客户端在重启时自动挂载失败。

[root@localhost rc.d]# reboot
  1. 重新登录系统后,验证是否挂载成功。

    [root@localhost rc.d]# df -Th
    Filesystem              Type      Size  Used Avail Use% Mounted on
    devtmpfs                devtmpfs  3.9G     0  3.9G   0% /dev
    tmpfs                   tmpfs     3.9G   76K  3.9G   1% /dev/shm
    tmpfs                   tmpfs     3.9G  214M  3.7G   6% /run
    /dev/sda2               btrfs      15G   11G  3.6G  75% /var/lib/libvirt/images
    tmpfs                   tmpfs     797M   16K  797M   1% /run/user/0
    192.168.50.16:/nfstest  nfs       1.0T  401M  1.0T   1% /mnt
    

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

X社区推广