Linux-nfs服務

1、概念

  • nfs server:提供服務的服務器。
  • nfs client:訪問服務端的服務器。
  • RPC:遠程過程調用 (Remote Procedure Call) 是能使客戶端執行其餘系統中程序的一種機制。

關係:NFS是一種文件系統,RPC負責信息的傳輸。shell

2、NFS守護進程

  • nfsd:基本的nfs守護進程,保證客戶端可以鏈接服務端。
  • mountd:RPC安裝守護進程,管理NFS文件系統。
  • 當客戶端經過nfsd鏈接到服務端時候,還要進行身份驗證,根據服務端上面/etc/exports來對比客戶端的權限。

3、安裝

服務端

1.安裝相關的rpm包安全

yum install rpcbind nfs-utils -y
# nfs-utils:基本的NFS命令以及監控程序。
# rpcbind:支持安全的NFS RPC服務的鏈接。

2.查看nfs相關的配置文件服務器

rpm -qc nfs-utils

/etc/gssproxy/24-nfs-server.conf
/etc/modprobe.d/lockd.conf
/etc/nfs.conf
/etc/nfsmount.conf
/etc/request-key.d/id_resolver.conf
/etc/sysconfig/nfs
/var/lib/nfs/etab
/var/lib/nfs/rmtab
/var/lib/nfs/state
/var/lib/nfs/xtab

3./etc/exports是nfs的主配置文件,設置權限/共享目錄等等網絡

  • 格式(來自網絡)
<輸出目錄> [客戶端1選項(訪問權限,用戶映射,其餘)] [客戶端2選項(訪問權限,用戶映射,其餘)]

##############輸出目錄:###################

輸出目錄是指NFS系統中須要共享給客戶機使用的目錄;

##############客戶端:####################

客戶端是指網絡中能夠訪問這個NFS輸出目錄的計算機

#############客戶端經常使用的指定方式###########

    指定ip地址的主機:192.168.0.200

    指定子網中的全部主機:192.168.0.0/24 192.168.0.0/255.255.255.0
    指定域名的主機:nfs.cnhzz.com
    指定域中的全部主機:*.cnhzz.com
    全部主機:*

##################選項:####################

選項用來設置輸出目錄的訪問權限、用戶映射等。

NFS主要有3類選項:
1)訪問權限選項
    設置輸出目錄只讀:ro
    設置輸出目錄讀寫:rw
2)用戶映射選項
    all_squash:將遠程訪問的全部普通用戶及所屬組都映射爲匿名用戶或用戶組(nfsnobody);
    no_all_squash:與all_squash取反(默認設置);
    root_squash:將root用戶及所屬組都映射爲匿名用戶或用戶組(默認設置);
    no_root_squash:與rootsquash取反;
    anonuid=xxx:將遠程訪問的全部用戶都映射爲匿名用戶,並指定該用戶爲本地用戶(UID=xxx);
    anongid=xxx:將遠程訪問的全部用戶組都映射爲匿名用戶組帳戶,並指定該匿名用戶組帳戶爲本地用戶組帳戶(GID=xxx);
3)其它選項
    secure:限制客戶端只能從小於1024的tcp/ip端口鏈接nfs服務器(默認設置);
    insecure:容許客戶端從大於1024的tcp/ip端口鏈接服務器;
    sync:將數據同步寫入內存緩衝區與磁盤中,效率低,但能夠保證數據的一致性;
    async:將數據先保存在內存緩衝區中,必要時才寫入磁盤;
    wdelay:檢查是否有相關的寫操做,若是有則將這些寫操做一塊兒執行,這樣能夠提升效率(默認設置);
    no_wdelay:如有寫操做則當即執行,應與sync配合使用;
    subtree_check:若輸出目錄是一個子目錄,則nfs服務器將檢查其父目錄的權限(默認設置);
    no_subtree_check:即便輸出目錄是一個子目錄,nfs服務器也不檢查其父目錄的權限,這樣能夠提升效率;

4.經常使用配置async

/qbackup/syc 10.10.20.165(rw,sync,subtree_check,no_root_squash)

4、相關命令

1.exportfs [-aruv]tcp

  • -a 所有掛載或者卸載/etc/exports下的內容
  • -r 從新讀取/etc/exports下的內容,而且更新/etc/exports和/var/lib/nfs/xtab內容
  • -v 輸出詳細信息

2.nfsstatui

  • 查看NFS的運行狀態。

3.rpcinfocode

  • 查看rpcbind的執行信息

4.showmountserver

  • -a 顯示已經掛載在客戶端上的信息
  • -e 顯示次ip分享出來的目錄
相關文章
相關標籤/搜索