1. 程式人生 > >Linux安裝nfs共享檔案

Linux安裝nfs共享檔案

簡介nfs

nfs網路檔案系統常用於共享音視訊,圖片等靜態資源。將需要共享的資源放到NFS裡的共享目錄,通過伺服器掛載實現訪問。

服務端安裝:

yum install -y nfs-utils rpcbind

或者

yum install -y nfs-utils
yum install -y rpcbind

客戶端安裝:

yum install -y nfs-utils

設定開機自啟動

systemctl enable nfs
systemctl enable rpcbind

服務端配置:

1. 建立共享目錄

mkdir -p /data/nfs-share

2. 安裝完nfs服務一般會自動生成配置檔案exports,如果沒有就自己建立一個 /etc/exports

cat /etc/exports

3.編輯共享配置檔案

vi /etc/exports
/data/nfs-share *(rw,sync,no_root_squash)


#/home/nfs *(rw,sync,no_root_squash)
#/data/nfs-share *

第一列:欲共享出去的目錄,也就是想共享到網路中的檔案系統;

第二列:可訪問主機
192.168.152.13      指定IP地址的主機
nfsclient.test.com  指定域名的主機
192.168.1.0/24      指定網段中的所有主機
*.test.com          指定域下的所有主機
*                   所有主機

第三列:共享引數
下面是一些NFS共享的常用引數:

 ro                      只讀訪問
 rw                      讀寫訪問
 sync                    所有資料在請求時寫入共享
 async                   NFS在寫入資料前可以相應請求
 secure                  NFS通過1024以下的安全TCP/IP埠傳送
 insecure                NFS通過1024以上的埠傳送
 wdelay                  如果多個使用者要寫入NFS目錄,則歸組寫入(預設)
 no_wdelay               如果多個使用者要寫入NFS目錄,則立即寫入,當使用async時,無需此設定。
 Hide                    在NFS共享目錄中不共享其子目錄
 no_hide                 共享NFS目錄的子目錄
 subtree_check           如果共享/usr/bin之類的子目錄時,強制NFS檢查父目錄的許可權(預設)
 no_subtree_check        和上面相對,不檢查父目錄許可權
 all_squash              共享檔案的UID和GID對映匿名使用者anonymous,適合公用目錄。
 no_all_squash           保留共享檔案的UID和GID(預設)
 root_squash             root使用者的所有請求對映成如anonymous使用者一樣的許可權(預設)
 no_root_squas           root使用者具有根目錄的完全管理訪問許可權
 anonuid=xxx             

指定NFS伺服器/etc/passwd檔案中匿名使用者的UID
例如可以編輯/etc/exports為:

/tmp         *(rw,no_root_squash)
/home/public     192.168.0.*(rw)   *(ro)
/home/test      192.168.0.100(rw)
/home/linux      *.the9.com(rw,all_squash,anonuid=40,anongid=40)

4. 啟動nfs

service rpcbind start
# 提示: Redirecting to /bin/systemctl start rpcbind.service
service nfs start
# 提示: Redirecting to /bin/systemctl start nfs.service

5. 檢視掛載

showmount -e 127.0.0.1
返回內容
# Export list for 127.0.0.1:
# /data/nfs-share *

客戶端配置:

1. 建立

# /kubernetes 為本機掛載的目錄
mkdir -p /kubernetes

2. 掛載

mount [服務端ip]:/data/nfs-share /kubernetes
# 例如
mount 10.1.1.99:/home/nfs /kubernetes

其他

配置生效

# 修改共享配置檔案執行
exportfs -r