您好,登錄后才能下訂單哦!
VMware ESXi5.5主機無法掛載RHEL6.5 存儲該怎么處理,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
系統環境
系統平臺:RHEL LINUX 6.5
NFS Server IP:192.168.2.19
共享目錄:/mnt/parastor
VMWARE EXSI:5.5
問題描述:在VMWARE EXSI5.5上的DATASTORE里掛載一臺RHEL Linux5.5虛擬機NFS服務器里的共享目錄,提示如下:
錯誤堆棧
在 vCenter Server“VM-1”上調用對象 “datastoreSystem-29”的“HostDatastoreSystem.CreateNasDatastore” 失敗。
NFS 掛載 192.168.2.19:/mnt/parastor 失敗: NFS 服務器通過 TCP 不支持 MOUNT 版本 3。
(對應英文版提示為NFS server does not support MOUNT version 3 over TCP)
這是由于NFS服務器上的服務用的是默認的UDP協議方式傳輸,而VMware要求必須用TCP,因此修改配置文件/etc/nfsmount.conf,取消Defaultproto=tcp行注釋即可。當然有的時候,如果你修改了這項還不能成功掛載的話,請檢查如下:
一、防火墻是否關閉
service iptables stop
chkconfig iptables off
二、nfs服務是否啟動
chkconfig nfs on
service nfs start
三、檢查exports文件
cat /etc/exports
/mnt/parastor 192.168.110.*(rw,sync,no_root_squash)
四、修改/etc/nfsmount.conf
將如下幾行的注釋去掉(默認是udp,esxi需要使用tcp,esxi需要使用mount v3)
Defaultproto=tcp
Proto=tcp
mountproto=tcp
mounvers=3
五、然后重啟如下服務:
service rpcbind start
service nfs restart
最后發現掛載nfs存儲成功。
注意:RPC必須先啟動。RPC即Remote Procedure Call Protocol(遠程過程調用協議),RPCBIND用于取代舊版本中的portmap組件。 簡單說,RPCBIND就是為了將不同服務與對應的端口進行綁定,以便支持機器間的互操作。原理補充:RPC 最主要的功能就是指定每個 NFS 功能所對應的 port number ,並且回報給用戶端,讓用戶端可以連結到正確的端口上去。 當服務器在啟動 NFS 時會隨機取用數個端口,并主動的向 RPC 注冊,因此 RPC 可以知道每個端口對應的 NFS 功能,然后 RPC 通過固定使用 port 111 來監聽用戶端的請求并回報用戶端正確的端口,來確保NFS連接的成功!
另外關于FSID參數的解釋:
要通過NFS共享一個目錄,首先需要在/etc/exports文件中定義這個目錄,并且使用fsid=0的參數。(使用fsid=0選項的時候只能共享一個目錄,這個目錄將成為NFS服務器的根目錄。)
參看如下英文原版解釋:
fsid=num
This option forces the filesystem identification portion of the file handle and file attributes used on the
wire to be num instead of a number derived from the major and minor number of the block device on which the
filesystem is mounted. Any 32 bit number can be used, but it must be unique amongst all the exported
filesystems.
This can be useful for NFS failover, to ensure that both servers of the failover pair use the same NFS file
handles for the shared filesystem thus avoiding stale file handles after failover.
Some Linux filesystems are not mounted on a block device; exporting these via NFS requires the use of the
fsid option (although that may still not be enough).
The value 0 has a special meaning when use with NFSv4. NFSv4 has a concept of a root of the overall
exported filesystem. The export point exported with fsid=0 will be used as this root.
NFS需要標志每一個導出的文件系統。通常使用文件系統的UUID(如果該文件系統有的話),或者使用存儲該文件系統的設備的設備號(如果該文件系統存儲在設備上)。并不是所有的文件系統都存儲在設備上,也并不是所有的文件系統都有UUID,NFS需要精確標識文件系統,就需要使用fsid選項。
對于NFSv4,有一個杰出的文件系統,它是所有導出的文件系統的根目錄。通過fsid=root或fsid=0來標識。標識其他文件系統,可以使用一個小的整數(任何32位數字都可以使用,但它在所有導出的文件系統中必須是唯一的),或者任意一個包含32個十六進制數字和標點符號的UUID。
Linux內核2.6.20版本及更早版本不支持UUID的設置。
背景知識:
NFS 是Network File System的縮寫,即網絡文件系統。一種使用于分散式文件系統的協定,由Sun公司開發,于1984年向外公布。功能是通過網絡讓不同的機器、不同的操作系統能夠彼此分享個別的數據,讓應用程序在客戶端通過網絡訪問位于服務器磁盤中的數據,是在類Unix系統間實現磁盤文件共享的一種方法。
NFS 的基本原則是“容許不同的客戶端及服務端通過一組RPC分享相同的文件系統”,它是獨立于操作系統,容許不同硬件及操作系統的系統共同進行文件的分享。
NFS在文件傳送或信息傳送過程中依賴于RPC協議。RPC,遠程過程調用 (Remote Procedure Call) 是能使客戶端執行其他系統中程序的一種機制。NFS本身是沒有提供信息傳輸的協議和功能的,但NFS卻能讓我們通過網絡進行資料的分享,這是因為NFS使用了一些其它的傳輸協議。而這些傳輸協議用到這個RPC功能的。可以說NFS本身就是使用RPC的一個程序。或者說NFS也是一個RPC SERVER。所以只要用到NFS的地方都要啟動RPC服務,不論是NFS SERVER或者NFS CLIENT。這樣SERVER和CLIENT才能通過RPC來實現PROGRAM PORT的對應。可以這么理解RPC和NFS的關系:NFS是一個文件系統,而RPC是負責負責信息的傳輸。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。