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的解決方法

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