配置NFS服務端
nfs01上安裝軟件
[root@nfs01 ~]# yum install nfs-utils rpcbind -y
nfs-utils:NFS服務的主程序,包括rpc.nfsd、rpc.mountd這兩個daemons和相關文檔說明,以及執行命令文件等。
rpebind:RPC程序,rpcbind服務用來完成端口和功能的對應映射工作,在提供NFS服務之前必須啟動rpcbind服務。
檢查RPM包:
[root@nfs01 ~]# rpm -qa nfs-utils rpcbind(方法一)
rpcbind-0.2.0-13.el6_9.1.x86_64
nfs-utils-1.2.3-75.el6_9.x86_64
[root@nfs01 ~]# rpm -qa|egrep "nfs-|rpcbind"(方法二)
rpcbind-0.2.0-16.el6.x86_64
nfs-utils-1.2.3-78.el6.x86_64
nfs-utils-lib-1.1.5-13.el6.x86_64
啟動rpc服務,查看中介注冊信息
[root@nfs01 ~]# /etc/init.d/rpcbind start
Starting rpcbind: [ OK ]
[root@nfs01 ~]# /etc/init.d/rpcbind status
rpcbind (pid 1636) is running...
rpcbind服務啟動檢查
[root@nfs01 ~]# rpcinfo -p
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
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
運行並檢查nfs服務:
[root@nfs01 ~]# /etc/init.d/nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS mountd: [ OK ]
Starting NFS daemon: [ OK ]
Starting RPC idmapd: [ OK ]
[root@nfs01 ~]# /etc/init.d/nfs status
rpc.svcgssd is stopped
rpc.mountd (pid 1872) is running...
nfsd (pid 1888 1887 1886 1885 1884 1883 1882 1881) is running...
rpc.rquotad (pid 1867) is running...
nfsd(rpc.nfsd) 的主要功能是管理NFS客戶端是否能夠登入NFS服務端主機,其中還包含登入者的ID判斷等。
mountd(rpc.mountd) rpc.mountd的主要功能則是管理NFS文件系統
讓nfs服務和rpcbind服務開機自啟動
[root@nfs01 ~]# chkconfig nfs on
[root@nfs01 ~]# chkconfig rpcbind on
[root@nfs01 ~]# chkconfig --list rpcbind
rpcbind 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@nfs01 ~]# chkconfig --list nfs
nfs 0:off 1:off 2:on 3:on 4:on 5:on 6:off
創建對應的目錄並授權 分享/data目錄
第一部分:/data --指定共享目錄信息
第二部分:172.16.1.0/24 --指定了一個網段信息,表示允許指定的網段主機掛載到我本地的共享目錄上
第三部分:(rw,sync) --表示定義共享參數信息,
rw 表示讀寫,對共享目錄設置的權限
sync 同步,數據會先寫入到NFS服務器內存中,會立刻同步到磁盤里面==直接存儲硬盤中
[root@nfs01 ~]# vim /etc/exports
#share /data to 172.16.1.0/24
/data 172.16.1.0/24(rw,sync)
[root@nfs01 ~]# mkdir -p /data
[root@nfs01 ~]# /etc/init.d/nfs reload
[root@nfs01 ~]# chown -R nfsnobody.nfsnobody /data/
檢測共享成功否
[root@nfs01 ~]# showmount -e 172.16.1.31
#把nfs服務器共享的目錄 掛載到nfs01本地
[root@nfs01 ~]# mount -t nfs 172.16.1.31:/data /mnt
[root@nfs01 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 1.5G 17G 9% /
tmpfs 491M 0 491M 0% /dev/shm
/dev/sda1 190M 35M 146M 19% /boot
172.16.1.31:/data 19G 1.5G 17G 9% /mnt
#測試完成后,卸載掛載
[root@nfs01 ~]# umount /mnt
配置NFS客戶端:
#安裝NFS軟件和RPC軟件
[root@backup ~]# yum install nfs-utils rpcblnd -y
#先運行rpcbind服務
[root@backup ~]# /etc/init.d/rpcbind start
Starting rpcbind: [ OK ]
[root@backup ~]# /etc/init.d/rpcbind status
rpcbind (pid 1341) is running...
[root@backup ~]# chkconfig rpcbind on
[root@backup ~]# chkconfig nfs off
#backup服務器上是否能查詢到分享信息
[root@backup ~]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data 172.16.1.0/24
#nfs服務端分享的目錄掛在到backup
[root@backup ~]# mkdir -p /upload
[root@backup ~]# mount -t nfs 172.16.1.31:/data /upload
[root@backup ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 1.5G 17G 9% /
tmpfs 491M 0 491M 0% /dev/shm
/dev/sda1 190M 35M 146M 19% /boot
172.16.1.31:/data 19G 1.5G 17G 9% /upload
#放入到/etc/rc.local使永久生效
[root@backup ~]# vim /etc/rc.local
/bin/mount -t nfs 172.16.1.31:/data /upload
10.11排查故障==》ssh連接或服務器無法上網排查步驟
1.前提:NFS原理及部署過程
2.先在客戶端排查
1.ping server_ip
2.telnet server_ip 111 #端口是否通,是否提供服務
3.showmount -e server_ip #rpcinfo -p|server_ip
NFS客戶端掛載參數及優化
[root@backup ~]# umount /upload/ #解除掛載
[root@backup ~]# df -h #檢查結果
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 1.5G 17G 9% /
tmpfs 491M 0 491M 0% /dev/shm
/dev/sda1 190M 35M 146M 19% /boot
[root@backup ~]# mount -t nfs -o nosuid,noexec,nodev,noatime,nodiratime,rsize=131072,wsize=131072 172.16.1.31:/data/ /upload #優化參數
NFS內核優化建議
客戶端和服務端優化命令如下:
cat >>/etc/sysctl.conf<<EOF
net.core.wmen_default = 8388608
net.core.rmen_default = 8388608
net.core.rmen_max = 16777216
net.core.wmen_max = 16777216
EOF
sysct1 -p