LVM基礎(chǔ)概念

Proxmox VE的LVM邏輯架構(gòu)
- PD(physical Disk):
物理磁盤,如硬盤,或RAID硬盤。
- PP(physical partition):
物理分區(qū),如硬盤的分區(qū),或RAID硬盤的分區(qū)。
- PV(physical volume):
物理卷,在邏輯卷管理系統(tǒng)最底層,可為整個(gè)物理硬盤或?qū)嶋H物理硬盤上的分區(qū),一般一個(gè)PV對(duì)應(yīng)一個(gè)PP
命令范例:
pvcreate /dev/sdb1
pvdisplay
- VG(volume group):
卷組,建立在物理卷上,每個(gè)卷組中至少要包括一物理卷,卷組建立后可動(dòng)態(tài)的添加卷到卷組中,一個(gè)邏輯卷管理系統(tǒng)工程中可有多個(gè)卷組。
命令范例:
#vgextend pve /dev/sdb1
#vgreduce //從vg中移除pv
#vgremove //移除vg
- LV(logical volume):
邏輯卷,建立在卷組基礎(chǔ)上,卷組中未分配空間可用于建立新的邏輯卷,邏輯卷建立后可以動(dòng)態(tài)擴(kuò)展和縮小空間。
命令范例:
lvs -a -o lv_full_name,parent,lv_size,modules,devices
lvcreate --type raid0 --name data --extents 100%FREE --stripesize 256k hybrid /dev/sdb1 /dev/sdc1
lvcreate --type thin-pool --extents 100%FREE --name data pve /dev/sda3
lvextend -rl +100%FREE /dev/pve/data
lvconvert --type cache-pool --poolmetadata hybrid/meta_cachepool --chunksize 256 hybrid/cache
lvreduce lvremove, lvmraid, lvmthin, lvmcache
- PE(physical extent):
物理塊,是物理卷中可用于分配的最小存儲(chǔ)單元(本文采用默認(rèn)值4MiB),物理塊大小在建立卷組時(shí)指定,一旦確定不能更改,同一卷組所有物理卷的物理塊大小需一致,新的PV加入到VG后,PE的大小自動(dòng)更改為VG中定義的PE大小。
- LE(logical extent):
邏輯塊,是邏輯卷中可用于分配的最小存儲(chǔ)單元,邏輯塊的大小取決于邏輯卷所在卷組中的物理塊的大小。
- 常用的LVM部署命令:
| 功能/命令 | 物理卷管理 | 卷組管理 | 邏輯卷管理 |
|---|---|---|---|
| 掃描 | pvscan | vgscan | lvscan |
| 建立 | pvcreate | vgcreate | lvcreate |
| 顯示 | pvdisplay | vgdisplay | lvdisplay |
| 刪除 | pvremove | vgremove | lvremove |
| 擴(kuò)展 | vgextend | lvextend | |
| 縮小 | vgreduce | lvreduce |
操作范例
- 沒(méi)有邏輯卷時(shí)新加硬盤
#fdisk /dev/sdb //輸入g, n, w
#pvcreate /dev/sdb1 //創(chuàng)建物理卷
#vgcreate hdd /dev/sdb1 //創(chuàng)建名為hdd的卷組
//(沒(méi)有邏輯卷時(shí)用)用hdd卷組創(chuàng)建名為data的邏輯卷并分配全部空間
#lvcreate --name data -l 100%FREE hdd /dev/sdb1
- 以目錄方式掛載新盤
#mkfs.ext4 /dev/pve/data
mkdir /mnt/data
mount /dev/hdd/data /mnt/data
#添加系統(tǒng)啟動(dòng)掛載
nano /etc/fstab
/dev/hdd/data /mnt/data ext4 defaults 0 0
- 已有邏輯卷時(shí)新加硬盤
#fdisk /dev/sdb //輸入g, n, w
#pvcreate /dev/sdb1 //創(chuàng)建物理卷
#vgextend hdd /dev/sdb1 //將硬盤附加給卷組
//(已有邏輯卷時(shí)用)將卷組中所有剩余空間都分配給邏輯卷
#lvextend -rl +100%FREE /dev/hdd/data
//ext3、ext4專用
#resize2fs /dev/hdd/data
//xfs專用(xfs只能增加不能減少!!!不能減少!!!不能減少!!!)
#xfs_growfs /dev/hdd/data
//檢查文件系統(tǒng)是否有錯(cuò)誤
#e2fsck -f /dev/hdd/data
- 減少邏輯卷容量
lvreduce -L 80G /dev/hdd/data //將容量縮少到80G
- 從卷組中移除硬盤
# umount 目錄 //如果有掛載過(guò),需先卸載
# lvremove pve/data //先把邏輯組刪掉
# vgreduce pve /dev/sdb1 //刪掉卷組中的硬盤