CentOS7部署NFS服務
阿新 • • 發佈:2019-02-12
1、NFS簡介
- NFS,是Network File
System的簡寫,即網路檔案系統。網路檔案系統是FreeBSD支援的檔案系統中的一種,也被稱為NFS.
NFS允許一個系統在網路上與他人共享目錄和檔案。通過使用NFS,使用者和程式可以像訪問本地檔案一樣訪問遠端系統上的檔案 執行模式: C/S
模式 埠:CentOS7以NFSv4作為預設版本,NFSv4使用TCP協議(埠號是2049)和NFS伺服器建立連線
2、配置NFS服務
- 配置NFS伺服器以共享網路上的目錄,本實驗基於以下環境:
+———————-+ | +———————-+ | [ NFS Server ] |10.1.1.56 | 10.1.1.53| [ NFS Client ] |
| vdevops.org +———-+———-+ linuxprobe.org |
+———————-+ +———————-+
3、配置NFS SERVER
[root@vdevops ~]# yum -y install nfs-utils
[root@vdevops ~]# vi /etc/idmapd.conf
- # line 5: uncomment and change to your domain name
Domain = vdevops.org
[root@vdevops ~]# vi /etc/exports
- # write settings for NFS exports
/home 10.1.1.0/24(rw,no_root_squash)
[root@vdevops ~]# systemctl start rpcbind nfs-server
[root@vdevops ~]# systemctl enable rpcbind nfs-server
[root@vdevops ~]# showmount -e #檢視NFS共享的目錄
Export list for vdevops.org:
/home 10.1.1.0/24
- 防火牆開啟情況下,做如下配置
[root@vdevops ~]# firewall-cmd --add-service=nfs --permanent
success
[root@vdevops ~]# firewall-cmd --reload
success
- Option Description
rw 在NFS捲上同時允許讀取和寫入請求。
ro 在NFS捲上只允許讀取請求。
sync 只有在更改已提交到穩定儲存後才會對請求進行回覆。 (預設)
async 此選項允許NFS伺服器違反NFS協議並在該請求所做的任何更改已提交到穩定儲存器之前對請求進行回覆。
secure 此選項要求請求源自小於IPPORT_RESERVED(1024)的Internet埠。 (預設)
insecure 此選項接受所有埠。
wdelay 如果其懷疑另一個相關的寫入請求可能正在進行或可能很快到達,則延遲向磁碟提交寫入請求。 (預設)
no_wdelay 如果同時設定了非同步,此選項不起作用。如果NFS伺服器懷疑另一個相關的寫入請求可能正在進行或可能很快到達,則NFS伺服器通常會將寫入請求延遲提交給磁碟。這允許多個寫入請求提交到磁碟,其中一個操作可以提高效能。如果NFS伺服器主要接收小的無關請求,這種行為實際上可能會降低效能,因此no_wdelay可用於關閉它。
no_subtree_check 此選項禁用子樹檢查,它具有溫和的安全影響,但可以提高某些情況下的可靠性
root_squash 將請求從uid / gid 0對映到匿名uid / gid。請注意,這不適用於可能同樣敏感的任何其他uid或gids,例如使用者bin或組工作人員。
all_squash 將所有uids和gids對映到匿名使用者。用於NFS匯出的公共FTP目錄,新聞spool目錄等。
no_all_squash Turn off all squashing. (Default)
anonuid=UID 這些選項顯式設定匿名帳戶的uid和gid。此選項主要適用於PC / NFS客戶端,您可能希望所有請求顯示為來自一個使用者。例如,在下面的示例部分中考慮/ home / joe的匯出條目,它將所有請求對映到uid 150。
4、配置NFS Client
- 實驗環境和NFS Server相同
[root@linuxprobe ~]# yum -y install nfs-utils
[root@linuxprobe ~]# vi /etc/idmapd.conf
-- line 5: 取消註釋,改變域名
Domain = vdevops.org
[root@linuxprobe ~]# systemctl start rpcbind
[root@linuxprobe ~]# systemctl enable rpcbind
[root@linuxprobe ~]# showmount -e vdevops.org #檢視NFS Server共享的目錄,記得本地hosts配置域名解析
Export list for vdevops.org:
/home 10.1.1.0/24
[root@linuxprobe ~]# mount -t nfs vdevops.org:/home /home
[root@linuxprobe ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 18G 4.4G 14G 25% /
devtmpfs devtmpfs 483M 0 483M 0% /dev
tmpfs tmpfs 493M 100K 493M 1% /dev/shm
tmpfs tmpfs 493M 13M 480M 3% /run
tmpfs tmpfs 493M 0 493M 0% /sys/fs/cgroup
/dev/sda1 xfs 497M 125M 373M 26% /boot
tmpfs tmpfs 99M 52K 99M 1% /run/user/0
/dev/sr0 iso9660 4.1G 4.1G 0 100% /run/media/root/CentOS 7 x86_64
vdevops.org:/home nfs4 18G 1.4G 17G 8% /home
- –配置NFS開機自動掛載
[root@linuxprobe ~]# cat "vdevops.org:/home /home nfs defaults 0 0" >> /etc/fstab
--配置自動安裝。例如,在/mntdir上設定NFS目錄。
[root@linuxprobe ~]# yum -y install autofs
[root@linuxprobe ~]# vi /etc/auto.master
--add follows to the end
/- /etc/auto.mount
[root@linuxprobe ~]# vi /etc/auto.mount #此檔案預設不存在,需新建
--create new : [mount point] [option] [location]
/mntdir -fstype=nfs,rw dlp.srv.world:/home
[root@linuxprobe ~]# mkdir /mntdir
[root@linuxprobe ~]# systemctl start autofs
[root@linuxprobe ~]# systemctl enable autofs
--啟動到掛載點確認是否掛載成功
[root@linuxprobe ~]# cd /mntdir
[root@linuxprobe mntdir]# ls
shaon testuser wang
[root@linuxprobe mntdir]# ll
total 0
drwx------. 2 shaon shaon 59 Oct 26 01:02 shaon
drwx------. 2 1002 1003 59 Oct 26 20:19 testuser
drwx------. 3 wang wang 90 Oct 26 15:39 wang
[root@linuxprobe mntdir]# cat /proc/mounts | grep mntdir
/etc/auto.mount /mntdir autofs rw,relatime,fd=18,pgrp=48875,timeout=300,minproto=5,maxproto=5,direct 0 0
vdevops.org:/home /mntdir nfs4 rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=10.1.1.53,local_lock=none,addr=10.1.1.56 0 0
--可以看到已經掛載成功