逻辑卷管理(LVM)概念
逻辑卷和逻辑卷管理有助于更加轻松的管理磁盘空间。如果托管逻辑卷的文件系统需要更多空间,可以将其卷组中的可用空间分配给逻辑卷,并且可以调整文件系统的大小。如果磁盘开始出现错误,可以将替换磁盘注册为物理卷放入卷组中,并且逻辑卷的区块可迁移到新磁盘。
LVM定义
物理设备
磁盘分区、RAID阵列、SAN磁盘
物理卷(PV)
将磁盘等物理设备初始化为物理卷。LVM工具会将物理卷划分为物理区块(PE),它们是充当物理卷上最小存储块的小块存储。
卷组(VG)
卷组是存储池,由一个或多个物理卷组成。它在功能上与基本存储中整个磁盘相当。一个PV只能分配一个VG。VG可以包含未使用的空间和任意数目的逻辑卷。
逻辑卷(LV)
逻辑卷根据卷组中的空闲物理区块创建,提供应用、用户和操作系统所使用存储设备。LV是逻辑区块(LE)的集合,LE映射到物理区块(PV的最小存储块)。默认情况下,每个LE将映射到一个PE。设置特定LV选项将会更改此映射;例如,镜像会导致每个LE映射到两个PE。
![]()
准备物理设备
parted -s /dev/vdb mkpart primary 1MiB 769MiB
parted -s /dev/vdb mkpart primary 770MiB 1026MiB
parted -s /dev/vdb set 1 lvm on
parted -s /dev/vdb set 2 lvm on
set 设置标记。更改指定分区编号的标志。标志通常有如下几种:boot hidden raid lvm 等。
boot 为引导分区,hidden 为隐藏分区,raid 软raid,lvm 为逻辑分区。
如:set 3 boot on 设置分区号3 为启动分区
创建物理卷
pvcreate /dev/vdb2 /dev/vdb1
将设备/dev/vdb2和/dev/vdb1 标记为PV,准备好分配到卷组中,
创建卷组
vgcreate vg01 /dev/vdb2 /dev/vdb1
将创建名为vg01的VG,它的大小是/dev/vdb2和/dev/vdb1这两个PV的大小之和(以PV单位计)
VG不存时才需要创建VG。存在扩展即可。
创建逻辑卷
lvcreate -n lv01 -L 700M vg01
lvm
1,添加新的物理磁盘
2,创建新的分区
3,创建PV
4,创建VG
5,创建LV
6,格式化LV,ext3,ext4等格式
7,挂载LV到指定目录
8,将挂载信息写入:/etc/fstab
操作前需要对新加的硬盘进行分区,分区类型要与当前使用的分区保持一致即可.
LVM逻辑卷管理
LVM逻辑卷是为了解决, 在分好区的情况下,解决文件系统空间问题。
/boot 分区不能基于逻辑卷,必顺独立出来。
创建LVM逻辑卷的基本步骤:
创建物理卷-创建卷组-创建逻辑卷-格式化文件系统-挂载使用
######################已有卷组扩容##########################
下面操作对root分区扩容,系统centos7,分区类型xfs,(相对的 xfs 就只允许增大)
1.首先要再创建一个物理分区
(使用parted /dev/sdc,主分区还是逻辑分区对此例子无所谓)
可以用parted -l命令来查看已有分区,新磁盘进行分区和格式化`
2.接下来创建sdc1分区,建为物理卷
pvcreate /dev/sdc1 #给的新磁盘分区创建物理卷
/dev/sdc1 #这个路径可以参照 pvdisplay这个命令中sda1的路径,一般都是在dev下。
3.为卷组centos添加新的物理卷sdc1来增大卷组的容量
vgdisplay #来查看卷组名称。
vgextend centos /dev/sdc1 #根分区的卷组为centos(centos7默认lvm分区卷组名)
4.现在才能扩展逻辑卷的大小
lvdisplay #查看逻辑卷绝对路径
lvextend -L +50G /dev/centos/root #给根分区扩容50G
lvextend -l +100%FREE /dev/centos/root #使用所有空间
*5.最后要使用resizefs2命令重新加载逻辑卷的大小才能生效.
resize2fs /dev/centos/root
如果不用这个命令的话,你会发现用df -h命令查看扩展的逻辑卷大小还是原来的值,没有发生变化。即使重启也不会变,所以一定要执行 resize2fs命令。
5. Centos7中xfs文件系统重新加载逻辑卷使用:
xfs_growfs /dev/mapper/centos-root
##########################没有物理卷和卷组的#####################
lvm管理命令
一,创建逻辑卷
pvsan (扫描系统中建立的物理卷)
pvcreate (sdb2,sdb3分区转换为逻辑卷)
pvcreate /dev/sdb2 /dev/sdb3
centos7提示:Device /dev/sdb excluded by a filter.
解决: dd if=/dev/urandom of=/dev/sdb bs=512 count=64
pvdisplay 查看物理卷详细信息
pvremove /dev/sdb5 将物理卷还原成分区或磁盘.
二,创建卷组
vgscan 查看当前系统中建立LVM卷组。
使用物理卷/dev/sdb5 /dev/sdb7 创建名为web_doc的卷组.
vgcreate 卷组名 /dev/sdb5 /dev/sdb7
vgremove 卷组名(删除卷组,删除卷组时保证卷组中没有正在使用的逻辑卷)
把新的物理卷添加到现有的组(现有的)
vgextend扩展,创建了新的物理卷,并需要交其添加到已有的卷组中。
vgextend 卷组名 /dev/sdb8
将物理卷"/dev/sdb8"从卷组"web_doc"中删除 (已有卷组的,然后第四、五步)
vgreduce 卷组名 /dev/sdb28
vgreduce --removemissing -v centos #从卷中删除所有丢失的物理卷
三,创建逻辑卷
查看系统中建立的逻辑卷
lvscan
在卷组中vg_sdb中建立一个容量为10G的逻辑卷,名称为lv_sdb。
lvcreate -l 100%VG -n lv_sdb vg_sdb
-l 代表从vg0中拿出全部空间来使用,-n代表lv的名称为lv_sdb, vg0是从vg0拿出空间
常用实例:
(1)创建一个指定大小的lv,并指定名字为lv_2
lvcreate -L 2G -n 逻辑卷名 卷组名
(2)创建一个占全部卷组大小的lv,并指定名字为lv_3(注意前提是vg并没有创建有lv)
lvcreate -l 100%VG -n 逻辑卷名 卷组名
(3)创建一个空闲空间80%大小的lv,并指定名字为lv_4(常用)
lvcreate -l 80%Free -n 逻辑卷名 卷组名
格式化逻辑卷并使用
mkfs -t xfs /dev/web_doc/benet
mount /dev/web_doc/benet /opt
四,动态扩展
lvextend用于动态扩展逻辑卷的空间,当目前使用的逻辑卷空间不足时,可以从所在组中分割额外的空间进行扩展。
lvextend -L +1G /dev/centos/root ## 这里就可以给根分区增加1G空间
lvremove /dev/web_doc/benet(删除逻辑卷)
五,更新大小
(第一次做lvm不用,后面扩容需要更新空间大小)
centos7中xfs文件系统使用:
xfs_growfs /dev/mapper/centos-root
其他文件系统:
resize2fs /dev/web_doc/benet