linux lvm快照的正確mount掛載實現(xiàn)方式
linux lvm快照的正確mount掛載
由于 LVM 快照的特殊性 ,普通的 mount 方式可能不適用。
以下是更深入的分析和解決方案:
1. 檢查快照是否正確創(chuàng)建
首先確認(rèn)快照是否成功創(chuàng)建:
lvs # 查看 temp_snap 是否存在,并檢查屬性
如果 Origin 指向 mysql_data,說明快照創(chuàng)建成功。
2. 確??煺找鸭せ?/h3>
lvchange -ay /dev/vg00/temp_snap # 強(qiáng)制激活快照
lvchange -ay /dev/vg00/temp_snap # 強(qiáng)制激活快照
3. 嘗試直接掛載(不指定文件系統(tǒng)類型)
mount /dev/vg00/temp_snap /mnt/snap
如果報錯 bad fs type,說明內(nèi)核無法自動識別文件系統(tǒng)。
4. 顯式指定文件系統(tǒng)類型(關(guān)鍵步驟)
- 如果是 ext4/ext3/ext2
mount -t ext4 -o ro,nouuid /dev/vg00/temp_snap /mnt/snap
- 如果是 XFS
mount -t xfs -o ro,nouuid /dev/vg00/temp_snap /mnt/snap
關(guān)鍵選項說明:
-o ro:以只讀方式掛載(快照必須只讀)-o nouuid:忽略 UUID 沖突(快照和原卷 UUID 相同,必須忽略)
5. 如果仍然失?。簷z查文件系統(tǒng)一致性
- EXT4 文件系統(tǒng)
fsck -f /dev/vg00/temp_snap # 強(qiáng)制檢查
- XFS 文件系統(tǒng)
xfs_repair /dev/vg00/temp_snap
6. 最終修正版?zhèn)浞菽_本
#!/bin/bash
# 1. 創(chuàng)建快照(必須足夠大)
lvcreate -s -n temp_snap -L 20G /dev/vg00/mysql_data
# 2. 激活快照
lvchange -ay /dev/vg00/temp_snap
# 3. 獲取文件系統(tǒng)類型
FS_TYPE=$(blkid -o value -s TYPE /dev/vg00/temp_snap)
[ -z "$FS_TYPE" ] && FS_TYPE="ext4" # 默認(rèn)類型
# 4. 掛載快照(關(guān)鍵步驟)
mkdir -p /mnt/snap
if mount -t $FS_TYPE -o ro,nouuid /dev/vg00/temp_snap /mnt/snap; then
# 5. 備份數(shù)據(jù)
rsync -a /mnt/snap/ backup-server:/mysql_backups/
# 6. 卸載并刪除
umount /mnt/snap
lvremove -f /dev/vg00/temp_snap
else
echo "掛載失??!請檢查:"
echo "1. 快照大小是否足夠(lvdisplay /dev/vg00/temp_snap)"
echo "2. 文件系統(tǒng)是否損壞(fsck/xfs_repair)"
exit 1
fi常見根本原因
1.未使用 -o ro,nouuid
LVM 快照必須只讀掛載,且必須忽略 UUID 沖突。
2.快照空間不足
如果原卷在備份期間變化量超過 20G,快照會失效。
3.文件系統(tǒng)未正確關(guān)閉
原卷 mysql_data 可能需要先 sync 再創(chuàng)建快照。
如何驗證問題
# 查看快照狀態(tài) lvdisplay /dev/vg00/temp_snap | grep -E "Allocated|Snapshot" # 查看掛載錯誤詳情 dmesg | tail
如果仍有問題,請?zhí)峁?/p>
lvdisplay /dev/vg00/mysql_data和lvdisplay /dev/vg00/temp_snap的輸出mount命令的完整錯誤信息blkid /dev/vg00/temp_snap的結(jié)果
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決ssh遠(yuǎn)程登陸linux顯示-bash-4.1$的問題
下面小編就為大家?guī)硪黄鉀Qssh遠(yuǎn)程登陸linux顯示-bash-4.1$的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-12-12
深入解讀Linux進(jìn)程函數(shù)fork(),vfork(),execX()
這篇文章主要介紹了深入解讀Linux進(jìn)程函數(shù)fork(),vfork(),execX(),分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下2018-01-01
CentOS7安裝PHP7 Redis擴(kuò)展的方法步驟
這篇文章主要介紹了CentOS7安裝PHP7 Redis擴(kuò)展的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-04-04
Linux利用firewalld和iptables實現(xiàn)IP端口限制與開放
在服務(wù)器管理中,防火墻是保護(hù)系統(tǒng)安全的重要工具,通常,我們可能會關(guān)閉firewalld,但在某些情況下,我們需要利用firewalld或iptables來限制IP請求,本文將詳細(xì)介紹如何使用firewalld和iptables來實現(xiàn)IP端口限制與開放,需要的朋友可以參考下2025-02-02
Centos系統(tǒng)中用mock構(gòu)建rpm的方法
這篇文章主要給大家介紹了在Centos系統(tǒng)中用mock構(gòu)建rpm的方法,文中給出了詳細(xì)的命令代碼,相信對大家的理解和學(xué)習(xí)具有一定的參考借鑒家價值,有需要的朋友們下面來一起看看吧。2016-12-12
詳細(xì)介紹linux動態(tài)網(wǎng)絡(luò)和靜態(tài)網(wǎng)絡(luò)和克隆后的網(wǎng)絡(luò)配置
這篇文章主要介紹了詳細(xì)介紹linux動態(tài)網(wǎng)絡(luò)和靜態(tài)網(wǎng)絡(luò)和克隆后的網(wǎng)絡(luò)配置,具有一定的學(xué)習(xí)價值,有需要的可以了解一下。2016-11-11
Linux下使用pip安裝SpeechRecognition連接超時解決辦法
這篇文章主要介紹了Linux下使用pip安裝SpeechRecognition連接超時解決辦法,如果遇到此問題,可以借鑒閱讀本文2023-03-03

