NFS簡介:NFS可以實現異構網絡上共享和裝配遠程文件系統,其最大功能是可以通過網絡讓不同操作系統的計算機共享數據,NFS在傳送信息時,會使用一個稱爲“遠程過程調用(remote procedure call RPC)”的協議來協助NFS服務器的運行。
RPC簡介:因爲NFS支持的功能多,會使用不同的程序來啓動,使得NFS沒有對應的國定的端口,這樣客戶端便無法知道服務端的NFS的端口號(因爲客戶端需要知道服務端的相關服務的端口才能聯機),這時就需要使用“遠程過程調用服務”RPC。
當NFS服務器啓動時,會自動隨機選用多個端口(小於724),並且主動向RPC註冊,所以RPC會知道每個端口對應的NFS 的功能。然後RPC使用固定的端口111來監聽客戶端的請求,並且回報給客戶端的正確的服務端的端口。注意:在啓動NFS之前需要先啓動RPC;否則NFS會無法向RPC註冊。另外重新啓動RPC會導致原有的註冊數據會消失,因此重新啓動RPC後,有RPC管理的所有的程序都需要重新啓動來想RPC重新註冊。
1、 安裝配置之前需要了解的知識:NFS服務器的運行,需要啓動相關的守護進程包括inet、rpcbind、nfs、mount這4個進程。 NFS 的配置文件 /etc/exports
做好上面的準備工作之後,接下來就是安裝配置NFS了
2、安裝軟件包(在這裏使用本地yum源來安裝)(在這裏由於centos7的版本不同,可能需要安裝的軟件包也不同,如果下面的命令出錯,則可以使用rpm 來安裝,直接安裝軟件包就好了rpm -ivh nfs-utils******.rpm)
yum install -y nfs-utils nfs-utils-lib
3、編輯配置文件
vim /etc/exports
第一行的解釋: /public 目錄允許192.168.11.0/24網段的用戶讀寫。
/public 可以掛載的目錄,需要自己提前創建,不然開啓服務的時候會出錯
第二行的解釋:/mnt目錄允許所有用戶訪問,但不能寫入。
4、啓動服務,記住順序不能亂
5、關掉SELinux
setenforce 0 //臨時關閉SELinux
6、配置防火牆
firewall-cmd --permanent --add-port=111/tcp //開啓rpc的tcp端口
firewall-cmd --permanent --add-port=2049/tcp //開啓nfs的tcp端口
firewall-cmd --permanent --zone=public --add-service=nfs //開啓nfs服務
firewall-cmd --reload //重新加載
7、在本機上進行測試,出現如下圖所示,就OK了
showmount -e 172.24.11.40
8、接下來就可以使用mount命令來進行掛載了。注意格式。如下圖所示即爲掛載成功。當然mount還有很多的使用方法,-h和man是最好的解決方法,要是還不會,就自己百度去。
mount -t nfs 172.24.11.40:/public /mnt/cdrom
如果想要卸載NFS網絡文件系統,使用umount命令就好了,具體的使用方法自行百度去。這裏舉個例子,就上面的例子來說,要卸載文件系統的話,使用如下命令。
umount /mnt/cdrom
如果無法正確關閉NFS服務,可以使用netstat -tlunp 命令來找出進程的PID,然後使用kill來殺死進程。