NFS服務器是什么
Network File System的簡寫。NFS 是由Sun公司發展, 并於1984年推出, NFS是一個RPC service ,它使我們能夠達到檔案的共享, 它的設計是為了在不同的系統間使用, 所以它的通訊協定設計與主機及作業系統無關.當使用者想用遠端檔案時只要用"mount"就可把remote檔案系統掛接在自己的檔案系統之下,使得遠端的檔案使用上和local機器的檔案沒兩樣.
假如我們在機器A上, 要把機器B上的 /usr/man 掛接到machine A 的/usr/man只要下mount machine_name:/usr/man /usr/home 就可mount過來.而我們不只是可以mount目錄,就是一個檔也是可以的.在掛接之后我們只能對檔案做reading (or writing) 的動作,而不能在remote machie上把此檔或目錄move,delete掉 , 但須注意的是如我們mount /usr 后 , 不能再mount /usr底下的目錄, 否則會發生錯誤
NFS就是促使Servers上的檔案能被其他的機器mount,而達到資源共享,享用這些檔案的機器就可稱為Client,一個client可以從server上mount一個檔或是一個層次的目錄(file hierarchies) . 然而事實上任何一臺機器都可以做NFS server or NFS client ,甚至同時為NFS server and NFS client 也可以.
NFS 服務器所export 出來的檔案或目錄都記錄在 /etc/exports 這一個檔中,當我們啟動NFS server 時 在 /etc/rc.local 的這一個script會自動的啟動 exportfs 這一個程式 , 搜尋 /etc/exports 這一個檔是否存在, 并且賦予正確的權限給所有export出去的 file hierarchies .
但須注意的是,只有服務器所export出去的路徑,NFS client才能夠mount, 同樣的當啟動client時 , 系統會自動去mount所有server export的路徑,而mount到的所有路徑都會記錄在 /etc/fstab 下 , 類似如下的fstab檔
/dev/sd0a / 4.2 rw 1 1
/dev/sd0h /tmp 4.2 rw 1 3
/dev/sd0g /usr 4.2 rw 1 2
/dev/fd0 /pcfs pcfs rw,noauto 0 0
sparc20:/swap /swap nfs rw,intr,bg,soft 0 0
sparc17:/home /home nfs rw,intr,bg,soft 0 0
sparc17:/home3 /home3 nfs rw,intr,bg,soft 0 0
sparc14:/home4 /home4 nfs rw,intr,bg,soft 0 0
sparc20:/home2 /home2 nfs rw,intr,bg,soft 0 0
sparc20:/var/spool/mail /var/spool/mail nfs rw,intr,bg,soft 0 0
rs970:/home1 /home1 nfs rw,intr,bg,soft 0 0
當client mount 到一個路徑,絕對不是說copy server上的這一個路徑到local的機器上,我們可以用 cd 進入這一個mount到的路徑,就如同是使用local directory一樣