Linux LVM 鏡像邏輯卷創建與故障恢復指南
更新時間 2025-09-02 09:48:41
最近更新時間: 2025-09-02 09:48:41
分享文章
本文檔將指導您如何在 Linux 系統上制作 LVM 鏡像邏輯卷,并提供從 LVM 鏡像故障中恢復的步驟。
一、LVM 鏡像卷概述
LVM 鏡像卷通過在不同物理卷上維護相同數據的副本提供數據冗余,類似 RAID 1,當單個磁盤故障時能確保數據可用。關鍵特點包括:
實時數據同步:寫入操作同時復制到所有鏡像設備
自動故障轉移:主設備故障時自動切換到鏡像副本
在線恢復:可在系統運行時更換故障設備并重建鏡像
二、創建 LVM 鏡像邏輯卷
本文檔以 /dev/nvme0n1、/dev/nvme1n1 作為示例,操作時請根據實際情況進行替換。
1. 創建物理卷(PV)
pvcreate /dev/nvme{0,1}n12. 創建卷組(VG)
vgcreate data /dev/nvme0n1 /dev/nvme1n13. 創建鏡像邏輯卷(LV)
lvcreate -l 100%FREE -m1 -n app data /dev/nvme0n1 /dev/nvme1n1命令參數說明:
-l 100%FREE:使用卷組100%的可用空間-m1:創建1個鏡像副本(共2份數據)-n app:邏輯卷名稱為app
4. 創建文件系統并掛載
# 創建XFS文件系統
mkfs.xfs /dev/mapper/data-app
# 創建掛載點
mkdir /app
# 編輯/etc/fstab添加條目
echo "/dev/mapper/data-app /app xfs defaults 0 0" >> /etc/fstab
# 重新加載并掛載
systemctl daemon-reload
mount -a以上請根據業務實際使用情況替換掛載點和文件系統類型。
5. 驗證鏡像狀態
lvs -a -o +devices輸出示例:
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert Devices
app data rwi-aor--- 9.99g 100.00 app_rimage_0(0),app_rimage_1(0)
[app_rimage_0] data iwi-aor--- 9.99g /dev/nvme0n1(1)
[app_rimage_1] data iwi-aor--- 9.99g /dev/nvme1n1(1)
[app_rmeta_0] data ewi-aor--- 4.00m /dev/nvme0n1(0)
[app_rmeta_1] data ewi-aor--- 4.00m /dev/nvme1n1(0) 三、鏡像邏輯卷故障恢復操作
當 LVM 鏡像中的一個物理卷發生故障時,LVM 會自動將其轉換為線性卷,系統仍可運行但失去冗余保護。以下是單個磁盤故障(/dev/nvme1n1損壞)恢復流程示例:
1. 檢查卷組狀態
vgdisplay data若顯示 WARNING: VG data is missing PV 等警告信息,表明有設備丟失;此時有磁盤故障,但 LVM 鏡像仍可掛載,讀寫操作不受影響。
2. 移除故障磁盤
# 從卷組中移除故障磁盤(卷組名 data 根據實際情況替換)
vgreduce --removemissing data --force注意
換盤前必須先從卷組中移除故障磁盤。
3. 更換完故障磁盤后添加新磁盤到卷組
# 初始化新磁盤
pvcreate /dev/nvme1n1
# 添加到卷組
vgextend data /dev/nvme1n14. 修復鏡像卷
lvconvert --repair -y data/app5. 重新建立鏡像副本
lvconvert -m1 -y /dev/data/app /dev/nvme0n1 /dev/nvme1n16. 確認鏡像同步完成
lvs -a -o +devices輸出示例:
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert Devices
app data rwi-aor--- 9.99g 36.23 app_rimage_0(0),app_rimage_1(0)
[app_rimage_0] data iwi-aor--- 9.99g /dev/nvme0n1(1)
[app_rimage_1] data iwi-aor--- 9.99g /dev/nvme1n1(1)
[app_rmeta_0] data ewi-aor--- 4.00m /dev/nvme0n1(0)
[app_rmeta_1] data ewi-aor--- 4.00m /dev/nvme1n1(0)
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert Devices
app data rwi-aor--- 9.99g 100.00 app_rimage_0(0),app_rimage_1(0)
[app_rimage_0] data iwi-aor--- 9.99g /dev/nvme0n1(1)
[app_rimage_1] data iwi-aor--- 9.99g /dev/nvme1n1(1)
[app_rmeta_0] data ewi-aor--- 4.00m /dev/nvme0n1(0)
[app_rmeta_1] data ewi-aor--- 4.00m /dev/nvme1n1(0) 此時等到 Cpy%Sync 字段顯示 100.00 后即同步完成。