CentOS下配置nfs服務器-實現目錄共享

最近實驗室新配置的兩臺戴爾的服務器,用於數據計算,兩臺都是安裝CentOS 最近版本,想讓兩臺服務器連起來,開始想用rsh的,配置半天沒成功,就用的ssh鏈接。沒配置nfs服務器時,兩臺服務器之間的數據傳輸都是用的scp,麻煩,並且有的數據都要弄兩份來分開並行計算,很不方便。如今配置好了nfs服務器後,就行了,目錄能夠共享了,不用把數據倒來倒去了。講講怎麼配置吧,聽糾結的,半天才配置成功。php

硬件:兩臺戴爾服務器+兩根網線html

環境:兩臺服務器都是CentOS最新系統centos

參數:第一臺服務器計算機名爲cpst01 ,第二臺爲cpst02。安全

 

1.cpst01 外網ip爲*.*.*.*(這個最好能連上互聯網,由於若是你沒有安裝盤裏的一些rpm吧,那裏能夠用wget從網上下載,也能夠yum search,這須要一根網線接到外面),內網IP爲192.168.1.10(ip設置這裏就不講了,本身搜搜,注意是哪一個網卡)服務器

 

em2       Link encap:Ethernet  HWaddr D4:AE:52:91:F8:11  app

          inet addr:192.168.1.10  Bcast:192.168.1.255  Mask:255.255.255.0ssh

          inet6 addr: fe80::d6ae:52ff:fe91:f811/64 Scope:Linkasync

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1tcp

          RX packets:7281946 errors:0 dropped:0 overruns:0 frame:0測試

          TX packets:10709199 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:7212522964 (6.7 GiB)  TX bytes:14043999341 (13.0 GiB)

          Interrupt:17

我這個是在2號網卡(1號網卡連外網,服務器的網線插口上有編號1或者2)

cpst02 不用連外網了,設置個內網IP 192.168.1.20,以下:

 

em2       Link encap:Ethernet  HWaddr D4:AE:52:91:F6:DC  

          inet addr:192.168.1.20  Bcast:192.168.1.255  Mask:255.255.255.0

          inet6 addr: fe80::d6ae:52ff:fe91:f6dc/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:10709309 errors:0 dropped:0 overruns:0 frame:0

          TX packets:7282075 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:14044008517 (13.0 GiB)  TX bytes:7212663244 (6.7 GiB)

          Interrupt:17 

這裏也是2號網卡。

這時用剩下的一根網線將cpst01,cpst02的2 號網卡鏈接起來,這時應該ping的通。

 

2.這裏我將cpst01做爲nfs服務器端,cpst02最爲客戶端。(nfs服務器端須要安裝nfs,portmap,rpcbind)

首先檢查服務器端是否已經安裝上述三個rpm

[root@cpst01 test]# rpm -qa | grep nfs

nfs-utils-lib-1.1.5-4.el6.x86_64

nfs4-acl-tools-0.3.3-5.el6.x86_64

nfs-utils-1.2.3-15.el6.x86_64

[root@cpst01 test]# rpm -qa | grep portmap

portmap-4.0-65.2.2.1.x86_64

[root@cpst01 test]# rpm -qa | grep rpcbind

rpcbind-0.2.0-8.el6.x86_64

[root@cpst01 test]#

若是沒有的話,能夠在安裝盤裏找,再不行就去網上搜 yum search

這裏有個rpm的官網,上面有好多東西能夠去看看:

portmap 下載地址 http://rpm.pbone.net/index.php3/stat/4/idpl/17838805/dir/centos_5/com/portmap-4.0-65.2.2.1.x86_64.rpm.html

nfs和rpcbind通常是安裝系統的時候能夠一塊兒安裝的,沒有的話就去搜搜 yum search nfs 也行,

這裏在安裝portmap時有點糾結(它須要libwrapper.so.0這個庫文件,tcp_wrappers-7.6-57.el6.x86_64.rpm 這個包裏面有,能夠先安裝它,再安裝portmap)。

 

3.安裝完上述包後,能夠進行下測試,就是啓動和中止上述幾個服務,網上說的是啓動時是安裝rpcbind,portmap,nfs的順序啓動,中止時反着來,啓動(service rpcbind start ,service portmap start,service nfs start ,/etc/init.d/nfs start也行),啓動後查看服務運行狀態,service nfs status, 結果就portmap有問題,查了下網上說,新版本的 portmap 使用 hosts.deny 和 hosts.allow 文件來控制訪問源(http://www.centos.bz/2012/02/centos-install-deploy-nfs-file-system/) ,這裏修改下/etc/hosts.deny 添加一行portmap:all,同時修改下/etc/hosts.allow 添加一行portmap:192.168.1.20 ,這裏有人會問不是已經deny all 了嗎,後面的allow不是不行嗎, allow的優先級高些,先看它。弄好了後,能夠把上面的三個服務停下,再啓動,查看,應該沒問題。

 

4.這裏開始設置cpst01下面的共享目錄,我設置的是/test目錄 在起下面建立了用戶rg,用戶組soft,nfs服務器共享目錄的關鍵就是/etc/exports文件。

vi下,添加/test 192.168.1.20(rw)

這裏我只設置了read 和write權限,意思就是192.168.1.20也就是cpst02 在/test目錄下有讀和寫的權限,固然還有其餘不少權限

----------------------------------------------------------

w:read-write,可讀寫;
ro:read-only,只讀;
sync:文件同時寫入硬盤和內存;
async:文件暫存於內存,而不是直接寫入內存;
no_root_squash:NFS客戶端鏈接服務端時若是使用的是root的話,那麼對服務端分享的目錄來講,也擁有root權限。顯然開啓這項是不安全的。
root_squash:NFS客戶端鏈接服務端時若是使用的是root的話,那麼對服務端分享的目錄來講,擁有匿名用戶權限,一般他將使用nobody或nfsnobody身份;
all_squash:不論NFS客戶端鏈接服務端時使用什麼用戶,對服務端分享的目錄來講都是擁有匿名用戶權限;
anonuid:匿名用戶的UID值,一般是nobody或nfsnobody,能夠在此處自行設定;
anongid:匿名用戶的GID值。

---------------------------------------------------------------------

有的搞不懂,就沒弄了(http://www.centos.bz/2012/02/centos-install-deploy-nfs-file-system/

若是上一步的三個服務你尚未stop,那這裏就要用exportfs -rv來將設置的共享信息從新輸出下,若是是vi 了/etc/exports後再來啓動服務的話就不用了,和source export差很少。

 

5.這時在客戶端,能夠查看服務器端掛載狀況,

使用showmount -e 192.168.1.10

Export list for 192.168.1.10:

/test 192.168.1.20

即爲/etc/exports下設置的,這就證實與nfs服務器連通了,

可是如今還不能共享cpst01下面的/test目錄,由於你沒有將/test目錄掛載在客戶端的目錄上。

這裏我在cpst02建立了用戶rg(網上說要與服務器端/test目錄擁有一樣的用戶與用戶組),不必定要掛載在cpst02的/test目錄下,其餘目錄也行,這裏能夠在cpst02使用chown -R  rg:soft /test 修改權限。

如今就是掛載了:

mount -t nfs 192.168.1.10:/test /test

很快就掛載上了就是成功了,若是錯誤了,就好像是防火牆的問題,在服務器端service iptables stop,再在客戶端執行mount就行,

這時cpst01 下的/test就掛載在cpst02 的/test下了,能夠共享目錄了。

 

6.若是想在cpst02 開機時就自動掛載cpst01 下的/test的話,就要在cpst02 下的/etc/fstab添加東西了

192.168.1.10:/test      /test                   nfs     defaults        0 0

這樣就好了,也不用每次都本身mount。

 

7.固然你要能夠添加其餘共享目錄了

未完待續。。。。

相關文章
相關標籤/搜索