安裝NFS服務,須要安裝nfs-utils和rpcbind,NFS的RPC服務,在Centos5.X下名稱爲portmap,在Centos6.X下名稱爲rcpbind。緩存
1.查詢nfs服務和rpc服務是否安裝安全
[root@nfs-server ~]# rpm -qa|grep nfs [root@nfs-server ~]# rpm -qa|grep rpcbind
2.使用YUM安裝nfs和rpcbind
bash
[root@nfs-server ~]# yum -y install nfs*
3.啓動nfs服務,在啓動nfs服務以前,必定要先啓動rpcbind,而後再啓動nfs服務器
[root@nfs-server ~]# /etc/init.d/rpcbind start
查看rpc信息
網絡
[root@nfs-server ~]# rpcinfo -p localhost program vers proto port service 100000 4 tcp 111 portmapper 100000 3 tcp 111 portmapper 100000 2 tcp 111 portmapper 100000 4 udp 111 portmapper 100000 3 udp 111 portmapper 100000 2 udp 111 portmapper
[root@nfs-server ~]# /etc/init.d/nfs start Starting NFS services: [ OK ] Starting NFS quotas: [ OK ] Starting NFS mountd: [ OK ] Starting NFS daemon: [ OK ] Starting RPC idmapd: [ OK ]
啓動nfs服務之後,再查看rpcinfo信息。app
[root@nfs-server ~]# rpcinfo -p program vers proto port service 100000 4 tcp 111 portmapper 100000 3 tcp 111 portmapper 100000 2 tcp 111 portmapper 100000 4 udp 111 portmapper 100000 3 udp 111 portmapper 100000 2 udp 111 portmapper 100011 1 udp 875 rquotad 100011 2 udp 875 rquotad 100011 1 tcp 875 rquotad 100011 2 tcp 875 rquotad 100005 1 udp 35606 mountd 100005 1 tcp 38238 mountd 100005 2 udp 33761 mountd 100005 2 tcp 41083 mountd 100005 3 udp 47608 mountd 100005 3 tcp 35056 mountd 100003 2 tcp 2049 nfs 100003 3 tcp 2049 nfs 100003 4 tcp 2049 nfs 100227 2 tcp 2049 nfs_acl 100227 3 tcp 2049 nfs_acl 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100003 4 udp 2049 nfs 100227 2 udp 2049 nfs_acl 100227 3 udp 2049 nfs_acl 100021 1 udp 34627 nlockmgr 100021 3 udp 34627 nlockmgr 100021 4 udp 34627 nlockmgr 100021 1 tcp 46375 nlockmgr 100021 3 tcp 46375 nlockmgr 100021 4 tcp 46375 nlockmgr
4.配置共享目錄/share,容許192.168.10.*訪問異步
[root@nfs-server ~]# mkdir /share //建立共享目錄 [root@nfs-server ~]# ll -d /share/ //查看目錄信息 drwxr-xr-x. 2 root root 4096 Dec 30 13:55 /share/ [root@nfs-server ~]# chown -R nfsnobody:nfsnobody /share/ //更改目錄所屬用戶和所屬組 [root@nfs-server ~]# ll -d /share/ drwxr-xr-x. 2 nfsnobody nfsnobody 4096 Dec 30 13:55 /share/ [root@nfs-server ~]# cat /etc/exports /share 192.168.10.*(rw,sync)
5.查看NFS共享目錄信息async
[root@nfs-server ~]# showmount -e 192.168.10.1 Export list for 192.168.10.1: /share 192.168.10.*
6.NFS客戶端掛載共享目錄/sharetcp
[root@nfs-server ~]# mount -t nfs 192.168.10.1:/share /mnt [root@nfs-server ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_software-lv_root 18G 1.5G 15G 9% / tmpfs 491M 0 491M 0% /dev/shm /dev/sda1 477M 28M 424M 7% /boot 192.168.10.1:/share/ 18G 1.5G 15G 9% /mnt
7.NFS客戶端排錯思路ide
測試客戶端與服務端網絡是否能否,如在客戶端使用ping IP地址
在服務端本身掛載看看是否可以正常掛載
檢查服務端防火牆規則,初學者能夠選擇直接關閉防火牆
8.管理NFS共享目錄
exportfs命令能夠導出NFS服務器上的共享目錄、顯示共享目錄,或者不導出共享目錄。
命令語法:
exportfs [選項] [目錄]
選項 |
含義 |
-a |
導出或不導出全部的目錄 |
-v |
顯示導出列表的同時,也顯示導出選項的列表 |
-u |
不導出指定的目錄。當和-a選項一塊兒時,不導出全部的目錄 |
-f |
指定一個新的導出文件,而不是/etc/exports文件 |
-r |
從新導出全部的目錄 |
-o<選項> |
指定導出選項列表 |
查看NFS共享目錄信息
showmount [選項] [NFS服務器]
選項 |
含義 |
-a |
同時顯示客戶端的主機名或IP地址以及所掛載的目錄 |
-e |
顯示NFS服務器的導出列表 |
-d |
只顯示已經被掛載的NFS共享目錄信息 |
9.NFS配置文件權限參數說明
參數名稱 |
參數用途 |
rw |
共享目錄具備讀寫權限 |
ro |
共享目錄具備只讀權限 |
sync |
請求或寫入數據時,數據同步寫入到NFS Server硬盤中。 數據安全不會丟,缺點,性能比不啓用該參數要差。 |
async |
請求或寫入數據時,先返回請求,再將數據寫入到內存緩存和硬盤中, 即異步寫入數據。此參數能夠提高NFS性能,可是會下降數據的安全。 所以,通常狀況下建議不用,若是NFS處於瓶頸狀態,而且容許數據丟 失的話能夠打開此參數提高NFS性能。 寫入時數據會先到內存緩衝區,等硬盤有空檔再寫入磁盤,這樣能夠提 升寫入效率!風險爲若服務器宕機或不正常關機,會損失緩衝區未寫入 硬盤的數據(解決辦法:服務器主板電池或加UPS不間斷電源)! |
root_squash |
root用戶的全部請求映射成如nfsnobody(匿名)用戶同樣的權限 |
no_root_squash |
關閉root_squash |
all_squash |
映射全部的UID和GID爲匿名用戶 |
no_all_squash |
保留共享文件的UID和GID(默認) |
anonuid |
指定NFS服務器/etc/passwd文件中匿名用戶的UID |
anongid |
指定NFS服務器/etc/passwd文件中匿名用戶的GID |
secure |
NFS經過1024如下的安全TCP/IP端口發送 |
insecure |
NFS經過1024以上的端口發送 |
wdelay |
若是多個用戶要寫入NFS目錄,則歸組寫入(默認) |
no_wdelay |
若是多個用戶要寫入NFS目錄,則當即寫入,當使用async時,不須要設置 |
subtree_check |
若是共享/usr/bin之類的子目錄時,強制NFS檢查父目錄的權限 |
no_subtree_check |
和subtree_check相對,不檢查父目錄權限 |
hide |
在NFS共享目錄中不共享其子目錄 |
nohide |
共享NFS目錄的子目錄 |
mp |
若是它已經成功掛載,那麼使得它只導出一個目錄 |
fsid |
NFS須要可以識別每一個它導出的文件系統。一般狀況下它會爲文件系統使用一 個UUID,或者該設備保持文件系統的設備號 |