Rsync+inotify+nfs實現數據實時備份方案

技術棧
  • NFS是 Network File System的簡寫,即網絡文件系統。NFS的優點是內核直接支持,部署簡單、運行穩定,協議簡單、傳輸效率高。缺點是僅依靠IP地址或主機名來決定用戶能否掛載共享目錄,容易出現單點故障。

  • rsync是linux系統下的數據鏡像備份工具。使用快速增量備份工具Remote Sync可以遠程同步,支持本地復制,或者與其他SSH、rsync主機同步。

  • Inotify是一個 Linux特性,它監控文件系統操作,比如讀取、寫入和創建。通過inotify實現數據的時時同步,所需要的應用軟件inotify-tool。

機器準備
  • 10.7.11.9 (nfs節點)

  • 10.7.11.5 (備份節點)

  • 注意:關閉機器的防火墻 - systemctl stop firewalld

一、部署 nfs 服務器
  • 安裝nfs-server

#nfs-utils:提供了NFS服務器程序和對應的管理工具 
#rpcbind:獲取nfs服務器端的端口等信息
yum install -y nfs-utils rpcbind
# k8s node 節點需要安裝nfs客戶端
systemctl enable rpcbind
systemctl enable nfs-server
systemctl start rpcbind
systemctl start nfs-server
  • 修改配置

#創建目錄
mkdir -p /home/nfs-root/
?
#/home/nfs-root/表示要共享文件的目錄 
# *表示所有客戶端可訪問,也可以寫成指定IP網段或者具體的ip
#rw:表示讀寫權限,sync:表示數據同步寫入內存硬盤,no_root_squash 會使得根用戶在 NFS 客戶端上擁有和服務器上相同的權限
/home/nfs-root/ *(insecure,rw,sync,no_root_squash)
  • 保存,使生效

#wq
exportfs -a
exportfs

二、部署 Rsync 服務端(10.7.11.5 )
  • 下載 Rsync 軟件包

yum -y install rsync
  • 新增 vi /etc/rsyncd.conf 配置文件

?
#用戶id
uid = root
#組id
gid = root
#程序安全設置
use chroot = no
#客戶端連接數
max connections = 200
#進程號文件位置
pid file = /var/run/rsyncd.pid
#進程鎖文件位置
lock file = /var/run/rsync.lock
#日志文件位置
log file = /var/run/rsyncd.log
#連接超時時間
timeout = 300
#3.1版本以上要加這個
fake super = yes
?
#模塊名稱
[backup]
#同步數據的目錄
path = /backup
#有錯誤時忽略
ignore errors
#只讀模式(true為只讀,false為可讀可寫)
read only = false
#阻止遠程列表
list = false
#允許訪問的IP
hosts allow = 10.7.11.0/24
#禁止訪問的IP
hosts deny = 0.0.0.0/32
#虛擬用戶
auth users = rsync_backup
#存放用戶和密碼的文件
secrets file = /etc/rsync.password
  • 創建密碼文件 vi /etc/rsync.password

rsync_backup:123456
  • 修改 /etc/rsync.password 權限

chmod 600 /etc/rsync.password
  • 創建程序用戶 rsync

useradd -M -s /sbin/nologin rsync
  • 創建 / backup 目錄

mkdir /backup
  • 守護進程啟動 rsync

rsync --daemon
三、部署Rsync 客戶端(10.7.11.9)
  • 客戶端節點新增密碼文件 vi /etc/rsync.password

123456
  • 修改 / etc/rsync.password 權限

chmod 600 /etc/rsync.password
  • 測試 ,將inotify.sh文件傳輸至服務端

rsync -zav inotify.sh rsync_backup@10.7.11.5::backup --password-file=/etc/rsync.password

  • 去服務節點查看

三、部署 inotify 服務
  • 下載阿里云網絡源

# 首先備份系統自帶『yum 源配置文件』,具體路徑為:/etc/yum.repos.d/CentOS-Base.repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
# CentOS 7 
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  • 更新 yum 源

yum clean all
yum makecache
  • 下載 inotify-tools 工具包

yum -y install inotify-tools
  • 編寫 inotify.sh 腳本

backupServer=10.7.11.5
path=/home/nfs-root
inotifywait -mrq --format '%w%f' -e create,close_write,delete $path | while read line
doif [ -f $line ];thenrsync -za $line --delete rsync_backup@$backupServer::backup --password-file=/etc/rsync.passwordelsecd $pathrsync -za ./ --delete rsync_backup@$backupServer::backup --password-file=/etc/rsync.passwordfi
done
  • 后臺啟動腳本

sh inotify.sh &
  • 測試數據同步

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

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

相關文章

Vue ⑥-路由

單頁應用程序 單頁應用程序,即 Single-Page Application,簡稱 SPA,是一種使用 JavaScript、HTML 和 CSS 構建的 Web 應用程序。SPA 的核心是前端路由,它使得用戶在訪問網站時,只需加載一次頁面,然后通過前…

Hadoop復習(九)

Azkaban工作流管理器 選擇 問題 1 判斷題 2 / 2 分 工作流是指具有依賴的一組job任務,被依賴的job任務最后執行 正確 錯誤 問題 2 判斷題 2 / 2 分 Azkaban兼容任何版本的Hadoop 正確 錯誤 問題 3 判斷題 2 / 2 分 獨立服務器模式下,Azkab…

SpringMVC相關知識(二)

一.重定向和轉發 1.ModelandView 設置ModelAndView對象 , 根據view的名稱 , 和視圖解析器跳到指定的頁面 頁面 : {視圖解析器前綴} viewName {視圖解析器后綴} 相關代碼&#xff1a; <!-- 視圖解析器 --> <bean class"org.springframework.web.servlet.vi…

std::ratio 簡單使用舉例

author: hjjdebug date: 2025年 06月 09日 星期一 14:28:40 CST descrip: std::ratio 簡單使用舉例 文章目錄 1. 先看一個簡單的例子 1/2/1/35/62 std::ratio 的手冊頁3. std::ratio_add 到底是什么呢&#xff1f;4. 代碼注釋5. 加深理解.6. 自定義的std::ratio 與 std::ratio_…

Docker 優勢與缺點全面解析:容器技術的利與弊

在當今云計算、微服務、DevOps盛行的時代&#xff0c;Docker 幾乎成了開發者、運維工程師的標配工具之一。自2013年誕生以來&#xff0c;Docker 以其輕量、快速、易移植的特點&#xff0c;徹底改變了應用的構建、交付與部署方式。 但任何技術都有兩面性&#xff0c;Docker 也不…

大語言模型(LLM)中的KV緩存壓縮與動態稀疏注意力機制設計

隨著大語言模型&#xff08;LLM&#xff09;參數規模的增長&#xff0c;推理階段的內存占用和計算復雜度成為核心挑戰。傳統注意力機制的計算復雜度隨序列長度呈二次方增長&#xff0c;而KV緩存的內存消耗可能高達數十GB&#xff08;例如Llama2-7B處理100K token時需50GB內存&a…

排序算法總結(C++)

目錄 一、穩定性二、排序算法選擇、冒泡、插入排序歸并排序隨機快速排序堆排序基數排序計數排序 三、總結 一、穩定性 排序算法的穩定性是指&#xff1a;同樣大小的樣本 **&#xff08;同樣大小的數據&#xff09;**在排序之后不會改變原始的相對次序。 穩定性對基礎類型對象…

使用Redis作為緩存優化ElasticSearch讀寫性能

在現代數據密集型應用中,ElasticSearch憑借其強大的全文搜索能力成為許多系統的首選搜索引擎。然而,隨著數據量和查詢量的增長,ElasticSearch的讀寫性能可能會成為瓶頸。本文將詳細介紹如何使用Redis作為緩存層來顯著提升ElasticSearch的讀寫性能,包括完整的架構設計、詳細…

獲取wordpress某個欄目的內容數量

獲取wordpress某個欄目的內容數量 <?php // 將以下 8 改成你的分類 ID 即可echo get_category(8)->count;?> 在制作wordpress模板時&#xff0c;有時會需要調用某個分類目錄下的所有內容數量&#xff0c;通過這段簡潔的代碼就可以實現。 給WordPress自定義字段加…

uniapp 安卓 APP 后臺持續運行(保活)的嘗試辦法

在移動應用開發領域&#xff0c;安卓系統的后臺管理機制較為復雜&#xff0c;應用在后臺容易被系統回收&#xff0c;導致無法持續運行。對于使用 Uniapp 開發的安卓 APP 來說&#xff0c;實現后臺持續運行&#xff08;保活&#xff09;是很多開發者面臨的重要需求&#xff0c;比…

深度學習——知識提煉

第一部分&#xff1a;引言與背景——為什么需要知識提煉&#xff1f; 一、模型壓縮的背景 隨著深度學習的發展&#xff0c;模型變得越來越大&#xff08;如 ResNet152、BERT、ViT、GPT 等&#xff09;&#xff0c;其參數量動輒數億甚至上百億。這些大模型雖然性能強大&#x…

開源之夏·西安電子科技大學站精彩回顧:OpenTiny開源技術下沉校園,點燃高校開發者技術熱情

開源之夏2025編程活動正在如火如荼的進行中&#xff0c;當前也迎來了報名的倒計時階段&#xff0c;開源之夏組織方也通過高校行系列活動進入各大高校&#xff0c;幫助高校開發者科普開源文化、開源活動、開源技術。 6月4日 開源之夏攜手多位開源技術大咖、經驗型選手走進西安電…

時間復雜度和算法選擇

數據范圍 時間復雜度 算法選擇 n \leq 30 指數級別 O(2^n) 深度優先搜索&#xff08;DFS&#xff09; 剪枝、狀態壓縮動態規劃 n \leq 100 O(n^3) Floyd 算法、動態規劃、高斯消元 n \leq 1000 O(n^2) 、 O(n^2 \log n) 動態規劃、二分…

數據分析實戰2(Tableau)

1、Tableau功能 數據賦能&#xff08;讓業務一線也可以輕松使用最新數據&#xff09; 分析師可以直接將數據看板發布到線上自動更新看板自由下載數據線上修改圖表郵箱發送數據設置數據預警 數據探索&#xff08;通過統計分析和數據可視化&#xff0c;從數據發現問題&#xf…

CentOS7_Linux下安裝Docker和docker-compose

目錄 環境要求安裝步驟1、修改鏡像源配置文件2、卸載舊版本 Docker&#xff08;如有&#xff09;3、安裝依賴工具4、添加 Docker 官方倉庫5、安裝 Docker 引擎6、啟動 Docker 并設置開機自啟7、驗證安裝8、配置鏡像加速器創建配置文件重啟 Docker 生效 9、允許非 root 用戶操作…

ubuntu中使用docker

上一篇我已經下載了一個ubuntu:20.04的鏡像&#xff1b; 1. 查看所有鏡像 sudo docker images 2. 基于本地存在的ubuntu:20.04鏡像創建一個容器&#xff0c;容器的名為cppubuntu-1。創建的時候就會啟動容器。 sudo docker run -itd --name cppubuntu-1 ubuntu:20.04 結果出…

均衡后的SNRSINR

本文主要摘自參考文獻中的前兩篇&#xff0c;相關文獻中經常會出現MIMO檢測后的SINR不過一直沒有找到相關數學推到過程&#xff0c;其中文獻[1]中給出了相關原理在此僅做記錄。 1. 系統模型 復信道模型 n t n_t nt? 根發送天線&#xff0c; n r n_r nr? 根接收天線的 MIMO 系…

佰力博科技與您探討熱釋電測量的幾種方法

熱釋電的測量主要涉及熱釋電系數的測定&#xff0c;這是表征熱釋電材料性能的重要參數。熱釋電系數的測量方法主要包括靜態法、動態法和積分電荷法。其中&#xff0c;積分電荷法最為常用&#xff0c;其原理是通過測量在電容器上積累的熱釋電電荷&#xff0c;從而確定熱釋電系數…

idea中 maven 本地倉庫有jar包,但還是找不到,解決打包失敗和無法引用的問題

1、刪除本地倉庫中的文件 進入本地倉庫對應jar包文件目錄中刪除_remote.repositories文件和結尾為.lastUpdated的文件 2、回到IDEA刷新Maven 3、查看之前引用不了的jar是否引入成功

ALOHA ACT算法與源碼筆記

算法 一文通透動作分塊算法ACT&#xff1a;斯坦福ALOHA團隊推出的動作序列預測算法(Action Chunking with Transformers) 比較簡單&#xff0c;算法題目里就寫了&#xff1a;Action Chunking with Transformers&#xff0c;比較有特色的地方就是Action Chunking&#xff0c;核…