LVM的组成
- 物理卷(PV)
物理卷是LVM管理的最小存储单元,可以是整个磁盘、磁盘分区或者RAID卷。物理卷用于存储逻辑卷的数据。 - 卷组( VG)
卷组是由一个或多个物理卷组成的逻辑存储池。在卷组中,所有物理卷的空间都被合并在一起,供逻辑卷使用。 - 逻辑卷( LV)
逻辑卷是LVM提供给用户使用的虚拟存储空间,可以被格式化为文件系统并挂载使用。逻辑卷的大小可以根据需要进行调整,并且可以跨越多个物理卷。
LVM的优点
灵活性:LVM可以将多个物理磁盘的空间聚合成一个虚拟的存储池,从而提供更大的灵活性。
可扩展性:LVM可以根据需要动态扩充逻辑卷的大小,从而满足不断增长的存储需求。
高可用性:LVM支持RAID技术,可以提高数据的安全性。
易管理性:LVM提供了一系列的管理工具,可以简化磁盘管理的复杂性。
特性 | LVM的 | 传统方式硬盘 |
灵活性 | 可以将多个物理磁盘的空间聚合成一个虚拟的存储池,从而提供更大的灵活性 | 每个物理磁盘只能独立使用 |
可扩展性 | 可以根据需要动态扩充逻辑卷的大小,从而满足不断增长的存储需求 | 需要预先规划好分区大小,一旦创建无法动态扩充 |
高可用性 | 支持RAID技术,可以提高数据的安全性 | 不支持RAID技术,数据安全性相对较低 |
易管理性 | 提供了一系列的管理工具,可以简化磁盘管理的复杂性 | 管理相对复杂,需要熟悉分区工具 |
LVM的使用场景
服务器虚拟化:LVM可以为虚拟机提供灵活、可扩展的存储空间。
数据库应用:LVM可以为数据库提供高性能、高可用的存储环境。
Web服务器:LVM可以为Web服务器提供高容量、高可靠性的存储空间。
云计算:LVM可以为云计算平台提供灵活、可扩展的存储资源
LVM的实战流程
创建物理卷(PV)
#查看硬盘 ls /dev/sd* /dev/sda /dev/sda1 /dev/sda2 /dev/sdb /dev/sdc /dev/sdd #创建物理卷(PV) [root@localhost ~]# pvcreate /dev/sd[bc] Physical volume "/dev/sdb" successfully created. Physical volume "/dev/sdc" successfully created. #查看 [root@localhost ~]# pvscan PV /dev/sda2 VG centos lvm2 [<19.00 GiB / 0 free] PV /dev/sdb lvm2 [10.00 GiB] PV /dev/sdc lvm2 [5.00 GiB] Total: 3 [<34.00 GiB] / in use: 1 [<19.00 GiB] / in no VG: 2 [15.00 GiB] [root@localhost ~]# pvdisplay "/dev/sdb" is a new physical volume of "10.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb VG Name PV Size 10.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID zRj13S-ft4A-1PmG-93sB-mwHW-cIFW-VxoBlT "/dev/sdc" is a new physical volume of "5.00 GiB" --- NEW Physical volume --- PV Name /dev/sdc VG Name PV Size 5.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID 8KO5VH-Ks28-U9hf-aSx7-CWHI- n2Kt-ZOwHEF #删除物理卷 #pvremove /dev/sdf
创建卷组 (VG)
#创建卷组(VG) [root@localhost ~]# vgcreate csdn /dev/sd[bc] Volume group "csdn" successfully created #查看 [root@localhost ~]# vgscan Reading volume groups from cache. Found volume group "csdn" using metadata type lvm2 Found volume group "centos" using metadata type lvm2 [root@localhost ~]# vgdisplay --- Volume group --- VG Name csdn 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 14.99 GiB PE Size 4.00 MiB Total PE 3838 Alloc PE / Size 0 / 0 Free PE / Size 3838 / 14.99 GiB VG UUID htUHbV-h2Ot-VIj0-w7zY-whJo-JRtK-UMkti8 #vgremove vgname
创建逻辑卷(LV)
创建逻辑卷(LV)
[root@localhost ~]# lvcreate -L 12G -n csdn_lv csdn Logical volume "csdn_lv" created. #查看 [root@localhost ~]# lvscan ACTIVE '/dev/csdn/csdn_lv' [12.00 GiB] inherit ACTIVE '/dev/centos/swap' [2.00 GiB] inherit ACTIVE '/dev/centos/root' [<17.00 GiB] inherit [root@localhost ~]# lvdisplay --- Logical volume --- LV Path /dev/csdn/csdn_lv LV Name csdn_lv VG Name csdn LV UUID ewQipt-2zcv-WS9n-fM03-Xvyu-0jsd-LknCF0 LV Write Access read/write LV Creation host, time localhost.localdomain, 2024-02-28 10:53:31 +0700 LV Status available # open 0 LV Size 12.00 GiB Current LE 3072 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:2
格式化挂载
#自动挂载 vim /etc/fstab 加入以下 /dev/csdn/csdn_lv /data xfs defaults,usrquota,grpquota 0 0
查看是否成功 [root@localhost ~]# mount -a [root@localhost ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 659M 0 659M 0% /dev tmpfs 676M 0 676M 0% /dev/shm tmpfs 676M 11M 665M 2% /run tmpfs 676M 0 676M 0% /sys/fs/cgroup /dev/mapper/centos-root 17G 5.2G 12G 31% / /dev/sda1 1014M 172M 843M 17% /boot tmpfs 136M 28K 136M 1% /run/user/0 /dev/sr0 4.4G 4.4G 0 100% /run/media/root/CentOS 7 x86_64 /dev/mapper/csdn-csdn_lv 12G 33M 12G 1% /data
扩展卷组
[root@localhost ~]# ls /dev/sd* /dev/sda /dev/sda1 /dev/sda2 /dev/sdb /dev/sdc /dev/sdd #加入添加的硬盘 [root@localhost ~]# pvcreate /dev/sdd Physical volume "/dev/sdd" successfully created. [root@localhost ~]# vgextend csdn /dev/sdd Volume group "csdn" successfully extended [root@localhost ~]# vgdisplay --- Volume group --- VG Name csdn System ID Format lvm2 Metadata Areas 3 Metadata Sequence No 3 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 <19.99 GiB PE Size 4.00 MiB Total PE 5117 Alloc PE / Size 3072 / 12.00 GiB Free PE / Size 2045 / <7.99 GiB VG UUID htUHbV-h2Ot-VIj0-w7zY-whJo-JRtK-UMkti8
扩展完成之后建议重新挂载一次
KVM相关命令
命令 | 功能 |
pvcreate | 将物理卷添加到 LVM 中 |
pvdisplay | 显示物理卷信息 |
pvscan | 扫描所有物理卷 |
pvremove | 从 LVM 中删除物理卷 |
vgcreate | 创建卷组 |
vgdisplay | 显示卷组信息 |
vgscan | 扫描所有卷组 |
vgremove | 从 LVM 中删除卷组 |
lvcreate | 创建逻辑卷 |
lvdisplay | 显示逻辑卷信息 |
lvscan | 扫描所有逻辑卷 |
lvremove | 从 LVM 中删除逻辑卷 |
lvextend | 扩展逻辑卷大小 |
lvreduce | 缩减逻辑卷大小 |
lvchange | 更改逻辑卷属性 |
mkswap | 创建交换空间 |
swapon | 激活交换空间 |
swapoff | 停用交换空间 |