我有一个名为 ubuntu 的 VG,有一个名为 titan 的 LV,它由 4 个 PV (sd[a,b,c,d) 组成。
我想知道该 LV 内的每个 PV 已使用/空闲了多少空间。 pvdisplay、vgdisplay 和 lvdisplay 等命令仅显示其他类型的信息,例如用于创建 lv 的数量。我需要知道每个 PV 内的文件使用了多少以及有多少是免费的。
答案1
这实际上是不可能的; LVM 对文件一无所知。
LVM 创建逻辑卷,即块设备。它们的功能与其他块设备(例如硬盘)非常相似,因此它们不知道或不关心存储在其上的数据的含义。对于 LVM 来说,它只是一系列以 x 字节块组织的 0 和 1。
您已在该块设备(逻辑卷)上存储了文件系统。文件系统了解文件,但它不会将该知识导出到块设备。
正如您无法询问硬盘哪些盘片包含文件一样,您也无法询问 LVM 哪些 PV 包含文件。
[当然,您可以遍历文件系统中的每个文件,询问存储该文件的块的文件系统,然后询问 LVM 每个块的位置,然后将它们放在一起,但我不知道有任何工具要做到这一点。我也不知道你为什么会想要做到这一点。]