LVM基础概念
- PD(physical Disk):
物理磁盘,如硬盘,或RAID硬盘。
- PP(physical partition):
物理分区,如硬盘的分区,或RAID硬盘的分区。
- PV(physical volume):
物理卷,在逻辑卷管理系统最底层,可为整个物理硬盘或实际物理硬盘上的分区,一般一个PV对应一个PP
命令范例:
pvcreate /dev/sdb1
pvdisplay
- VG(volume group):
卷组,建立在物理卷上,每个卷组中至少要包括一物理卷,卷组建立后可动态的添加卷到卷组中,一个逻辑卷管理系统工程中可有多个卷组。
命令范例:
#vgextend pve /dev/sdb1
#vgreduce //从vg中移除pv
#vgremove //移除vg
- LV(logical volume):
逻辑卷,建立在卷组基础上,卷组中未分配空间可用于建立新的逻辑卷,逻辑卷建立后可以动态扩展和缩小空间。
命令范例:
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):
物理块,是物理卷中可用于分配的最小存储单元(本文采用默认值4MiB),物理块大小在建立卷组时指定,一旦确定不能更改,同一卷组所有物理卷的物理块大小需一致,新的PV加入到VG后,PE的大小自动更改为VG中定义的PE大小。
- LE(logical extent):
逻辑块,是逻辑卷中可用于分配的最小存储单元,逻辑块的大小取决于逻辑卷所在卷组中的物理块的大小。
功能/命令 |
物理卷管理 |
卷组管理 |
逻辑卷管理 |
扫描 |
pvscan |
vgscan |
lvscan |
建立 |
pvcreate |
vgcreate |
lvcreate |
显示 |
pvdisplay |
vgdisplay |
lvdisplay |
删除 |
pvremove |
vgremove |
lvremove |
扩展 |
|
vgextend |
lvextend |
缩小 |
|
vgreduce |
lvreduce |
操作范例
#fdisk /dev/sdb //输入g, n, w
#pvcreate /dev/sdb1 //创建物理卷
#vgcreate hdd /dev/sdb1 //创建名为hdd的卷组
//(没有逻辑卷时用)用hdd卷组创建名为data的逻辑卷并分配全部空间
#lvcreate --name data -l 100%FREE hdd /dev/sdb1
#mkfs.ext4 /dev/pve/data
mkdir /mnt/data
mount /dev/hdd/data /mnt/data
#添加系统启动挂载
nano /etc/fstab
/dev/hdd/data /mnt/data ext4 defaults 0 0
#fdisk /dev/sdb //输入g, n, w
#pvcreate /dev/sdb1 //创建物理卷
#vgextend hdd /dev/sdb1 //将硬盘附加给卷组
//(已有逻辑卷时用)将卷组中所有剩余空间都分配给逻辑卷
#lvextend -rl +100%FREE /dev/hdd/data
//ext3、ext4专用
#resize2fs /dev/hdd/data
//xfs专用(xfs只能增加不能减少!!!不能减少!!!不能减少!!!)
#xfs_growfs /dev/hdd/data
//检查文件系统是否有错误
#e2fsck -f /dev/hdd/data
lvreduce -L 80G /dev/hdd/data //将容量缩少到80G
# umount 目录 //如果有挂载过,需先卸载
# lvremove pve/data //先把逻辑组删掉
# vgreduce pve /dev/sdb1 //删掉卷组中的硬盘