日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Ubuntu NFS 服务器和客户端挂载详解

發布時間:2023/11/28 生活经验 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Ubuntu NFS 服务器和客户端挂载详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. NFS 基本介紹

1.1 NFS 簡介

NFSNetwork File System 的縮寫,即網絡文件系統。一種使用于分散式文件系統的協定,由 Sun 公司開發,于1984年向外公布。功能是讓客戶端通過網絡訪問不同主機上磁盤里的數據,主要用在類 Unix 系統上實現文件共享的一種方法。NFS 在文件傳送或信息傳送過程中依賴于RPC協議。

1.2 NFS服務需要安裝的軟件

  • nfs-utils-* :包括基本的 NFS 命令與監控程序
  • rpcbind-* :支持安全 NFS RPC 服務的連接

注:通常情況下,是作為系統的默認包安裝 CentOS6.* 之前 rpcbindportmap

1.3 NFS系統守護進程

  • nfsd :它是基本的 NFS 守護進程,主要功能是管理客戶端是否能夠登錄服務器。

  • mountd :它是 RPC 安裝守護進程,主要功能是管理 NFS 的文件系統。當客戶端順利通過 nfsd 登錄 NFS 服務器后,在使用 NFS 服務所提供的文件前,還必須通過文件使用權限的驗證。它會讀取 NFS 的配置文件 /etc/exports 來對比客戶端權限。

  • rpcbind :主要功能是進行端口映射工作。當客戶端嘗試連接并使用 RPC 服務器提供的服務(如 NFS 服務)時,rpcbind 會將所管理的與服務對應的端口提供給客戶端,從而使客戶可以通過該端口向服務器請求服務。

2. NFS的常用目錄

  • /etc/exports NFS 服務的主要配置文件

  • /usr/sbin/exportfs NFS 服務的管理命令

  • /usr/sbin/showmount 客戶端的查看命令

  • /var/lib/nfs/etab 記錄 NFS 分享出來的目錄的完整權限設定值

  • /var/lib/nfs/xtab 記錄曾經登錄過的客戶端信息

NFS 服務的配置文件為 /etc/exports ,這個文件是 NFS 的主要配置文件,不過系統并沒有默認值,所以這個文件不一定會存在,可能要使用 vim 手動建立,然后在文件里面寫入配置內容。

3. /etc/exports文件內容格式

<輸出目錄> [客戶端1 選項(訪問權限,用戶映射,其他)] [客戶端2 選項(訪問權限,用戶映射,其他)]

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

  • 客戶端:客戶端是指網絡中可以訪問這個 NFS 輸出目錄的計算機

    1. 客戶端常用的指定方式:
    2. 指定ip地址的主機:192.168.0.200
    3. 指定子網中的所有主機:192.168.0.0/24 192.168.0.0/255.255.255.0
    4. 指定域名的主機:david.bsmart.cn
    5. 指定域中的所有主機:*.bsmart.cn
    6. 所有主機:*
  • 選項:選項用來設置輸出目錄的訪問權限、用戶映射等。

    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:若輸出目錄是一個子目錄,則 nfs 服務器將檢查其父目錄的權限(默認設置);
      no_subtree:即使輸出目錄是一個子目錄,nfs服務器也不檢查其父目錄的權限,這樣可以提高效率;

示例說明

sudo vi /etc/exports/data *(rw,sync,no_subtree_check,no_root_squash)

NFS 服務器的 /data 目錄共享給所有主機,rw 權限。

/root/share/ 192.168.1.2(rw,insecure,sync,all_squash) 表示共享服務器上的/root/share/目錄只有192.168.1.2主機可以訪問,且有讀寫權限;此主機用任何身份訪問時,將客戶機的用戶都映射成服務器上的匿名用戶(all_squash),相當于在服務器上用nobody用戶訪問該目錄(若客戶機要在該共享目錄上保存文件(即寫操作),則服務器上的nobody用戶對該目錄必須有寫的權限)

/home/ylw/ .test.com (rw,insecure,sync,all_squash) 表示共享/home/ylw/目錄,.test.com域中所有的主機都可以訪問該目錄,且有讀寫權限

/home/share/ .test.com (ro,sync,all_squash,anonuid=zh3,anongid=wa4) 表示共享目錄/home/share/,*.test.com域中的所有主機都可以訪問,但只有只讀的權限,所有用戶都映射成服務器上的uid為zh3、gid為wa4的用戶

4. 服務器端

4.1 安裝 NFS 服務

sudo apt install nfs-kernel-server

apt 會自動安裝 nfs-commonrpcbind 等13個軟件包。

4.2 編寫配置文件

sudo vi /etc/exports/data *(rw,sync,no_subtree_check,no_root_squash)

NFS 服務器的 /data 目錄共享給所有主機,rw 權限。

4.3 創建共享目錄

sudo mkdir -p /data

4.4 重啟 nfs 服務

sudo service nfs-kernel-server restart

4.5 常用命令

  • 顯示已經 mount 到本機 nfs 目錄的客戶端機器
sudo showmount -e localhost
  • 查看本機共享的文件或目錄
sudo exportfs -rv

如果我們在啟動了 NFS 之后又修改了 /etc/exports ,我們不需要重啟 NFS 服務,可以用 exportfs 命令來使改動立刻生效,該命令格式如下:

exportfs [-aruv]

-a 全部掛載或卸載 /etc/exports中的內容
-r 重新讀取/etc/exports 中的信息 ,并同步更新/etc/exports、/var/lib/nfs/xtab
-u 卸載單一目錄(和-a一起使用為卸載所有/etc/exports文件中的目錄)
-v 在export的時候,將詳細的信息輸出到屏幕上。

具體例子:

exportfs -au 卸載所有共享目錄
exportfs -rv 重新共享所有目錄并輸出詳細信息
  • 查看 NFS 的運行狀態
sudo nfsstat
  • 查看 rpc 執行信息
sudo rpcinfo

5. 客戶端

5.1 安裝客戶端工具

sudo apt install nfs-common

apt 會自動安裝 nfs-common 、rpcbind 等12個軟件包。

5.2 查看 NFS服務器上的共享目錄

顯示指定的(192.168.3.1)NFS 服務器上 export 出來的目錄

sudo showmount -e 192.168.3.1

5.3 創建本地掛載目錄

sudo mkdir -p /mnt/data

5.4 掛載共享目錄

NFS 服務器 192.168.3.1上的 /data 目錄,掛載到本地的 /mnt/ 目錄下

sudo mount -t nfs 192.168.3.1:/data /mnt/data

采用這種方式掛載,系統重啟之后不會自動掛載。

5.5 卸載共享目錄

卸載客戶端的掛載目錄,在客戶端執行以下命令

umount /mnt/

5.6 共享目錄的自動掛載

把掛載信息寫入到 /etc/fstab 文件中

sudo vim /etc/fstab
192.168.3.1:/data  /nfs nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
# 或者
192.168.3.1:/data  /nfs nfs defaults 0 0

5.7 更新掛載

sudo mount -a

參考:
http://www.szliwen.com/802.html
https://blog.csdn.net/qq_36357820/article/details/78488077

總結

以上是生活随笔為你收集整理的Ubuntu NFS 服务器和客户端挂载详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。