Centos 部署NFS

1. NFS介紹

     NFS 是 Network File System 的縮寫,即網絡文件系統。一種使用於分散式文件系統的協定,由Sun 公司開發,於 1984 年向外公佈。功能是通過網絡讓不同的機器、不同的操作系統能夠彼此分享個別的數據,讓應用程序在客戶端通過網絡訪問位於服務器磁盤中的數據,是在類 Unix 系統間實現磁盤文件共享的一種方法。

     NFS 在文件傳送或信息傳送過程中依賴於 RPC 協議。RPC,遠程過程調用 (Remote Procedure Call)是能使客戶端執行其他系統中程序的一種機制。 NFS 本身是沒有提供信息傳輸的協議和功能的。

     NFS 應用場景,常用於高可用文件共享,多臺服務器共享同樣的數據,可擴展性比較差,本身高可用方案不完善,取而代之的數據量比較大的可以採用 MFS、 TFS、 HDFS 等等分佈式文件系統。

2. NFS配置參數

1.NFS常見配置參數:

參數名稱參數用途
ro只讀權限
rw可讀可寫權限
sync同步寫入數據,性能可能會降低
async異步寫入數據,性能高,數據易丟失
all_squash無論身份如何壓縮用戶身份爲匿名用戶
anonuid配置all_squash使用,指定NFS的用戶UID,必須存在系統
anongid配置all_squash使用,指定NFS的用戶UID,必須存在系統

 

2. NFS重要配置文件:

NFS常用路徑說明
/etc/exportsNFS主配置文件,配置NFS共享目錄
/usr/sbin/exportfsexportfs –rv nfs服務的管理命令,加載配置生效
/usr/sbin/showmountshowmount –e remoteip 查看NFS配置及掛載結果的命令
/var/lib/nfs/etabnfs配置文件的完整參數,有很多都是默認參數
/proc/mountsgrep mnt /proc/mounts 查看客戶端掛載參數

3. NFS部署

3.1  NFS部署環境準備

OS版本:centos 7.5 64bit

[root@nfs-server ~]# cat /etc/redhat-release #查看系統版本

image  

[root@nfs-server ~]# uname -r #查看內核版本

image  

[root@nfs-server ~]# systemctl stop ebtables firewalld #關閉ebtables firewall防火牆

[root@nfs-server ~]# systemctl disable ebtables firewalld #重啓不啓動ebtables firewall防火牆

image  

[root@nfs-server ~]# vim /etc/sysconfig/selinux         #設置selinux 狀態爲disabled

image  

[root@nfs-server ~]# setenforce 0                     # 臨時將selinux設置爲disabled

[root@nfs-server ~]# getenforce                       #檢測selinux是否關閉

image  

[root@nfs-server ~]# ifconfig ens33|awk -F '[ :]+'   'NR==2{print $3}'                    #查看IP地址

image  

[root@nfs-server ~]# hostname                               #查看主機名

image  

3.2 部署配置NFS服務

1. 安裝NFS服務

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

image  

2. 啓動服務

[root@nfs-server ~]# systemctl start  nfs-server  rpcbind

[root@nfs-server ~]# systemctl enable nfs-server  rpcbind

image  

3. 查看rpcbind的註冊信息

[root@nfs-server ~]# rpcinfo -p localhost

image  

4. 查看rpc進程

[root@nfs-server ~]# ps -ef |egrep "rpc|nfs"

image  

5. 修改NFS配置文件共享目錄share至192.168.1.0/24網段,可讀,可寫,統一賬戶

[root@nfs-server ~]# vim /etc/exports

/share 192.168.1.0/24(rw,sync,all_squash)

image  

解釋:

/share         192.168.1.0/24 (rw,sync,all_squash)

共享目錄    可訪問放段(讀寫權限,實時同步,壓縮匿名權限)

6. 創建共享目錄

[root@nfs-server ~]# mkdir /share

image  

7. 重啓NFS服務

[root@nfs-server ~]# systemctl restart nfs-server

[root@nfs-server ~]# systemctl status nfs-server

image  

8. 查看NFS共享的文件信息 ,NFS統一給客戶端的65534用戶權限

[root@nfs-server ~]# cat /var/lib/nfs/etab

image  

9.  查看UID爲65534的用戶名

[root@nfs-server ~]# grep "65534" /etc/passwd

image  

10. 修改共享目錄的所有者,所屬組

[root@nfs-server ~]# chown -R nfsnobody:nfsnobody /share

[root@nfs-server ~]# ll / |grep share

image  

12. 查看server是否配置成功

[root@nfs-server ~]# showmount -e 192.168.1.234

image  

3.3 客戶端測試

1. 安裝軟件包

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

image  

2. 啓動服務

[root@nfs-client ~]# systemctl start nfs

[root@nfs-client ~]# systemctl enable nfs

image  

3. 創建掛載點

[root@nfs-client ~]# mkdir -p /nfs/share

image  

4. 臨時掛載訪問

[root@nfs-client ~]# mount -t nfs 192.168.1.234:/share /nfs/share

[root@nfs-client ~]# df –h

image  

5. 切換目錄到掛載點下,創建一個chenjf的文件

[root@NFS-client ~]# cd /nfs/share/
[root@NFS-client share]# touch chenjf
[root@NFS-client share]# ls

image  

6. 永久掛載

[root@nfs-client ~]# vim /etc/fstab

192.168.1.234:/share  /nfs/share  nfs defaults 0 0

image  

7. 掛載全部

[root@nfs-client ~]# mount -a

[root@nfs-client ~]# df –h

image  

8. 卸載設備時請不要在掛載點下面

[root@nfs-client ~]# umount /nfs/share

image  

9. 當NFS-Server宕機,強制卸載

[root@nfs-client ~]# umount -lf /nfs/share

[root@nfs-client ~]# df -h 

image  

3.4 NFS優化

3.4.1 服務器優化

1、 硬件優化

NFS服務器硬件的選擇

SAS/SSD磁盤,多買幾塊硬盤做raid0/raid10。網卡吞吐量要大,至少千兆網卡。

2、 內核優化

cat >>/etc/sysctl.conf<<EOF

net.core.wmem_default = 8388608

net.core.rmem_default = 8388608

net.core.rmem_max = 16777216

net.core.wmem_max = 16777216

EOF

1. 加載內核生效

sysctl -p

2. 該文件指定了接收套接字緩衝區大小的缺省值(以字節爲單位),缺省設置爲124928

/proc/sys/net/core/rmem_default

3. 該文件指定了接收套接字緩衝區大小的最大值(以字節爲單位),缺省設置爲124928

/proc/sys/net/core/rmem_max

4. 該文件指定了發送套接字緩衝區大小的缺省值(以字節爲單位),缺省設置爲124928

/proc/sys/net/core/wmem_default

5. 該文件指定了發送套接字緩衝區大小的最大值(以字節爲單位),缺省設置爲124928

/proc/sys/net/core/wmem_max

3.4.2 客戶端優化

企業生產環境NFS性能掛載參數

1. 安全掛載

mount -t nfs -o nosuid,noexec,nodev,rw 192.168.1.234:/share /nfs/share

2. 禁止更新時間戳掛載

mount -t nfs -o noatime,nodiratime 192.168.1.234:/share /nfs/share

3. 追求極致

mount -t nfs -o rsize=131072,wrsize=131072 192.168.1.234:/share /nfs/share

4. 安全加優化的掛載方式(推薦)

mount -t nfs -o nosuid,noexec,nodev,noatime,nodiratime,intr,rsize=131072,wrsize=131072 192.168.1.234:/share /nfs/share

5. 默認的掛載方式(默認參數滿足企業日常需求)

mount -t nfs 192.168.1.234:/share /nfs/share

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