![LVM - 如何在磁盘之间分配数据](https://linux22.com/image/1081502/LVM%20-%20%E5%A6%82%E4%BD%95%E5%9C%A8%E7%A3%81%E7%9B%98%E4%B9%8B%E9%97%B4%E5%88%86%E9%85%8D%E6%95%B0%E6%8D%AE.png)
很可能我在设置时不明白自己在做什么,但是......
好的,我买了三个 2TB 的硬盘,想用来存储媒体。我不想费心弄清楚要把哪些文件放在哪个硬盘上,所以我在 Google 上搜索了“如何跨磁盘”,发现了 lvm。很好,很简单……现在我有一个 6TB 的“硬盘”作为 ext4 文件系统安装在 /mnt/bigdisk 上
一切似乎都很好,但是当我接近2TB的使用量时,我开始怀疑以下问题:
1) 数据是如何分配的?每个驱动器现在都有 2TB 的 1/3 吗?还是其中一个驱动器快满了?我如何查看?
2) 当一个(或多个)磁盘接近极限时,我添加一个足够大的文件,以至于必须跨磁盘时会发生什么? 出现错误,还是只是“处理它”?
谢谢。
答案1
这取决于您如何设置。默认是先填满一个,然后再填下一个,这是透明处理的。当使用 创建逻辑卷时lvcreate
,您可以指定--stripes nn
标志以在驱动器上将数据条带化nn
。这允许更快地访问数据,因为它可以在所有驱动器上同时并行访问。您可以使用 查看当前布局lvdisplay -m
,如果要将其更改为条带化,可以使用lvconvert --stripes 3 vg/lv
其中 vg 和 lv 是卷组和逻辑卷的名称。如果您已经将所有空间分配给卷,这可能需要很长时间。此外,对于媒体存储,速度并不是很重要,如果您希望驱动器能够旋转以节省电量,那么不将其条带化可能更好,因为只有包含您正在访问的数据的驱动器才需要唤醒,而不是所有 3 个。
至于如何查看每个磁盘使用了多少空间,目前还没有好的办法。