Centos 6搭建NFS伺服器及相關問題解決

來源:互聯網
上載者:User

標籤:centos 6搭建nfs伺服器及相關問題解決

    NFS 是Network File System的縮寫,即網路檔案系統。一種使用於分散式檔案系統的協定,由Sun公司開發,於1984年向外公布。功能是通過網路讓不同的機器、不同的作業系統能夠彼此分享個別的資料,讓應用程式在用戶端通過網路訪問位於伺服器磁碟中的資料,是在類Unix系統間實現磁碟檔案分享權限設定的一種方法。


應用情境:

    在生產環境中一系統因架構變化後,把一模組原有的單節點擴充成了兩個節點,前端採用用nginx做負載的架構,而這兩個節點需要一個公用的儲存來存放使用者上傳的圖片,使用者的並發不高,再因原有業務模組是從nginx主機上剝離出來的,在原nginx主機上有“img”這個儲存圖片的目錄,所以考慮在nginx主機上安裝nfs服務,再在兩個節點上同點掛載“img”目錄實現叢集節點對圖片目錄的訪問。NFS服務的安裝比較簡單,但在上生產環境時還是應該在自己的測試環境先驗證,這裡把安裝過程記錄如下:

系統內容:centos 6.4 x86_64

伺服器3台:10、12(用戶端);21(服務端)



1、檢查系統是否開啟nfs服務:service nfs status 結果顯示nfs: unrecognized service,說明系統沒有安裝nfs服務,注意,yum install nfs是無法安裝的,應該用yum install nfs-utils.


2、開啟portmap服務,還是unrecognized service ,安裝之,yum install portmap 未果,百度+google之,發現centos 6.4中portmap 已經被rpcbind取代,於是乎繼續安裝之,未果,檢查下是不是已經在安裝nfs-utils包的時候安裝了,service rpcbind status ,果然已經一塊安裝了。


以上為整個安裝過程,總結下就是centos 6.x之後的系統一個命令yum install nfs-utils 全部搞定,貌似5.x版本的也可以用這個命令搞定,搞不定的話可以單獨裝portmap;主要6.x版本用的事rpcbind, 5.x版本用的是portmap。


下面是啟動過程:


1、首先配置/etc/exports檔案


vi /etc/exports;


然後輸入 /opt/pic:192.168.1.1/255.255.255.0(rw,sync,no_root_squash,no_all_squash)


儲存退出


2、啟動rpcbind服務 service rpcbind start


3、啟動nfs服務 service nfs start


showmount -e 192.168.1.21 輸出以下結果:


Export list for 192.168.1.21:

/opt/pic 192.168.1.1/255.255.255.0


說明成功啟動(注意:在centos 6.x之後的版本showmount -e 後面一定要指定ip,否則會卡在那,也沒輸出,5.x的版本可以不指定)


下面是掛載nfs到指定機器的目錄 


ssh登陸到一台機器b:ssh [email protected]


mount -t nfs 192.168.1.21:/opt/pic /opt/pic


在a機器上建立檔案test.txt,然後發現b機器有了同樣的檔案,nfs服務端和用戶端正常同步。


操作其實不算太難,不過中間也發生了一些小問題和注意事項,在此也一起講講


1. /etc/exports檔案內容格式:


<輸出目錄> [用戶端1 選項(存取權限,使用者映射,其他)] [用戶端2 選項(存取權限,使用者映射,其他)]


2. insecure    當mount監聽連接埠大於1024時需要使用此參數


3.許可權配置參數

    rw   read-write,可讀寫;

    sync:檔案同時寫入硬碟和記憶體;

    async:檔案暫存於記憶體,而不是直接寫入記憶體;

    no_root_squash:NFS用戶端串連服務端時如果使用的是root的話,那麼對服務端分享的目錄來說,也擁有root許可權。顯然開啟這項是不安全的。


4. 重新載入/etc/exports的配置:

    [[email protected] ~]# exportfs -r


5. 用戶端配置

    在用戶端只需要安裝nfs-client端,如果沒有client端程式,直接安裝nfs-utils


6. 根據需要設定存取權限


[[email protected] ~]#vi /etc/hosts.allow


[[email protected] ~]#vi /etc/hosts.deny


7. 掛載格式:

mount –t nfs hostname(or IP):/directory /mount point

    卸載:

umount /本地掛載目錄(本地client卸載方法,但用exports –au為server卸載)

  設定自動掛載:

在伺服器端:chkconfig --add rpcbind&&nfs

在用戶端:開啟/etc/fstab,在最後一行添加如下資訊:

192.168.1.21:/usr/pic   /opt/pic    nfs    defaults    0 0


8. 查看共用


showmount –e IP(查看NFS伺服器上共用了那些目錄)

showmount –a IP(用於nfs server上,顯示已經mount上本機NFS伺服器的client(客戶機))


今天碰到一個nfs掛載錯誤的問題,錯誤提示如下:

mount: wrong fs type, bad option, bad superblock on ***,

       missing codepage or helper program, or other error

       (for several filesystems (e.g. nfs, cifs) you might

       need a /sbin/mount.<type> helper program)

       In some cases useful info is found in syslog - try

       dmesg | tail  or so

    

    根據錯誤提示,查看/sbin/mount.<type>檔案,果然發現沒有/sbin/mount.nfs的檔案,安裝nfs-utils即可

    解決方案:yum install nfs-utils

    安裝之後,/sbin/下面多了兩個mount檔案,分別是mount.nfs和mount.nfs4:

    [[email protected] data]# ll /sbin/mount*    

    -rwsr-xr-x. 1 root root 123776 11月 22 2013 /sbin/mount.nfs

    lrwxrwxrwx. 1 root root      9 6月   9 13:41 /sbin/mount.nfs4 -> mount.nfs

    -rwxr-xr-x. 1 root root   1338 2月  22 2013 /sbin/mount.tmpfs

   

NFS共用服務掛載時出現“access denied by server while mounting”的解決方案

    修改/etc/sysconfig/nfs檔案,將 

    # Turn off v2 and v3 protocol support 

    #  RPCNFSDARGS="-N 2 -N 3" 

    # Turn off v4 protocol support 

    #RPCNFSDARGS="-N 4"    /*把這句話的#號去掉*/

     NFS分為三個版本,即NFS-2 NFS-3 NFS-4,該設定檔預設關閉了這三個的NFS版本,我們只需要開啟NFS-4即可。


    最後再說說題外話,NFS 允許使用者像訪問本地檔案一樣,去訪問網路上共用的檔案。NFS 是一個成功的檔案分享權限設定方法,但它最大的問題是它不太適合大型的分散式系統。那麼大量使用者上傳的檔案的儲存應該採用什麼檔案系統呢,貌似fastdfs不錯,與之類似的還有MogileFS等


本文出自 “IskOrPitx” 部落格,請務必保留此出處http://chinaxin.blog.51cto.com/1109725/1881488

Centos 6搭建NFS伺服器及相關問題解決

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.