Linux下部署NFS服務

2021-10-14 11:10:50 字數 2674 閱讀 6364

客戶端部署

nfs:network file system,網路檔案系統,通過網路(一般指區域網)讓不同主機可以共享檔案或目錄。nfs是使用c/s架構,由乙個或多個客戶端和乙個服務端組成。服務端向其他計算機提供對檔案系統的訪問,其過程稱為輸出。nfs客戶端對共享檔案系統進行訪問時,把它們從nfs伺服器中「輸送」出來。nfs傳輸協議用於伺服器和客戶機之間檔案訪問和共享的通訊,從而使客戶機遠端地訪問儲存在服務端儲存裝置上的資料。相當於windows的檔案共享系統。

[root@template ~]# rpm -qa | grep -e "nfs|rpcbind"  #<==== 檢查發現未安裝

[root@template ~]# yum install nfs-utils rpcbind -y  #<==== 安裝軟體

[root@template ~]# vim /etc/exports

/opt/nfs 192.168.227.4(rw,sync,fsid=0) 192.168.227.5(rw,sync,fsid=0)

配置說明:

這一行分為三個部分:

第一部分:/opt/nfs ,這個是本地要共享出去的目錄,注意給許可權。

第二部分:192.168.227.0/24 ,允許訪問的主機,可以是乙個ip:192.168.227.4,也可以是乙個ip段:192.168.227.0/24

第三部分:括號中部分。

rw表示可讀寫,ro唯讀;

sync :同步模式,記憶體中資料時時寫入磁碟;async :不同步,把記憶體中資料定期寫入磁碟中;

no_root_squash :加上這個選項後,root使用者就會對共享的目錄擁有至高的許可權控制,就像是對本機的目錄操作一樣。不安全,不建議使用;root_squash:和上面的選項對應,root使用者對共享目錄的許可權不高,只有普通使用者的許可權,即限制了root;all_squash:不管使用nfs的使用者是誰,他的身份都會被限定成為乙個指定的普通使用者身份;

anonuid/anongid :要和root_squash 以及all_squash一同使用,用於指定使用nfs的使用者限定後的uid和gid,前提是本機的/etc/passwd中存在這個uid和gid。

fsid=0表示將/opt/nfs整個目錄包裝成根目錄

這個配置檔案也可以這樣寫:

/opt/test/ 192.168.227.0/24(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501)
先為rpcbind和nfs做開機啟動:

systemctl enable rpcbind.service    

systemctl enable nfs-server.service

然後分別啟動rpcbind和nfs服務:

systemctl start rpcbind.service    

systemctl start nfs.service

注意要先啟動rpc再啟動nfs

確認nfs伺服器啟動成功:

rpcinfo -p
通過檢視service列中是否有nfs服務來確認nfs是否啟動。

showmount -e 192.168.227.3
檢視可掛載目錄及可連線的ip

最簡單的還是直接關閉防火牆,不過不推薦

設定埠的話,也不推薦,因為nfs服務對應的埠多,且不配置的話,埠是不固定的

這裡推薦根據服務配置

firewall-cmd --zone=public --add-service=nfs --permanent

firewall-cmd --zone=public --add-service=rpc-bind --permanent

firewall-cmd --zone=public --add-service=mountd --permanent

yum install -y nfs-utils

systemctl enable rpcbind.service

systemctl start rpcbind.service

客戶端不需要啟動nfs服務,只需要啟動rpcbind服務

showmount -e 192.168.227.3
mount -t nfs 192.168.227.3:/opt/nfs/ /opt/nfs/
df -h
檢視掛載情況,掛載完成,可以正常訪問本機下的/opt/nfs,並能成功讀取寫入檔案即為成功。

vim /etc/fstab

192.168.227.3:/opt/nfs /opt/nfs nfs nolock 0 0

儲存後,重新掛載

mount -a

Linux下部署svn服務

使用root許可權進行下述操作 subversion deps 1.5.9.tar.gz subversion 1.5.9.tar.gztar xzvf subversion 1.5.9.tar.gz tar xzvf subversion deps 1.5.9.tar.gz兩個檔案會解壓到subv...

Linux下部署nginx服務

上週在乙個全新的linux測試環境下linux安裝nginx遇到點問題 安裝nginx時提示缺少一下兩個庫 正常情況下使用gnu的autoconf和automake產生的程式的安裝步驟就可,但是由於伺服器是共用的,沒有root許可權,沒法在 usr local 目錄下安裝,所以自己在專案的目錄下 然...

linux下部署openfire伺服器

openfire伺服器的安裝依賴於jdk以及資料庫 mysql為例 一 安裝jdk 2 安裝rpm包 sudo yum y localinstall mysql community release el7 5.noarch.rpm 3 安裝mysql sudo yum y install mysql...