CentOS7關於NFS的初學

NFS(network file system)網絡文件系統
NFS的主要功能是通過網絡讓不同的主機系統之間可以彼此共享文件或目錄。
和普通的掛載類似,NFS也是通過掛載,使得用戶在訪問遠端的數據就像訪問本地目錄下數據一樣。mount x.x.x.x:/dir /dir 將遠端目錄通過IP和端口掛載到本地。
本地訪問遠端NFS的數據是基於端口的,而且NFS的端口不確定,因此需要一個類似與中間人的工具來記錄每次訪問的端口。RPC(remote procedure call)協議。
RPC服務最主要的功能就是能夠記錄每個NFS功能所對應的端口號,並且在NFS客戶端請求時將該端口和功能對應的信息傳遞給請求數據的NFS客戶端,從而可以確保客戶端可以連接到正確的NFS端口上去,達到實現數據傳輸交互的目地。
CentOS7關於NFS的初學
練習:
1、開啓兩臺虛擬機,一臺爲NFSserver,一臺爲NFSclient。
2、安裝NFS
[root@NFSserver ~]# yum install nfs-utils rpcbind -y
3、開啓rpcbind服務
[root@NFSserver ~]# systemctl start rpcbind
[root@NFSserver ~]# systemctl status rpcbind
[root@NFSserver ~]# rpcinfo -p localhost #查看本地默認端口
program vers proto port service
100000 4 tcp 111 portmapper #對外默認111端口
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper #在沒有開啓NFS之前沒有可用端口
4、開啓NFS服務
[root@NFSserver ~]# systemctl start nfs
[root@NFSserver ~]# rpcinfo -p localhost
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100024 1 udp 51552 status
100024 1 tcp 44185 status
100005 1 udp 20048 mountd #可用端口
100003 4 udp 2049 nfs
100227 3 udp 2049 nfs_acl
100021 1 udp 50086 nlockmgr
100021 3 udp 50086 nlockmgr
.............
5、NFSserver將nfs和rpc設置爲開機自啓動 NFSclient開啓rpcbind服務
[root@NFSserver ~]# systemctl enable rpcbind
[root@NFSserver ~]# systemctl enable nfs
6、檢查服務是都開啓
[root@NFSserver ~]# systemctl list-dependencies nfs
[root@NFSserver ~]# systemctl list-dependencies rpcbind
7、創建共享目錄/data ,/data/a.txt,/data/b.txt。
[root@NFSserver ~]# mkdir /data
[root@NFSserver data]# touch a.txt
[root@NFSserver data]# touch b.txt
8、編輯nfs配置文件/etc/exports
[root@NFSserver ~]# vi /etc/exports
#shareed /data/a.text to client 192.168.142.0/24 表示該網段可以訪問
/data 192.168.142.0/24(rw,sync) #rw讀寫 ro只讀 sync寫入磁盤 async寫入內存
9、重啓NFS服務
[root@NFSserver ~]# systemctl reload nfs #reload平滑重啓,正在執行的服務不會停止,拒絕新的服務請求
10、檢查本機是否可以共享
[root@NFSserver ~]# showmount -e localhost
Export list for localhost:
/data 192.168.142.0/24
11、客戶端檢查
[root@NFSclient ~]# showmount -e 192.168.146.142
Export list for 192.168.146.142:
/data 192.168.146.0/24 #如果沒有,檢查網絡通不通,防火牆是否關閉。
12、掛載
[root@NFSclient ~]# mount -t nfs 192.168.146.142:/data /mnt
13、查看本地目錄
[root@NFSclient ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 26G 1.6G 25G 6% /
devtmpfs 903M 0 903M 0% /dev
tmpfs 912M 0 912M 0% /dev/shm
tmpfs 912M 8.6M 904M 1% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 197M 109M 88M 56% /boot
tmpfs 183M 0 183M 0% /run/user/0
192.168.146.142:/data 26G 1.6G 25G 6% /mnt #掛載成功
[root@NFSclient ~]# cd /mnt
[root@NFSclient ~]# ls
a.txt b.txt
14、驗證讀寫權限
NFSclient 客戶端:
[root@NFSclient ~]# cd /mnt
[root@NFSclient mnt]# ls
a.txt b.txt
[root@NFSclient mnt]# touch c.txt
touch: cannot touch ‘c.txt’: Permission denied #服務器本地權限不夠
NFSserver服務器:
[root@NFSserver ~]# ls -ld /data
drwxr-xr-x. 2 root root 32 May 30 12:13 /data
[root@NFSserver ~]# chmod 757 /data #更改服務器本地權限
[root@NFSserver ~]# ls -ld /data
drwxr-xrwx. 2 root root 32 May 30 12:13 /data
NFSclient 客戶端:
[root@NFSclient mnt]# touch c.txt
[root@NFSclient mnt]# ls
a.txt b.txt c.txt
15、如果想開機之後自動掛載
[root@ycz-computer mnt]# echo 'mount -t nfs 192.168.146.142:/data /mnt'>>/etc/rc.local
注意:NFS共享目錄要用絕對路徑。注意共享目錄的本地權限。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章