LVM配置
1. 準備工作
- 一塊新磁盤(假設為
/dev/sdb)。 - 安裝
工具:lvm2sudo apt install lvm2 # Debian/Ubuntu sudo yum install lvm2 # CentOS/RHEL
2. 配置 LVM
2.1 創建物理卷(PV)
將新磁盤初始化為物理卷:
pvcreate /dev/sdb
2.2 創建卷組(VG)
創建一個卷組(Volume Group, VG):
vgcreate vg_os /dev/sdb
2.3 創建 Thin Pool
創建 Thin Pool,作為虛擬磁盤的存儲池??梢愿鶕疟P總大小合理分配。例如,預留 500GB 作為 Thin Pool:
lvcreate --type thin-pool --size 500G --name thin_pool vg_os
3. 創建虛擬磁盤(Thin Volume)
使用 Thin Pool 為 3 個操作系統創建虛擬磁盤,每個虛擬磁盤的虛擬大小為 1000GB:
lvcreate --type thin --virtualsize 1000G --name os1_disk vg_os/thin_pool
lvcreate --type thin --virtualsize 1000G --name os2_disk vg_os/thin_pool
lvcreate --type thin --virtualsize 1000G --name os3_disk vg_os/thin_pool
此時,每個虛擬磁盤的“虛擬大小”為 1000GB,但實際占用的空間取決于存儲的數據量。
4. 監控和自動回收
4.1 監控 Thin Pool 使用情況
定期檢查 Thin Pool 的使用情況,避免空間耗盡:
lvs -o +data_percent,metadata_percent vg_os/thin_pool
4.2 自動回收釋放的空間
在 Thin Pool 中,刪除數據后,空間會自動回收。但如果你使用的是虛擬機磁盤(如 qcow2 格式),需要手動執行以下操作:
-
在虛擬機中清空未使用的空間(例如,使用
zerofree工具)。 -
在宿主機上使用
fstrim命令通知 LVM 回收空間:fstrim -v /mnt/vm_disk
5. 使用虛擬磁盤
5.1 在虛擬機中使用虛擬磁盤
將虛擬磁盤分配給虛擬機。例如,使用 KVM:
virt-install --name=vm1 --ram=2048 --vcpus=2 --disk path=/dev/vg_os/os1_disk --cdrom=/path/to/iso --network bridge=br0
5.2 在物理機中使用虛擬磁盤
如果需要直接在物理機上使用虛擬磁盤,可以將其掛載到文件系統:
-
格式化虛擬磁盤:
mkfs.ext4 /dev/vg_os/os1_disk -
掛載虛擬磁盤:
mkdir /mnt/os1 mount /dev/vg_os/os1_disk /mnt/os1
6. 擴展 Thin Pool 空間(可選)
如果 Thin Pool 空間不足,可以擴展其大?。?/p>
lvextend --size +100G vg_os/thin_pool
7. 最佳實踐
- 監控磁盤使用:定期檢查 Thin Pool 的空間使用情況,避免磁盤耗盡。
- 備份數據:雖然 Thin Provisioning 提供了靈活的存儲管理,但仍需定期備份重要數據。
- 性能優化:如果性能是關鍵,可以將 Thin Pool 放在高性能存儲設備(如 SSD)上。
通過以上步驟,你可以在新磁盤上配置 LVM,并為 3 個操作系統的虛擬磁盤實現“用多少占多少”和“刪除數據自動回收”的效果。

浙公網安備 33010602011771號