# Linux LVM详解 LVM(Logical Volume Manager)是一种用于管理磁盘分区和卷的技术。LVM 可以将多个物理磁盘分区组合成一个或多个逻辑卷,并提供动态调整卷大小、备份和恢复等功能。(也不建议使用,之前有遇到朋友购买的云服务器使用LVM管理多块云硬盘,忘记之后把其中一块云硬盘给删除了。。。) ## LVM 的主要概念和组件 物理卷(Physical Volume,PV):物理卷是指一个或多个物理磁盘分区,可以使用 LVM 命令将其初始化为物理卷。 卷组(Volume Group,VG):卷组是由一个或多个物理卷组成的逻辑卷集合,可以使用 LVM 命令创建和管理卷组。 逻辑卷(Logical Volume,LV):逻辑卷是由卷组分配的逻辑磁盘,可以使用 LVM 命令创建和管理逻辑卷。 物理区(Physical Extent,PE):物理区是指物理卷和逻辑卷的最小存储单元,通常为 4MB 或 8MB。 ## LVM 常用的命令及其功能 ### 创建物理卷 要创建一个新的物理卷,可以使用以下命令: ``` pvcreate /dev/sdb1 ``` 该命令将初始化 /dev/sdb1 分区为一个新的物理卷。 ### 查看物理卷 扫描系统中所有硬盘的物理卷列表 ``` pvscan ``` ### 删除物理卷 删除物理卷 `pvremove(选项)(参数)` ``` pvremove /dev/sdb1 ``` ### 显示物理卷属性 `pvdisplay`用于显示物理卷的属性。`pvdisplay`命令显示的物理卷信息包括:物理卷名称、所属的卷组、物理卷大小、PE大小、总PE数、可用PE数、已分配的PE数和UUID。 ``` pvdisplay /dev/sdb1 ``` ### 创建卷组 要创建一个新的卷组,可以使用以下命令: ``` vgcreate myvg /dev/sdb1 /dev/sdc1 ``` 该命令将创建一个名为 myvg 的卷组,并将 /dev/sdb1 和 /dev/sdc1 分区添加到卷组中。 ### 从卷组中删除物理卷 `vgreduce`命令,通过删除LVM卷组中的物理卷来减少卷组容量。不能删除LVM卷组中剩余的最后一个物理卷。 ``` vgreduce myvg /dev/sdb1 ``` ### 删除卷组 `vgremove命令`用于用户删除LVM卷组。当要删除的卷组上已经创建了逻辑卷时,`vgremove`命令需要进行确认删除,防止误删除数据 ``` vgremove myvg ``` ### 卷组重命名 **grename命令** 可以重命名卷组的名称。 语法:`vgrename [选项] [旧卷组路径|旧卷组名称|旧卷组UUID] [新卷组路径|新卷组名称]` ``` vgrename /dev/vg1 /dev/vg2 ``` ### 查看所有卷组 扫描并显示系统中的卷组 ``` vgscan ``` ### 显示卷组详细信息 `vgdisplay`命令用于显示LVM卷组的信息。如果不指定"卷组"参数,则分别显示所有卷组的属性。 ``` vgdisplay myvg ``` ### 创建逻辑卷 要创建一个新的逻辑卷,可以使用以下命令: ``` lvcreate -L 10G -n mylv myvg ``` 该命令将创建一个名为 mylv 的逻辑卷,大小为 10GB,分配给 myvg 卷组。 ### 扩展逻辑卷 要扩展一个现有的逻辑卷,可以使用以下命令: ``` lvextend -L +5G /dev/myvg/mylv ``` 该命令将将 /dev/myvg/mylv 逻辑卷的大小增加 5GB。 ### 缩小逻辑卷 要缩小一个现有的逻辑卷,可以使用以下命令: ``` lvreduce -L -5G /dev/myvg/mylv ``` 该命令将将 /dev/myvg/mylv 逻辑卷的大小减少 5GB。 ### 查看所有逻辑卷 ``` lvscanx ``` ### 删除逻辑卷 `lvremove命令`用于删除指定LVM逻辑卷。如果逻辑卷已经使用`mount`命令加载,则不能使用`lvremove`命令删除。必须使用`umount`命令卸载后,逻辑卷方可被删除。 ``` lvremove /dev/vg1000/lvol0 ``` ### 查看逻辑卷详细信息 `lvdisplay命令` 用于显示LVM逻辑卷空间大小、读写状态和快照信息等属性。如果省略"逻辑卷"参数,则`lvdisplay`命令显示所有的逻辑卷属性。否则,仅显示指定的逻辑卷属性。 ``` lvdisplay /dev/vg1000/lvol0 ```