LINUX.ORG.RU

История изменений

Исправление 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 с таймером, который раз в неделю освобождает всё скопом. Он по умолчанию включен во многих современных дистрибутивах.