LVM 可以在卷之间分割文件吗?

LVM 可以在卷之间分割文件吗?

假设我有 2 个卷,每个卷 2 GB(作为单个组保存)。我会在那里复制 3GB 文件。

会不会被分割?

我只希望答案是“不”,并且文件是原子的。原因是——在保证“不分割”的情况下,可以安装单个卷,并将文件复制到另一个卷。

答案1

LVM 对文件一无所知。它提供了一个大的存储块。由文件系统来组织这个块来存储文件,并且文件系统不知道(也不想关心)哪些文件位于哪个物理卷上。

即使一个文件完全包含在一个物理卷中(对于大多数文件系统来说,如果文件足够小,则可以保证这一点 — 小于文件系统的块大小,通常在 512B–4kB 范围内),您仍然无法仅安装该物理卷并查看该文件。您无法挂载文件系统的任意块。哪个文件存储在何处的指示不存储在与文件本身相同的位置;要访问一个文件,您需要遍历目录链直到该文件,并且还有检索任何数据所必需的附加元数据(大多数 UNIX 文件系统都有一个 inode 表)。

如果您想保证哪个文件位于哪个磁盘上,请将磁盘放在不同的卷组中。或者至少,创建不同的逻辑卷(您可以使用 来在 PV 之间移动 LV pvmove)。

答案2

LVM 可以将文件分割到多个卷下,在某些情况下这是必需的功能。

LVM 作为物理部分工作,只是上层分区模式,因此它与文件系统无关,并且不知道文件系统管理的文件的概念。

为了更好地说服您,LVM 能够像 RAID0 一样进行聚合,从第一个磁盘开始 xKbites,紧邻第二个磁盘,...

相关内容