linux下安裝與配置nfs伺服器

来源:https://www.cnblogs.com/qxfy/archive/2019/12/12/12028060.html
-Advertisement-
Play Games

NFS 什麼是NFS?(NAS) NFS(網路文件系統):它的主要功能是通過網路讓不同的機器系統之間可以彼此共用文件和目錄。NFS伺服器可以允許NFS客戶端將遠端NFS伺服器端的共用目錄掛載到本地的NFS客戶端中。在本地的NFS客戶端的機器看來,NFS伺服器端共用的目錄就好像自己的磁碟分區和目錄一樣 ...


NFS

什麼是NFS?(NAS)

NFS(網路文件系統):它的主要功能是通過網路讓不同的機器系統之間可以彼此共用文件和目錄。NFS伺服器可以允許NFS客戶端將遠端NFS伺服器端的共用目錄掛載到本地的NFS客戶端中。在本地的NFS客戶端的機器看來,NFS伺服器端共用的目錄就好像自己的磁碟分區和目錄一樣。一般客戶端掛載到本地目錄的名字可以隨便,但為方便管理,我們要和伺服器端一樣比較好。

這個再往簡單點,就相當於windows裡面共用文件,然後其他主機把這個共用文件映射成了本地盤使用一樣。接下來我們會學習兩部分:NFS原理(共用原理)、服務端如何搭建NFS(怎麼共用)、客戶端怎麼掛載(怎麼映射網盤)

NFS簡介

NFS是(Network File System)的縮寫,既網路文件系統。一種使用於分散式文件系統的協議,由SUN公司開發,於1984年向外公佈。NFS允許一個系統在網路上與他人共用文件和目錄,通過使用NFS,用戶和程式可以像訪問本地文件一樣訪問遠端系統上的文件。多用於類Unix操作系統上。

工作原理

伺服器端和客戶端通信過程:

 

 

1)首先伺服器端啟動RPC遠程過程調用(remote procedure call服務,並開啟111

2)啟動NFS服務,並向RPC註冊埠信息

3)客戶端啟動RPCportmap服務),向服務端的RPC(portmap)服務請求服務端的NFS

4)服務端的RPC(portmap)服務反饋NFS埠信息給客戶端。

5)客戶端通過獲取的NFS埠來建立和服務端的NFS連接併進行數據的傳輸。

 

 

NFS有很多功能,不同的功能需要使用不同的埠。因此NFS無法固定埠。而RPC會記錄NFS埠的信息,這樣我們就能夠通過RPC實現服務端和客戶端的RPC來溝通埠信息。

RPC和NFS之間又是如何之間相互通訊的?

首先當NFS啟動後,就會隨機的使用一些埠,然後NFS就會向RPC去註冊這些埠。RPC就會記錄下這些埠。並且RPC會開111埠,等待客戶端RPC的請求,如果客戶端有請求,那服務端的RPC就會將記錄的NFS埠信息告知客戶端

 

兩台機器能夠ping通

軟體包的安裝:

預設情況下,LINUX當中已經安裝了NFS相關的軟體包。只要確保本地上安裝了NFS文件系統的支持即可! nfs-utils 。

服務的啟動:

# systemctl  enable  nfs-server

# systemctl  start  nfs-server

NFS配置文件/etc/exports解析:

語法:

本機需要輸入的文件夾       輸出給誰(輸出的約定,多個用“,”分隔)

規則:

 一行一個輸出項目。一行寫不下,自動換行即可。

 本機需要輸入的文件夾       輸出給誰兩個參數之間使用一個或多個空格分隔。

 輸出給誰(輸出的約定,多個用“,”分隔)兩個參數之間不能有空格。

 (輸出的約定,多個用“,”分隔)裡面不能有空格,多條預定中間使用“,”分隔。

範例:

/etc   172.25.250.0/255.255.255.0(rw,async)

/tmp/dir1   *(ro)    192.168.100.1(rw)

/test1       *.lab.exmaple.com(ro)

 伺服器端重新載入配置文件而不中斷連接

# exportfs -rv

#setenforce   0  //設置selinux為關閉狀態

伺服器端的掛載參數

參數

含義

secure

這個選項是預設選項,它使用了 1024 以下的 TCP/IP 埠實現 NFS 的連接。指定 insecure 可以禁用這個選項。

 

rw

這個選項允許 NFS 客戶機進行讀/寫訪問。預設選項是只讀的ro。

async

這個選項可以改進性能,但是如果沒有完全關閉 NFS 守護進程就重新啟動了 NFS 伺服器,這也可能會造成數據丟失。預設設置為 sync。

no_wdelay

這個選項關閉寫延時。如果設置了 async,那麼 NFS 就會忽略這個選項。

nohide

如果將一個目錄掛載到另外一個目錄之上,那麼原來的目錄通常就被隱藏起來或看起來像空的一樣。要禁用這種行為,需啟用 hide 選項。

no_subtree_check

這個選項關閉子樹檢查,子樹檢查會執行一些不想忽略的安全性檢查。預設選項是啟用子樹檢查。

 

no_auth_nlm

這個選項也可以作為 insecure_locks 指定,它告訴 NFS 守護進程不要對加鎖請求進行認證。如果關心安全性問題,就要避免使用這個選項。預設選項是 auth_nlm 或 secure_locks。

mp(mountpoint=path)

通過顯式地聲明這個選項,NFS 要求掛載所導出的目錄。

fsid=num

這個選項通常都在 NFS 故障恢復的情況中使用。如果希望實現 NFS 的故障恢復,請參考 NFS 文檔。

用戶映射的選項包括:

 

root_squash

這個選項不允許 root 用戶訪問掛載上來的 NFS 捲

no_root_squash

這個選項允許 root 用戶訪問掛載上來的 NFS 捲。

all_squash

這個選省設置是 no_all_squash。

項對於公共訪問的 NFS 捲來說非常有用,它會限制所有的 UID 和 GID,只使用匿名用戶。缺

 

anonuid

這兩個選項將匿名 UID 和 GID 修改成特定用戶和組帳號

 

NFS客戶端:

1、查看監測伺服器端的輸出的項目

# showmount  -e   伺服器IP地址

2、客戶端單次掛載:

# mount  -t  nfs      伺服器的ip地址:/輸出的文件夾      本地掛載點

3、永久掛載:/etc/fstab

伺服器的ip地址:/輸出的文件夾   本地掛載點   nfs   defaults  0  0

 

基於kerberos加密保護的NFS

NFS在以前只適合在區域網中使用,但由於NFSV4開始使用TCP協議進行傳輸,所以希望在工作當中在互聯網中使用NFS!!!

伺服器端:

1、伺服器端下載伺服器端的kerberos的密鑰,放到/etc/krb5.keytab

2、在輸出項目的掛載參數中加入(, sec=krb5p

3、編輯NFS的系統配置文件:/etc/sysconfig/nfs  修改

   RPCNFSDARGS=""    改為

   RPCNFSDARGS="-V 4.2"

4、啟動伺服器

   # systemctl  restart  nfs-server          //enable

   # systemctl  restart  nfs-secure-server   //enable

客戶端:

1、下載客戶端的kerberos的密鑰,放到/etc/krb5.keytab

2、# system  restart  nfs-secure   //enable

3、寫/etc/fstab

伺服器的ip地址:/輸出的文件夾   本地掛載點   nfs   defaults,sec=krb5p,v4.2  0  0

 

10、配置 NFS 服務

一共有system1和system2 兩台機器

System1

# yum  install  nfs-utils -y   //安裝軟體包

# mkdir /securenfs     //創建共用文件

# chmod 777  /securenfs

 

# vim /etc/exports

/securenfs   *(rw)      //添加共用目錄

 

#exportfs  -rv   //載入/etc/exports文件

# systemctl  restart nfs-server

# systemctl  enable nfs-server

#firewall-cmd  --permanent  --add-service=nfs

#firewall-cmd   --reload

 

11、掛載一個 NFS 共用

System2

# mkdir  /mnt/secureshare

# vim /etc/fstab

system1:/securenfs       /mnt/secureshare   nfs  defaults  0  0

# mount  -a  

# touch /mnt/nfssecure/secret

 

System1

1、創建一個包含hello world”的新文件

#echo  hello  world > /securenfs/testfile.txt

System2上在 /mnt/secureshare就可以看到system1上創建的新文件

 


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

-Advertisement-
Play Games
更多相關文章
  • 一.Htop的使用簡介 大家可能對top監控軟體比較熟悉,今天我為大家介紹另外一個監控軟體Htop,姑且稱之為top的增強版,相比top其有著很多自身的優勢。如下: 兩者相比起來,top比較繁瑣 預設支持圖形界面的滑鼠操作 可以橫向或縱向滾動瀏覽進程列表,以便看到所有的進程和完整的命令行 殺進程時不 ...
  • 這篇筆記是一篇安裝教程,沒有什麼實際的意義,僅為了記錄一下……距離上次弄這東西不知道多長時間了,以至於這次再次使用時很是生疏,於是就想著把過程記錄下來方便之後查看。 這裡不涉及VMware Workstation 15 Pro的安裝。僅為如何在其中安裝ubuntu以及實現與物理主機之間的複製粘貼等。 ...
  • vim vim的三種常見模式 一般模式、編輯模式、命令模式 # yum install -y vim-enhanced 安裝vim 一般模式 # vim 使用編輯文件時,預設進入該文件的一般模式 可以上下移動游標、刪除某個字元、刪除某行以及複製或粘貼一行或者多行 編輯模式 在一般模式下 i 在當前字 ...
  • 這篇文章主要介紹了Linux 使用grep篩選多個條件及grep常用過濾命令,需要的朋友可以參考下 cat log.txt | grep 條件; cat log.txt | grep 條件一 | grep 條件二; cat log.txt | grep 條件一 | grep 條件二 | grep 條 ...
  • 1. 前言 終於可以寫Runtime PM(後面簡稱RPM)了,說實話,蝸蝸有點小激動。因為從個人的角度講,我很推崇使用RPM進行日常的動態電源管理,而不是suspend機制。 軟體工程的基本思想就是模塊化:高內聚和低耦合。通俗地講呢,就是“各人自掃門前雪”,儘量掃好自己的(高內聚),儘量不和別人交 ...
  • alphine 不帶 yum,所以只能用apt get 安裝 ...
  • Tomcat 伺服器是一個免費的開放源代碼的Web 應用伺服器,屬於輕量級應用伺服器,在中小型系統和併發訪問用戶不是很多的場合下被普遍使用,是開發和調試JSP 程式的首選。對於一個初學者來說,可以這樣認為,當在一臺機器上配置好Apache 伺服器,可利用它響應HTML(標準通用標記語言下的一個應用) ...
  • ifconfig 查看網路信息 ip ip addr show ehto 查看網卡信息 mkdir 建立目錄 查看日誌 tail -f /var/log/messages df -h 查看硬碟掛載信息 fdisk -l 查看硬碟分區 mount 掛載硬碟 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...