NFS介紹、服務端安裝配置、NFS配置選項


6月21日任務

14.1 NFS介紹
14.2 NFS服務端安裝配置
14.3 NFS配置選項

 

14.1 NFS介紹

 

14.2 NFS服務端安裝配置

1、首先需要2台機器,一台是服務端,一台是客戶端,分別安裝nfs-utils。

服務端需要安裝的程序

[root@jimmylinux-001 ~]# yum install -y nfs-utils rpcbind

客戶端需要安裝的程序

[root@jimmylinux-001 ~]# yum install -y nfs-utils

2、編輯文件 vim /etc/exports 

[root@jimmylinux-001 ~]# vim /etc/exports 寫入以下內容 /home/nfstestdir 192.168.52.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000) 前面一段是共享目錄,后面一段定義你要給那個機器去分享共享這個目錄,指定一個IP或IP段。

3、創建要分享的目錄,並設置成777的權限,設置成777權限是為了方便一會做實驗。

[root@jimmylinux-001 ~]# mkdir /home/nfstestdir [root@jimmylinux-001 ~]# chmod 777 /home/nfstestdir

4、啟動rpcbind 服務

[root@jimmylinux-001 ~]# systemctl start rpcbind

查看rpcbind 服務監聽端口

[root@jimmylinux-001 ~]# netstat -lnpt Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 2572/rpcbind tcp 0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1101/nginx: master tcp 0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      942/sshd tcp 0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1267/master tcp 0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      1101/nginx: master tcp6 0      0 :::111                  :::*                    LISTEN      2572/rpcbind tcp6 0      0 :::22                   :::*                    LISTEN      942/sshd tcp6 0      0 ::1:25                  :::*                    LISTEN      1267/master tcp6 0      0 :::3306                 :::*                    LISTEN      1315/mysqld  

5、啟動nfs服務,在啟動nfs服務后會自動啟動rpc相關的其他服務。

6、如果想讓nfs服務開機自啟動,還需要執行以下命令。

[root@jimmylinux-001 ~]# systemctl enable nfs Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.

 

14.3 NFS配置選項

[root@jimmylinux-001 ~]# cat /etc/exports /home/nfstestdir 192.168.52.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)    括號里面是nfs的配置選項內容

NFS配置選項的含義:

rw   讀寫
ro   只讀
sync                        同步模式,內存數據實時寫入磁盤(sync很快的就會把數據寫到磁盤去,但是不好之處就會降低磁盤效率)
async                      非同步模式(不需要實時把數據寫入到磁盤,每隔一段時間會把內存數據刷入到磁盤,好處是可以保障磁盤效率,不好就是萬一斷電,數據可能會丟失)
no_root_squash     客戶端掛載NFS共享目錄后,root用戶不受約束,權限很大
root_squash           與上面選項相對,客戶端上的root用戶收到約束,被限定成某個普通用戶
all_squash              客戶端上所有用戶在使用NFS共享目錄時都被限定為一個普通用戶
anonuid/anongid    和上面幾個選項搭配使用,定義被限定用戶的uid和gid

下面在客戶端上做一個掛載

1、安裝rpcbind,rpcbind包是由nfs-utils自帶的包一起安裝的。

[root@jimmylinux-002 ~]# yum install -y nfs-utils

2、假如有一台機器已經做了nfs的服務,可以使用showmount查看是否有權限。

如果出現上面的報錯,說明網絡不通,沒有辦法和192.168.52.128的111端口通訊,要么是對方的rpcbind服務沒有開啟,如果服務開啟了還不行,那就是防火牆的關系導致。

把服務端和客戶端的防火牆都關閉,包括selinux。

[root@jimmylinux-001 ~]# systemctl stop firewalld 關閉服務端防火牆

[root@jimmylinux-001 ~]# setenforce 0
[root@jimmylinux
-002 ~]# systemctl stop firewalld 關閉客戶端防火牆 [root@jimmylinux-002 ~]# getenforce 關閉selinux Enforcing
[root@jimmylinux-002 ~]# setenforce 0

這個時候再showmount 查看權限就可以了

3、mount 掛載

可以在這個目錄下創建一個文件

為什么服務端和客戶端2邊的顯示名字不一樣呢?

因為在配置選項中有anonuid和anongid,而配置文件中有寫了一個

anonuid=1000,anongid=1000(1000的id來限定一個普通用戶)意思就是說一旦掛載了nfs共享的目錄,不夠用哪個用戶來操作,最終都是以1000uid和1000gid的用戶體現出來。

這個就是因為限定了用戶,所以會顯示成這樣子的。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM