NFS服務配置

服務端配置NFS

CentOS上使用NFS服務,須要安裝兩個包(nfs-utils和rpcbind), 不過當使用yum安裝nfs-utils時會把rpcbind一塊兒安裝上:vim

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

在以前的CentOS版本中,是須要安裝portmap包的,從CentOS6開始,就改成rpcbind了。NFS配置起來仍是蠻簡單的,只須要編輯配置文件/etc/exports便可。下面阿銘就先建立一個簡單的NFS服務器。安全

首先是修改配置文件,默認該文件爲空,如今編輯它:服務器

[root@localhost ~]# vim /etc/exports

寫入以下內容:async

/home/ 192.168.137.0/24(rw,sync,all_squash,anonuid=501,anongid=501)

這個配置文件就這樣簡單一行。共分爲三部分,第一部分就是本地要共享出去的目錄,第二部分爲容許訪問的主機(能夠是一個IP也能夠是一個IP段)第三部分就是小括號裏面的,爲一些權限選項。關於第三部分,阿銘簡單介紹一下:ui

rw :讀寫;spa

ro :只讀;code

sync :同步模式,內存中數據時時寫入磁盤;內存

async :不一樣步,把內存中數據按期寫入磁盤中;rpc

no_root_squash :加上這個選項後,root用戶就會對共享的目錄擁有至高的權限控制,就像是對本機的目錄操做同樣。不安全,不建議使用;同步

root_squash:和上面的選項對應,root用戶對共享目錄的權限不高,只有普通用戶的權限,即限制了root;

all_squash:無論使用NFS的用戶是誰,他的身份都會被限定成爲一個指定的普通用戶身份;

anonuid/anongid :要和root_squash 以及all_squash一同使用,用於指定使用NFS的用戶限定後的uid和gid,前提是本機的/etc/passwd中存在這個uid和gid。

介紹了上面的相關的權限選項後,再來分析一下阿銘剛剛配置的那個/etc/exports文件。其中要共享的目錄爲/home,信任的主機爲192.168.137.0/24這個網段,權限爲讀寫,同步,限定全部使用者,而且限定的uid和gid都爲501。

編輯好配置文件後,就該啓動NFS服務了:

[root@localhost ~]# /etc/init.d/rpcbind start;  /etc/init.d/nfs start

在啓動nfs服務以前,須要先啓動rpcbind服務,以前CentOS老版本中並非rpcbind, 而是叫作portmap.

客戶端上掛載nfs

客戶端在掛載NFS以前,咱們須要先看一看服務端都共享了哪些目錄,這須要使用showmount命令,可是這個命令是nfs-utils這個包所帶的,因此一樣須要安裝nfs-utils:

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

如今能夠看看服務器端都共享了哪些目錄了:

[root@localhost ~]# showmount -e 192.168.137.10
Export list for 192.168.137.10:
/home 192.168.137.0/24

能夠看到剛纔咱們在服務端配置的nfs共享信息。 showmount -e 加IP就能夠查看NFS的共享狀況,上例中,就能夠看到192.168.137.10的共享目錄爲/home,信任主機爲192.168.137.0/24這個網段。

下面在客戶端上掛載服務端的nfs:

[root@localhost ~]# mount -t nfs 192.168.137.10:/home/ /mnt/
[root@localhost ~]# df -h
文件系統              容量  已用  可用 已用%% 掛載點
/dev/sda3              14G  6.4G  6.7G  50% /
tmpfs                 160M     0  160M   0% /dev/shm
/dev/sda1              97M   27M   66M  29% /boot
/dev/sdb5             989M   19M  920M   3% /home
192.168.137.10:/home/
                      989M   19M  920M   3% /mnt

用 df -h 命令能夠看到多出來一個/mnt分區,它就是NFS共享的目錄了。

在這一章節裏,使用的命令很少,另外還有一個經常使用的命令那就是exportfs,它的經常使用選項爲[-aruv].

-a :所有掛載或者卸載;

-r :從新掛載;

-u :卸載某一個目錄;

-v :顯示共享的目錄;

使用exportfs命令,當改變/etc/exports配置文件後,不用重啓nfs服務直接用這個exportfs便可。接下來阿銘作一個實驗,先改一下服務端的配置文件:

[root@localhost ~]# vim /etc/exports

增長一行:

/tmp/ 192.168.137.0/24(rw,sync,no_root_squash)

而後服務端上執行命令:

[root@localhost ~]# exportfs -arv
exporting 192.168.137.0/24:/tmp
exporting 192.168.137.0/24:/home

在以前的命令中用到了mount命令來掛載nfs,其實mount這個nfs服務仍是有些說法的。首先是用-t nfs 來指定掛載的類型爲nfs。另外在使用nfs時,經常使用一個選項就是 -o nolock 了,即在掛載nfs服務時,不加鎖。 在客戶端上執行:

[root@localhost ~]# mkdir /test
[root@localhost ~]# mount -t nfs -o nolock 192.168.137.10:/tmp/ /test/

咱們還能夠把要掛載的nfs目錄寫到client上的/etc/fstab文件中,掛載時只須要執行 mount -a 便可。在 /etc/fstab里加一行:

192.168.137.10:/tmp/            /test        nfs       nolock  0 0

由於剛剛掛載過,因此先卸載:

[root@localhost ~]# umount  /test/

而後執行:

[root@localhost ~]# mount -a

這樣也能夠掛載上,並且之後開機會自動掛載上。

相關文章
相關標籤/搜索