NFS文件共享配置

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

[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信息。

[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共享目錄信息

[root@nfs-server ~]# showmount -e 192.168.10.1
Export list for 192.168.10.1:
/share 192.168.10.*

6.NFS客戶端掛載共享目錄/share

[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客戶端排錯思路

測試客戶端與服務端網絡是否可否,如在客戶端使用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

映射所有的UIDGID爲匿名用戶

no_all_squash

保留共享文件的UIDGID(默認)

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,或者該設備保持文件系統的設備號


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