常见缩写和中文含义
- PE(physical Extend) 物理扩展块
- PV(physical volume) 物理卷
- VG(volume group) 卷组
- LV(logical volume) 逻辑卷
the flowing gray parts ref from this blog
PV (Physical Volume)实体滚动条
PV 是LVM最基本的物理组成部分,利用fdisk命令把实际的partition转化成8e的系统格式,然后利用指令pvcreate把partition变成能够利用的physical volume。
PE (Physical Extend)实体延伸区块
PE是LVM最小的存储单位,一般为4MB大小,它是构成VG的基本单位,PE对于VG来说就如block对于分区来讲,它是存储数据的单元。而pe的大小并不是固定的,而是可以变化的,所以pe决定了LVM的灵活性,即能扩增,也能缩减。
VG (Volume Group)滚动条群组
VG,说的简单些就如我们使用的磁盘,是可以进行分区的,对于LVM上面的文件系统而言,VG就是一个大磁盘。文件系统时看不到LVM下面的组成部分的,它只管使用,而LVM则负责管理下面的组成储存块。
LV (Logical Volume)逻辑滚动条
LV就是VG切成的类似于分区的东西啦,我们可以用格式化,挂载使用啦,但是LV是VG切割成的,而VG又是有数量众多的PE组成,所以LV的大小取决于LV所包含的PE的数量的多少。
一、创建LVM,并使用LV
- 将物理磁盘设备初始化为物理卷
pvcreate /dev/sdb /dev/sdc
- 创建卷组,并将PV 加入其中
vgcreate linuxcast /dev/sdb /dev/sdc
- 基于卷组创建逻辑卷
lvcreate -n mylv -L 2G linuxcast
- 为创建好的逻辑卷创建文件系统
mkfs.ext4 /dev/linuxcast/mylv
- 将格式化好的逻辑卷挂载使用(像普通磁盘一样挂载)
mount /dev/llinuxcast/mylv /mnt
二、删除LVM(一定要按这样的顺序)
- 删除LV 逻辑卷
lvremove /dev/linuxcast/mylv
- 删除VG 卷组
vgremove linuxcast
- 删除PV 物理卷
pvremove /dev/sdb
三、拉伸一个逻辑卷(逻辑卷的拉伸操作可以在线执行,不需要卸载逻辑卷)
0.保证VG中有足够的空闲空间
vgdisplay
1.扩充逻辑卷
lvextend -L +1G /dev/linuxcastt/mylv
8.查看扩充后LV大小
Lvdisplay
3.更新文件系统
resize2fs /dev/linuxcast/mylv
4 看更新后的文件系统
df -h
五、缩小一个逻辑卷
逻辑卷的缩小操作必须离线执行,要卸载逻辑卷
0.卸载已挂载的逻辑卷
umount /dev/linuxcast/mylv
1.缩小文件系统(会提示需要运行fsck检查文件系统)
resize2fs /dev/linuxcast/mylv 1G
2.缩小LV
lvreduce -L -1G /dev/linuxcast/mylv
3.查看缩小后的LV
Lvdisplay
4.挂载
mount /dev/linuxcast/mylv /mnt
四、拉伸一个卷组
0.将要添加到VG 的硬盘格式化为PV
Pvcreate /dev/sdd
1.将新的PV添加到指定卷组中
vgextend linuxcast /dev/sdd
2.查看扩充后VG的大小
Vgdisplay
六、缩小一个卷组
0.将一个PV从指定卷组中移除
vgreduce linuxcast /dev/sdd
1.查看缩小后的卷组大小
vgdisplay
# /dev/vgname/lvname 卷组,逻辑卷的关系
遇到的问题和对应的解决方案
*/dev/sda 之前是lvm的磁盘,重装系统后没有删除其上的文件系统,再次使用 pvcreate /dev/sda 的时候报错
Device /dev/sda excluded by a filter.
解决方案
sudo wipefs -a /dev/sdd
下面是我搜到的解决方案的来源,
来自blog
LVM: DEVICE /DEV/SDX EXCLUDED BY FILTER
If you have created a new VD using a disk or group of disks that were previously partitioned, you may see a message like this when you try to initialize the virtual disk for LVM.pvcreate /dev/sdd
Device /dev/sdd excluded by a filter.
If filter is correct (/etc/lvm/lvm.conf) and old partition table information found on the disk, you can wipe out the old partition information with "wipefs".# wipefs -a /dev/sdd
/dev/sdd: 2 bytes were erased at offset 0x000001fe (dos): 55 aa
/dev/sdd: calling ioclt to re-read partition table: Success
Now, try pvcreate command again.# pvcreate /dev/sdd Physical volume "/dev/sdd" successfully created.