一.首先簡單介紹一下NFS是什麼。
NFS是Network File System的縮寫,即網絡檔案系統。功能是通過網絡讓不同的機器、不同的作業系統能夠分享個人資料,讓應用程式通過網絡可以通路位于伺服器磁盤中的資料。
NFS在檔案傳送或資訊傳送的過過程中,依賴于RPC協定。RPC,遠端過程調用(Remote Procedure Call),是使用戶端能夠執行其他系統中程式的一種機制。NFS本身是沒有提供資訊傳輸的協定和功能的,但NFS卻能讓我們通過網絡進行資料的分享,就是因為NFS使用了RPC提供的傳輸協定,可以說NFS就是使用PRC的一個程式。
二.開始搭建
伺服器端:
1.軟體安裝,主要是rpcbind和nfs-utils.
# yum install rpcbind nfs-utils
2.開啟RPC服務
# /etc/init.d/rpcbind start
3.檢視rpc服務開啟的端口
# netstat -antlp|grep rpcbind
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 0 33005106 48614/rpcbind
4.啟動NFS服務
# /etc/init.d/nfs start
5.檢視rpc服務上是否有端口注冊
# rpcinfo -p localhost
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 3 udp 2049 nfs_acl
6.修改配置檔案,寫入要共享的檔案目錄
# cat /etc/exports
/data/gitData/gitlab_data 10.50.21.244(rw,no_root_squash,async)
7.重新加載nfs 服務
# /etc/init.d/nfs reload
8.檢視共享出去的檔案目錄
$ showmount -e
Export list for xxxx:
/data/gitData 10.50.21.244
用戶端
0.用戶端軟體安裝
yum install rpcbind nfs-utils -y
1.遠端挂載
mount -t nfs 10.50.16.21:/data/gitData /data
2.檢視是否挂載成功
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 79G 3.3G 72G 5% /
tmpfs 3.9G 4.0K 3.9G 1% /dev/shm
10.50.16.21:/data/gitData 1.5T 887G 539G 63% /data
有時候我們需要umount可能會遇到以下問題
# umount /data/
umount.nfs: /data: device is busy
通過指令檢視:
# fuser -m -v /data/
使用者 程序号 權限 指令
/data/: root 2798 ..c.. bash
root 2996 ..c.. su
-v 表示 verbose 模式。程序以 ps 的方式顯示,包括 PID、USER、COMMAND、ACCESS 字段
-m 表示指定檔案所在的檔案系統或者塊裝置(處于 mount 狀态)。所有通路該檔案系統的程序都被列出。
如上所示,有兩個程序占用了,将其kill掉,再重新取消挂載就可以了。
fuser指令是用來顯示所有正在使用着指定的file, file system 或者 sockets的程序資訊。
版權聲明:本文為CSDN部落客「weixin_34008784」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。
原文連結:https://blog.csdn.net/weixin_34008784/article/details/91929803