LVM管理
lvm概念:LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上、文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性。
lvm的特点
#传统分区的缺点:
传统的文件系统是基于分区的,一个文件系统对应一个分区。这种方式比较直观,但不易改变。当一个分区空间已满时,无法对其扩充,只能采用重新分区/建立文件系统,非常麻烦;或把分区中的数据移到另一个更大的分区中。
#当采用LVM时:
1.将硬盘的多个分区由LVM统一为卷组管理,可以方便的加入或移走分区以扩大或减小卷组的可用容量,充分利用硬盘空间;
2.当磁盘空间不足而加入新的硬盘时,不必将数据从原硬盘迁移到新硬盘,而只须把新的分区加入卷组并扩充逻辑卷即可。
3.文件系统建立在LVM上,可以跨分区,方便使用;
#使用LVM主要是方便管理、增加了系统的扩展性。可以跨分区,多个硬盘组合。
lvm
1.lvm的制作
2.lvm的使用
3.lvm扩容-------在线扩容。可以在有数据的情况下去扩容。
基本分区(MBR|GPT) ----> Filesystem(制作文件系统类型) ----> mount(挂载)
逻辑卷LVM ----> Filesystem(制作文件系统类型) ----> mount(挂载)
lvm的制作
第一步:拥有基本分区
第二步:做成物理卷: pv ------- sdb1、sdb2 打pv的标记。
第三步:加入卷组: vg-------- 卷组里面包含:sdb1 sdb2,建立在PV之上。
第四步:逻辑卷 lv ------- 逻辑卷是从卷组里面拿空间出来做成的逻辑卷,在起个名,建立在VG之上
第五步:制作文件系统------mkfs.xfs lvm路径
第六步:挂载 ------mount 使用lvm
#制作lvm的时候可以是一整块硬盘也可以是硬盘分好的区并且是还没有用的。必须是没有做文件系统的
实战
创建LVM
首先准备添加3块磁盘:可以是/dev/sdb这种没有分区的也可以是/dev/sdb1这种已经分区了的
注意:如果没有pv命令安装 #yum install -y lvm2
[root@sxw ~]# ll /dev/sd*
brw-rw----. 1 root disk 8, 0 Nov 9 12:59 /dev/sda
brw-rw----. 1 root disk 8, 1 Nov 9 12:59 /dev/sda1
brw-rw----. 1 root disk 8, 2 Nov 9 12:59 /dev/sda2
brw-rw----. 1 root disk 8, 16 Nov 9 12:59 /dev/sdb
brw-rw----. 1 root disk 8, 32 Nov 9 12:59 /dev/sdc
brw-rw----. 1 root disk 8, 48 Nov 9 14:04 /dev/sdd
创建pv
[root@sxw ~]# pvcreate /dev/sdb #创建pv
Physical volume "/dev/sdb" successfully created.
[root@sxw ~]# pvs #查看pv
PV VG Fmt Attr PSize PFree
/dev/sdb lvm2 --- 10.00g 10.00g
[root@sxw ~]# pvscan #查看pv
PV /dev/sda2 VG centos lvm2 [<19.00 GiB / 0 free]
PV /dev/sdb lvm2 [10.00 GiB]
Total: 2 [<29.00 GiB] / in use: 1 [<19.00 GiB] / in no VG: 1 [10.00 GiB]
[root@sxw ~]# pvdisplay #查看pv
创建vg
[root@sxw ~]# vgcreate vg1 /dev/sdb #创建vg
Volume group "vg1" successfully created
参数解释:
-s 16M 指的是在分区的时候指定pe的大小。
[root@sxw ~]# vgs #查看vg
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <19.00g 0
vg1 1 0 0 wz--n- <10.00g <10.00g
[root@sxw ~]# vgscan
Reading volume groups from cache.
Found volume group "centos" using metadata type lvm2
Found volume group "vg1" using metadata type lvm2
[root@sxw ~]# vgdisplay #查看vg
--- Volume group ---
VG Name vg1
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size <10.00 GiB
PE Size 4.00 MiB
Total PE 2559
Alloc PE / Size 0 / 0 MiB
Free PE / Size 2559 / <10.00 GiB
VG UUID bVvQxe-4M2A-mMuk-b3gJ-4Maj-0xDy-5QZDOp
创建lv
[root@sxw ~]# lvcreate -L 150M -n lv1 vg1 #创建lv
Rounding up size to full physical extent 152.00 MiB
Logical volume "lv1" created.
[root@sxw ~]# lvcreate -l 20 -n lv2 vg1 #采用PE方式在创建一个lv
Logical volume "lv2" created.
参数解释:
-L 指定lv的大小
-n 给创建的lv起一个名字
-l 20 指定PE
[root@sxw ~]# lvs #查看lv
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <17.00g
swap centos -wi-ao---- 2.00g
lv1 vg1 -wi-a----- 152.00m
lv2 vg1 -wi-a----- 80.00m
制作文件系统并挂载
[root@sxw ~]# mkfs.xfs /dev/vg1/lv1
[root@sxw ~]# mkfs.ext4 /dev/vg1/lv2
[root@sxw ~]# mkdir /mnt/lv{1..2}
[root@sxw ~]# mount /dev/vg1/lv1 /mnt/lv1
[root@sxw ~]# mount /dev/vg1/lv2 /mnt/lv2
[root@sxw ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg1-lv1 xfs 149M 7.8M 141M 6% /mnt/lv1
/dev/mapper/vg1-lv2 ext4 74M 1.6M 67M 3% /mnt/lv2
LVM逻辑卷扩容
VG管理
#注意:如果lv所在的vg有空间直接扩容就ok了!
扩大VG vgextend
1.创建pv
[root@sxw ~]# pvcreate /dev/sdc
Physical volume "/dev/sdc" successfully created.
2.直接vgextend扩容
[root@sxw ~]# vgextend vg1 /dev/sdc #vg1卷组名字,将/dev/sdc扩展到vg1中
Volume group "vg1" successfully extended
[root@sxw ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <19.00g 0
vg1 2 2 0 wz--n- 19.99g 18.23g
实战lv扩容
[root@sxw ~]# vgs #查看vg
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <19.00g 0
vg1 1 2 0 wz--n- <19.99g <9.77g
[root@sxw ~]# lvextend -L 850M /dev/vg1/lv1 #扩展到850M
[root@sxw ~]# lvextend -L +850M /dev/vg1/lv1 #在原有基础上加850M
[root@sxw ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <17.00g
swap centos -wi-ao---- 2.00g
lv1 vg1 -wi-ao---- 1.66g
lv2 vg1 -wi-ao---- 80.00m
[root@sxw ~]# lvextend -l +15 /dev/vg1/lv1 #在原有基础上加15个PE
[root@sxw ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <17.00g
swap centos -wi-ao---- 2.00g
lv1 vg1 -wi-ao---- <1.68g
lv2 vg1 -wi-ao---- 80.00m
FS(file system)文件系统扩容
[root@sxw ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg1-lv1 xfs 149M 7.8M 141M 6% /mnt/lv1
/dev/mapper/vg1-lv2 ext4 74M 1.6M 67M 3% /mnt/lv2
[root@sxw ~]# xfs_growfs /dev/vg1/lv1 #xfs扩容
[root@sxw ~]# resize2fs /dev/vg1/lv2 #ext4扩容
[root@sxw ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg1-lv1 xfs 1.7G 9.1M 1.7G 1% /mnt/lv1
/dev/mapper/vg1-lv2 ext4 74M 1.6M 67M 3% /mnt/lv2