系统重启后常常出现nfs没有被挂载,不管是配置在/etc/fstab里,还是将挂载命令写在/etc/rc.local里。
总是有原因的,可是我不能反复的重启系统试验,于是不得不绕过这个问题,于是想到了autofs。
参考:http://doc.chinahtml.com/Manual/rhl-cg-zh_CN-9/s1-nfs-mount.html
比如我有两个目录需要挂载远程的nfs:
/srv/data1
/srv/data2
对应的远程的nfs:
192.168.1.200:/srv/data1
192.168.1.201:/srv/data2
那么,我需要在 /etc/auto.master里添加这么一行:
/srv /etc/auto.nfs.srv
然后建立 /etc/auto.nfs.srv,写入如下两行:
data1 -rw,nolock,noatime 192.168.1.200:/srv/data1
data2 -rw,nolock,noatime 192.168.1.201:/srv/data2
但是需要说明的是:
1. 我的系统是CentOS 5.3
2. 需要将autofs设置成开机自动启动:chkconfig autofs on,并启动autofs服务:/etc/init.d/autofs start
3. 使用autofs时,本地的/srv目录下面应该是空的,就是说data1目录和data2目录也不存在。当系统试图访问/srv/data1这个目录时 autod daemon会自挂载nfs到/srv/data1目录,那时/srv下原来的存在的所有目录、文件将不能被访问。
那么也捎带着自动挂载一下windows的共享吧:
在/etc/auto.master里加入下面一行:
/mnt/smb /etc/auto.smb.mnt
在/etc/auto.smb.mnt时加入下面一行:
editors -fstype=cifs,username=editors,password=xxxxxx ://192.168.0.61/editors
需要说明的是,这里的//192.168.0.61前面的冒号,是不能省的。
-----------------
总是有原因的,可是我不能反复的重启系统试验,于是不得不绕过这个问题,于是想到了autofs。
参考:http://doc.chinahtml.com/Manual/rhl-cg-zh_CN-9/s1-nfs-mount.html
比如我有两个目录需要挂载远程的nfs:
/srv/data1
/srv/data2
对应的远程的nfs:
192.168.1.200:/srv/data1
192.168.1.201:/srv/data2
那么,我需要在 /etc/auto.master里添加这么一行:
/srv /etc/auto.nfs.srv
然后建立 /etc/auto.nfs.srv,写入如下两行:
data1 -rw,nolock,noatime 192.168.1.200:/srv/data1
data2 -rw,nolock,noatime 192.168.1.201:/srv/data2
但是需要说明的是:
1. 我的系统是CentOS 5.3
2. 需要将autofs设置成开机自动启动:chkconfig autofs on,并启动autofs服务:/etc/init.d/autofs start
3. 使用autofs时,本地的/srv目录下面应该是空的,就是说data1目录和data2目录也不存在。当系统试图访问/srv/data1这个目录时 autod daemon会自挂载nfs到/srv/data1目录,那时/srv下原来的存在的所有目录、文件将不能被访问。
那么也捎带着自动挂载一下windows的共享吧:
在/etc/auto.master里加入下面一行:
/mnt/smb /etc/auto.smb.mnt
在/etc/auto.smb.mnt时加入下面一行:
editors -fstype=cifs,username=editors,password=xxxxxx ://192.168.0.61/editors
需要说明的是,这里的//192.168.0.61前面的冒号,是不能省的。
-----------------
配置NFS
yum install nfs nfs-utils rpcbind service rpcbind start chckonfig rpcbind on cat "/shared_dir 192.168.1.200(rw,async,all_squash,anonuid=500,anongid=500)" > /etc/exports
參數 | 參數功能 | 預設參數 |
fg bg | 當執行掛載時,該掛載的行為會在前景 (fg) 還是在背景 (bg) 執行? 若在前景執行時,則 mount 會持續嘗試掛載,直到成功或 time out 為止,若為背景執行, 則 mount 會在背景持續多次進行 mount ,而不會影響到前景的程序操作。 如果你的網路連線有點不穩定,或是伺服器常常需要開關機,那建議使用 bg 比較妥當。 | fg |
soft hard | 如果是 hard 的情況,則當兩者之間有任何一部主機離線,則 RPC 會持續的呼叫,直到對方恢復連線為止。如果是 soft 的話,那 RPC 會在 time out 後『重複』呼叫,而非『持續』呼叫, 因此系統的延遲會比較不這麼明顯。同上,如果你的伺服器可能開開關關,建議用 soft 喔! | hard |
intr | 當你使用上頭提到的 hard 方式掛載時,若加上 intr 這個參數, 則當 RPC 持續呼叫中,該次的呼叫是可以被中斷的 (interrupted)。 | 沒有 |
rsize wsize | 讀出(rsize)與寫入(wsize)的區塊大小 (block size)。 這個設定值可以影響用戶端與伺服器端傳輸資料的緩衝記憶容量。一般來說, 如果在區域網路內 (LAN) ,並且用戶端與伺服器端都具有足夠的記憶體,那這個值可以設定大一點, 比如說 32768 (bytes) 等,提升緩衝記憶區塊將可提升 NFS 檔案系統的傳輸能力! 但要注意設定的值也不要太大,最好是達到網路能夠傳輸的最大值為限。 | rsize=1024 wsize=1024 |
mount -t nfs -o bg,soft,rsize=32768,wsize=32768 192.168.1.100:/shared_dir /mount_point
Mac系统下挂载NFS有一点特别,需要加几个参数
不加resvport在mac下会挂载不了,不加nolockd的话给文件加锁的时候会提示nfs server lockd not responding
不加resvport在mac下会挂载不了,不加nolockd的话给文件加锁的时候会提示nfs server lockd not responding
mount -t nfs -o resvport,rw,nolockd 192.168.1.100:/www /www