運維實施31-NFS服務

NFS概述

NFS(Network File System)網絡文件系統,主要用于Linux系統上實現文件共享的一種協議,其客戶端主要是Linux。

沒有用戶認證機制,且數據在網絡上傳送的時候是明文傳送,一般只能在局域網中使用支持多節點同時掛載及并發寫入

企業應用:為集群中的webserver提供后端存儲(做靜態資源服務器)

環境準備

編號IP地址作用
1192.168.66.143Web服務器
2192.168.66.138NFS服務器

NFS組成

rpcbind:負責NFS的數據傳輸,遠程過程調用tcp/udp協議端口 ==111==

nfs-utils:控制共享哪些文件,權限管理

RPC(Remote Procedure Call Protocol)是一種遠程過程調用協議。
?
它允許一個程序通過網絡從另一臺計算機上的程序請求服務,而無需了解底層的網絡技術細節。簡單來說,RPC使得不同計算機之間的程序可以像在同一臺計算機上一樣互相調用和通信。

安裝NFS軟件

yum install rpcbind nfs-utils -yrpm -q rpcbind

NFS的配置文件

NFS 的配置文件為/etc/exports(服務端進行配置)

格式為: 共享的目錄位置 客戶機地址(權限選項)

/test888 192.168.78.0/24(rw,sync,no_root_squash)

將/text888目錄共享給192.168.78.0網段的所有用戶

# vim /etc/exports共享目錄    共享選項
/share     *(ro,sync)共享主機:
*                                       代表所有主機
192.168.0.0/24                          代表共享給某個網段
192.168.0.0/24(rw) 192.168.1.0/24(ro)   代表共享給不同網段
192.168.0.254                           共享給某個IP
*.zking.com                             代表共享給某個域下的所有主機共享選項:
ro: 只讀
rw: 讀寫
sync: 實時同步,直接寫入磁盤
async: 異步,先緩存在內存再同步磁盤
anonuid: 設置訪問nfs服務的用戶的uid,uid需要在/etc/passwd中存在
anongid: 設置訪問nfs服務的用戶的gid
root_squash: 默認選項 root用戶創建的文件的屬主和屬組都變成nobody,其他人nfs-server端是它自己, client端是nobody。
no_root_squash: root用戶創建的文件屬主和屬組還是root, 其他人server端是它自己uid, client端是nobody。
all_squash: 不管是root還是其他普通用戶創建的文件的屬主和屬組都是nobody

?anonuid和anongid參數和all_squash一起使用。 all_squash表示不管是root還是其他普通用戶從客戶端所創建的文件在服務器端的擁有者和所屬組都是nfsnobody;服務端為了對文件做相應管理,可以設置anonuid和anongid進而指定文件的擁有者和所屬組。

NFS任務解決方案

創建一個共享目錄,如/share

# mkdir /share

編寫NFS主配置文件

# vim /etc/exports共享目錄    共享選項
/share      192.168.66.1/24(rw,sync)

啟動相關的NFS服務

手動加載NFS共享服務時,應該先啟動rpcbind,再啟動nfs

systemctl start rpcbind
systemctl start nfssystemctl enable rpcbind
systemctl enable nfs# ss -naltp | grep 111    # 111端口

?查看本機發布的 NFS 共享目錄

exportfs -rvexporting 192.168.66.1/24:/share
showmount -eExport list for localhost.localdomain:
/share 192.168.66.1/24
在客戶機中訪問 NFS 共享資源
安裝 nfs-utils、rpcbind 軟件包
rpm -q rpcbind nfs-utils
yum -y install nfs-utils rpcbindsystemctl start rpcbind
systemctl enable rpcbind
查看 NFS 服務器端共享了哪些目錄
showmount -e 192.168.66.138Export list for 192.168.66.138:
/share 192.168.66.1/24
mkdir /nfsdata
mount 192.168.66.138:/share /nfsdata
df -Th文件系統                類型      容量  已用  可用 已用% 掛載點
devtmpfs                devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs                   tmpfs     1.9G     0  1.9G    0% /dev/shm
tmpfs                   tmpfs     1.9G   13M  1.9G    1% /run
tmpfs                   tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        17G  4.8G   13G   28% /
/dev/sda1               xfs      1014M  187M  828M   19% /boot
tmpfs                   tmpfs     378M   60K  378M    1% /run/user/0
/dev/sr0                iso9660   9.6G  9.6G     0  100% /run/media/root/CentOS 7 x86_64
192.168.66.138:/share   nfs4       17G  4.8G   13G   28% /nfsdata

搭建Web服務器

# yum install httpd -y
# systemctl start httpd

當Apache軟件啟動完畢后,會自動占用計算機的80端口。

80端口指向web服務器的目錄 => /var/www/html

所以項目源代碼都可以直接存放于 /var/www/html 目錄

記得關閉防火墻與SELinux

在Web服務器中掛載NFS

# mkdir /var/www/html/mediamount 192.168.66.138:/share /var/www/html/media
或
mount -t nfs 192.168.66.138:/share /var/www/html/media
或
mount.nfs 192.168.66.138:/share /var/www/html/media

上傳到NFS服務器的/share

第一步:使用MX上傳素材到/share目錄(NFS服務器)

第二步:在Web服務器中,ll /var/www/html/media目錄

第三步:通過瀏覽器訪問該文件

設置自動掛載
vim /etc/fstab192.168.66.138:/share /var/www/html/media nfs defaults,_netdev 0 0

強制卸載 NFS

如果服務器端NFS服務突然間停掉了,而客戶端正在掛載使用時,在客戶端就會出現執行 df -h 命令卡死的現象。

這個時候直接使用 umount 命令是無法直接卸載的,需要加上 -lf 選項才能卸載。

umount -lf /var/www/html/media

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

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

相關文章

藍牙協議架構與調試工具詳解(含 BLE、HCI 命令、調試命令)

本文介紹藍牙協議從物理層到應用層的完整通信流程,并詳解了 Linux 下主流藍牙調試工具的使用方法,適用于嵌入式藍牙驅動開發、BLE調試、通信協議分析等場景。 🔧 1. 藍牙架構概覽 ? 芯片架構 單模芯片:僅支持 BLE 或 Classic 藍…

激光雷達定位算法在FPGA中的實現——section3 Matlab實現和校驗

1、校驗section2的計算方法是否正確 以section1里面的圖示 舉個例子: 1.1 手動計算 可以計算出4*4方陣C相關參數: 可以計算出余子式矩陣C_1相關參數:

數據結構(2)線性表-順序表

知道一個算法的好壞怎么去判斷以后,就該正式的去學習一些常見的數據結構,當然,這里的數據結構僅僅是初階,不會挨個一個一個學完,后期慢慢來。 一、數據結構總論 一般按照邏輯結構和存儲結構來分類,在初階…

性能測試詳解

🍅 點擊文末小卡片,免費獲取軟件測試全套資料,資料在手,漲薪更快 一、什么是性能測試 先看下百度百科對它的定義 性能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統的各項性能指標進行測試 我們可以認為…

每日Prompt:三只動物與地標自拍磨砂玻璃后的虛實對比剪影

提示詞 一張黑白照片,展示了一個[主體]在磨砂或半透明表面后的模糊剪影。其[部分]輪廓清晰,緊貼表面,與其余朦朧、模糊的身影形成鮮明對比。背景是柔和的灰色漸變色調,增強了神秘和藝術的氛圍。

Android多媒體——媒體解碼器初始化(十五)

通過上一篇文章我們了解了媒體解碼器的創建過程,并且可以看到,在媒體解碼器創建成功后,分別調用了 configure()、setCallback() 和 start() 函數來對解碼器進行配置、回調和啟動。這里我們就來詳細看一下這幾個過程。 一、配置解碼器 首先看一下解碼器的配置,在 NuPlayerD…

每周資訊 | 騰訊Q1財報:國內游戲業務收入同比增長24%;Tripledot 8億美元收購AppLovin游戲業務

內容速覽: 廣州“服務貿易和數字貿易22條”助推游戲產業發展Tripledot Studios 8億美元收購AppLovin游戲業務蘋果緊急申請暫停執行AppStore新規4月中國手游出海收入下載榜,點點互動《Kingshot》收入激增 騰訊Q1財報:國內游戲業務收入同比增長…

本地跑通vue-element-admin項目

GitHub - PanJiaChen/vue-element-admin: :tada: A magical vue admin https://panjiachen.github.io/vue-element-admin 通過加速clone到本地 git clone https://gitclone.com/github.com/PanJiaChen/vue-element-admin.git # 進入項目目錄 cd vue-element-admin # 安裝依賴…

Go語言交替打印問題及多種實現方法

Go語言交替打印問題及多種實現方法 在并發編程中,多個線程(或 goroutine)交替執行任務是一個經典問題。本文將以 Go 語言為例,介紹如何實現多個 goroutine 交替打印數字的功能,并展示幾種不同的實現方法。 Go 語言相關…

支持藍牙5.0和2.4G私有協議芯片-PHY6222

PHY6222QC-W04C 是一款適用于藍牙低功耗(BLE)5.2 應用的片上系統(SoC)。它搭載 ARM Cortex?-M0 32 位處理器,配備 64KB SRAM、512K Flash、96KB ROM、256 bit efuse ,以及超低功耗、高性能的多模式射頻模塊…

git相關配置

git相關配置 歡迎使用Markdown編輯器修改Git默認編輯器為vimgit配置默認用戶名和密碼: 歡迎使用Markdown編輯器 修改Git默認編輯器為vim #方法1:直接執行 git config --global core.editor vim#方法2:修改git的配置文件.git/config文件&am…

C語言實現INI配置文件讀取和寫入

一.INI文件介紹 INI配置文件是一種簡單的文本文件,用于存儲配置信息,通常由一個或多個節(section)組成,每個節包含多個鍵值對(Key-Value)格式。INI文件易于閱讀和編輯,廣泛應用于多…

Vue 3 打開 el-dialog 時使 el-input 獲取焦點

運行代碼:https://andi.cn/page/622178.html 效果:

【程序員AI入門:模型】19.開源模型工程化全攻略:從選型部署到高效集成,LangChain與One-API雙劍合璧

一、模型選型與驗證:精準匹配業務需求 (一)多維度評估體系 通過量化指標權重實現科學選型,示例代碼計算模型綜合得分: # 評估指標權重與模型得分 requirements {"accuracy": 0.4, "latency": …

卡頓檢測與 Choreographer 原理

一、卡頓檢測的原理 卡頓的本質是主線程(UI 線程)未能及時完成某幀的渲染任務(超過 16.6ms,以 60Hz 屏幕為例),導致丟幀(Frame Drop)。檢測卡頓的核心思路是監控主線程任務的執行時…

物聯網僵尸網絡防御:從設備認證到流量染色

一、IoT設備的安全困境 典型物聯網設備存在硬編碼密鑰問題: // 固件中的危險代碼示例 const char* DEFAULT_KEY "A1B2-C3D4-E5F6"; // 廠商預設密鑰 void connect_server() {authenticate(DEFAULT_KEY); // 密鑰從未更新 }此類漏洞導致某智能家居平臺…

二叉樹子樹判斷:從遞歸到迭代的全方位解析

一、題目解析 題目描述 給定兩棵二叉樹root和subRoot,判斷root中是否存在一棵子樹,其結構和節點值與subRoot完全相同。 示例說明 示例1: root [3,4,5,1,2],subRoot [4,1,2] 返回true,因為root的左子樹與subRoot完…

Springboot 異步場景 使用注解 @Async 及 自定義線程池分模塊使用

目錄 前言一、Springboot項目如何開啟異步?二、存在的問題三、自定義線程池四、自定義線程池使用五、阻塞隊列和拒絕策略 前言 當開發中遇到不影響主流程任務時,使用異步去處理。 如有以下場景: 1、業務需要生成一個季度的數據進行員工排名&…

【GNN筆記】Signed Graph Convolutional Network(12)【未完】

視頻鏈接:《圖神經網絡》 Signed Graph Convolutional Network 之前介紹的GNN模型主要集中在無符號的網絡(或僅由正鏈接組成的圖)上,符號 圖帶來的挑戰,主要集中在于 否定鏈接,與正鏈接相比,它不…

米勒電容補償的理解

米勒電容補償是使運放放大器穩定的重要手法,可以使兩級運放的兩個極點分離,從而可以得到更好的相位裕度。 Miller 電容補償的本質是增加一條通路流電流,流電流才是miller效應的本質。給定一個相同的輸入,Miller 電容吃掉的電流比…