• NFS+mou


    设置主机服务器

    为了设置主机系统以共享目录,我们需要在其上安装NFS内核服务器,然后创建并导出我们希望客户端系统访问的目录。请按照以下步骤顺利设置主机端:

    第1步:安装NFS服务器

    在安装NFS内核服务器之前,我们需要通过以下apt命令以sudo的形式将系统的存储库索引更新为Internet的存储库索引:

    linuxidc@linuxidc:~/linuxidc.com$ sudo apt-get update

    上面的命令允许我们通过Ubuntu存储库安装最新的软件版本。

    现在,运行以下命令以在系统上安装NFS内核服务器:

    linuxidc@linuxidc:~/linuxidc.com$ sudo apt install nfs-kernel-server

    系统将提示您使用Y/n选项确认是否要继续安装。 请输入Y然后按Enter继续,之后软件将成功安装在您的系统上。

    第2步:创建导出目录

    我们要与客户端系统共享的目录称为导出目录。 你可以根据自己的选择来命名; 在这里,我们在系统的mnt(mount)目录中创建一个名为“linuxidc”的导出目录。

    使用以下命令,根据需要通过以下命令指定安装文件夹名称:

    linuxidc@linuxidc:~/linuxidc.com$ sudo mkdir -p /mnt/linuxidc

    因为我们希望所有客户端都能访问该目录,我们将通过以下命令删除文件夹的限制权限:

    linuxidc@linuxidc:~/linuxidc.com$ sudo chown nobody:nogroup /mnt/linuxidc

    在Ubuntu 18.04 LTS上安装NFS服务器和客户端

    linuxidc@linuxidc:~/linuxidc.com$ sudo chmod 777 /mnt/linuxidc

    在Ubuntu 18.04 LTS上安装NFS服务器和客户端

    现在,客户端系统上所有组的所有用户都可以访问我们的“共享文件夹”。

    您可以根据需要在导出文件夹中创建任意数量的子文件夹,供客户端访问。

    步骤3:通过NFS导出文件为客户端分配服务器访问权限

    创建导出文件夹后,我们需要为客户端提供访问主机服务器计算机的权限。 此权限是通过位于系统的/etc文件夹中的exports文件定义的。 请使用以下命令通过Nano编辑器打开此文件:

    linuxidc@linuxidc:~/linuxidc.com$ sudo nano /etc/exports

    在Ubuntu 18.04 LTS上安装NFS服务器和客户端

    编辑此文件需要root访问权限; 因此,您需要在命令中使用sudo。 您也可以在任何您喜欢的个人文本编辑器中打开该文件。

    打开文件后,您可以允许访问:

    • 单个客户端通过在文件中添加以下行:

    /mnt/linuxidc clientIP(rw,sync,no_subtree_check)

    • 通过在文件中添加以下行来多个客户端:

    /mnt/linuxidc client1IP(rw,sync,no_subtree_check)

    /mnt/linuxidc client2IP(rw,sync,no_subtree_check)

    • 多个客户端,通过指定客户端所属的整个子网:

    /mnt/linuxidc 192.168.182.0/24(rw,sync,no_subtree_check)

    /mnt/linuxidc 192.168.182.0/24(rw,sync,no_subtree_check)

    在Ubuntu 18.04 LTS上安装NFS服务器和客户端

    在此示例中,我们指定了要为我们的主目录文件夹(linuxidc)授予访问权限的所有客户端的整个子网:

    将所需的行添加到导出文件中,然后按Ctrl + X,输入Y,然后按Enter键保存。

    此文件中定义的权限“rw,sync,no_subtree_check”表示客户端可以执行以下操作:

    • rw:读写操作
    • sync: 在应用之前将任何更改写入光盘
    • no_subtree_check:阻止子树检查

    第4步:导出共享目录

    在主机系统中完成上述所有配置后,现在可以通过以下命令将共享目录导出:

    linuxidc@linuxidc:~/linuxidc.com$ sudo exportfs -a

     最后,为了使所有配置生效,请按如下方式重新启动NFS服务器:

    linuxidc@linuxidc:~/linuxidc.com$ sudo systemctl restart nfs-kernel-server

    在Ubuntu 18.04 LTS上安装NFS服务器和客户端

    第5步:为客户端打开防火墙

    重要的一步是验证服务器的防火墙是否对客户端开放,以便他们可以访问共享内容。 以下命令将配置防火墙以通过NFS授予客户端访问权限:

    sudo ufw allow from [clientIP or clientSubnetIP] to any port nfs

    在我们的示例中,我们通过以下命令访问客户端计算机的整个子网:

    linuxidc@linuxidc:~/linuxidc.com$ sudo ufw allow from 192.168.182.0/24 to any port nfs

    在Ubuntu 18.04 LTS上安装NFS服务器和客户端

    现在,当您通过以下命令检查Ubuntu防火墙的状态时,您将能够将操作状态视为客户端IP的“允许”。

    linuxidc@linuxidc:~/linuxidc.com$ sudo ufw status

    您的主机服务器现在已准备好通过NFS服务器将共享文件夹导出到指定的客户端。

    配置客户端计算机

    现在是时候对客户机进行一些简单的配置,这样主机的共享文件夹就可以挂载到客户端,然后顺利访问。

    测试的客户端服务器是Ubuntu 18.10

    第1步:安装NFS Common

    在安装NFS Common应用程序之前,我们需要通过以下apt命令以sudo的形式更新我们系统的存储库索引和Internet的索引:

    linuxidc@linuxidc:~$ sudo apt-get update

    在Ubuntu 18.04 LTS上安装NFS服务器和客户端

    上面的命令允许我们通过Ubuntu存储库安装最新的软件版本。

    现在,运行以下命令以在系统上安装NFS Common客户端:

    linuxidc@linuxidc:~$ sudo apt-get install nfs-common

    在Ubuntu 18.04 LTS上安装NFS服务器和客户端

    系统将提示您使用Y/n选项确认是否要继续安装。 请输入Y然后按Enter继续,之后软件将成功安装在您的系统上。

    第2步:为NFS主机的共享文件夹创建安装点

    您的客户端系统需要一个目录,可以访问导出文件夹中主机服务器共享的所有内容。 您可以在系统的任何位置创建此文件夹。 我们在客户端机器的mnt目录中创建一个mount文件夹:

    linuxidc@linuxidc:~$ sudo mkdir -p /mnt/linuxidc_client

    在Ubuntu 18.04 LTS上安装NFS服务器和客户端

    第3步:在客户端上挂载共享目录

    您在上述步骤中创建的文件夹与系统上的任何其他文件夹类似,除非您将共享目录从主机安装到此新创建的文件夹。

    使用以下命令将共享文件夹从主机安装到客户端上的装入文件夹:

    sudo mount serverIP:/shareFolder_server /mnt/mountfolder_client

    在我们的示例中,我们运行以下命令将“linuxidc”从服务器导出到客户端计算机上的mount文件夹“linuxidc_client”:

    linuxidc@linuxidc:~$ sudo mount 192.168.182.172:/mnt/linuxidc /mnt/linuxidc_client

    在Ubuntu 18.04 LTS上安装NFS服务器和客户端

    第4步:测试连接

    请在NFS主机服务器的导出文件夹中创建或保存文件。 现在,打开客户端计算机上的mount文件夹; 您应该能够在此文件夹中查看共享和访问的同一文件。

    查看目前客户端的挂载情况

    $ mount | grep nfs

     

    去除客户端的挂载

    $ umount   /var/tmp/share

    或者

    $ umount  -l /var/tmp/share

     

    /var/tmp/share  是客户端的目录,注意这个是我本地的实验数据,不要和上面的混淆

    其次,这里命令中加了 -l ,是强制执行的命令,对于出现device is busy 时才可以使用

    https://blog.csdn.net/gys_20153235/article/details/80516560

    服务器是工控机 , 客户端本机

    https://blog.csdn.net/zhangjunli/article/details/81014211

    https://blog.csdn.net/qq_36747237/article/details/80595204

    https://blog.csdn.net/zxpcz/article/details/82143425

    https://blog.csdn.net/bobbat/article/details/44139527 

     https://www.linuxidc.com/Linux/2018-11/155331.htm

  • 相关阅读:
    Java 数据库操作oracle增删改查,通用封装基于hashmap
    Python 自动化paramiko操作linux使用shell命令,以及文件上传下载linux与windows之间的实现
    Java利用 ganymedssh2build.jar来上传文件到linux以及下载linux文件以及执行linux shell命令
    Java Calendar and SimpleDateFormat 时间模块
    Java 读取properties
    Java java httpclient4.5 进行http,https通过SSL安全验证跳过,封装接口请求 get,post(formdata,json)封装,文件上传下载
    Python 基于request库的get,post,delete,封装
    更法第一 (zz)
    北京将投资707亿元建三条地铁新线 (zz.IS2120@BG57IV3)
    fgetws 讀取Unicode文件 (zz.IS2120@BG57IV3)
  • 原文地址:https://www.cnblogs.com/long5683/p/11122826.html
Copyright © 2020-2023  润新知