網站首頁 編程語言 正文
簡介
什么是nfs服務器?
NFS(Network File System)即網絡文件系統,它最大的功能就是可以通過網絡,讓不同的機器、不同的操作系統可以共享彼此的文件,使用者訪問網絡上別處的文件就像在使用自己的計算機一樣。
為什么需要nfs服務器
到同一個地方拿數據,保障網站數據的一致性,不管負載均衡器將請求分配到哪臺后端的服務器,客戶機看到的內容是一致的。
nfs服務器是否是最佳的解決方法
不是的,nfs是比較廉價的解決方法1,一般公司不會使用,性能不是特別高,建議使用專用的存儲服務器。
nfs的優點和缺點
優點:隨便一臺linux服務器都可以搭建,成本非常低,構建非常容易
缺點:讀取速度有限,跟網絡質量,磁盤IO,CPU,內存等因素有關,再傳統的tcp/ip網絡傳輸。
存儲服務器
優點:讀寫性能好,有災備
缺點:成本高
RPC
NFS 支持的功能相當的多,而不同的功能都會使用不同的程序來啟動, 每啟動一個功能就會啟用一些端口來傳輸數據,因此, NFS 的功能所對應的端口才沒有固定,這時候就需要RPC綁定
RPC 最主要的功能就是在指定每個 NFS 功能所對應的端口.
搭建NFS服務器
準備一臺centos7.9服務器(192.168.2.58)
一臺客戶機(192.168.2.218)
安裝nfs
服務機
yum install nfs-utils -y
service nfs-server start #啟動nfs服務
ps aux |grep nfs #查看nfs進程
ss -anplut|grep rpc
vim /etc/exports
/web 192.168.2.0/24(rw,all_squash,sync)
rw: 讀寫
sync: 寫到內存的時候同步刷新到磁盤
all_squash:共享文件的UID和GID映射匿名用戶anonymous(普通用戶)。
aysnc:不實時同步 ,相應速率高,但危險。
mkdir /web
vim /web/index.html
#添加一些內容,退出并保存
>wyt #我就添加了wyt,退出并保存
exportfs -rv #刷新輸出(類似刷新服務)
注意關閉防火墻和selinux
客戶機
yum install nfs-utils -y
showmount -e 192.168.2.58 #查詢nfs服務器共享的文件夾
mkdir /web #客戶機新建文件夾
mount 192.168.2.58:/web /web 將nfs服務器上的/web目錄掛載到本地的/web目錄
ls /web #可以查看到nfs服務器的index.html,掛載后沒有寫的權限所以需要客戶機給文件的權限
df -Th
權限受到兩種權限限制
- 文件系統權限
- 共享權限
共享權限已經打開,所以服務機需要授權文件權限
chmod a+w /web #/web所有人寫的權限
只要把服務器的index.html掛載到nginx下的html,就可以實現在web下寫操作。
mount 192.168.2.58:/web /usr/local/scwangyutao99/html/
掛載
掛載(mount):其實就是相當于插了一個外接U盤或者移動硬盤。umount就相當于彈出U盤。
umount /usr/local/scwangyutao99/html/
#umount.nfs4: /web: device is busy 是因為當前在目錄之下
umount之后顯示之前網頁
設置開機自動掛載
/etc/rc.local
sed -i '$a mount 192.168.2.58:/web /usr/local/scwangyutao99/html/' /etc/rc.local
chmod +x /etc/rc.d/rc.local #賦予可執行權限
修改/etc/fstab 文件
/etc/fstab 是linux系統開機自動根據這個文件里的內容掛載磁盤分區
第一列Device
第二列Mount point,設備的掛載點。
第三列filesystem,磁盤文件系統的格式,包括ext2、ext3、reiserfs、nfs、vfat等
第四列:文件系統的參數,默認defaults
第五列:能否被dump備份命令作用。0代表不要做dump備份
1代表要每天進行dump的操作,2代表不定日期的進行dump操作
第六列:是否檢驗扇區,0不要檢驗,1最早檢驗(一般根目錄會選擇)
2,1級別檢驗完成之后進行檢驗
sed -i '$a 192.168.2.58:/web /usr/local/scwangyutao99/html/ nfs defaults 0 0' /etc/fstab
原文鏈接:https://blog.csdn.net/weixin_46415378/article/details/124121346
相關推薦
- 2022-12-09 React文件分段上傳實現方法詳解_React
- 2022-11-29 將VSCode添加至右鍵的菜單欄
- 2022-08-23 python實現GATK多線程加速示例_python
- 2022-08-12 Python3.8安裝tensorflow的簡單方法步驟_python
- 2022-11-27 通過源碼分析Golang?cron的實現原理_Golang
- 2022-10-09 python將寫好的程序打包成exe可執行文件_python
- 2023-03-20 使用Redis緩存時高效的批量刪除的幾種方案_Redis
- 2022-09-29 LyScript實現內存交換與差異對比的方法詳解_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支