文件系统之LVM 逻辑卷管理
1、 LVM介绍
LVM 是 Logical Volume Manager 的简称,中文就是逻辑卷管理。
- 物理卷(PV,Physical Volume):就是真正的物理硬盘或分区。
- 卷组(VG,Volume Group):将多个物理卷合起来就组成了卷组,组成同一个卷组的物理卷 可以是同一个硬盘的不同分区,也可以是不同硬盘上的不同分区。我们可以把卷组想象为一 个逻辑硬盘
- 逻辑卷(LV,Logical Volume):卷组是一个逻辑硬盘,硬盘必须分区之后才能使用,这个分区我们称作逻辑卷。逻辑卷可以格式化和写入数据。我们可以把逻辑卷想象成
为分区。 - 物理扩展(PE,Physical Extend):PE 是用来保存数据的最小单元,我们的数据实际上都 是写入 PE 当中,PE 的大小是可以配置的,默认是 4MB。
2、建立 LVM 的步骤
- 首先需要把物理硬盘分成分区,当然也可以是整块物理硬盘。
- 然后把物理分区建立成为物理卷(PV),也可以直接把整块硬盘都建立为物理卷。
- 接下来把物理卷整合成为卷组(VG)。卷组就已经可以动态的调整大小了,可以把物理分区加入卷组,也可以把物理分区从卷组中删除。
- 最后就是把卷组再划分成为逻辑卷(LV),当然逻辑卷也是可以直接调整大小的。我们说逻 辑卷可以想象成为分区,所以也需要格式化和挂载。
3、物理卷管理
1、分区
创建方式就是使用 fdisk 交互命令,不过需要注意的是分区的系统 ID 不再是 Linux 默认的分区 ID 号 83 了,而要改成 LVM 的 ID 号 8e
Device Boot Start End Blocks Id System /dev/sdb1 2048 10487807 5242880 8e Linux LVM /dev/sdb2 10487808 14682111 2097152 8e Linux LVM /dev/sdb3 14682112 20973567 3145728 8e Linux LVM
建立PV
建立物理卷时,我们说即可以把整块硬盘都建立成物理卷,也可以把某个分区建立成物理卷。如果要把整块硬盘都建立成物理卷,命令如下
[ ~]# pvcreate [设备文件名] [ ~]# pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created. [ ~]# pvcreate /dev/sdb2 Physical volume "/dev/sdb2" successfully created. [ ~]# pvcreate /dev/sdb3 Physical volume "/dev/sdb3" successfully created. 或者 [ ~]# pvcreate /dev/sdb
查询PV
1)pvscan [ ~]# pvscan PV /dev/sdb3 lvm2 [3.00 GiB] PV /dev/sdb2 lvm2 [2.00 GiB] PV /dev/sdb1 lvm2 [5.00 GiB] Total: 4 [<29.00 GiB] / in use: 1 [<19.00 GiB] / in no VG: 3 [10.00 GiB] 2)pvdisplay "/dev/sdb1" is a new physical volume of "5.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb1 物理卷名 VG Name 所属卷组名 PV Size 5.00 GiB 物理卷大小 Allocatable NO 是否已经分配 PE Size 0 PE大小 Total PE 0 总共PE Free PE 0 空闲PE数 Allocated PE 0 可分配PE PV UUID 3TGUYI-7y28-ilGh-uNus-FJfZ-3mn2-a1E2MM UUID
4)删除物理卷
[ ~]# pvremove /dev/sdb3
4、卷组管理
1、建立卷组
[ ~]# vgcreate [选项] 卷组名 物理卷名 选项: -s PE 大小:指定 PE 的大小,单位可以是 MB,GB,TB 等。如果不写默认 PE 大小事 4MB
我们有三个物理卷/dev/sdb1-3,我们先把/dev/sdb1 和/dev/sdb2 加入卷组,留着/dev/sdb3 进行调整卷组大小实验
[ ~]# vgcreate -s 2Mb vg1 /dev/sb1 /dev/sdb2
2、查看卷组
1)vgscan [ ~]# vgscan Reading volume groups from cache. Found volume group "vg1" using metadata type lvm2 2)vgdisplay [ ~]# vgdisplay --- Volume group --- VG Name vg1 卷组名 System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 1 VG Access read/write 卷组访问权限 VG Status resizable 卷组访问状态 MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 2 当前物理卷数目 Act PV 2 VG Size <7.00 GiB 卷组大小 PE Size 2.00 MiB PE大小 Total PE 3582 总共PE数 Alloc PE / Size 0 / 0 Free PE / Size 3582 / <7.00 GiB 空闲PE数 VG UUID nffn4l-fnbY-n6ar-zy7v-PgKP-guw2-TTTOHz
3、删除卷组
[ ~]# vgremove vg1
4、增加卷组容量
[ ~]# vgextend vg1 /dev/sdb3 Volume group "vg1" successfully extended
5、减少卷组容量
[ ~]# vgreduce vg1 /dev/sdb3 Removed "/dev/sdb3" from volume group "vg1"
5、逻辑卷管理
1、建立逻辑卷
[ ~]# lvcreate [选项] [-n 逻辑卷名] 卷组名 选项: -L 容量:指定逻辑卷大小,单位 MB,GB,TB 等 -l 个数:按照 PE 个数指定逻辑卷大小 -n 逻辑卷名:指定逻辑卷名 #建立一个2G的逻辑卷 [ ~]# lvcreate -L 2G -n lv1 vg1 Logical volume "lv1" created.
vg1 卷组中建立 2GB 的 lv1逻辑卷之后,还要格式化和挂载之后逻辑卷才能正常使用。格式化和挂载命令和操作普通 分区时是一样的,不过需要注意的是逻辑卷的设备文件名是/dev/卷组名/逻辑卷名,
例子:
[ ~]# mkfs.ext4 /dev/vg1/lv1 # 格式化,建立文件系统 [ ~]# mkdir /lv1 && mount /dev/vg1/lv1 /lv1/ # 建立挂载点,并挂载
2、查看逻辑卷
1)lvscan
[ ~]# lvscan ACTIVE '/dev/centos/swap' [2.00 GiB] inherit ACTIVE '/dev/centos/root' [<17.00 GiB] inherit ACTIVE '/dev/vg1/lv1' [2.00 GiB] inherit
2)lvdisplay
LV Path /dev/vg1/lv1 LV Name lv1 VG Name vg1 LV UUID jGYU0t-hEzP-BgNw-TgdT-iXDU-oqwt-S2KjT8 LV Write Access read/write LV Creation host, time localhost.localdomain, 2019-12-05 22:19:48 -0500 LV Status available # open 1 LV Size 2.00 GiB Current LE 1024 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:2
3、调整逻辑卷大小
[ ~]# lvresize [选项] 逻辑卷设备文件名 选项: -L 容量:安装容量调整大小,单位 KB,GB,TB 等。使用+代表增加空间,-号代表减少空间。如果直接写容量,代表设定逻辑卷大小为指定大小。 -l 个数:按照 PE 个数调整逻辑卷大小 #调整/dev/vg1/lv1 大小为3G [ ~]# lvresize -L +1G /dev/vg1/lv1 Size of logical volume vg1/lv1 changed from 2.00 GiB (1024 extents) to 3.00 GiB (1536 extents). Logical volume vg1/lv1 successfully resized. #查看 [ ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg1-lv1 2.0G 6.0M 1.8G 1% /lv1 #但是此时大小还是没有变化怎么,刚刚只是逻辑卷的大小改变了,如果需要让分区使用这个新逻辑卷,我们还要使用 resize2fs 命令来调整分区的大小。 不过这里就体现了 LVM 的优势,我们不需要卸载分区,直接就能调整分区的大小。 [ ~]# resize2fs [选项] [设备文件名] [调整的大小] 选项: -f: 强制调整 设备文件名:指定调整哪个分区的大小 调整的大小:指定把分区调整到多大,要加 M,G 等单位。如果不加大小,会使用整个分区 [ ~]# resize2fs -f /dev/vg1/lv1 resize2fs 1.42.9 (28-Dec-2013) The filesystem is already 786432 blocks long. Nothing to do!
4)删除逻辑卷
想要删除逻辑卷,需要先取消挂载
[ ~]# lvremove 逻辑卷设备文件名 [ ~]# umount /dev/vg1/lv1 [ ~]# lvremove /dev/vg1/lv1
相关推荐
无忧老猪 2020-10-09
lfjjia 2020-05-28
andylanzhiyong 2020-01-01
linuxisperfect 2020-01-03
bluecarrot 2020-01-02
ScienceExplorer 2020-06-14
秋风瑟瑟 2019-10-28
csdnyasin 2019-10-28
秋风瑟瑟 2019-10-21
yangliuhepanpan 2014-10-08
zmjzhangmj 2020-02-17
gdb 2020-01-07
atb 2020-01-06
supetan 2013-04-15
85407718 2019-12-12
insularisland 2019-12-02
bugsycrack 2013-08-11
xiaoxiaolovei 2013-08-11