是否可以在不重新啟動的情況下重新載入 lvm.conf?
我在具有 ssd 的機器上啟用
issue_discards
了lvm.conf
文件,我想blkdiscard
在其中一個邏輯卷上執行。我可以在不重新啟動機器的情況下這樣做嗎?我能夠解除安裝物理卷以及儲存在這個特定 ssd 上的所有邏輯卷,但我更願意避免系統重啟。
根據 my 中的預設註釋
lvm.conf
,該issue_discards
選項僅控制執行時釋放的空間發生的情況lvreduce
orlvremove
,沒有別的:# 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