0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux下部署NFS服務

CHANBAEK ? 來源:嵌入式攻城獅 ? 作者:安迪西 ? 2023-04-17 14:58 ? 次閱讀

1. NFS服務簡介

NFS是 Network File System的縮寫,即網絡文件存儲系統(tǒng),最早是由Sun 公司發(fā)展出來的,它最大的功能就是可以通過網絡,讓不同的機器、不同的操作系統(tǒng)可以共享彼此的文件。 NFS客戶機可以將網絡中的NFS服務器共享的目錄掛載到本地端的文件系統(tǒng)中,在本地端的系統(tǒng)中來看,那個遠程主機的目錄就像是自己的一個磁盤分區(qū)一樣,使用起來非常方便。 一般用來存儲共享視頻,圖片等靜態(tài)數據。

NFS的掛載原理:如下圖示,NFS服務器設置好共享目錄/home/nfs后,其他NFS客戶端就可以將該目錄掛載到自己文件系統(tǒng)的某個掛載點(可自己定義)。 掛載好后在客戶端本地就能夠看到服務端/home/nfs里的所有數據

圖片

NFS是通過網絡來進行數據傳輸,因此有對應的網絡端口。 那么客戶端是如何知道 NFS服務器端到底使用的是哪個端口呢? 這時就需要通過遠程過程調用(Remote Procedure Call, RPC)協(xié)議來實現(xiàn)了!

RPC與NFS通訊原理:NFS支持的功能很多,不同的功能啟用的端口并不固定,客戶端要知道NFS服務器端的相關端口才能建立連接進行數據傳輸,RPC就是用來統(tǒng)一管理NFS端口的,其對外的端口是111。 RPC會記錄NFS端口的信息,并且通知客戶端,讓客戶端可以連接到正常端口上去。

那么RPC是如何知道每個NFS功能的端口呢? 首先當NFS啟動后,會隨機的使用一些端口,然后NFS會向RPC去注冊這些端口,并記錄下來,同時RPC會開啟111端口,等待客戶端RPC的請求。 若客戶端有請求,那么服務器端的RPC就會將之前記錄的NFS端口信息告知客戶端。 如此客戶端就會獲取NFS服務器端的端口信息,進行數據傳輸了。

注意:在啟動NFS服務器之前,首先要啟動RPC服務(即portmap服務)否則NFS服務器就無法向RPC服務區(qū)注冊。 如果RPC服務重新啟動,原來注冊好的NFS端口數據會全部丟失,此時RPC服務管理的 NFS程序也要重啟以重新向RPC注冊。

NFS客戶端和服務器通訊過程:

圖片

  • 首先服務器端啟動RPC服務,并開啟111端口
  • 服務器端啟動NFS服務,并向RPC注冊端口信息
  • 客戶端啟動RPC,向服務端的RPC服務請求服務端的NFS端口
  • 服務端的RPC服務反饋NFS端口信息給客戶端
  • 客戶端通過獲取的NFS端口來建立和服務端的NFS連接并進行數據的傳輸

2. Linux下部署NFS服務

2.1 安裝NFS服務

使用如下命令安裝NFS服務和RPC服務

sudo apt-get install nfs-kernel-server rpcbind

安裝完成后,創(chuàng)建共享文件夾供nfs服務器使用,此處在用戶根目錄下創(chuàng)建了linux/nfs文件夾

圖片

配置nfs服務器共享目錄:打開nfs配置文件/etc/exports,在末尾添加

/home/andyxi/linux/nfs *(rw,sync,no_root_squash)

圖片

修改完/etc/exports以后保存退出,重啟NFS服務

sudo /etc/init.d/nfs-kernel-server restart

2.2 NFS測試

這里使用 Ubuntu作為 NFS服務器端,Linux開發(fā)板作為客戶端來進行 NFS測試。 確保網絡環(huán)境正常,Ubuntu、Windows和開發(fā)板能相互ping通

在ubuntu的/home/andyxi/linux/nfs目錄下創(chuàng)建test.c文件

vi test.c

在開發(fā)板中創(chuàng)建一個目錄get,設置虛擬機IP并將NFS共享目錄掛載到get目錄中。 掛在成功后,即可在get目錄中看到test.c文件

mkdir get
mount -t nfs -o nolock,nfsvers=3 192.168.10.100:/home/andyxi/linux/nfs get/

通過df命令可查看掛載的NFS目錄,卸載NFS目錄使用umount命令

圖片

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11123

    瀏覽量

    207906
  • 服務器
    +關注

    關注

    12

    文章

    8701

    瀏覽量

    84545
  • 操作系統(tǒng)

    關注

    37

    文章

    6545

    瀏覽量

    122743
  • 端口
    +關注

    關注

    4

    文章

    916

    瀏覽量

    31856
  • NFS
    NFS
    +關注

    關注

    1

    文章

    52

    瀏覽量

    26051
收藏 人收藏

    評論

    相關推薦

    Linux開發(fā)_CentOS7.4服務器搭建NFS、NGINX服務器,安裝ffmpeg、Qt環(huán)境

    在CentOS7.4服務器版本的環(huán)境下搭建NFS服務器、安裝ffmpeg、安裝nginx服務器、部署Qt編譯環(huán)境。
    的頭像 發(fā)表于 07-14 13:45 ?1415次閱讀
    <b class='flag-5'>Linux</b>開發(fā)_CentOS7.4<b class='flag-5'>服務</b>器搭建<b class='flag-5'>NFS</b>、NGINX<b class='flag-5'>服務</b>器,安裝ffmpeg、Qt環(huán)境

    【AWorks試用體驗】+NFS服務器搭建

    本帖最后由 youzizhile 于 2015-8-18 15:53 編輯 6.4 NFS服務器搭建6.4.1 NFS能做什么?在嵌入式Linux開發(fā)中,需要在
    發(fā)表于 08-18 15:51

    TQ210 NFS服務器的配置和使用

      這一講將介紹怎么在虛擬機的Linux系統(tǒng)上安裝NFS服務器,然后在TQ210v6開發(fā)板上的Linux上掛載nfs共享文件夾,實現(xiàn)虛擬機和
    發(fā)表于 11-23 15:35

    Linux 配置 NFS進行服務器端配置,重啟NFS時報錯,請問這是為什么?

    本帖最后由 一只耳朵怪 于 2018-6-22 10:08 編輯 1、我是Centos6.5版本的Linux,網上找到的帖子說是這個命令 yum install nfs
    發(fā)表于 06-21 20:00

    基于spring boot的linux服務部署方法

    最近一直在研究springboot服務器,之前受到springmvc等框架的困擾,思路不對,一直想把springboot打包成war包然后部署到tomcat容器下,今天突然想到既然springboot我再本地可以使用jar包的形式訪問,
    發(fā)表于 07-22 06:51

    ubuntu下搭建NFS服務

    :192.168.2.51為NFS服務器主機IP#ls /mnt/說明:mount命令可以在另一個Linux系統(tǒng)執(zhí)行。這樣就可以實現(xiàn)ubuntu下搭建NFS
    發(fā)表于 11-02 16:08

    Linux系統(tǒng)下部署RocketMQ單機實例

    前言這篇文章以4.3.0版本為標準進行講述在linux下部署RocketMQ單機實例,在此之前需要已配置JAVA環(huán)境。下載程序包直接使用一般就下載已經編譯好的二進制文件就好了,下載好以后&
    發(fā)表于 11-11 16:29

    Jenkins遠程部署Linux服務器的過程

    1、Jenkins遠程部署Linux服務器  之前在Jenkins上也有一些使用經驗了,但是都是使用團隊配置好的Jenkins,自己只需要管自己的項目以及執(zhí)行構建即可,這一次自己嘗試了一下配置
    發(fā)表于 11-18 18:12

    RK3568 Linux鏡像支持NFS服務設計實現(xiàn)

    1、RK3568 Linux NFS服務使用  RK3568linux鏡像默認是不支持NFS服務
    發(fā)表于 12-13 17:09

    嵌入式Linux NFS方式下應用程序的實現(xiàn)

    嵌入式Linux NFS方式下應用程序的實現(xiàn):本文在以ARM9 內核芯片,處理器為S3C2410 構造的開發(fā)板系統(tǒng)上,詳細討論了如何配置嵌入式Linux NFS 開發(fā)環(huán)境,并通過一個具
    發(fā)表于 08-02 14:48 ?39次下載

    非常全面的LINUX NFS文檔

    這是我寫的第一份筆記式文檔,是對自己最近在研究NFS方面的一個小小的總結,這個穩(wěn)定也參考和引用了一部分別人的文檔,這里表示感謝,這篇是根據LINUX來寫的,有空的話我還會寫一篇FOR FREEBSD
    發(fā)表于 11-07 11:36 ?3次下載

    Linux應用基礎教程之Linux的網絡服務資料概述

    本文檔的主要內容詳細介紹的是Linux應用基礎教程之Linux的網絡服務資料概述主要內容包括了:1 NFS網絡文件系統(tǒng) 2 Web服務 3
    發(fā)表于 11-28 15:56 ?18次下載

    嵌入式Linux NFS掛載

    嵌入式Linux NFS Mount, 幾步簡單的命令實現(xiàn)通過NFS將虛擬機目錄mount到板子上1、在ubuntu上安裝ntf服務sudo apt-get install
    發(fā)表于 10-20 15:06 ?2次下載
    嵌入式<b class='flag-5'>Linux</b> <b class='flag-5'>NFS</b>掛載

    嵌入式linux實現(xiàn)mount掛載nfs服務器拷貝文件

    nfs服務器一般在本地虛擬機ubuntu搭建nfs服務器就行,具體流程,可以查看我的博客ubuntu下nfs
    發(fā)表于 11-01 17:07 ?1次下載
    嵌入式<b class='flag-5'>linux</b>實現(xiàn)mount掛載<b class='flag-5'>nfs</b><b class='flag-5'>服務</b>器拷貝文件

    Linux下部署TFTP服務

    TFTP是 Trivial File Transfer Protocol 的縮寫,即簡單文件傳輸協(xié)議,是一個基于 UDP 協(xié)議實現(xiàn)的用于在客戶機和服務器之間進行簡單文件傳輸的協(xié)議,適合于開銷不大、不復雜的應用場合
    的頭像 發(fā)表于 04-17 14:56 ?1005次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>下部署</b>TFTP<b class='flag-5'>服務</b>