天天看點

nfs 初步使用 建立SERVER AND CLIENT ,share files

首先安裝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

附錄:圖檔示意

nfs 初步使用 建立SERVER AND CLIENT ,share files

補充:

找到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

繼續閱讀