这涉及使用 LVM 并作为 Hyper-V 上的虚拟机托管的 CentOS7 服务器。据我了解的历史,是这样的:
该VM是1.75年前使用固定虚拟驱动器建立的。该虚拟固定磁盘在 8 个月前就耗尽了空间。创建了第二个动态虚拟驱动器。现在,Hyper-V 主机的磁盘空间已完全耗尽,需要做出一些基本决策。
然而,我对 LVM 图片感到困惑 - 似乎第二个磁盘已添加到 VG,但没有添加到 LV。我没有意识到这是可能的,而且我不确定我是否理解其中的含义。以下是一些屏幕截图:
首先,在这个 lsblk 上,我很困惑 Centos 主目录大小如何大于它所在的分区。这意味着什么?
然后,在这一系列的 pvs、vgs 和 lvs 命令中,sdb PV 似乎没有添加到 VG centos 上的任何 LV。
但显然它们将数据存储到 sdb,因此我假设该存储的管理不在 LVM 构造之外。那是对的吗?鉴于 PV 位于 VG 中,这是否意味着某种风险?或者,因为它从未分配给 LV,所以它位于 VG 中,但实际上根本不由 LVM 管理。
我想找出在解决物理存储问题后清理此问题的最佳方法。看起来需要发生的是 VG 中的所有 PV 都需要分配给 LV,在这种情况下,主 LV 似乎是合乎逻辑的位置。现在可以重新分配吗?是否只能使用 sdb 上的可用空间,或者是否会重新分配整个 PV,这安全吗?或者处理此问题的方法是将所有现有 PV 移动到新的第三个磁盘 sdc,然后重新创建整个 VG / LV 故障。
任何有关如何进行的建议都将受到赞赏。谢谢。
- - 更新 - -
我正在慢慢地思考这个问题 - 感谢您的评论。在下图中,我是否正确地将其解释为虽然 PV 中总共分配了约 5.86t 给 VG,但 LV 的大小为 2.9t 意味着只有大约一半的大小实际上可用于 LV?是否有某种机制可以使 LV 动态增长?如果没有,那么我必须使用 lvextend 命令(以及扩展文件系统)来增加对 LV 的 PV 分配?
答案1
第二个磁盘正在通过 LVM 使用:/dev/sdb1
是 LV 的一部分home
。这就是为什么 LV 比输出中包含它的分区大的原因lsblk
。
要查看 LVS 如何使用您的 PV,请运行
lvs -o +devices
答案2
LVM结构逻辑卷(LV) 在上面卷组(VG)。这些卷组由一个或多个物理卷(PV)。
逻辑卷看起来像连续的分区,但它们不一定像传统分区一样映射到单个驱动器上的连续区域。实际存储数据的块(称为盘区)可以在潜在的多个物理卷上找到。
首先,在这个 lsblk 上,我很困惑 Centos 主目录大小如何大于它所在的分区。这意味着什么?
该home
逻辑卷位于两个 PV 之上,而不是完全包含在其中一个 PV 上,这意味着您可以创建比任一物理卷大小更大的卷,但要小心,因为这也意味着丢失这两种情况都可能意味着您的数据丢失。
看起来需要发生的事情是 VG 中的所有 PV 都需要分配给 LV
有点相反,VG 中的 PV 包含所有范围。然后,LV 被配置为映射到这些 PV 上的这些范围,因此更像是 LV 被分配给 PV。
当前卷组中约有 2.91TB 未使用。你用它做什么取决于你,例如你可以:
- 镜像一些数据以确保万一您的一个驱动器发生故障时的恢复能力;
- 添加更多逻辑卷;
- 扩展一些现有的多个卷,为底层文件系统/交换空间提供更多空间; ETC...