Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Linux LVM 邏輯卷管理完整教學:PV/VG/LV 建立、掛載、擴容與縮減實戰

編輯:Linux 系統常見問題解答

LVM 三層架構概念

  1. PV (Physical Volume):實體分區/磁碟,如 /dev/sdb1
  2. VG (Volume Group):由一或多個 PV 組成的儲存池
  3. LV (Logical Volume):從 VG 切割出的邏輯分區,可格式化掛載使用

核心優勢:LV 大小可動態調整、跨磁碟擴容、支援快照、可命名方便管理。

實驗環境準備

新增磁碟 /dev/hdb,分三個分區 hdb1/hdb2/hdb3 (各 100MB),類型設為 8e (Linux LVM):

fdisk /dev/hdb
# n 新建分區, t 變更類型 8e, w 寫入
partprobe  # 通知核心重讀分區表

第一階段:建立 PV (Physical Volume)

pvcreate /dev/hdb1 /dev/hdb2
pvscan
pvdisplay

輸出顯示 PV 大小、PE Size (預設 4MB)、UUID 等資訊。

第二階段:建立 VG (Volume Group)

vgcreate vg0 /dev/hdb1 /dev/hdb2
vgscan
vgdisplay

擴充 VG:vgextend vg0 /dev/hdb3
縮減 VG:vgreduce vg0 /dev/hdb2 (需先將資料遷移 pvmove)

大容量 VG 技巧:建立時指定較大 PE Size (如 16MB) 支援超過 1TB VG:

vgcreate -s 16M vg0 /dev/hdb1 /dev/hdb2

第三階段:建立 LV (Logical Volume)

lvcreate -L 184M -n data vg0
lvscan
lvdisplay

第四階段:格式化、掛載與驗證

mkfs.ext3 /dev/vg0/data
mkdir /mnt/lvm
mount /dev/vg0/data /mnt/lvm
df -T /mnt/lvm

第五階段:動態調整 LV 大小 (LVM 精華)

擴容 LV (線上可操作,ext3/4/xfs 支援)

# 1. 擴充 LV (+100M 或 -l +100%FREE)
lvextend -L +100M /dev/vg0/data
# 2. 擴充檔案系統
resize2fs /dev/vg0/data  # ext3/4
# xfs 使用 xfs_growfs /mnt/lvm

縮減 LV (需離線,風險較高,務必先備份)

umount /mnt/lvm
e2fsck -f /dev/vg0/data
resize2fs /dev/vg0/data 100M  # 先縮檔案系統
lvreduce -L 100M /dev/vg0/data  # 再縮 LV
mount /dev/vg0/data /mnt/lvm

常用指令速查表

層級建立掃描顯示擴充縮減移除
PVpvcreatepvscanpvdisplay--pvremove
VGvgcreatevgscanvgdisplayvgextendvgreducevgremove
LVlvcreatelvscanlvdisplaylvextendlvreducelvremove

生產環境最佳實務

  • 使用有意義的 VG/LV 名稱 (如 vg_data/lv_mysql)
  • 保留 10-20% VG 空間作為擴容/快照預留
  • 重要資料 LV 定期建立快照備份:lvcreate -s -n lv_mysql_snap -L 10G /dev/vg_data/lv_mysql
  • 監控 VG 使用率,設定告警閾值 (如 80%)
  • 縮減 LV 前務必完整備份,並驗證備份可還原
Copyright © Windows教程網 All Rights Reserved