lv逻辑卷
LVM 是 Logical Volume Manager 的简称,译为中文就是逻辑卷管理。它是 Linux 下对硬盘分区的一种管理机制。LVM 适合于管理大存储设备,并允许用户动态调整文件系统的大小。此外,LVM 的快照功能可以帮助我们快速备份数据。LVM 为我们提供了逻辑概念上的磁盘,使得文件系统不再关心底层物理磁盘的概念。
- 物理卷(Physical Volume,PV):就是真正的物理硬盘或分区。
- 卷组(Volume Group,VG):将多个物理卷合起来就组成了卷组。组成同一个卷组的物理卷可以是同一块硬盘的不同分区,也可以是不同硬盘上的不同分区。我们可以把卷组想象为一块逻辑硬盘。
- 逻辑卷(Logical Volume,LV):卷组是一块逻辑硬盘,硬盘必须分区之后才能使用,我们把这个分区称作逻辑卷。逻辑卷可以被格式化和写入数据。我们可以把逻辑卷想象为分区。
- 物理扩展(Physical Extend,PE):PE 是用来保存数据的最小单元,我们的数据实际上都是写入 PE 当中的。PE 的大小是可以配置的,默认是 4MB。
1.分区是磁盘上的连续空间,一个硬盘上,
2.有了raid各种raid解决了一些问题(分完就无法扩容修改了,4块变一块,关机会影响服务,进入raid配置界面)
3.平滑扩容,动态扩容
LVM: Logical Volume Manager 可以允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小,
允许在多个物理设备间重新组织文件系统
LVM可以弹性的更改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 |
实现逻辑,逻辑上的管理方式
分区,大小,raid大小要一样,分区大小可以不一,可以分区可以是硬盘
通过交换PE来进行资料的转换,将原来LV内的PE转移到其他的设备中以降低LV的容量,或将其他设备
中的PE加到LV中以加大容量
首先刷新接口:
echo “- - -” > /sys/class/scsi_host/host0/scan
echo “- - -” > /sys/class/scsi_host/host1/scan
echo “- - -” > /sys/class/scsi_host/host2/scan
#创建物理卷
#pvcreate /dev/sda3
#为卷组分配物理卷
#vgcreate vg0 /dev/sda3
从卷组创建逻辑卷
lvcreate -L 256M -n data vg0
mkfs.xfs /dev/vg0/data
#挂载
mount /dev/vg0/data /mnt/data
#两步实现
#第一步实现逻辑卷的空间扩展
lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
#第二步实现文件系统的扩展
#针对ext4
resize2fs /dev/VG_NAME/LV_NAME
#针对xfs
xfs_growfs MOUNTPOINT
#一步实现容间和文件系统的扩展
lvresize -r -l +100%FREE /dev/VG_NAME/LV_NAME
[root@localhost ~]# pvcreate /dev/sdb1 /dev/sdc
Physical volume "/dev/sdb1" successfully created.
Physical volume "/dev/sdc" successfully created.
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <39.00g 4.00m
/dev/sdb1 lvm2 --- 5.00g 5.00g
/dev/sdc lvm2 --- 20.00g 20.00g
[root@localhost ~]# pvdisplay
PV Name /dev/sda3
VG Name centos
PV Size 80.99 GiB / not usable 3.00 MiB
Allocatable#是否已经分配 yes
PE Size 4.00 MiB
Total PE 20733
Free PE 7934
Allocated PE#已分配的PE 12799
PV UUID U6aPoo-6qm9-MdVr-Kdhx-ORuu-JCPK-7oRxlU
[root@localhost ~]# vgcreate vg01 /dev/sd{b1,c}
# 卷组名 哪里取空间
Volume group "vg01" successfully created
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name vg01
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 3
Act PV 3
VG Size <39.99 GiB
PE Size 4.00 MiB
Total PE 10237
Alloc PE / Size 7680 / 30.00 GiB
Free PE / Size 2557 / <9.99 GiB
VG UUID BkRFfp-zUTR-M7xc-zNcJ-ZoQS-wdwd-DlK11y
lvcreate
选项:
-L 容量:指定逻辑卷大小,单位为 MB、GB、TB 等;
-l 个数:按照 PE 个数指定逻辑卷大小,这个参数需要换算容量,太麻烦;
-n 逻辑卷名:指定逻辑卷名;
[root@localhost ~]# lvcreate -n mysql -L 15G vg01
Logical volume "mysql" created.
[root@localhost ~]# lvdisplay
--- Logical volume ---
LV Path /dev/vg01/mysql
LV Name mysql
VG Name vg01
LV UUID 8GU9J1-qpaP-MVnJ-IPXo-HpT6-qU1v-C8QXb4
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2021-07-11 01:24:01 +0800
LV Status available
# open 0
LV Size 15.00 GiB
Current LE 3840
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:2
[root@localhost ~]# mkfs.ext4 /dev/vg
vg01/ vga_arbiter
[root@localhost ~]# mkfs.ext4 /dev/vg01/mysql
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
983040 inodes, 3932160 blocks
196608 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2151677952
120 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
[root@localhost ~]