首先安裝NFS服務
預設就給安裝rpcbind(c6system)了
查詢NFS服務向RPC服務注冊的端口資訊
因為NFS還沒起動,是以,現在沒太多注冊的端口映射資訊。請留意和後面NFS啟動後這裡的對比
查詢下現在NFS服務運作狀态
上邊顯示沒有啟動,我們現在啟動
如第一段所說我們在查詢下NFS在RPC注冊的端口數
果然多了很多
查詢下NFS運作狀态
設定成開機自動啟動
分别more下 rpcbind and nfs server 看看哪個先啟動 哪個後啟動
[root@linux-chen ~]# more /etc/init.d/rpcbind
#! /bin/sh
#
# rpcbind Start/Stop RPCbind
# chkconfig: 2345 13 87
# description: The rpcbind utility is a server that converts RPC program \
# numbers into universal addresses. It must be running on the \
# host to be able to make RPC calls on a server on that machine.
# processname: rpcbind
# probe: true
# config: /etc/sysconfig/rpcbind
很明顯:rpc先啟動nfs後啟動,nfs先關閉。rpc後關閉
#####################################################################################
用戶端配置
不用多說,看完上邊的肯定看的懂下邊的。隻啟動rpc即可。畢竟咱們是一般的client
##############################################################################
server端配置服務
配置檔案位置
[root@linux-chen ~]# ll /etc/exports
-rw-r--r--. 1 root root 0 Jan 12 2010 /etc/exports
mkdir /data
複制一些内容到建立目錄
cp -r /tmp/temp /data
[root@linux-chen temp]# ls
a.du b.du b.sh leran.log miao.xx test1.xx
"rw" 讀寫權限 “ro”隻讀權限 “sync”允許寫入磁盤權限
重新開機服務
/etc/init.d/nfs reload
(reload=平滑重新開機即等連接配接的服務完成以後再退出)
檢查下能否共享:
[root@linux-chen ~]# showmount -e localhost
Export list for localhost:
/data 10.10.10.1/24
##########################################################
CLIENT host
檢查下能否共享
這個錯誤是因為server host的防火牆沒有關閉
是以要在SERVER-HOST操做
[root@localhost ~]# showmount -e 10.10.10.16
Export list for 10.10.10.16:
即可~!
好!我們現在挂載server的 /data
注意:SERVERhost /data 的目錄其他人沒有寫入權限,是以 客戶不能寫入。修改後即可
chmod -t nfs 777 /data
附錄:圖檔示意
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuUzM0E1dIFlWn9WcEFUQ0hUUzFVYDFUchFDTvl2S39CXDdzLcF0NvwVMw00LcJDMzZWe39CXt92Yu8GdjFTNuMzcvw1LcpDc0RHaiojIsJye.png)
補充:
找到anonuid=65534,anongid=65534
預設使用者名字:nfsnobody
############################################################
NFS程序
[root@linux-chen ~]# ps -ef|grep -E "nfs|rpc"
工作場景案例:
實作多台用戶端同時挂載一台nfs server時,無論從哪一個用戶端寫入資料,其他用戶端同樣也可以讀寫
,即讓所有nfs用戶端寫入到nfs server 的檔案或者目錄在nfs server上的使用者群組都是同一個名稱nethost
#NFS 優點
1,簡單,容易上手
2,部署簡單,維護簡單
3,資料可靠,耐用
缺點:
1,單點故障,如果nfs server當機,所有用戶端無法連接配接
2,高并發場合,NFS效率低(2千萬的PV/日網站不是瓶頸,除非網站架構性能太差)
3,用戶端認證時候基于ip和主機名,權限是根絕ID識别,安全性一般,(放置于内網比較好)
4,NFS資料傳輸是明文,對資料完整性不做完整
5,多台機器挂載NFS時候,連接配接管理麻煩,尤其伺服器端出問題,所有NFS 用戶端都是挂掉狀态
生産環境配置NFS生産重要技巧
1,確定所有伺服器對NFS共享目錄具備相同的權限
a,加all_squash參數 把所有用戶端都壓縮成匿名使用者
b,就是anonuid,anongid指定的UID和GID的使用者
2,所有的用戶端和服務端都需要一個相同的UID和GID的使用者,即nfsnobody(UID必須相同)
針對用戶端挂載nfs 共享目錄時候,優化的參數有以下(mount):
1,*******async 鎖涉及到檔案系統i/O的操作都是異步處理,即不會同步寫到磁盤,此參數會提高性能,但是會降低資料安全
一般生産環境,不推薦使用,除非性能要求高,資料可靠性不高的場合
2,atime 在每一次資料通路是,同步更新每次的通路的inode的時間,預設是atime,在高并發的情況下,建議加上noatime來取消預設這個選項,以達到IO,優化目的3,auto 能夠被自動挂載
4,******defaults 這是預設值,rw,suid,dev,exec,auto,nouser,async
5,exec 運作可以執行二進制檔案,取消這個參數會提升系統安全性
6,nodiratime 不更新檔案愛你系統上的directory inode通路時間,高并發時候建議使用此選型
7,noauto 不自動挂載
8,noexec 即使設定了noexec shell php 程式還是可以執行
9.nosuid 禁止已給普通使用者挂載檔案系統,
10.rsize wsize 如果記憶體足夠大,可以将rsize wsize 設定大點
檢視用戶端挂載
[root@localhost ~]# grep application /proc/mounts
192.168.0.221:/application/ /mnt nfs4 rw,relatime,vers=4,rsize=65536,wsize=65536,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.0.222,minorversion=0,local_lock=none,addr=192.168.0.221 0 0
mount -t nfs noatime,nodiratime 192.168.0.221:/application /mnt 效率比較好,節省磁盤讀寫次數,一般規模的站點夠用
NFS 優化總結
1,硬體: sas/ssd 磁盤,買多塊,raid0/raid0.網卡好
2.伺服器端/data 10.10.10.16/24(rw,async,all_squash,anonuid=55,anongid=555)
3.用戶端:rsize,wsize,noatime,nodirtime,nosuid,noexec,soff(halt,intr)建議加前四個
4.NFS防火牆優化
一般NFS在内網環境,一般是關閉iptablles :service iptables stop
(1)僅允許IP段通路
iptables -A INPUT -s 10.10.10.1/24 -j ACCEPT
(2)允許IP加端口通路
iptables -a input -i eth1 -p tcp -s 10.10.10.1/24 --dport 11 -j ACCEPT
借鑒出處:http://douya.blog.51cto.com/6173221/1681449