Configuration

是否可以在不重新啟動的情況下重新載入 lvm.conf?

  • July 30, 2019

我在具有 ssd 的機器上啟用issue_discardslvm.conf文件,我想blkdiscard在其中一個邏輯卷上執行。我可以在不重新啟動機器的情況下這樣做嗎?我能夠解除安裝物理卷以及儲存在這個特定 ssd 上的所有邏輯卷,但我更願意避免系統重啟。

根據 my 中的預設註釋lvm.conf,該issue_discards選項僅控制執行時釋放的空間發生的情況lvreduceor lvremove,沒有別的:

# 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 的 issue_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

引用自:https://unix.stackexchange.com/questions/426867