История изменений
Исправление
Legioner,
(текущая версия)
:
В актуальных версиях qemu discard включен по умолчанию. Что там ваша обёртка над ним делает - я не знаю, если специально не отключает, то оно просто работает. Можно посмотреть, с какими опциями qemu запущен, если там нет discard=ignore и qemu не древний, то он скорей всего включен.
Но не надо путать discard в настройках виртуальной машины и discard/trim в настройках гостевой ОС. discard в настройках виртуальной машины определяет то, может ли гостевая ОС в принципе делать этот самый discard. Но если discard в настройках виртуальной машины включен, это не означает, что гостевая машина будет его делать. Тут и надо смотреть настройки. Как я уже писал - можно либо передавать опцию discard при монтировании, тогда при удалении файла (ну и в целом при освобождении места) запросы discard будут сразу передаваться в виртуальную машину, которая сразу будет освобождать место на диске хоста. Но это может отрицательно повлиять на производительность, а может и не повлиять, тестируйте, гуглите. Более традиционный метод это сервис fstrim с таймером, который раз в неделю освобождает всё скопом. Он по умолчанию включен во многих современных дистрибутивах.
Исходная версия
Legioner,
:
В актуальных версиях qemu discard включен по умолчанию. Что там ваша обёртка над ним делает - я не знаю, если специально не отключает, то оно просто работает. Можно посмотреть, с какими опциями qemu запущен, если там нет discard=ignore и qemu не древний, то он скорей всего включен. Ну или просто в гостевой ОС посмотреть, если fstrim -a отрабатывает, значит включен.
Но не надо путать discard в настройках виртуальной машины и discard/trim в настройках гостевой ОС. discard в настройках виртуальной машины определяет то, может ли гостевая ОС в принципе делать этот самый discard. Но если discard в настройках виртуальной машины включен, это не означает, что гостевая машина будет его делать. Тут и надо смотреть настройки. Как я уже писал - можно либо передавать опцию discard при монтировании, тогда при удалении файла (ну и в целом при освобождении места) запросы discard будут сразу передаваться в виртуальную машину, которая сразу будет освобождать место на диске хоста. Но это может отрицательно повлиять на производительность, а может и не повлиять, тестируйте, гуглите. Более традиционный метод это сервис fstrim с таймером, который раз в неделю освобождает всё скопом. Он по умолчанию включен во многих современных дистрибутивах.