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共享盤時首先需要編輯防火牆安全檔案允許訪問該埠.