科普:
掛載失敗遇到的錯誤:
(1)mount.nfs : access denied
user:~ # sudo mount -t nfs -o rw 10.9.87.65:/filedir /filedir mount.nfs: access denied by server while mounting 10.9.87.65:/filedir
分析:很可能是網絡不通,或者是目錄名錯誤導致的文件目錄獲取不到
可以使用如下命令進行確認:
user:~ # showmount -e 10.9.87.65 Export list for 10.9.87.65: /filedir 10.9.87.*
文件目錄只開放給了同網段的IP訪問
(2)mount.nfs: rpc.statd is not running but is required for remote locking.
user:~ # sudo mount -t nfs -o rw 10.9.87.65:/filedir /filedir mount.nfs: rpc.statd is not running but is required for remote locking. mount.nfs: Either use '-o nolock' to keep locks local, or start statd. mount.nfs: Operation not permitted
分析:nfs mount 默認選項包括文件鎖,依賴於portmap提供的動態端口分配功能或者是沒有啟動rpcbind服務。
解決方法:kill 文件鎖(lockd)或者mount -o nolock 或者 啟動服務rpcbind、nfslock
user:~ # sudo mount -t nfs -o rw,nolock 10.9.87.65:/filedir /filedir
或者經過嘗試需要開啟nfslock和rpcbind:
sudo /sbin/service rpcbind start
sudo /sbin/service nfslock start
在掛載之前將如下三個服務都重啟一遍,則也可能會解決這個問題:
service nfslock restart
service rpcbind restart
service nfs restart
ps:為了防止linux重啟后,掛載盤消失,需要配置/etc/fstab文件。
mount -a 命令:依據 /etc/fstab 的內容進行自動掛載
/etc/fstab 文件會在系統啟動的時候自動執行,我們先看一下 /etc/fstab 文件的內容
/dev/mapper/vg_myydsrw-lv_root / ext4 defaults 1 1 UUID=47fa30fe-a6c7-414c-b28b-77da3fde58a9 /boot ext4 defaults 1 2 /dev/mapper/vg_myydsrw-lv_swap swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0
第一列可以是實際分區名,也可以是實際分區的卷標(Lable)。
第二列是掛載點,掛載點必須為當前已經存在的目錄,為了兼容起見,最好在創建需要掛載的目標目錄后,將其權限設置為777。
第三列為此分區的文件系統類型,Linux可以使用ext2、ext3等類型,此字段須與分區格式化時使用的類型相同。也可以使用 auto,使系統自動偵測目標分區的分區類型。
第四列是掛載的選項,用於設置掛載的參數。 常見參數如下: auto: 系統自動掛載,fstab默認就是這個選項 defaults: rw, suid, dev, exec, auto, nouser, and async. noauto 開機不自動掛載 nouser 只有超級用戶可以掛載 ro 按只讀權限掛載 rw 按可讀可寫權限掛載 user 任何用戶都可以掛載 請注意光驅和軟驅只有在裝有介質時才可以進行掛載,因此它是noauto
第五列是dump備份設置,當其值設置為1時,將允許dump備份程序備份;設置為0時,忽略備份操作;
第六列是fsck磁盤檢查設置。 其值是一個順序。當其值為0時,永遠不檢查;而 / 根目錄分區永遠都為1。其它分區從2開始,數字越小越先檢查,如果兩個分區的數字相同,則同時檢查。