問題: 由於工作,需要,不斷得進行掛在硬碟重裝系統,NFS 系統給了我一個很好的解決方案。於是決定寫一篇博客,防止以後再次使用的時候,能夠很快得重新建立NFS 文件系統。 調研: NFS(Network File System)即網路文件系統,是FreeBSD支持的文件系統中的一種,它允許網路中的計 ...
問題:
由於工作,需要,不斷得進行掛在硬碟重裝系統,NFS 系統給了我一個很好的解決方案。於是決定寫一篇博客,防止以後再次使用的時候,能夠很快得重新建立NFS 文件系統。
調研:
NFS(Network File System)即網路文件系統,是FreeBSD支持的文件系統中的一種,它允許網路中的電腦之間通過TCP/IP網路共用資源。在NFS的應用中,本地NFS的客戶端應用可以透明地讀寫位於遠端NFS伺服器上的文件,就像訪問本地文件一樣。
好處: 1. 節省本地存儲空間,可以通過網路訪問。 2. 可以所有用戶共用一個文件系統。 3. 共用文件,並且減少網路中的移動設備的數量。
開發商: sun 公司 種類: RPC 服務系統 目的: 達到文件共用的目的,可以在不同系統之間使用嗯,通信協議與主機及操作系統無關。 就好像操作本地文件系統一樣。
架構:
對於RPC 不太瞭解的同學可以參見:
使用:
1. 查看本地,是否已經安裝了 nfs 和 rpcbind , 為什麼要檢查是否安裝了 rpcbind : nfs 系統是rpc 系統的一種。它需要使用rpc 服務,才能正常使用。如果沒有請使用 yum install 安裝相應的包。
[yaowen@dhcp-65-15 ~]$ rpm -qa | grep nfs qemu-block-nfs-2.9.1-2.fc26.x86_64 nfs-utils-2.2.1-4.rc2.fc26.x86_64 sssd-nfs-idmap-1.16.1-3.fc26.x86_64 libnfs-1.9.8-3.fc26.x86_64 libnfsidmap-2.2.1-4.rc2.fc26.x86_64 [yaowen@dhcp-65-15 ~]$ rpm -qa | grep rpcbind rpcbind-0.2.4-8.rc3.fc26.x86_64 [yaowen@dhcp-65-15 ~]$
2. 當你安裝好後,進行創建本地文件夾,來進行作為 nfs 的目錄,並設置許可權。
[yaowen@dhcp-65-15 ~]$ ll total 36 drwxr-xr-x. 2 yaowen yaowen 4096 Jun 27 2017 Desktop drwxr-xr-x. 2 yaowen yaowen 4096 Jun 27 2017 Documents drwxr-xr-x. 2 yaowen yaowen 4096 Jun 27 2017 Downloads drwxr-xr-x. 2 yaowen yaowen 4096 Jun 27 2017 Music drw-rw-rw-. 2 yaowen yaowen 4096 May 17 00:43 NFS drwxr-xr-x. 2 yaowen yaowen 4096 Jun 27 2017 Pictures drwxr-xr-x. 2 yaowen yaowen 4096 Jun 27 2017 Public drwxr-xr-x. 2 yaowen yaowen 4096 Jun 27 2017 Templates drwxr-xr-x. 2 yaowen yaowen 4096 Jun 27 2017 Videos [yaowen@dhcp-65-15 ~]$ ll NFS total 0
3. 進行使用 nfs 配置文件
/home/yaowen/NFS 10.66.0.0/16(rw,no_root_squash,no_all_squash,sync)
參數值 內容說明
rw ro 該目錄分享的許可權是可擦寫 (read-write) 或只讀 (read-only),但最終能不能讀寫,還是與文件系統的 rwx 及身份有關。
sync async sync 代表數據會同步寫入到記憶體與硬碟中,async 則代表數據會先暫存於記憶體當中,而非直接寫入硬碟
no_root_squash root_squash 客戶端使用 NFS 文件系統的賬號若為 root 時,系統該如何判斷這個賬號的身份?預設的情況下,客戶端 root 的身份會由 root_squash 的設定壓縮成 nfsnobody, 如此對伺服器的系統會較有保障。但如果你想要開放客戶端使用 root 身份來操作伺服器的文件系統,那麼這裡就得要開 no_root_squash
all_squash 不論登入 NFS 的使用者身份為何, 他的身份都會被壓縮成為匿名用戶,通常也就是 nobody(nfsnobody)
4. 重新載入 配置文件
exportfs -r
5. 重新啟用 rpcbind 和 nfs 服務
6. 配置,防火牆。測試的時候,如果我們使用 fedora 的話,我們使用
systemctl stop firewalld.service 關閉 防火牆
7.在 另外一個電腦上,檢查nfs 所在主機的可用列表:
➜ nfs showmount -e 10.66.65.15
Export list for 10.66.65.15:
/home/yaowen/NFS 10.66.8.0/24,10.66.0.0/16
這裡有兩個網段,是配置文件里我重覆進行了配置,具體的顯示的內容,會根據你的配置顯示。
8. 掛載
創建掛在點,進行掛載
sudo mount -t nfs 10.66.65.15:/home/yaowen/NFS /home/xuyaowen/nfs
9. 檢測
通過創建文件,在客戶機上檢查文件系統,是否能正常運行。
➜ nfs df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs 3.8G 57M 3.7G 2% /dev/shm
tmpfs 3.8G 2.0M 3.8G 1% /run
tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
/dev/mapper/fedora-root 49G 8.5G 38G 19% /
tmpfs 3.8G 124K 3.8G 1% /tmp
/dev/sda3 976M 186M 723M 21% /boot
/dev/mapper/fedora-home 30G 1.4G 27G 5% /home
tmpfs 769M 16K 769M 1% /run/user/42
tmpfs 769M 56K 769M 1% /run/user/1000
10.66.65.15:/home/yaowen/NFS 404G 284M 383G 1% /home/xuyaowen/nfs
可見,最後一行,就是我所掛載的文件系統。
10. 卸載
使用 umount 命令
11. 防火牆配置
我們可以根據nfs 配置文件,固定 nfs 使用的埠。這樣我們就能根據使用的埠,來進行配置 防火牆的使用策略。
這裡,因為暫時不需要,也就不去研究了。我想,配置起來也很簡單。自己稍微查查資料就可以的。
現在,你就有一個可以用的 nfs 文件系統了。
轉載,請註明出處。 2018.5.21 in Beijing.