1. 程式人生 > >mount命令+nfs掛載失敗原因

mount命令+nfs掛載失敗原因

Mount 命令[轉]

mount [-afFhnrvVw] [-L<標籤>] [-o<選項>] [-t<檔案系統型別>] [裝置名] [載入點]

用法說明:mount可將指定裝置中指定的檔案系統載入到Linux目錄下(也就是裝載點)。可將經常使用的裝置寫入檔案/etc/fastab,以使系統在每次啟動時自動載入。mount載入裝置的資訊記錄在/etc/mtab檔案中。使用umount命令解除安裝裝置時,記錄將被清除。

常用引數和選項:

-a 載入檔案/etc/fstab中設定的所有裝置。

-f 不實際載入裝置。可與-v等引數同時使用以檢視mount的執行過程。

-F 需與-a引數同時使用。所有在/etc/fstab中設定的裝置會被同時載入,可加快執行速度。

-h 顯示線上幫助資訊。

-L<標籤> 載入檔案系統標籤為<標籤>的裝置。

-n 不將載入資訊記錄在/etc/mtab檔案中。

-o<選項> 指定載入檔案系統時的選項。有些選項也可在/etc/fstab中使用。這些選項包括:

   async 以非同步的方式執行檔案系統的輸入輸出動作。

   atime 每次存取都更新inode的存取時間,預設設定,取消選項為noatime。

   auto 必須在/etc/fstab檔案中指定此選項。執行-a引數時,會載入設定為auto的裝置,取消選為noauto。

   defaults 使用預設的選項。預設選項為rw、suid、dev、exec、anto nouser與async。

   dev 可讀檔案系統上的字元或塊裝置,取消選項為nodev。

   exec 可執行二進位制檔案,取消選項為noexec。

   noatime 每次存取時不更新inode的存取時間。

   noauto 無法使用-a引數來載入。

   nodev 不讀檔案系統上的字元或塊裝置。

   noexec 無法執行二進位制檔案。

   nosuid 關閉set-user-identifier(設定使用者ID)與set-group-identifer(設定組ID)設定位。

   nouser 使一位使用者無法執行載入操作,預設設定。

   remount 重新載入裝置。通常用於改變裝置的設定狀態。

   ro 以只讀模式載入。

   rw 以可讀寫模式載入。

   suid 啟動set-user-identifier(設定使用者ID)與set-group-identifer(設定組ID)設定位,取消為nosuid。

   sync 以同步方式執行檔案系統的輸入輸出動作。

   user 可以讓一般使用者載入裝置。

-r 以只讀方式載入裝置,與-o ro相同

-t<檔案系統型別> 指定裝置的檔案系統型別。常用的選項說明有:

   minix Linux最早使用的檔案系統。

   ext2 Linux目前的常用檔案系統。

   msdos MS-DOS 的 FAT。

   vfat Win85/98 的 VFAT。

   nfs 網路檔案系統。

   iso9660 CD-ROM光碟的標準檔案系統。

   ntfs Windows NT的檔案系統。

   hpfs OS/2檔案系統。Windows NT 3.51之前版本的檔案系統。

   auto 自動檢測檔案系統。

-v 執行時顯示詳細的資訊。

-V 顯示版本資訊。

-w 以可讀寫模式載入裝置,預設設定。

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

例: 

掛載nfs

mount -v -t nfs 192.168.128.11:/vmstorage /mnt/vm

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

NFS 掛載失敗原因[待蒐集]

1.掛載時若出現mount.nfs: Input/output error

解決:在客戶端也需啟動portmap服務 service portmap status[檢視狀態];service portmap start[啟動]

2.在用nfs共享大檔案或者掛載根檔案系統時候出現下面的問題:

nfs: server 192.168.14.223 not responding

nfs: server 192.168.14.223 not responding

nfs: server 192.168.14.223 OK

但是共享小檔案還是可以的。

問題的原因分析:

1、NFS 的預設傳輸協議是 UDP,而PC機與嵌入式系統通過UPD互動時就會出現嚴重的網絡卡丟包現象;

2、server機和目標機網絡卡傳輸速率衝突,使得目標機需要大量時間複製大量資料包,其實如果目標機的網絡卡速率夠大,則不用分那麼多包,也不會衝突。

問題的解決方案:

方法一:在客戶端改用TCP協議,使用下面的命令,在mount命令中加上引數tcp

#mount -o tcp ,nolock 192.168.14.223:/nfs_root /mnt

也可這樣幹:

跟蹤了fs/nfs/nfsroot.c的程式碼,發現在nfs作為根檔案系統時,引數可以直接寫在“nfsroot=”後面,每個引數用逗號隔開,如:

nfsroot=192.168.10.1:/rootfs,proto=tcp,nfsvers=3,nolock

這樣就可以指定nfs使用tcp協議

方法二:指定傳輸速率(限定傳輸時一次讀寫的資料大小)

#mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.14.223:/nfs_root /mnt

3.掛載時出卡在連線狀態

解決:在確認網路連線無異常的情況下則可能是iptable或者網路防火牆阻攔了NFS使用的TCP和UDP的111以及2049埠.以ESX為例,在需要掛載NFS共享盤時首先需要編輯防火牆安全檔案允許訪問該埠.