1. 程式人生 > >Linux下NFS服務器的搭建與配置

Linux下NFS服務器的搭建與配置

linux nfs

一.系統環境

# cat /etc/redhat-release 
CentOS Linux release 7.3.1611 (Core)


二.安裝NFS服務

1、查看系統是否已安裝NFS

rpm -qa | grep nfs
rpm -qa | grep rpcbind


2、安裝NFS

 yum -y install nfs-utils rpcbind


3.服務端配置

mkdir  /nfs-data
chmod 666 /nfs-data

編輯主要配置文件:/etc/exports
vim /etc/exports 
/nfs-data  192.168.101.128/24(rw,no_root_squash,no_all_squash,sync)


常見的參數介紹:
rw  ro  ——該目錄分享的權限是可讀寫(read-write) 或只讀 (read-only),但最終能不能讀寫,還是與文件系統的 rwx 及身份有關。

sync  async ——sync 代表數據會同步寫入到內存與硬盤中,async 則代表數據會先暫存於內存當中,而非直接寫入硬盤。

no_root_squash  root_squash ——客戶端使用 NFS 文件系統的賬號若為 root 時,系統該如何判斷這個賬號的身份?預設的情況下,客戶端 root 的身份會由 root_squash 的設定壓縮成 nfsnobody, 如此對服務器的系統會較有保障。但如果你想要開放客戶端使用 root 身份來操作服務器的文件系統,那麽這裏就得要開 no_root_squash 才行!

all_squash  ——不論登入 NFS 的使用者身份為何, 他的身份都會被壓縮成為匿名用戶,通常也就是 nobody(nfsnobody) 。


 
 配置生效
 exportfs -r
 
 
 
 啟動rpcbind、nfs服務
 systemctl start  rpcbind.service
 systemctl start  nfs.service
 
 查看 RPC 服務的註冊狀況
 rpcinfo -p localhost
 
 
 測試:
# showmount -e localhost
Export list for localhost:
/nfs-data 192.168.101.128/24


4.客戶端配置

安裝nfs-utils客戶端
yum -y install nfs-utils

創建掛載目錄
mkdir    /data

查看服務器端掛載信息:
# showmount -e 192.168.101.128
Export list for 192.168.101.128:
/nfs-data 192.168.101.128/24

為了提高NFS的穩定性,使用TCP協議掛載,NFS默認用UDP協議
mount -t nfs 192.168.101.128:/nfs-data /data -o tcp,nolock


5.固定nfs服務端口(為了方便配置防火墻,若防火墻關閉,則忽略該步驟)

NFS啟動時會隨機啟動多個端口並向RPC註冊,這樣如果使用iptables對NFS端口進行限制就會有點麻煩,可以更改配置文件固定NFS服務相關端口。
#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
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  59175  status
    100024    1   tcp  36247  status
    100005    1   udp  20048  mountd
    100005    1   tcp  20048  mountd
    100005    2   udp  20048  mountd
    100005    2   tcp  20048  mountd
    100005    3   udp  20048  mountd
    100005    3   tcp  20048  mountd
    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
    100021    1   udp  43725  nlockmgr
    100021    3   udp  43725  nlockmgr
    100021    4   udp  43725  nlockmgr
    100021    1   tcp  45552  nlockmgr
    100021    3   tcp  45552  nlockmgr
    100021    4   tcp  45552  nlockmgr
    
    
   
   
編輯配置文件:
   vim /etc/sysconfig/nfs
    RQUOTAD_PORT=30001
    LOCKD_TCPPORT=30002
    LOCKD_UDPPORT=30002
    MOUNTD_PORT=30003
    STATD_PORT=30004 
    
 重啟服務:
     systemctl start  nfs.service
 再次查看,端口已固定:    
     rpcinfo -p localhost


本文出自 “hello world” 博客,請務必保留此出處http://nxyboy.blog.51cto.com/10511646/1933615

Linux下NFS服務器的搭建與配置