NFS 即 (Network File System) 的縮寫,最大的功能就是能夠經過網絡,讓不一樣的機器、不一樣的操做系統實現共享彼此的文件。html
NFS 服務端可讓客戶端將網絡中的 NFS 服務器共享的目錄掛載到本地端的文件系統中,而在本地端的系統中來看,那個遠程主機的目錄就好像是本身的一個磁盤分區同樣,在使用上至關便利。linux
NFS 通常用來存儲共享視頻,圖片,文件等靜態數據。web
步驟1、安裝 NFS 和 PRC 軟件shell
若是要實現NFS共享目錄,首先咱們要在一臺 CentOS 7 上安裝 NFS 服務,安裝過程當中須要安裝兩個軟件分別是rpcbind
和nfs-utils
,安裝命令以下:安全
yum install -y rpc-bind nfs-utils #安裝nfs服務
yum install -y rpcbind #安裝rpc服務
步驟2、啓動服務並設置爲開機自啓動服務器
啓動服務的過程須要注意,先啓動 RPC 服務,再啓動 NFS 服務,啓動命令以下:網絡
systemctl start rpcbind #啓動rpc服務
systemctl enable rpcbind #設置rpc服務開機啓動
systemctl start nfs-server nfs-secure-server #啓動nfs服務和nfs安全傳輸服務
systemctl enable nfs-server nfs-secure-server #設置nfs服務和nfs安全傳輸服務開機啓動
若是開啓了防火牆 Firewall,能夠經過如下命令讓防火牆放行 nfs 服務。app
firewall-cmd --permanent --zone=public --add-service=nfs #配置防火牆放行nfs服務
firewall-cmd --reload #配置修改後,在不改變狀態的條件下從新加載防火牆使修改生效
步驟3、配置共享目錄webapp
在服務端建立或使用已有的目錄做爲共享目錄,並配置 /etc/exports
文件指明能夠訪問的客戶端 IP 及權限。本例子中,咱們建立共享目錄/home/linux265/webapp
,經過 vi 編輯器來編輯 /etc/exports
文件,添加添加對應內容:async
/home/linux265/webapp 192.168.1.102(rw,no_root_squash,no_all_squash,sync)
參數解釋以下:
參數 | 做用 |
---|---|
ro | 只讀 |
rw | 讀寫 |
root_squash | 當NFS客戶端以root管理員訪問時,映射爲NFS服務器的匿名用戶 |
no_root_squash | 當NFS客戶端以root管理員訪問時,映射爲NFS服務器的root管理員 |
all_squash | 不管NFS客戶端使用什麼帳戶訪問,均映射爲NFS服務器的匿名用戶 |
sync | 同時將數據寫入到內存與硬盤中,保證不丟失數據 |
async | 優先將數據保存到內存,而後再寫入硬盤;這樣效率更高,但可能會丟失數據 |
步驟1、使用showmount
命令查看服務端容許共享的目錄及容許訪問的IP,命令以下:
showmount -e 192.168.1.101
輸出內容:
export list for 192.168.1.101: /home/linux265/webapp 192.168.1.102
showmount命令的用法:
參數 | 做用 |
---|---|
-e | 顯示NFS服務器的共享列表 |
-a | 顯示本機掛載的文件資源的狀況NFS資源的狀況 |
-v | 顯示版本號 |
步驟2、客戶端建立目錄並掛載共享目錄
在客戶端機器 192.168.1.102 上咱們建立目錄 /mnt/webapp
做爲共享目錄的掛載目錄。命令以下:
cd /mnt mkdir webapp mount -t nfs 192.168.1.101:/home/linux265/webapp /mnt/webapp
若是但願每次系統啓動自動掛在該目錄,能夠在該文件/etc/fstab
中掛載。使用 vi 打開 文件/etc/fstab
添加內容:
192.168.1.101:/home/linux265/webapp /mnt/webapp nfs defaults 0 0
步驟3、驗證掛在是否成功
掛在命令完成後,能夠經過df
命令查看是否正常掛載:
df -h
輸出內容:
Filesystem Size Used Avail Use% Mounted on /dev/sda3 1.1T 187G 827G 19% / tmpfs 32G 80K 32G 1% /dev/shm /dev/sda1 477M 40M 412M 9% /boot 192.168.1.101:/home/linux265/webapp 17G 3.7G 14G 22% /mnt/webapp
經過該教程,您已經學會如何在 CentOS 7 服務器之間經過 NFS 來實現文件目錄共享,固然該教程一樣也適用於CentOS 6 系列,同時客戶端能夠是任何類Unix系統。但願該教程對您有幫助,若是你有更好的建議或其它疑問請在下面留言討論。
若是想了解更過關於 NFS 內容,請查看 NFS 文檔說明。