關(guān)于lvm快照結(jié)合rsync實現(xiàn)MySQL數(shù)據(jù)卷的遠(yuǎn)程備份教程
關(guān)于lvm快照結(jié)合rsync實現(xiàn)MySQL數(shù)據(jù)卷的遠(yuǎn)程備份
lvcreate -s -n temp_snap -L 20G /dev/vg00/mysql_data # 1. 創(chuàng)建臨時快照(時間點凍結(jié)) mount -o nouuid /dev/vg00/temp_snap /mnt/snap # 2. 掛載快照(訪問凍結(jié)狀態(tài)) rsync -a /mnt/snap/ backup-server:/mysql_backups/ # 3. 將凍結(jié)狀態(tài)數(shù)據(jù)獨立化 umount /mnt/snap # 4. 卸載 lvremove -f /dev/vg00/temp_snap # 5. 刪除臨時快照(釋放資源)
-o nouuid:忽略 UUID 沖突(快照和原卷 UUID 相同,必須忽略)
上述命令通過 rsync 將 LVM 快照的數(shù)據(jù)傳輸?shù)搅硪慌_服務(wù)器,實際上是在創(chuàng)建一份真正獨立的備份。這與僅保留 LVM 快照有本質(zhì)區(qū)別,具體作用和優(yōu)勢如下:
1. 核心作用:實現(xiàn)數(shù)據(jù)獨立化
解除對原始卷的依賴
- LVM 快照本身仍依賴原始卷的物理存儲(通過 COW 機制),而
rsync后的數(shù)據(jù)是完全獨立的副本。 - 即使原始服務(wù)器硬盤損壞,備份服務(wù)器上的數(shù)據(jù)依然安全。
避免快照空間耗盡風(fēng)險
- 快照空間有限,長期保留可能導(dǎo)致失效。
rsync后,備份數(shù)據(jù)不受快照空間限制,可長期存儲。
2. 典型應(yīng)用場景
① 災(zāi)難恢復(fù)
- 如果原服務(wù)器遭遇硬件故障、勒索軟件攻擊或誤刪除,可直接從備份服務(wù)器恢復(fù)數(shù)據(jù)。
- 恢復(fù)示例:
# 在備份服務(wù)器上直接使用數(shù)據(jù) rsync -a /backup/mysql_backups/ /var/lib/mysql/ chown -R mysql:mysql /var/lib/mysql
② 數(shù)據(jù)遷移
- 將數(shù)據(jù)遷移到新服務(wù)器或云環(huán)境時,無需停機。
- 遷移示例:
# 在新服務(wù)器上直接拉取備份數(shù)據(jù) rsync -a backup-server:/mysql_backups/ /var/lib/mysql/
③ 測試與開發(fā)
- 用備份數(shù)據(jù)搭建測試環(huán)境,不影響生產(chǎn)系統(tǒng)。
- 用法示例:
# 將備份數(shù)據(jù)掛載到測試容器 docker run -v /backup/mysql_backups:/var/lib/mysql mysql:latest
3. 為什么比單純快照更可靠?
| 風(fēng)險 | 僅保留 LVM 快照 | rsync 到備份服務(wù)器 |
|---|---|---|
| 原始卷物理損壞 | 快照無法使用 | 數(shù)據(jù)完好無損 |
| 快照空間耗盡 | 快照自動失效 | 不影響備份數(shù)據(jù) |
| 誤刪原始卷 | 快照連帶丟失 | 備份數(shù)據(jù)獨立保留 |
| 需要長期存檔 | 不適合(空間增長不可控) | 可長期保存 |
4. 操作流程的深層意義
完整命令鏈:
lvcreate -s -n temp_snap -L 20G /dev/vg00/mysql_data # 1. 創(chuàng)建臨時快照(時間點凍結(jié)) mount /dev/vg00/temp_snap /mnt/snap # 2. 掛載快照(訪問凍結(jié)狀態(tài)) rsync -a /mnt/snap/ backup-server:/mysql_backups/ # 3. 將凍結(jié)狀態(tài)數(shù)據(jù)獨立化 umount /mnt/snap # 4. 卸載 lvremove -f /dev/vg00/temp_snap # 5. 刪除臨時快照(釋放資源)
本質(zhì):
通過快照獲得一致性的時間點鏡像 → 用 rsync 將其轉(zhuǎn)化為真正的備份 → 最后清理臨時資源。
5. 進階建議
校驗備份完整性
傳輸后對比校驗和:
# 在原服務(wù)器生成校驗文件
find /mnt/snap -type f -exec md5sum {} + > /tmp/checksum_origin
# 在備份服務(wù)器驗證
ssh backup-server "find /mysql_backups -type f -exec md5sum {} +" | diff - /tmp/checksum_origin結(jié)合增量備份
首次全量同步后,后續(xù)可通過 rsync --link-dest 實現(xiàn)增量備份,節(jié)省空間。
自動化腳本示例
#!/bin/bash SNAPSHOT_NAME=mysql_$(date +%Y%m%d) lvcreate -s -n $SNAPSHOT_NAME -L 20G /dev/vg00/mysql_data mount /dev/vg00/$SNAPSHOT_NAME /mnt/snap rsync -az --delete /mnt/snap/ backup-server:/mysql_backups/ umount /mnt/snap lvremove -f /dev/vg00/$SNAPSHOT_NAME
總結(jié)
rsync 到另一臺服務(wù)器的操作,本質(zhì)是將 LVM 快照的臨時一致性狀態(tài)轉(zhuǎn)化為永久獨立備份,解決了快照的固有局限性,是專業(yè)備份方案的關(guān)鍵步驟。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Apache服務(wù)器中.htaccess文件的實用配置示例集錦
這篇文章主要介紹了Apache服務(wù)器中.htaccess文件的實用配置示例集錦,囊括了防盜鏈重定向及強制瀏覽器下載指定的文件類型等例子,很黃很暴力,需要的朋友可以參考下2016-03-03
Linux下nginx生成日志自動切割的實現(xiàn)方法
這篇文章主要介紹了 Linux下nginx生成日志自動切割的實現(xiàn)方法的相關(guān)資料,希望通過本文能幫助到大家,讓大家實現(xiàn)這樣的功能看,需要的朋友可以參考下2017-10-10
Linux文件編輯命令vi詳細(xì)整理(總結(jié))
本篇文章主要介紹了Linux文件編輯命令詳細(xì)整理(總結(jié)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07
讓Apache 2支持.htaccess并實現(xiàn)目錄加密的方法
這篇文章主要介紹了讓Apache 2支持.htaccess并實現(xiàn)目錄加密的方法,文中給出了詳細(xì)的方法步驟,并給出了示例代碼,對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。2017-02-02

