1. 程式人生 > >CentOS7部署NFS服務

CentOS7部署NFS服務

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
--可以看到已經掛載成功