1.什么是LVM

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间。普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方便地调整各个分区大小。

LVM(逻辑分区)的创建顺序:物理分区-物理卷-卷组-逻辑卷-挂载。

20160803164634261.jpg

物理卷(Physical Volume,PV):就是指硬盘分区,也可以是整个硬盘或已创建的软RAID,是LVM的基本存储设备。

卷组(Volume Group,VG):是由一个或多个物理卷所组成的存储池,在卷组上能创建一个或多个逻辑卷。

逻辑卷(Logical Volume,LV):他是Linux环境下对磁盘分区进行管理的一种机制。当逻辑分区放不下某些文件时,又不能夸分区来存放,逻辑卷可以在不停机的情况下方便调整各分区的大小。

2.创建物理分区

1.添加一块硬盘,查看设备号

fdisk -l

磁盘 /dev/sdb:10.7 GB

2.分区,分3个类型8e的1G的分区。

fdisk /dev/sdb

命令(输入 m 获取帮助):n

Select (default e): p

分区号 (1-4,默认 1):

起始 扇区 (2048-20971519,默认为 2048):

Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+1G

命令(输入 m 获取帮助):t

分区号 (1-3,默认 3):

Hex 代码(输入 L 列出所有代码):8e

命令(输入 m 获取帮助):p

命令(输入 m 获取帮助):w

更新分区表

partprobe

3.创建物理卷

就是把分期格式化成可以做LVM的格式的基础存储设备。

安装lvm命令

yum install -y lvm2

创建物理卷

pvcreate /dev/sdb1

pvcreate /dev/sdb2

pvcreate /dev/sdb3

查看物理卷

pvdisplay

删除物理卷(不执行此命令)

pvremove /etc/sdb1

4.创建卷组

把两个分区创建成一个卷组

vgcreate vg1 /dev/sdb1 /dev/sdb2

查看卷组

vgdisplay vg1

删除卷组(不执行此命令)

vgremove vg1

5.创建逻辑卷

把卷组中划分出来逻辑卷

划分一个100M  名字是lv1 的卷组

lvcreate -L 100M -n lv1 vg1

6.格式化并挂载

格式化

mkfs.ext4 /dev/vg1/lv1

mount /dev/vg1/lv1 /mnt/

df -h

/dev/mapper/vg1-lv1   93M  1.6M   85M    2% /mnt

测试

mkdir  /mnt/111

echo "1111" >   /mnt/111/1.txt

7.扩容逻辑卷

卸载逻辑卷

umount /mnt/

重新设置逻辑卷大小

lvresize -L 300M /dev/vg1/lv1

检查磁盘错误(EXT4)

e2fsck -f /dev/vg1/lv1

更新逻辑卷信息(EXT4)

resize2fs /dev/vg1/lv1

重新挂载逻辑卷

mount /dev/vg1/lv1 /mnt/

查看大小

df -h

/dev/mapper/vg1-lv1  287M  2.0M  266M    1% /mnt

xfs文件系统执行

xfs_growfs  /dev/vg1/lv1  

8.缩容逻辑卷

xfs文件系统不支持

先卸载逻辑卷挂载

umount /mnt/

检测磁盘信息

e2fsck -f /dev/vg1/lv1

更新逻辑卷信息,指定新的磁盘大小

resize2fs /dev/vg1/lv1 150M

重新设置逻辑卷的大小

lvresize -L 150M /dev/vg1/lv1

重新挂载逻辑卷

mount /dev/vg1/lv1 /mnt/

查看大小

df -h

/dev/mapper/vg1-lv1  142M  1.6M  130M    2% /mnt

9.扩容卷组

如果在卷组可用空间不够的情况下,是没办法给逻辑卷扩容的。

创建物理卷

pvcreate /dev/sdb3

扩容 vg1 卷组

vgextend vg1 /dev/sdb3

查看卷组大小

vgdisplay vg1