是否可以在不重新启动的情况下重新加载lvm.conf?

是否可以在不重新启动的情况下重新加载lvm.conf?

issue_discardslvm.conf带有 SSD 的计算机上启用了文件,并且我想blkdiscard在其中一个逻辑卷上执行操作。我可以在不重新启动机器的情况下做到这一点吗?我能够卸载物理卷以及存储在该特定 SSD 上的所有逻辑卷,但我希望避免系统重新启动。

答案1

根据 my 中的默认注释lvm.conf,该选项仅控制当您运行或issue_discards时释放的空间会发生什么,没有其他:lvreducelvremove

# Configuration option devices/issue_discards.
# Issue discards to PVs that are no longer used by an LV.
# Discards are sent to an LV's underlying physical volumes when the LV
# is no longer using the physical volumes' space, e.g. lvremove,
# lvreduce. 

经证实RedHat 的 Mike Snitzer 在 linux-lvm 邮件列表上发布了此消息:

lvm.conf 的 issues_discards 对内核(或底层设备)的丢弃功能没有任何影响。它仅控制 lvm 是否针对某些 lvm 操作(例如删除 LV 时)发出丢弃。

因此,如果底层 SSD 支持 TRIM 或其他丢弃数据的方法,您应该能够使用blkdiscard它或放置在其上的任何 LV。

也就是说,如果启用issue_discards,可以通过两种方式实现LV内容的丢弃:

  • blkdiscard在LV上运行。例子:

# lvcreate -L 1g vg00 Logical volume "lvol6" created. # blkdiscard -v /dev/vg00/lvol6 /dev/vg00/lvol6: Discarded 1073741824 bytes from the offset 0

  • 只需使用lvremove,LVM 就会为您丢弃数据。您无需执行任何特殊操作即可使设置生效。

[issue_discards initially disabled] # lvremove /dev/vg00/lvol6 Do you really want to remove active logical volume vg00/lvol6? [y/n]: y Logical volume "lvol6" successfully removed # vi /etc/lvm/lvm.conf [set issue_discards to enabled] # lvcreate -L 1g vg00 Logical volume "lvol6" created. # lvremove /dev/vg00/lvol6 Do you really want to remove and DISCARD active logical volume vg00/lvol6? [y/n]: y Logical volume "lvol6" successfully removed

... and DISCARD ...请注意命令消息中添加的内容lvremove

相关内容