Ubuntu 16.04搭建家庭NAS之三:NFS服务器搭建与客户端调试

目录

一、服务端

1、安装nfs服务端组件

2、配置共享目录

(1)新建即将共享出去的目录

(2)配置/etc/exports

3、重启nfs服务

4、查询nfs是否启动

二、客户端

1、客户端安装nfs-common

2、查看服务端共享出来了哪些目录

3、挂载服务器端目录至客户端本地

(1)在客户端建一个目录用于接收nfs

(2)开始挂载

4、客户端查看挂载情况

5、客户端取消挂载

参考文献


一、服务端

1、安装nfs服务端组件

sudo apt install nfs-kernel-server

2、配置共享目录

(1)新建即将共享出去的目录

例如,我想在/mnt目录下建一个testdir目录

sudo mkdir /mnt/testdir

(2)配置/etc/exports

sudo vi /etc/exports

在最下边加入

/mnt/testdir *(rw,sync,no_subtree_check,no_root_squash)

其中

  • /mnt/testdir表示将要共享出去的目录;
  • 后边的星号(*)表示所有用户都可连接这台服务器,如果想限定某个网段的用户可以写成类似192.168.1.*这样的形式,如果想限定只有某个用户可以访问可以直接写这个用户的IP;
  • 括号中的部分,rw代表客户端将来可读可写,如果写成ro就是只读;
  • sync表示同步?表示所有数据在请求时写入共享,这个不太理解;
  • no_subtree_check表示不检测父目录的权限;
  • no_root_squash表示不能降低root用户的权限;

3、重启nfs服务

sudo /etc/init.d/nfs-kernel-server restart

4、查询nfs是否启动

ps -A|grep nfs

如果输入以下类似内容则证明已启动

  3662 ?        00:00:00 nfsd4_callbacks
  3664 ?        00:00:00 nfsd
  3665 ?        00:00:00 nfsd
  3666 ?        00:00:00 nfsd
  3667 ?        00:00:00 nfsd
  3668 ?        00:00:00 nfsd
  3669 ?        00:00:00 nfsd
  3670 ?        00:00:00 nfsd
  3671 ?        00:00:00 nfsd
  3711 ?        00:00:00 nfsiod

二、客户端

Windows客户端就不多说了,除了企业版和旗舰版自带的nfs服务似乎没有任何第三方nfs客户端可选,只讨论ubuntu客户端的连接方式(ubuntu也可以自己访问自己,可以用来测试nfs服务有无建立成功)。

1、客户端安装nfs-common

sudo apt install nfs-common

2、查看服务端共享出来了哪些目录

例如我的服务器地址是192.168.86.132

showmount -e 192.168.86.132

由于我之前在服务器端共享出的目录是/mnt/testdir,所以会显示如下内容

Export list for 192.168.86.132:
/mnt/testdir *

这样客户端就知道服务器提供了哪些目录可供连接。

3、挂载服务器端目录至客户端本地

(1)在客户端建一个目录用于接收nfs

比如我的目录建在/mnt/nfsclient

sudo mkdir /mnt/nfsclient

(2)开始挂载

sudo mount 192.168.86.132:/mnt/testdir /mnt/nfsclient/

其中:

  • 192.168.86.132是我的服务器地址,你应该换成你的;
  • /mnt/testdir是我的服务器共享出来的目录,你应该换成你的;
  • /mnt/nfsclient是我客户端用来挂载共享的目录,你应该换成你的;

挂载完成,可以cd到挂载的目录下查看文件。

4、客户端查看挂载情况

命令行输入df回车,可以看到类似如下内容

Filesystem                  1K-blocks     Used Available Use% Mounted on
udev                           477296        0    477296   0% /dev
tmpfs                           99756     4844     94912   5% /run
/dev/sda2                    19548440  2017744  16514632  11% /
tmpfs                          498768        0    498768   0% /dev/shm
tmpfs                            5120        0      5120   0% /run/lock
tmpfs                          498768        0    498768   0% /sys/fs/cgroup
vmhgfs-fuse                 124054524 89496464  34558060  73% /mnt/hgfs
tmpfs                           99756        0     99756   0% /run/user/1000
192.168.86.132:/mnt/testdir  19548544  2017792  16514688  11% /mnt/nfsclient

其中最后一行可以看到我的客户端已经挂载了192.168.86.132这台服务器的/mnt/testdir目录,挂载到了我这台客户端的/mnt/nfsclient下。

5、客户端取消挂载

取消挂载需要先退出挂载的目录,否则会显示device is busy,cd到根目录或其它目录,输入以下命令解除挂载

sudo umount /mnt/nfsclient

其中/mnt/nfsclient是我的客户端的目录,注意这里应该填写客户端接收挂载的这个目录名,而不是服务端的目录名,这里你应该换成你的客户端用于接收的目录。

再次输入df可以看到已经取消挂载了

xyvm@ubuntu:~$ df
Filesystem     1K-blocks     Used Available Use% Mounted on
udev              477296        0    477296   0% /dev
tmpfs              99756     4840     94916   5% /run
/dev/sda2       19548440  2017744  16514632  11% /
tmpfs             498768        0    498768   0% /dev/shm
tmpfs               5120        0      5120   0% /run/lock
tmpfs             498768        0    498768   0% /sys/fs/cgroup
vmhgfs-fuse    124054524 89496464  34558060  73% /mnt/hgfs
tmpfs              99756        0     99756   0% /run/user/1000

参考文献

Ubuntu 16.04 NFS服务器配置及应用

ubuntu 16.04 nfs服务的搭建

UBUNTU不能挂载NFS的解决方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章