Showing posts with label nfs-utils. Show all posts
Showing posts with label nfs-utils. Show all posts

Sunday, August 8, 2010

最近架nfs server的筆記

給未來的裕翔

最近重新架了nfs server

發現一件事

hosts.allow不需要設定耶!?

不過iptables還是要tcp的111(rpcbind)和2049(nfs)

selinux似乎也不需要改什麼

然後, nfs的預設就有root squash

後記: 也許是因為我多了service nfslock start

nfs一直Stale NFS file handle

給未來的裕翔

當我在client端掛載nfs後

在server重新整啟nfs

這時client只要對那nfs掛載點作任何事情

都會產生"Stale NFS file handle"錯誤訊息

這時我在client端可以sudo umount -f /your/nfs/mount/point

Tuesday, June 8, 2010

nfs雜亂筆記2

給未來的裕翔

當有用/etc/exports分享資源時

可用showmount -e來看分享哪些資源

或是用exportfs

接下來介紹一些exportfs的其他功能

每當修改過/etc/exports後, 都需要重新啟動nfs

或是簡單一點, export -r,

r就是refresh的意思

如果不只想看自己分享哪些資源

還想看選項, exportfs -v

統統不想分享的話, exportfs -ua

統統都分享, exportfs -a

針對細部的不分享? ex:

exportfs -u 192.168.0.0/255.255.255.0:/home

另外

portmap可以用TCPWRAPPER檔

還有就是

如果在/etc/exports的某一行

對某個網段root_squash

卻允許該往段某個IP no_root_squash

那寫的順序有先後影響, 先符合的生效

如果想要固定port

可以去/etc/sysconfig/nfs裡面設定

想看rpcinfo已經紀錄哪些port的話

rpcinfo -p

最後最後, nfs在某些OS有固定port, 2049

某些則是隨機, 由rpcbind決定

Thursday, June 3, 2010

nfs雜亂小筆記

給未來的裕翔

如果想要啟動nfs服務

編輯/etc/exports, ex:

/var/ftp   192.168.0.0/255.255.255.0(rw)

netmask不可以用24

如果要街多個網段, 彼此空格相隔即可

service portmap start

service nfs start

注意: /etc/hosts.allow裡面要加

portmap:ALL

mountd:ALL

然後在client端

showmount -e 192.168.0.X

mkdir /nfsdir

mount 192.168.0.X:/var/ftp /nfsdir

報告完畢

Tuesday, March 23, 2010

nfs的automount

給未來的裕翔

如果想在client端做automount的動作

以下參考鳥哥伺服器架設篇第二版

先安裝autofs套件

假設我想把nfs server分享的資料夾/tmp

(nfs server: 140.114.229.129)

掛載在/home/nfs裡面的資料夾temp

/home/nfs要先建立, /home/nfs/temp不要, 不是不用, 是不要!

/etc/auto.master裡面

/home/nfs      /etc/auto.nfs

/etc/auto.nfs裡面

temp      -rw      140.114.229.129:/tmp

service autofs restart

耶^^

Sunday, March 21, 2010

nfs server架設問題&處理

給未來的裕翔

(以下假設rpcbind已設定好, 關於rpcbind設定可參考開放rpcbind的服務)


想在140.114.229.129nfs server讓遠端140.114.28.187使用

必須先處理iptables的問題

為了讓client可以使用

除了要開rpcbind的port 111

還必須開mountd的port 892nfs的port 2049


不過mountd預設是隨機開一個

所以必須去/etc/sysconfig/nfs反註解#MOUNTD_PORT=892

接著在/etc/sysconfig/iptables新增四行

-A CLASS-RULES -p tcp --dport 892 -j ACCEPT
-A CLASS-RULES -p udp --dport 892 -j ACCEPT

-A CLASS-RULES -p tcp --dport 2049 -j ACCEPT
-A CLASS-RULES -p udp --dport 2049 -j ACCEPT


以上如果沒搞定的話

client端使用的showmount -e 140.114.229.129

會出現rpc mount export: RPC: Unable to receive; errno = Connection refused

搞定後, 還必須去/etc/hosts.allow新增一行

mountd: 140.114.28.187

注意, 雖然執行檔是rpc.mountd

寫成rpc.mountd: 140.114.28.187反而會錯, 不知為啥

以上如果沒搞定的話

client端使用的showmount -e 140.114.229.129

會出現rpc mount export: RPC: Authentication error; why = Failed (unspecified error)

到此, client端終於可以正常showmount -e 140.114.229.129

client端如果進一步把nfs server分享的/tmp掛載在/mount-test

mount -t nfs 140.114.229.129:/tmp /mount-test

會出現以下錯誤訊息

/usr/sbin/start-statd: line 8: /sbin/rpc.statd: Permission denied
/usr/sbin/start-statd: line 8: /sbin/rpc.statd: Success
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: an incorrect mount option was specified


依照訊息建議

改成mount -t nfs 140.114.229.129:/tmp /mount-test -o nolock

就可以mount了!!!

被分享的/tmpserver端原本是被設定成ro

若改成rw, 重啟nfs

client端掛載中的/mount-test就會瞬間變成可寫入狀態, 什麼都不需要做

Thursday, March 18, 2010

service nfs start失敗

給未來的裕翔

ldd `which rpcbind` | grep libwrap是有output的

表示它可以透過hosts.allowhosts.deny來加以控制

假設client端是140.114.28.187

我在hosts.allow新增rpcbind: 140.114.28.187

service nfs start 失敗!!!!!!

嘗試把iptables關掉後重啟nfs, 失敗!!!!!!

嘗試把selinux關掉後重啟nfs, 失敗!!!!!!

google了一下, 嘗試把hosts.allow原來新增那行的改成

rpcbind: 140.114.28.187 127.0.0.1, 成功!!!!!!

今天有進步, 可以睡覺去了^^