Linux/centos上如何配置管理NFS服務器?

Linux/centos上如何配置管理NFS服務器?

  • 1 NFS基礎了解
    • 1.1 NFS概述
    • 1.2 NFS工作流程
  • 2 安裝和啟動NFS服務
    • 2.1 安裝NFS服務器
    • 2.2 啟動NFS服務
  • 3 配置NFS服務器和客戶端
    • 3.1 配置NFS服務器
    • 3.2 配置NFS客戶端
  • 4 實際示例
    • 4.1 基本要求
    • 4.2 案例實現

1 NFS基礎了解

  • NFS(Network File System)即文件操作系統;
  • NFS允許網絡中不同計算機相互之間共享資源。

1.1 NFS概述

  • 1980年由SUN發展出來的在UNIX&Linux系統間實現文件共享的一種方法;
  • 是一種文件系統協議,支持應用程序在客戶端通過網絡存取位于服務器磁盤中的數據;
  • NFS只提供網絡文件共享,不提供數據傳輸功能;
  • NFS客戶端和服務端需借助RPC(Remote Procedure Calls)實現數據傳輸;
  • NFS服務器目錄被訪問稱為導出(export),客戶機訪問導出目錄過程稱為掛載(mount)或導入(import)。

1.2 NFS工作流程

第一步:訪問NFS共享資源,NFS客戶端發出詢問請求,即客戶端RPC服務通過網絡向服務端RPC服務的111端口發出詢問請求。

第二步: NFS服務端RPC找到對應已注冊的NFSdaemon端口,通知客戶端RPC;

第三步:NFS客戶端獲取端口,直接與NFSNFSdaemon聯機存儲數據。

第四步:NFS客戶端吧數據存儲成功后,告訴用戶結果。

2 安裝和啟動NFS服務

2.1 安裝NFS服務器

  • 一般情況,系統均已安裝NFS;
  • 先檢查下是否安裝NFS,以下兩個是相關的依賴包:
rpm -qa | grep nfs-utils
rpm -qa | grep rpcbind
  • 經檢查是已經安裝了的:
    在這里插入圖片描述
  • 如果系統沒有安裝NFS依賴包,則需要安裝:
yum clean all
yum -y install nfs-utils rpcbind

2.2 啟動NFS服務

  • NFS狀態查看:
systemctl status rpcbind.service
systemctl status nfs.service 

在這里插入圖片描述

  • 啟動NFS服務:
systemctl start rpcbind.service
systemctl start nfs.service 
  • 再次查看狀態,都是啟動的:
    在這里插入圖片描述
  • 停止NFS服務:
systemctl stop nfs.service
  • 重啟NFS服務:
systemctl restart nfs.service
  • 設置開機自啟動NFS服務:
systemctl enable rpcbind.service 
systemctl enable nfs.service

3 配置NFS服務器和客戶端

3.1 配置NFS服務器

  • 配置文件在/etc/exports
  • 格式為:
共享目錄 [客戶端1(參數)] [客戶端2(參數)] 

共享目錄:NFS服務器需要共享的實際路徑(絕對路徑);
客戶端:可以訪問共享目錄的計算機。

  • 客戶端常用形式:
客戶端說明
192.168.1.111指定IP地址的主機
192.168.1.0/24指定子網的所有主機
192.168.1.*指定子網的所有主機
www.xxx.com指定域名的主機
*.xxx.com指定域中的所有主機
*所有主機

訪問權限參數:訪問權限設置。

  • 常用訪問權限:
訪問權限說明
ro只讀
rw讀寫

用戶映射參數

  • 用戶映射參數表:
用戶映射說明
all_squash將遠程訪問的所有用戶映射為匿名用戶或用戶組(nfsnobody)
no_all_squash與上邊相反(默認設置)
root_squash將root用戶… (默認設置)
no_root_squash與上邊相反
anonuid=xxx將該匿名賬號為本地賬號(UID=xxx
anongid=xxx將該匿名用戶組為本地用戶組(GID=xxx)

其它參數:對輸出目錄進行控制。

  • 常用其它參數:
其它參數說明
secure限制客戶端只能從小于1024的TCP/IP端口鏈接NFS
insecure語序客戶端大于1024的TCP/IP端口連接NFS
sync將數據同步寫入內存緩沖區與磁盤中
async將數據先保存在緩沖區中,必要時才寫入磁盤
wdelay檢查是否有相關的寫操作
no_wdelay有寫操作立即執行,與sync配合使用
subtree_check若輸出目錄為子目錄,則NFS服務器將檢查父目錄的權限
no_subtree_check若輸出目錄為子目錄,則NFS服務器不檢查父目錄的權限
  • 比如將/mnt/temp目錄,只給IP為172.16.1.33的計算機進行讀寫權限:
/mnt/temp 172.16.1.33 (rw, sync)
  • 比如將/mnt/temp01目錄,只給子網中為172.16.1.0/24的計算機進行讀寫權限,其他計算機制只讀權限:
/mnt/temp0 172.16.1.0/24 (rw, async) * (ro)

3.2 配置NFS客戶端

  • 查看NFS服務器信息:
showmount [選項] (參數)

-d:僅顯示已被NFS客戶端加載的共享目錄;
-e:顯示NFS服務器上所有的共享目錄。

showmount -e 192.168.0.190

在使用showmount時建議關閉防火墻,將SELinux設為為允許。

systemctl stop firewalld.service
setenforce 0
getenforce
  • 掛在NFS服務器的共享目錄:

將NFS的共享目錄掛在到本地:
mount -t NFS服務器IP:輸出目錄 本地掛在目錄

  • 比如:
mkdir /mnt/mytemp
mount -t nfs 192.168.0.190:/mnt/mytemp /mnt/mytemp
  • 卸載NFS服務器:
umount 掛載點
  • 啟動時自動掛在NFS共享目錄:
192.168.0.190/mnt/temp /mnt/mytemp nfs defaults 0 0

4 實際示例

4.1 基本要求

  • NFS服務器192.168.0.190;
  • 要求1:共享目錄/mnt/temp,允許192.168.0.0/24網段內計算機訪問;
  • 要求2:共享目錄/mnt/share, 允許用戶zhang訪問,IP為192.168.0.10;
  • 要求3:共享目錄/mnt/upload,允許192.168.0.0/24網段作為上傳目錄,所屬組為nfsupload,UID和GID均為666;
  • 要求4:共享目錄/mnt/nfs,除192.168.0.0/24網段用戶訪問,只讀,可向internet提供數據內容;

4.2 案例實現

  • 安裝NFS服務:
yum -y install rpcbind
yum -y install nfs-utils
  • 創建目錄和測試文件:
# 創建目錄:
mkdir -p /mnt/temp
mkdir -p /mnt/share
mkdir -p /mnt/upload
mkdir -p /mnt/nfs# 創建測試文件
touch /mnt/temp/temp1.txt /mnt/temp/temp2.txt 
touch /mnt/share/data1.txt /mnt/share/data2.txt
touch /mnt/upload/upload.txt
touch /mnt/nfs/nfs1.txt /mnt/nfs/nfs2.txt

在這里插入圖片描述
在這里插入圖片描述

  • 設置共享目錄權限屬性:
# 要求1:
chmod 1777 /mnt/temp/
ll -d /mnt/temp/

在這里插入圖片描述

# 要求2:
useradd zhang
passwd zhang
cat /etc/passwd | grep zhang
chmod 700 /mnt/share/
chown -R zhang:zhang /mnt/share/
ll -d /mnt/share/

在這里插入圖片描述

# 要求3:
groupadd -g 666 nfsupload
useradd -g 666 -u 666 -M nfsupload
cat /etc/passwd | grep nfs
chown -R nfsupload:nfsupload /mnt/upload
ll -d /mnt/upload/

在這里插入圖片描述

# 要求4:
ll -d /mnt/nfs/

在這里插入圖片描述

  • 編輯/etc/exports
/mnt/temp 192.168.0.0/24 (rw,no_root_squash)
/mnt/share 192.168.0.10 (rw)
/mnt/upload 192.168.0.0/24 (rw,all_squash,anonuid = 666,anongid = 666)
/mnt/nfs 192.168.0.0/24 (ro) * (rw,all_squash)
  • 關閉防火墻,設置Selinux為允許,重啟NFS服務:
systemctl stop firewalld.service
setenforce 0
getenforce
systemctl restart nfs
  • NFS客戶端安裝客戶端軟件:
yum -y install nfs-utils
  • 查看NFS服務器上共享的目錄:
showmount -e 192.168.0.190

在這里插入圖片描述

  • 在客戶機上創建目錄,將NFS的目錄掛在到該目錄:
mkdir /mnt/ClientNFS
mount -t nfs 192.168.0.190:/mnt/nfs/ /mnt/ClientNFS/
  • 同樣方法去掛載其他的NFS目錄即可;
  • 并在客戶機上創建組666:
groupaddd -g 666 nfsupload
useradd -g 666 -u 666 -M nfsupload

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/38472.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/38472.shtml
英文地址,請注明出處:http://en.pswp.cn/news/38472.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

LAXCUS如何通過技術創新管理數千臺服務器

隨著互聯網技術的不斷發展,服務器已經成為企業和個人獲取信息、進行計算和存儲的重要工具。然而,隨著服務器數量的不斷增加,傳統的服務器管理和運維方式已經無法滿足現代企業的需求。LAXCUS做為專注服務器集群的【數存算管】一體化平臺&#…

Jtti:Windows server如何備份與還原注冊表

在 Windows Server 中,備份和還原注冊表是一項重要的任務,可以幫助你在系統配置更改之前創建一個恢復點,以防止出現問題。以下是在 Windows Server 上備份和還原注冊表的步驟: 備份注冊表: 1.打開“運行”對話框&…

企業數據庫遭到360后綴勒索病毒攻擊,360勒索病毒解密

在當今數字化時代,企業的數據安全變得尤為重要。隨著數字化辦公的推進,企業的生產運行效率得到了很大提升,然而針對網絡安全威脅,企業也開始慢慢引起重視。近期,我們收到很多企業的求助,企業的服務器遭到了…

代理模式(Java實現)

代理模式是常見的設計模式之一,顧名思義,代理模式就是代理對象具備真實對象的功能,并代替真實對象完成相應操作,并能夠在操作執行的前后,對操作進行增強處理。(為真實對象提供代理,然后供其他對…

threejs使用gui改變相機的參數

調節相機遠近角度 定義相機的配置: const cameraConfg reactive({ fov: 45 }) gui中加入調節fov的方法 const gui new dat.GUI();const cameraFolder gui.addFolder("相機屬性設置");cameraFolder.add(cameraConfg, "fov", 0, 100).name(…

YOLO格式數據集(.txt)如何轉換為VOC格式數據集(.xml)

前言: 安裝好python環境與編譯器 轉換: 將標注文件從文本格式(.txt)轉換為 XML 格式(.xml)可以通過以下步驟完成: 解析文本標注文件:打開 .txt 文件,逐行讀取每個標注…

Gin模板語法

Gin模板語法 文章目錄 <center> Gin模板語法前提提醒Gin框架啟動服務器模板解析模板渲染遇到不同目錄下相同的文件如何加載和渲染自定義函數加載靜態文件 前提提醒 由于有了前面template包的基礎,所以該筆記不再過多詳細分析 Gin框架啟動服務器 語法: r:gin.Default()/…

Medical Isolated Power Supply System in Angola

安科瑞 華楠 Abstract: Diagnosis and treatment in modern hospitals are inseparable from advanced medical equipment, which are inseparable from safe and reliable power supply. Many operations often last for several hours, and the consequences of a sudden pow…

【UE4 RTS】07-Camera Boundaries

前言 本篇實現的效果是當CameraPawn移動到地圖邊緣時會被阻擋。 效果 步驟 1. 打開項目設置&#xff0c;在“引擎-碰撞”中&#xff0c;點擊“新建Object通道” 新建通道命名為“MapBoundaries”&#xff0c;然后點擊接受 2. 向視口中添加 阻擋體積 調整阻擋體積的縮放 向四…

【TypeScript】this指向,this內置組件

this類型 TypeScript可推導的this類型函數中this默認類型對象中的函數中的this明確this指向 怎么指定this類型 this相關的內置工具類型轉換ThisParameterType<>ThisParameterType<>ThisType TypeScript可推導的this類型 函數中this默認類型 對象中的函數中的this…

華為OD機試-字符串序列判定

題目描述 給定兩個字符串 s和 t &#xff0c;判斷 s是否為 t 的子序列。 你可以認為 s 和 t 中僅包含英文小寫字母。字符串 t 可能會很長&#xff08;長度n ~ 500,000&#xff09;&#xff0c;而 s 是個短字符串&#xff08;長度 <100&#xff09;。字符串的一個子序列是原…

Docker容器:docker基礎及安裝

文章目錄 一.docker容器概述1.什么是容器2. docker與虛擬機的區別2.1 docker虛擬化產品有哪些及其對比2.2 Docker與虛擬機的區別 3.Docker容器的使用場景4.Docker容器的優點5.Docker 的底層運行原理6.namespace的六項隔離7.Docker核心概念 二.Docker安裝 及管理1.安裝 Docker1.…

【科研論文配圖繪制】task1 掌握科研繪圖的基本知識

【科研論文配圖繪制】task1 掌握科研繪圖的基本知識 寫在最前 8月份Datawhale組隊學習&#xff0c;寫下該博客記錄學習內容 1.科研論文配圖的分類與構成 2.科研論文配圖的格式和尺寸 3.科研論文配圖中的字體和字號設置 4.科研論文配圖的版式設計、結構布局和顏色搭配 占個…

機器學習筆記 - 基于C++的??深度學習 三、實現成本函數

機器學習中的建模 作為人工智能工程師,我們通常將每個任務或問題定義為一個函數。 例如,如果我們正在開發面部識別系統,我們的第一步是將問題定義為將輸入圖像映射到標識符的函數F(X)。但是問題是如何知道F(X)公式? 事實上,使用公式或一系列固有規則來定義F(X)是不可行的(…

【Go 基礎篇】Go語言指針解析:深入理解內存與引用的奧秘

介紹 指針是計算機編程中的重要概念&#xff0c;它提供了直接訪問內存地址的能力&#xff0c;為程序的數據處理和內存管理提供了靈活性和效率。在Go語言&#xff08;Golang&#xff09;中&#xff0c;指針也是一種重要的數據類型&#xff0c;用于處理變量的引用和修改。本篇博…

GraphQL(六)登錄態校驗Directive

GraphQL Directive&#xff08;指令&#xff09;是GraphQL中的一種特殊類型&#xff0c;它允許開發者在GraphQL schema中添加元數據&#xff0c;以控制查詢和解析操作的行為 Directive的詳細說明及使用可見GraphQL&#xff08;五&#xff09;指令[Directive]詳解 本文將介紹通過…

勘探開發人工智能技術:機器學習(6)

0 提綱 7.1 循環神經網絡RNN 7.2 LSTM 7.3 Transformer 7.4 U-Net 1 循環神經網絡RNN 把上一時刻的輸出作為下一時刻的輸入之一. 1.1 全連接神經網絡的缺點 現在的任務是要利用如下語料來給apple打標簽&#xff1a; 第一句話&#xff1a;I like eating apple!(我喜歡吃蘋…

06 json數據解析和列表控件

內容回顧 json數據解析 json ----- 對要傳輸的數據進行封裝的工具 json是由json數組([]) 和 json對象({})在qt中,對JSON數據進行處理(解析和打包) JSON數據處理所要包含的類: QJsonDocument -----它的作用是將數據轉換成json文檔 QJsonArray ---- json數組,就是封裝多個…

User-Agent介紹

User-Agent介紹 引言 在Web開發中&#xff0c;我們經常會遇到需要根據不同的用戶設備或瀏覽器類型來進行特定處理的情況。為了達到這樣的目的&#xff0c;我們可以使用User-Agent這個HTTP頭信息字段來識別用戶的設備和瀏覽器。本篇文章將介紹User-Agent的基本概念、用法以及在…

SpringBoot 學習(02): 從嵌入式系統到嵌入式Servlet SpingBoot 的進化之路

嵌入式系統 計算機操作系統啟動后&#xff0c;會加載一系列的功能和服務&#xff0c;而這些東西都不是開發操作系統的人寫的&#xff0c;如果想讓一個生態快速崛起&#xff0c;那么操作系統的開發人&#xff0c;就要告訴大家&#xff0c;在這個操作系統上&#xff0c;你要遵守…