centos6.5搭建NFS-server

一、NFS服務(wù)簡介

? ? ? ? NFS 是Network File System的縮寫,即網(wǎng)絡(luò)文件系統(tǒng)。一種使用于分散式文件系統(tǒng)的協(xié)定,由Sun公司開發(fā),于1984年向外公布。功能是通過網(wǎng)絡(luò)讓不同的機(jī)器、不同的操作系統(tǒng)能夠彼此分享個別的數(shù)據(jù),讓應(yīng)用程序在客戶端通過網(wǎng)絡(luò)訪問位于服務(wù)器磁盤中的數(shù)據(jù),是在類Unix系統(tǒng)間實現(xiàn)磁盤文件共享的一種方法。

? ? ? ?NFS 的基本原則是“容許不同的客戶端及服務(wù)端通過一組RPC分享相同的文件系統(tǒng)”,它是獨(dú)立于操作系統(tǒng),容許不同硬件及操作系統(tǒng)的系統(tǒng)共同進(jìn)行文件的分享。

? ? ? ?NFS在文件傳送或信息傳送過程中依賴于RPC協(xié)議。RPC,遠(yuǎn)程過程調(diào)用 (Remote Procedure Call) 是能使客戶端執(zhí)行其他系統(tǒng)中程序的一種機(jī)制。NFS本身是沒有提供信息傳輸?shù)膮f(xié)議和功能的,但NFS卻能讓我們通過網(wǎng)絡(luò)進(jìn)行資料的分享,這是因為NFS使用了一些其它的傳輸協(xié)議。而這些傳輸協(xié)議用到這個RPC功能的。可以說NFS本身就是使用RPC的一個程序?;蛘哒fNFS也是一個RPC SERVER。所以只要用到NFS的地方都要啟動RPC服務(wù),不論是NFS SERVER或者NFS CLIENT。這樣SERVER和CLIENT才能通過RPC來實現(xiàn)PROGRAM PORT的對應(yīng)??梢赃@么理解RPC和NFS的關(guān)系:NFS是一個文件系統(tǒng),而RPC是負(fù)責(zé)負(fù)責(zé)信息的傳輸。

二、環(huán)境介紹

系統(tǒng)平臺:CentOS_6.5

nfs服務(wù)器ip:192.168.10.233

linux客戶端ip:192.168.10.234

Windows客戶端:192.168.10.235

SELINUX=disabled、iptables stop

三、服務(wù)器安裝NFS服務(wù)

1、查看系統(tǒng)是否已安裝NFS:

[root@localhost ~]# rpm -qa | grep nfs

[root@localhost ~]# rpm -qa | grep rpcbind

2、如果當(dāng)前系統(tǒng)中沒有安裝NFS所需的軟件包,安裝nfs?和?rpcbind?軟件包:

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

四、NFS服務(wù)器的配置

1、創(chuàng)建NFS共享目錄,設(shè)置讀寫權(quán)限:

[root@localhost ~]# mkdir /share

[root@localhost ~]# chmod -R 777 /share

2、?編輯export文件,這個文件是NFS的主要配置文件:

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

/share 192.168.10.234(insecure,rw,no_root_squash) ? ? ? ? ? ? ? ? ? ? ##注意地址和參數(shù)表之間沒有空格##

參數(shù)說明:

內(nèi)容格式: <輸出目錄> ?[客戶端1 選項(訪問權(quán)限,用戶映射,其他)] ?[客戶端2 選項(訪問權(quán)限,用戶映射,其他)]

客戶端地址的指定方式

指定ip地址的主機(jī):192.168.10.234

指定子網(wǎng)中的所有主機(jī):192.168.10.0/24或者192.168.10.0/255.255.255.0

指定域名的主機(jī):whuang.test.com

指定域中的所有主機(jī):*.test.com

所有主機(jī):*

訪問權(quán)限選項

設(shè)置輸出目錄只讀:ro

設(shè)置輸出目錄讀寫:rw

用戶映射選項

all_squash:屏蔽所有遠(yuǎn)程用戶的權(quán)限,將遠(yuǎn)程訪問的所有普通用戶及所屬組都映射為匿名用戶或用戶組(nfsnobody);

no_all_squash:與all_squash取反(默認(rèn)設(shè)置);

root_squash:屏蔽遠(yuǎn)程root權(quán)限,將root用戶及所屬組都映射為匿名用戶或用戶組(默認(rèn)設(shè)置);

no_root_squash:NFS客戶端連接服務(wù)端時如果使用的是root的話,那么對服務(wù)端分享的目錄來說,也擁有root權(quán)限。顯然開啟這項是不安全的;

anonuid=xxx:將遠(yuǎn)程訪問的所有用戶都映射為匿名用戶,并指定該用戶為本地用戶(UID=xxx);

anongid=xxx:將遠(yuǎn)程訪問的所有用戶組都映射為匿名用戶組賬戶,并指定該匿名用戶組賬戶為本地用戶組賬戶(GID=xxx);

其它選項

secure:限制客戶端只能從小于1024的tcp/ip端口連接nfs服務(wù)器(默認(rèn)設(shè)置);

insecure:允許客戶端從大于1024的tcp/ip端口連接服務(wù)器;

sync:同步寫操作,,將數(shù)據(jù)同步寫入內(nèi)存緩沖區(qū)與磁盤中,效率低,但可以保證數(shù)據(jù)的一致性;

async:異步寫操作,將數(shù)據(jù)先保存在內(nèi)存緩沖區(qū)中,必要時才寫入磁盤;

wdelay:延遲寫操作,檢查是否有相關(guān)的寫操作,如果有則將這些寫操作一起執(zhí)行,這樣可以提高效率(默認(rèn)設(shè)置);

no_wdelay:若有寫操作則立即執(zhí)行,應(yīng)與sync配合使用;

subtree:若輸出目錄是一個子目錄,則nfs服務(wù)器將檢查其父目錄的權(quán)限(默認(rèn)設(shè)置);

no_subtree:即使輸出目錄是一個子目錄,nfs服務(wù)器也不檢查其父目錄的權(quán)限,這樣可以提高效率;

3、配置生效:

[root@localhost ~]# exportfs -r

五、啟動NFS服務(wù)器rpcbind和nfs服務(wù)

[root@localhost ~]#?service rpcbind ?restart

[root@localhost ~]#?service nfs ?restart

注意:一定是先啟動rpcbind服務(wù),然后再啟動NFS服務(wù)

[root@localhost ~]# chkconfig --level 123456 rpcbind on

[root@localhost ~]# chkconfig --level 123456 nfs on

六、Linux客戶端掛載NFS

1、安裝NFS:

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

2、查看服務(wù)器的共享目錄信息:

[root@localhost ~]#showmount -e 192.168.10.233

Export list for 192.168.10.233:

/share 192.168.8.0/22

3、為了提高NFS的穩(wěn)定性,使用TCP協(xié)議掛載,NFS默認(rèn)用UDP協(xié)議:

[root@localhost ~]# mkdir /mnt/share

[root@localhost ~]#mount -t nfs 192.168.10.233:/share /mnt/share -o proto=tcp -o nolock

4、卸載已掛在的NFS:

[root@localhost /]# umount /mnt/share/

5、開機(jī)自動掛載:

[root@localhost /]#echo?"192.168.10.233:/share?/mnt/share nfs defaults 0 0"?>>/etc/fstab

七、Windows客戶端掛載NFS

1、打開《控制面板》->《程序》->《打開或關(guān)閉windows功能》->《NFS客戶端》;勾選《NFS客戶端》,即開啟windows NFS客戶端服務(wù);

2、win+R打開cmd終端:

C:\Windows\system32>showmount -e 192.168.10.233


C:\Windows\system32>mount 192.168.10.233:/share M:


成功掛載,打開計算機(jī),你即可在你網(wǎng)絡(luò)位置看到 M:盤了

3、取消掛載:

umount -a(卸載全部掛接點(diǎn))或者直接在計算機(jī) 里面鼠標(biāo)點(diǎn)擊取消映射網(wǎng)絡(luò)驅(qū)動器 M:

八、常用命令

1、exportfs

啟動了NFS之后又修改了/etc/exports,可以用exportfs 命令來使改動立刻生效:

# exportfs [-aruv]

-a?全部掛載或卸載 /etc/exports中的內(nèi)容

-r?重新讀取/etc/exports 中的信息 ,并同步更新/etc/exports、/var/lib/nfs/xtab

-u?卸載單一目錄(和-a一起使用為卸載所有/etc/exports文件中的目錄)

-v 在export的時候,將詳細(xì)的信息輸出到屏幕上。

具體例子:

# exportfs -au 卸載所有共享目錄

# exportfs -rv 重新共享所有目錄并輸出詳細(xì)信息

2、nfsstat

查看NFS的運(yùn)行狀態(tài),對于調(diào)整NFS的運(yùn)行有很大幫助。

3、rpcinfo

查看rpc執(zhí)行信息,可以用于檢測rpc運(yùn)行情況的工具,利用rpcinfo -p 可以查看出RPC開啟的端口所提供的程序有哪些。

4、showmount

-a 顯示已經(jīng)于客戶端連接上的目錄信息

-e IP或者h(yuǎn)ostname 顯示此IP地址分享出來的目錄

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容