LVM逻辑卷、卷组的新建及调整
LVM逻辑卷练习:关闭虚拟机,添加一场80G 的硬盘,划分3个主分区,1个扩展分区,3个逻辑分区,每个分区10G 传统分区的局限性:1)分区容量调整不方便 2)单个分区的总大小有限LVM逻辑卷(Logical Volume Manager):1)整合分散的空间,化零为整,把很多小分区/磁盘合并成一个大磁盘(虚拟磁盘,卷组)2)动态伸缩,从卷...
LVM逻辑卷
练习:关闭虚拟机,添加一场80G 的硬盘,划分3个主分区,1个扩展分区,3个逻辑分区,每个分区10G
传统分区的局限性:1)分区容量调整不方便
2)单个分区的总大小有限
LVM逻辑卷(Logical Volume Manager):
1)整合分散的空间,化零为整,把很多小分区/磁盘合并成一个大磁盘(虚拟磁盘,卷组)
2)动态伸缩,从卷组里划分逻辑定义的存储空间(虚拟分区,逻辑卷)
工作中千万不要进行空间缩减,可能会造成文件损坏。
识别硬盘 --> 分区 --> LVM管理…--> 格式化 --> 挂载
新建逻辑卷
LVM工作方式:在“分区--->格式化”中间增加的一个逻辑层
多个空闲存储(物理卷PV)--->整合的虚拟磁盘(卷组VG)--->虚拟的分区(逻辑卷LV)
面粉---------->大面团-------->小面团-------->蒸------->馒头
砖------------>楼层--------->划分空间--------->装修----->入住
** 逻辑分区的大小可以根据需要扩大、缩减
** /boot 用来存放引导文件,不能使用LVM逻辑卷(启动时会找不到内核)
Ø 物理卷(Physical Volume):零散的空闲存储
由PE(Physical Extent,基本单元)组成 【PE默认4MB】
Ø 卷组(Volume Group):由一个或多个物理卷整合而成的虚拟磁盘
Ø 逻辑卷(Logical Volume):由卷组分出来的一块逻辑存储空间(虚拟分区)
经过格式化可以建立文件系统
将多个PV(物理卷)组成VG(卷组),再从卷组中划分出LV(逻辑卷)
逻辑卷设备的路径:/dev/卷组名/逻辑卷名
LVM管理工具集
功能 | 物理卷管理(PV) | 卷组管理(VG) | 逻辑卷管理(LV) |
Scan扫描 | pvscan | vgscan | lvscan |
Create创建 | pvcreate | vgcreate | lvcreate |
Display显示 | pvdisplay | vgdisplay | lvdisplay |
Remove删除 | pvremove | vgremove | lvremove |
Extend扩展 | / | vgextend | lvextend |
reduce |
| vgreduce | lvreduce |
图形化管理工具: system-config-lvm
LVM快速部署及使用
基本思路:准备至少一个空闲分区(/dev/vdc[1-2])
1)建立物理卷
fdisk 分区 ... 【类型 8e】
partprobe 磁盘设备 【更新分区表】
pvcreate 设备名
2)创建卷组:vgcreate 卷组名 空闲分区...
或 vgcreate -s pe大小 卷组名 空闲分区...
[root@server0 ~]# vgcreate stuvg /dev/vdc[1-2]
3)创建逻辑卷:lvcreate -L 大小 -n 逻辑卷名 卷组名
或 lvcreate -l PE个数 -n 逻辑卷名 卷组名
** -L 磁盘容量(MB、GB、TB)
** 建好的逻辑卷设备位于:/dev/卷组名/逻辑卷名
[root@server0 ~]# lvcreate -L 16G -n mylv stuvg
[root@server0 ~]# lvs //确认结果
4)mkfs 格式化 --> mount 挂载逻辑卷的设备文件
[root@server0 ~]# ll /dev/stuvg/mylv //为快捷方式
lrwxrwxrwx. 1 root root 7 8月 22 15:01 /dev/stuvg/mylv -> ../dm-0
[root@server0 ~]# mkfs.ext4 /dev/stuvg/mylv //格式化逻辑卷
[root@server0 ~]# mkdir /mylvm
[root@server0 ~]# vim /etc/fstab
/dev/stuvg/mylv /mylvm ext4 defaults 0 0
[root@server0 ~]# df -h |grep mylvm //无显示
[root@server0 ~]# mount -a //检测,无报错
[root@server0 ~]# df -h |grep mylvm
/dev/mapper/stuvg-mylv 16G 45M 15G 1% /mylvm
[root@server0 ~]# ll /dev/mapper/stuvg-mylv //为快捷方式
lrwxrwxrwx. 1 root root 7 8月 22 15:02 /dev/mapper/stuvg-mylv -> ../dm-0
###############################################################################
案例2:新建一个逻辑卷
使用分区 /dev/vdb1 :新建一个名为 systemvg 的卷组; 在此卷组中创建一个名为 vo 的逻辑卷,大小为180MiB; 将逻辑卷 vo 格式化为 EXT4 文件系统; 将逻辑卷 vo 挂载到 /vo 目录,并在此目录下建立一个测试文件 votest.txt,内容为“I AM KING.”
步骤一:创建卷组
1)新建名为systemvg的卷组
[root@server0 ~]# vgcreate systemvg /dev/vdb1
Physical volume "/dev/vdb1" successfully created
Volume group "systemvg" successfully created
2)确认结果
[root@server0 ~]# vgscan //也可以用vgs命令确认结果
Reading all physical volumes. This may take a while...
Found volume group "systemvg" using metadata type lvm2
步骤二:创建逻辑卷
1)新建名为vo的逻辑卷
[root@server0 ~]# lvcreate -L 180MiB -n vo systemvg
Logical volume "vo" created
2)确认结果
[root@server0 ~]# lvscan
ACTIVE '/dev/systemvg/vo' [180.00 MiB] inherit
步骤三:格式化及挂载使用
1)格式化逻辑卷/dev/systemvg/vo
[root@server0 ~]# mkfs.ext4 /dev/systemvg/vo
2)完成开机自动挂载逻辑卷/dev/systemvg/vo
[root@server0 ~]# vim /etc/fstab
/dev/systemvg/vo /lvm ext4 defaults 0 0 再思考一下,是否有誤
[root@server0 ~]# mkdir /vo //创建挂载点
[root@server0 ~]# mount /dev/systemvg/vo /vo //挂载
也可用命令mount -a
[root@server0 ~]# df -hT /vo/ //检查结果
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/systemvg-vo ext4 171M 1.6M 157M 1% /vo
3)访问逻辑卷/dev/systemvg/vo
[root@server0 ~]# cat /vo/votest.txt
I AM KING.
步骤四:挂载
###############################################################################
LVM卷组的PE大小
PE,Physical Extent,物理扩展单元,卷组划分空间的单位 4M
Ø 创建卷组的时候设置PE大小
格式:vgcreate -s PE大小 卷组名 空闲分区…
例:vgcreate -s 16M datastore /dev/vdb6
Ø 创建逻辑卷的时候指定PE个数
格式:lvcreate -l 指定PE的个数 -n 逻辑卷名 卷组名
例:lvcreate -l 50 -n database datastore
[root@server0 ~]# vgchange -s 2M systemvg #修改PE的大小
[root@server0 ~]# vgdisplay systemvg #显示卷组的详细信息
[root@server0 ~]# lvcreate -l 50 -n test02 systemvg
[root@server0 ~]# lvs
使用lvscan命令检查逻辑卷的大小,卷组名 lvscan | grep 逻辑卷名
创建卷组时,可以通过-s选项指定PE的大小。
在给新建的逻辑卷分配空间时,空间大小只能是PE大小的倍数。
报错:Insufficient free space —— 剩余空间不足
resize2fs时提示:先执行 e2fsck -f /dev/systemvg/vo ...
原因:当文件系统未正常关闭、缓存未全部写入文件系统,需要filesystem check
############################################################
案例3:调整现有磁盘的分区
应用需求
硬盘/dev/vdb剩余空间的分区调整
MBR分区模式,已有三个主分区/dev/vdb[1-3]
需要新增三个分区/dev/vdb[5-7],分区大小依次为:500MiB、2000MiB、512MiB
分别用于后续的逻辑卷扩展、新逻辑卷、交换分区
调整现有磁盘分区
需要注意的事项:分区数量3+3>4,需要建扩展分区
将所有的剩余空间分配给新建的扩展分区
从扩展分区中再新建3个逻辑分区
不要动原有分区、保存更改后reboot以刷新分区表
然后再基于刚建立的 2000MiB 分区构建新的 LVM 存储:
新的逻辑卷命名为 database,大小为50个物理扩展单元(Physical Extent),属于 datastore 卷组; 在 datastore 卷组中的所有逻辑卷,其物理扩展单元(Physical Extent)的大小为16MiB; 使用 EXT3 文件系统对逻辑卷 database 格式化,此逻辑卷应该在开机时自动挂载到 /mnt/database 目录
步骤一:调整现有磁盘分区
1)新建扩展分区(使用剩余可用空间)
p 确认原有分区表--->n新建分区--->e类型指定为e(扩展分区),只一个可用编号,自动选取--->起始位置默认回车--->结束位置默认回车--->p确认现有分区表
2)在扩展分区中新建3个逻辑分区
创建第1个逻辑卷(由于主分区编号已用完,分区类型自动选l逻辑分区):
n ,分区编号5--->起始位置默认--->+500M ,结束位置默认
n,分区编号6--->起始位置默认--->+2000M ,结束位置默认
n,分区编号6--->起始位置默认--->+512M ,结束位置默认
根据预计的用途调整分区类型(可选):
t,修改,--->5,第5个分区 --->8e,类型为8e(LVM)
t,修改,--->6,第6个分区 --->8e,类型为8e(LVM)
t,修改,--->7,第7个分区 --->82,类型为82(交换分区)
确认分区结果并保存:
p--->w保存退出--->提示重启
3)刷新分区表
[root@server0 ~]# partprobe /dev/vdb
[root@server0 ~]# reboot
步骤二:新建卷组、逻辑卷
1)新建卷组datastore,指定PE大小为16MiB
[root@server0 ~]# vgcreate -s 16MiB datastore /dev/vdb6
Physical volume "/dev/vdb6" successfully created
Volume group "datastore" successfully created
[root@server0 ~]# vgscan //确认新建的卷组
Reading all physical volumes. This may take a while...
Found volume group "datastore" using metadata type lvm2
2)新建逻辑卷database,大小设置为50个PE
[root@server0 ~]# lvcreate -l 50 -n database datastore
Logical volume "database" created
[root@server0 ~]# lvscan //确认新建的逻辑卷
ACTIVE '/dev/datastore/database' [800.00 MiB] inherit
步骤三:格式化及使用逻辑卷
1)格式化逻辑卷/dev/datastore/database
[root@server0 ~]# mkfs.ext3 /dev/datastore/database
.. ..
Writing superblocks and filesystem accounting information: done
2)配置开机挂载
[root@server0 ~]# mkdir /mnt/database //创建挂载点
[root@server0 ~]# vim /etc/fstab
.. ..
/dev/datastore/database /mnt/database ext3 defaults 0 0
3)验证挂载配置
[root@server0 ~]# mount -a
[root@server0 ~]# df -hT /mnt/database/ //确认挂载点设备
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/datastore-database ext3 772M 828K 715M 1% /mnt/database
###############################################################################
扩展逻辑卷大小
检查现有逻辑卷大小
Ø 使用lvscan命令,找到逻辑卷的大小、卷组名
#lvscan | grep mylv
Ø 检查所在卷组的剩余空间,看是否满足扩展的需要
vgdisplay 卷组名 | grep Free
扩展卷组:当卷组的剩余空间不足时,需要先扩展卷组
vgextend 现有卷组名 要添加的空闲分区…
扩展逻辑卷:当卷组的剩余空间充足时,可直接扩展逻辑卷
lvextend -L 扩展后的空间新大小 /dev/卷组名/逻辑卷名
或者 lvextend -L +大小 /dev/卷组名/逻辑卷名
或者 lvextend -l +PE个数 /dev/卷组名/逻辑卷名
例:lvextend -L 300M /dev/systemvg/vo
识别调整后的逻辑卷容量:
对于已经格式化好的逻辑卷,在扩展大小以后,必须通知内核新大小。
否则,使用df工具时看到的仍然是旧大小
需要刷新文件系统容量: EXT3/4格式的设备:resize2fs /dev/卷组名/逻辑卷名
XFS格式的设备:xfs_growfs /dev/卷组名/逻辑卷名
df -hT 挂载点
######################################
一、卷组有足够的剩余空间
1.直接扩展逻辑卷空间
[root@server0 ~]# vgs
[root@server0 ~]# lvs
[root@server0 ~]# lvextend -L 18G /dev/stuvg/mylv
Extending logical volume mylv to 18.00 GiB
Logical volume mylv successfully resized
[root@server0 ~]# lvs
[root@server0 ~]# vgs
2.文件系统的扩展,刷新设备文件系统
[root@server0 ~]# df -h | grep mylvm
/dev/mapper/stuvg-mylv 16G 45M 15G 1% /mylvm
[root@server0 ~]# resize2fs /dev/stuvg/mylv
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/stuvg/mylv is mounted on /mylvm; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 3
The filesystem on /dev/stuvg/mylv is now 4718592 blocks long.
[root@server0 ~]# df -h | grep mylvm
/dev/mapper/stuvg-mylv 18G 44M 17G 1% /mylvm
二、卷组没有足够的剩余空间
1.首先扩展卷组
[root@server0 ~]# vgs
[root@server0 ~]# vgextend stuvg /dev/vdc3
Physical volume "/dev/vdc3" successfully created
Volume group "stuvg" successfully extended
[root@server0 ~]# vgs
2.扩展逻辑卷空间
[root@server0 ~]# vgs
[root@server0 ~]# lvs
[root@server0 ~]# lvextend -L 25G /dev/stuvg/mylv
Extending logical volume mylv to 25.00 GiB
Logical volume mylv successfully resized
[root@server0 ~]# lvs
[root@server0 ~]# vgs
3.刷新扩展文件系统
[root@server0 ~]# df -h | grep mylvm
[root@server0 ~]# resize2fs /dev/stuvg/mylv
Filesystem at /dev/stuvg/mylv is mounted on /mylvm; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 4
The filesystem on /dev/stuvg/mylv is now 6553600 blocks long.
[root@server0 ~]# df -h | grep mylvm
#######################################
案例4:扩展逻辑卷的大小
将逻辑卷 vo 的大小调整为 300MiB,要求如下:
原文件系统中的内容必须保持完整
必要时可使用之前准备的分区 /dev/vdb5 来补充空间
注意:分区大小很少能完全符合要求的大小,所以大小在270MiB和300MiB之间都是可以接受的
步骤一:确认逻辑卷vo的信息
1)找出逻辑卷所在卷组
[root@server0 ~]# lvscan
ACTIVE '/dev/systemvg/vo' [180.00 MiB] inherit
ACTIVE '/dev/datastore/database' [800.00 MiB] inherit
2)查看该卷组的剩余空间是否可满足扩展需要
[root@server0 ~]# vgdisplay systemvg
……
VG Size 196.00 MiB //卷组总大小
PE Size 4.00 MiB
Total PE 49
Alloc PE / Size 45 / 180.00 MiB
Free PE / Size 4 / 16.00 MiB //剩余空间大小
VG UUID czp8IJ-jihS-Ddoh-ny38-j521-5X8J-gqQfUN
此例中卷组systemvg的总大小都不够300MiB、剩余空间才16MiB,因此必须先扩展卷组。只有剩余空间足够,才可以直接扩展逻辑卷大小。
步骤二:扩展卷组
1)将提前准备的分区/dev/vdb5添加到卷组systemvg
[root@server0 ~]# vgextend systemvg /dev/vdb5
Physical volume "/dev/vdb5" successfully created
Volume group "systemvg" successfully extended
2)确认卷组新的大小
[root@server0 ~]# vgdisplay systemvg
……
VG Size 692.00 MiB //总大小已变大
PE Size 4.00 MiB
Total PE 173
Alloc PE / Size 45 / 180.00 MiB
Free PE / Size 128 / 512.00 MiB //剩余空间已达512MiB
VG UUID czp8IJ-jihS-Ddoh-ny38-j521-5X8J-gqQfUN
步骤三:扩展逻辑卷大小
1)将逻辑卷/dev/systemvg/vo的大小调整为300MiB
[root@server0 ~]# lvextend -L 300MiB /dev/systemvg/vo
Extending logical volume vo to 300.00 MiB
Logical volume vo successfully resized
2)确认调整结果
[root@server0 ~]# lvscan
ACTIVE '/dev/systemvg/vo' [300.00 MiB] inherit
ACTIVE '/dev/datastore/database' [800.00 MiB] inherit
3)刷新文件系统大小
确认逻辑卷vo上的文件系统类型:
[root@server0 ~]# blkid /dev/systemvg/vo
/dev/systemvg/vo: UUID="d4038749-74c3-4963-a267-94675082a48a" TYPE="ext4"
选择合适的工具刷新大小:
[root@server0 ~]# resize2fs /dev/systemvg/vo #通知内核新容量
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/systemvg/vo to 307200 (1k) blocks.
The filesystem on /dev/systemvg/vo is now 307200 blocks long.
确认新大小(约等于300MiB):
[root@server0 ~]# mount /dev/systemvg/vo /vo/
[root@server0 ~]# df -hT /vo
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/systemvg-vo ext4 287M 2.1M 266M 1% /vo
###############################################################################
更多推荐
所有评论(0)