ubuntu18.04搭建NFS伺服器

来源:https://www.cnblogs.com/tu13/archive/2019/10/22/ubuntu_nfs.html
-Advertisement-
Play Games

系統環境: NFS伺服器操作系統: ubuntu18.04 server lts NFS伺服器IP: 192.168.1.164 註: NFS伺服器 指的是 待安裝 NFS服務 的機器(物理機或者虛擬機) 步驟如下: 1. 先更新 2. 安裝 NFS服務 (此時該服務已設置開機自啟動) 3.修改配置 ...


系統環境:

NFS伺服器操作系統: ubuntu18.04 server lts

NFS伺服器IP:  192.168.1.164

註: NFS伺服器 指的是 待安裝 NFS服務 的機器(物理機或者虛擬機)

步驟如下:

1. 先更新

sudo apt update

2. 安裝 NFS服務 (此時該服務已設置開機自啟動)

sudo apt install nfs-server

3.修改配置文件, 添加nfs-server上用於共用的目錄,並設置允許訪問該目錄的客戶機IP,及其讀寫許可權.我這裡為了配置簡單使用的是 【3.1】的方式

3.1 在NFS伺服器上 創建根目錄 /nfsroot 用於共用 , 該目錄的讀寫許可權 共用給所有連接到該伺服器的 NFS客戶端

cd /
sudo mkdir nfs-server
sudo chmod +rw -R nfs-server
echo "/nfsroot *(rw,sync,no_root_squash)">>/etc/exports

3.2 在NFS伺服器上 創建 根目錄 /nfsdata/client1  用於共用, 該目錄的讀寫許可權共用給客戶端 192.168.1.164 (該客戶端主要用來寫業務日誌或者服務運行狀態日誌等)

sudo mkdir /nfsdata
sudo mkdir /nfsdata/www_logs
sudo chmod +rw -R /nfsdata/www_logs
echo "/nfsdata/www_logs 192.168.1.164(rw,sync,no_root_squash)">>/etc/exports

3.3 NFS伺服器上的目錄 /nfsdata/www_logs 讀許可權共用給客戶端 192.168.1.201 (該客戶端用來做日誌分析, 異常校驗,服務崩潰日誌查詢等)

echo "/nfsdata/www_logs 192.168.1.201(ro,sync,no_root_squash)">>/etc/exports

4. 重啟NFS服務

sudo service nfs-server restart

5. 至此 NFS 服務端搭建完畢.

6. NFS客戶端(這裡和Server操作系統一致)安裝

sudo apt-get install nfs-common

7. NFS客戶端掛載測試。(將NFS伺服器的目錄 /nfsroot 掛載到 客戶端目錄 /mnt/nfsroot, 此時服務端 /nfsroot目錄和 該客戶端 /mnt/nfsroot 目錄同步

mount -t nfs 192.168.1.164:/nfsroot /mnt/nfsroot

 

附:

(1)關於【步驟3】中的配置說明, 以  /nfsroot *(rw,sync,no_root_squash)  為例

第一項:/nfsroot

  指在NFS伺服器上被用來共用的目錄, 該目錄會和客戶端的某個目錄同步

第二項: *

  這個 * 和【3.2】後面的 192.168.1.164 指的是要綁定到 該目錄(第一項中指定的)的客戶端 IP。若設置為 * 則表示允許任何NFS客戶端綁定到該目錄; 設置為192.168.1.164 表示僅允許IP 為 192.168.1.164的客戶端綁定該目錄

  

特定ip地址的主機:192.168.1.164
特定子網中的所有主機:192.168.1.0/24192.168.1.0/255.255.255.0
特定功能變數名稱的主機:nfs.rurjs.com
特定域中的所有主機:*.rurjs.com
所有主機:*

 

第三項: rw

  這裡表示客戶端對該共用目錄的許可權,

ro:共用目錄只讀;
rw:共用目錄可讀可寫;

 

第四項: sync

sync:將數據同步寫入記憶體緩衝區與磁碟中,效率低,但可以保證數據的一致性;
async:將數據先保存在記憶體緩衝區中,必要時才寫入磁碟;

 

第五項: no_root_squash

all_squash:所有訪問用戶都映射為匿名用戶或用戶組;
no_all_squash(預設):訪問用戶先與本機用戶匹配,匹配失敗後再映射為匿名用戶或用戶組;
root_squash(預設):將來訪的root用戶映射為匿名用戶或用戶組;
no_root_squash:來訪的root用戶保持root帳號許可權;
subtree_check(預設) :若輸出目錄是一個子目錄,則nfs伺服器將檢查其父目錄的許可權;
no_subtree_check :即使輸出目錄是一個子目錄,nfs伺服器也不檢查其父目錄的許可權,這樣可以提高效率;

其他可用項:

anonuid=<UID>:指定匿名訪問用戶的本地用戶UID,預設為nfsnobody(65534);
anongid=<GID>:指定匿名訪問用戶的本地用戶組GID,預設為nfsnobody(65534);
secure(預設):限制客戶端只能從小於1024的tcp/ip埠連接伺服器;
insecure:允許客戶端從大於1024的tcp/ip埠連接伺服器;
wdelay(預設):檢查是否有相關的寫操作,如果有則將這些寫操作一起執行,這樣可以提高效率;
no_wdelay:若有寫操作則立即執行,應與sync配合使用;

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 使用 chroot 建立沙盒環境 chroot 提供了更改當前進程及其子進程的可見根目錄的操作,運行在此隔離環境中的應用程式無法訪問新的目錄樹之外的文件和命令。這樣的隔離環境稱作 chroot 監獄 ( chroot jail )。通常, chroot 用於建立沙盒環境,以及在單用戶模式或救援模式下 ...
  • linux監控的幾個常用命令(對於伺服器後端程式猿很重要,必須掌握): dump the traffic on a network, 根據用戶定義對網路上的包進行截獲的包分析工具, 功能和查看pcap包的wireshark工具差不懂 iostat 統計CPU及網路、設備和分區IO的數據,具體命令行參 ...
  • [root@elegant-snap-3 you-get]# wget https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py--2019-10-22 05:15:00-- https://raw.githu... ...
  • LK把相關參數報存到cmdline上: 在 上`gcdb_display_cmdline_arg`函數里: 調用過程如圖所示: aboot_init()函數裡面: target_display_panel_node()函數裡面: 這是將command_line保存下來: ...
  • BASH Shell 對文件進行管理 創建、複製、刪除、移動、查看、編輯、壓縮、查找內容提要:Linux目錄結構文件定位 路徑文件管理 一、Linux目錄結構 Windows: 以多根的方式組織文件 C:\ D:\ E:\Linux: 以單根的方式組織文件 //目錄結構: FSH (Filesyst ...
  • 一、ngx_http_referer_module(阻擋來源非法的功能變數名稱請求),配置如下: 二、HttpAccessKeyMoudule,配置如下: 參數說明: accesskey on|off 模塊開關 accesskey_hashmethod md5|sha-1 簽名加密方式 accesskey_ ...
  • MAC 安裝 JDK: 這篇文章主要為在MAC蘋果系統下安裝JDK1.8並配置系統環境變數。 主要分為以下步驟: 到Oracle官網下載JDK1.8安裝包。 打開獲取到的安裝包按步驟安裝到系統上。 配置系統的環境變數。 驗證JDK1.8是否安裝成功。 到Oracle官網下載JDK1.8安裝包 jdk ...
  • MySQL的安裝 (4,5,6可省略) 聲明:CentOS版本為7.6,安裝的MySQL版本為8.0.17 1. 首先要卸載掉本機自帶的mysql相關,包括MariaDB。 shell rpm pa | grep mysql 將搜到的結果使用 刪除掉,沒有就跳過 rpm pa | grep mari ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...