安裝NFS服務
阿新 • • 發佈:2021-02-03
1 伺服器部分
1.1 檢視系統是否已安裝NFS
# 檢視是否安裝過nfs
rpm -qa | grep nfs
rpm -qa | grep rpcbind
1.1 安裝NFS
yum -y install nfs-utils rpcbind
1.3 建立共享目錄並授權
# 建立準備共享的目錄
mkdir -p /nfs
# 賦予許可權
chmod 666 /nfs
# chmod 命令更改檔案/資料夾的屬性:
# chmod 666 /nfs 表示所有使用者都可以讀寫但不能執行檔案/資料夾;
# chmod 777 /nfs 允許所有使用者的所有操作(一般的暴力解決辦法)
# chmod 744 /nfs 只允許使用者(所有者)執行所有操作;組和其他使用者只允許閱讀。
1.4 編輯export配置檔案
# 建立配置檔案
vim /etc/exports
# 配置檔案內容
/nfs 27.1.100.0/8(rw,no_root_squash,no_all_squash,sync)
# 注:
# 第一列代表共享哪個目錄
# 第二列代表允許哪些客戶端訪問(可以是ip也可以是ip段)
# 第三列共享目錄的一些許可權設定
# 所有人
# ro:共享目錄只讀;
# rw:共享目錄可讀可寫;
# all_squash:所有訪問使用者都對映為匿名使用者或使用者組;
# no_all_squash(預設):訪問使用者先與本機使用者匹配,匹配失敗後再對映為匿名使用者或使用者組;
# root_squash(預設):將來訪的root使用者對映為匿名使用者或使用者組;
# no_root_squash:來訪的root使用者保持root帳號許可權;
# anonuid=<UID>:指定匿名訪問使用者的本地使用者UID,預設為nfsnobody(65534);
# anongid=<GID>:指定匿名訪問使用者的本地使用者組GID,預設為nfsnobody(65534);
# secure(預設):限制客戶端只能從小於1024的tcp/ip埠連線伺服器;
# insecure:允許客戶端從大於1024的tcp/ip埠連線伺服器;
# sync:將資料同步寫入記憶體緩衝區與磁碟中,效率低,但可以保證資料的一致性;
# async:將資料先儲存在記憶體緩衝區中,必要時才寫入磁碟;
# wdelay(預設):檢查是否有相關的寫操作,如果有則將這些寫操作一起執行,這樣可以提高效率;
# no_wdelay:若有寫操作則立即執行,應與sync配合使用;
# subtree_check(預設) :若輸出目錄是一個子目錄,則nfs伺服器將檢查其父目錄的許可權;
# no_subtree_check :即使輸出目錄是一個子目錄,nfs伺服器也不檢查其父目錄的許可權,這樣可以提高效率;
1.5 使配置生效
exportfs -r
# 不重啟nfs服務應用更新,相關選項如下:
# -a 全部掛載或解除安裝 /etc/exports中的內容
# -r 重新讀取/etc/exports 中的資訊 ,並同步更新/etc/exports、/var/lib/nfs/xtab
# -u 解除安裝單一目錄(和-a一起使用為解除安裝所有/etc/exports檔案中的目錄)
# -v 在export的時候,將詳細的資訊輸出到螢幕上。
1.6 啟動rpcbind、nfs服務
# 啟動服務
systemctl start rpcbind
systemctl start nfs
# 開機自啟
systemctl enable rpcbind.service
systemctl enable nfs.service
1.7 查詢共享狀態
showmount -e localhost
# 查詢結果如下
# Export list for localhost:
# /nfs 27.1.100.0/8
# 選項與引數:
# -a :顯示目前主機與客戶端的 NFS 聯機分享的狀態;
# -e :顯示某部主機的 /etc/exports 所分享的目錄資料。
2 客戶端部分
2.1 安裝nfs-utils客戶端
yum -y install nfs-utils
2.2 檢視伺服器的共享目錄資訊
showmount -e 27.1.100.128
# 顯示的共享目錄資訊如下:
# Export list for 27.1.100.128:
# /nfs 27.1.100.0/8
2.3 建立掛載目錄
mkdir /nfs
# 掛載共享目錄
mount -t nfs 27.1.100.128:/nfs /nfs
2.4 測試掛載結果
2.4.1 檢視掛載結果
df -h
# 查詢結果如下,27.1.100.128:/nfs就是我們掛載的共享目錄
# 檔案系統 容量 已用 可用 已用% 掛載點
# devtmpfs 7.8G 0 7.8G 0% /dev
# tmpfs 7.8G 0 7.8G 0% /dev/shm
# tmpfs 7.8G 44M 7.8G 1% /run
# tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
# /dev/mapper/centos-root 35G 2.3G 33G 7% /
# /dev/sda1 1014M 153M 862M 16% /boot
# tmpfs 1.6G 0 1.6G 0% /run/user/0
# 27.1.100.128:/nfs 35G 3.0G 32G 9% /nfs
2.4.2 在服務端操作
# 在服務端寫入資料
echo "test" > /nfs/test.txt
2.4.3 在客戶端操作
# 在客戶端檢視資料並寫入資料
cat /nfs/test.txt
# 查詢結果如下
test
# 寫入資料
echo "204" >> /nfs/test.txt
2.4.4 在伺服器操作服
cat /nfs/test.txt
# 查詢結果如下
test
204
2.4.5 解除安裝已掛在的NFS
# 解除安裝掛載的NFS
umount /nfs
# 檢視解除安裝情況,可以看到27.1.100.128:/nfs已經沒有了
df -h
# 檔案系統 容量 已用 可用 已用% 掛載點
# devtmpfs 7.8G 0 7.8G 0% /dev
# tmpfs 7.8G 0 7.8G 0% /dev/shm
# tmpfs 7.8G 44M 7.8G 1% /run
# tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
# /dev/mapper/centos-root 35G 2.3G 33G 7% /
# /dev/sda1 1014M 153M 862M 16% /boot
# tmpfs 1.6G 0 1.6G 0% /run/user/0
# 27.1.100.128:/nfs 35G 3.0G 32G 9% /nfs