一、NFS解釋
NFS是Network File System的簡寫,即網絡文件系統。網絡文件系統是FreeBSD支持的文件系統中的一種,也被稱為NFS,NFS允許一個系統在網絡上與他人共享目錄和文件,通過使用NFS,用戶和程序可以像訪問本地文件一樣訪問遠端系統上的文件。
nfs是sun公司來建立來使用tcp/ip協議以及sun的遠程調用和外部數據表示規范的產品,它的使用非常方便,也比較可靠,具有在不同操作系統之間共享文件的能力。
nfs服務器可以讓其他遠程機器共享它的本地資源,nfs客戶機可以訪問nfs服務器的共享資源。
其實在實際工作中,一台主機即可以是nfs服務器,也可以是nfs客戶機。他們可以互相共享和訪問。
圖解
NFS至少有兩個主要部分:一台服務器和一台(或者更多)客戶機
二、簡易NFS配置
現在的Redhat系統中一般默認都會安裝好nfs,我們只需要做一些簡單的配置即可
1、在NFS服務器端,只需要對/etc/rc.conf文件作一些簡單修改,配置/etc/rc.conf 如下(只有NFS服務被置為enable,mountd 才能自動運行):
rpcbind_enable="YES"
nfs_server_enable="YES"
mountd_flags="-r“
設置共享目錄
#vim /etc/exports ——>在這里添加相應的共享目錄 /mnt/iso 210.38.206.0/24(rw,sync) ——>例子
exports文件中的設置選擇較多,但經常用的並不多
注意其中:210.38.206.0/24 為表示本網段可共享,非本網段不能共享資源。
設置選項 說明
sync 設置NFS服務器同步寫磁盤,這樣不會輕易丟失數據,NFS服務器建議使用該選項
ro 設置輸出的共享目錄只讀,與 rw撿能同時使用
rw 設置輸出的共享目錄可讀寫 ,與ro不能共同使用
2 在客戶端一側,配置 /etc/rc.conf 至少如下:
nfs_client_enable="YES"
三、一些命令
1、服務端開啟服務
#/etc/rc.d/init.d/nfs start
#/etc/rc.d/init.d/portmap start
2、客戶端查看
#showmount -e <hostIP> ——>查看服務器端有那些共享目錄 #showmount -a ——>查看本機已經掛載那些共享的目錄了 #mount -t nfs <hostname>:/share/dir /mnt/mount ——>客戶端掛載方式例子: mount -t nfs 210.38.206.89:/mnt/iso /mnt/cdrom/
3、設置開機啟動
#vim /etc/fstab
210.38.206.89:/mnt/iso /mnt/cdrom/ nfs default 0 0 ——>例子
這樣,nfs的一些基本應用命令就完成了!
附問題一些:
1、NFS中Client在showmount時提示clnt_create: RPC: Program not registered。 可用rpc.mountd解決(確保你的服務器端已經開啟)
2、當在客戶端查看時,出現如下錯誤提示時:
[root@localhost ~]# showmount -e 210.38.206.89
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
解決方法:
(1)防火牆沒有添加規則,向iptables里面添加以下查看的所有端口即可(目前解決的方法,當然你也可以關閉防火牆,不過這樣是比較不安全的,如果你的nfs作用不大,建議你另選別的應用來替代吧!畢竟開那么多的端口,比較不安全呀!)
#vim /etc/sysconfig/iptables
#service iptables stop //關閉防火牆
(2)沒有打開portmap,啟動它即可。
——>#/etc/rc.d/init.d/portmap start