linux nfs 配置_centos7 NFS 配置
NFS是什么
最近項目上有這么個需求,客戶端上傳文件的時候,想把文件上傳到另外一臺服務器。
本來想用ftp的,覺得太麻煩,就各種查資料,請教別人,后來發現,NFS這個東東真不錯。
NFS(網絡文件系統)服務可以將遠程Linux系統上的文件共享資源掛載到本地主機的目錄上,從而使得本地主機(Linux客戶端)基于TCP/IP協議,像使用本地主機上的資源那樣讀寫遠程Linux系統上的共享文件。
簡單來說就是,把遠程服務器上的一個目錄映射到本地,就像操作本地目錄一下操作遠程目錄,這個完全符合我的需求。
NFS分為服務器端和客戶端,遠程服務器是服務端,本地服務器是客戶端,我們現在就開始配置吧。
服務端配置
安裝NFS
查看是否安裝了nfs,輸入命令:rpm -qa |grep nfs
沒有結果,說明沒有安裝。
輸入安裝命令:yum install nfs-utils
一路選擇yes,直到安裝完成。
再次查看,已經安裝好了。
建立共享目錄并設置權限
在/usr/local目錄下建立upload目錄為共享目錄。mkdir upload
設置足夠的權限確保其他用戶也有寫入權限
(因為下面我們把客戶端映射為匿名用戶了):
chmod -Rf 777 upload
創建一個文件(測試用,非必要)
echo “welcome to install nfs” > readme
配置文件
NFS服務程序的配置文件為 /etc/exports,默認情況下里面沒有任何內容。
我們可以按照“共享目錄的路徑 允許訪問的NFS客戶端(共享權限參數)”的格式,定義要共享的目錄與相應的權限。
參數使用表格如下:
輸入命令:vi /etc/exports
加入?
/usr/local/upload 10.145.1.*(rw,sync,root_squash)
注意,NFS客戶端地址與權限之間沒有空格。
啟動NFS服務
啟動NFS服務之前,還需要順帶重啟并啟用rpcbind服務程序,并將這兩個服務一并加入開機啟動項中。
輸入命令:
systemctl restart rpcbindsystemctl enable rpcbindsystemctl start nfs-serversystemctl enable nfs-server設置防火墻
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=mountd
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --reload
如果不設置防火墻,客戶端可能訪問不到服務器的nfs。
查看是否共享成功
showmount -e localhost
至此,服務器端配置成功。
客戶端配置
安裝NFS
同樣需要檢查安裝nfs,步驟和服務器一樣。
查詢NFS服務器的遠程共享信息
命令格式為“共享的目錄名稱 允許使用客戶端地址”。showmount -e 10.145.1.36
表示客戶端和服務器端連接沒有問題。
建立共享目錄
可以是任何目錄,請按需創建。mkdir upload
掛載服務器目錄
使用mount命令并結合-t參數,指定要掛載的文件系統的類型,并在命令后面寫上服務器的IP地址、服務器上的共享目錄以及要掛載到本地系統(即客戶端)的目錄。
命令格式:mount -t nfs 服務器的IP:/服務器上的共享目錄 本地的掛載目錄
輸入命令:
mount -t nfs 10.145.1.36:/usr/local/upload /usr/local/upload
掛載完成后,進入upload 目錄,看到了服務器上創建的readme文件,說明掛載成功!
客戶端新建一個文件readme2
echo “create by client” > readme2
在服務器端查看,寫入成功!
至此,配置完成了!
一勞永逸
如果希望NFS文件共享服務能一直有效,則需要將其寫入到fstab文件中:
vi /etc/fstab
10.145.1.36:/usr/local/upload /usr/local/upload nfs defaults 0 0
這樣就算服務器重啟,也不會丟失配置了。
總結
Linux系統之間,共享目錄文件用NFS非常方便,有以下優缺點:
優點:服務端的同一塊磁盤可以掛載到不同的客戶端,實現文件的共享,可以擴充客戶端的存儲空間。
缺點:嚴重依賴網絡,當網絡出現問題,客戶端掛載的網絡磁盤會無法使用。
最后,搭建NFS系統,最好是在同一局域網內,還要注意防火墻的設置。
總結
以上是生活随笔為你收集整理的linux nfs 配置_centos7 NFS 配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle11连12c报权限错误,关于
- 下一篇: Linux装c编译器gcc,c编译器进阶