调整lvm2缓存块大小

调整lvm2缓存块大小

我在系统日志中看到以下消息:

[    6.774422] device-mapper: cache: You have created a cache device with a lot of individual cache blocks (1933312)
               All these mappings can consume a lot of kernel memory, and take some time to read/write.
               Please consider increasing the cache block size to reduce the overall cache block count.

但是,我找不到有关如何在不禁用、重新创建和启用缓存的情况下调整块大小的文档...

这是正确的方法吗?或者我遗漏了什么?

答案1

您不需要更改 LVM 块大小,将发生以下情况:

要使用分区、LVM 卷甚至文件作为交换,swapon内核会生成交换偏移量 -> 磁盘块的映射,从那时起,内核使用该映射直接针对实际的交换磁盘队列执行交换 I/O。这允许内核绕过大量文件系统、元数据、LVM、缓存操作进行交换访问。

目前,您的 LVM 卷并不连续,这意味着您的交换 LVM 卷使用的实际磁盘块分散在底层物理磁盘上,这是低效的并且会触发您看到的警告,您的交换由大量单独的磁盘位组成,而不是磁盘的一部分。

您可以尝试使用以下命令修改 LVM 卷lvchange旗帜-C y。这将使策略变为连续的。

-C--contiguous {y|n}
尝试设置或重置逻辑卷的连续分配策略。只有当所有分配的物理盘区都已连续时,才可以将非连续逻辑卷的分配策略更改为连续。

如果物理扩展不连续,你可能需要重新创建 LVM 卷,lvcreate支持相同 -C y--contiguous y旗子。

相关内容