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

原文地址:https://www.cnblogs.com/long5683/p/11122826.html