物理卷 -- Physical Volume -- PV安全
卷组 -- Volume Group -- VG架构
逻辑卷 -- Logical Volume -- LV布局
一、硬盘设备管理技术虽然可以有效的提升硬盘设备的读写速度以及数据的安全性,可是在硬盘分好区或者部署为 RAID 的磁盘阵列以后,再想修改硬盘分区大小就不容易了。当用户想要随着实际需求的变化调整硬盘分区的大小时,会受到硬盘“灵活性”的限制,这是须要用到另外一一项很是普及的硬盘设备资源管理技术——LVM(逻辑卷管理器),LVM 能够容许用户对硬盘资源进行动态调整。spa
二、逻辑卷管理器是Linux系统用于对硬盘分区进行管理的一种机制,其建立的初衷是为了解决硬盘设备在建立分区后不易修改分区大小的缺陷。尽管对系统的硬盘分区进行强制扩容或缩容从理论上讲师可行的,可是却可能形成数据的丢失。而LVM技术是在硬盘分区和文件系统之间添加了一个逻辑层,它提供了一个抽象的卷组,能够把多块硬盘进行卷组合并,由此用户没必要关心物理硬盘设备的底层架构和布局就能够实现对硬盘分区的动态调整。3d
三、经常使用LVM部署命令code
功能/命令 物理卷管理 卷组管理 逻辑卷管理blog
扫描 pvscan vgscan lvscan资源
创建 pvcreate vgcreate lvcreaterem
显示 pvdisplay vgdisplay lvdisplay部署
删除 pvremove vgremove lvremove
扩展 vgextend lvextend
缩小 vgreduce lvreduce
四、环境准备。添加两块新硬盘。
对这两块硬盘进行建立物理卷的操做能够理解成让硬盘设备支持LVM技术或把硬盘设备加入到LVM技术可用的硬件资源池中,而后对这两块硬盘进行卷组合并,卷组的名称能够由用户自定义。
把合并后的卷组切割出一个 150 MB的逻辑卷设备,把这个逻辑卷设备格式化成 ext4 文件系统后挂载使用。
五、LVM技术部署
(1)让新添加的两块硬盘设备支持LVM 技术。
pvcreate /dev/sdb /dev/sdc
(2)把两块硬盘设备加入到 storage 卷组中。
vgcreate storage /dev/sdb /dev/sdc
(3)查看卷组的状态。
vgdisplay
(4)切割出一个约为 150MB 的逻辑卷设备。
注意:切割单位的问题,在对逻辑卷进行切割时有两种计量单位。第一种是以容量为单位,所使用的的参数为-L。例如,使用 -L 150M 生成一个大小为150MB的逻辑卷,另一种是以基本单元的个数为单位,所使用的参数为 -l 。每一个基本单元的大小默认为 4MB。例如,使用 -l 37 能够生成一个大小为 37 ×4MB=148MB 的逻辑卷。
lvcreate -n lv -L 150M storage
# -n 表示指定名字 -L 指定逻辑卷的大小
(5)将生成好的逻辑卷进行格式化,而后挂载使用。
mkfs.ext4 /dev/storage/lv
/dev/sdb 和 dev/sdc 作卷组 storage,新生成的卷组为 /dev/storage,从/dev/storage 卷组中切割出逻辑卷lv,lv所在位置 /dev/storage/lv。
(6)挂载,查看挂载状态。
mkdir /lvm mount /dev/storage/lv /lvm
df -h
(7)写入到配置文件中永久生效。
echo "/dev/storage/lv /lvm ext4 default 0 0">> /etc/fstab
六、扩容逻辑卷
只要卷组中有足够的资源,就能够一直为逻辑卷扩容。扩容前必定要记得卸载设备和挂载点的关联。
umount /lvm
(1)将逻辑卷的 lv 扩展至 290MB
lvextend -L 290M /dev/storage/lv
(2)检查硬盘完整性
e2fsck -f /dev/storage/lv
(3)重置硬盘容量
resize2fs /dev/storage/lv
(4)从新挂载并查看。
逻辑卷的容量已经改变。
七、缩小逻辑卷
相较于扩容逻辑卷,缩容逻辑卷丢失数据的风险更大。对逻辑卷进行缩容以前,要先检查文件系统的完整性(为了保证数据安全),在执行缩容操做前要先把文件系统卸载。
umount /lvm
(1)检查文件系统的完整性
e2fsck -f /dev/storage/lv
(2)把逻辑卷 lv 的容量减少到 120MB
resize2fs /dev/storage/lv 120M
lvreduce -L 120M /dev/storage/lv
(3)从新挂载文件系统并查看系统状态
mount /dev/storage/lv /lvm
df -h