История изменений
Исправление intelfx, (текущая версия) :
О как. Ау. Это ж как должно быть плохо образцам VM без nodatacow.
Всё так.
# compsize /mnt/vm/libvirt/images/windows.img
Processed 1 file, 945431 regular extents (1098755 refs), 0 inline.
Type Perc Disk Usage Uncompressed Referenced
TOTAL 100% 864G 864G 791G
none 100% 864G 864G 791G
Видишь? Ссылок больше, чем экстентов. Это именно та ситуация, которую я описал выше под пунктом (2).
rebalance + дедупликация должны помочь
Да чего ты заладил со своей дедупликацией. Она эту проблему абсолютно никак не затрагивает, т. к. дедуплицировать нечего, все данные уникальны. Ребаланс тоже не в тему, т. к. ребаланс просто тасует по диску существующие экстенты, при этом никак их не изменяя (по определению).
Тут нужна «дедупликация наоборот», ну или «дефраг наоборот». Т. е. нужна тулза, которая пробежится по диску, построит карту экстентов, найдёт среди них все не полностью зареференсенные экстенты, скопирует их по кускам в отдельные экстенты и потом сделает в эти куски EXTENT_SAME (после чего основной экстент останется без ссылок и будет целиком освобождён).
Ну или запилить истинный extent splitting прямо в драйвере, но это якобы настолько сложная проблема, что к ней никто даже не собирается притрагиваться.
Исправление intelfx, :
О как. Ау. Это ж как должно быть плохо образцам VM без nodatacow.
Всё так.
# compsize /mnt/vm/libvirt/images/windows.img
Processed 1 file, 945431 regular extents (1098755 refs), 0 inline.
Type Perc Disk Usage Uncompressed Referenced
TOTAL 100% 864G 864G 791G
none 100% 864G 864G 791G
rebalance + дедупликация должны помочь
Да чего ты заладил со своей дедупликацией. Она эту проблему абсолютно никак не затрагивает, т. к. дедуплицировать нечего, все данные уникальны. Ребаланс тоже не в тему, т. к. ребаланс просто тасует по диску существующие экстенты, при этом никак их не изменяя (по определению).
Тут нужна «дедупликация наоборот», ну или «дефраг наоборот». Т. е. нужна тулза, которая пробежится по диску, построит карту экстентов, найдёт среди них все не полностью зареференсенные экстенты, скопирует их по кускам в отдельные экстенты и потом сделает в эти куски EXTENT_SAME (после чего основной экстент останется без ссылок и будет целиком освобождён).
Ну или запилить истинный extent splitting прямо в драйвере, но это якобы настолько сложная проблема, что к ней никто даже не собирается притрагиваться.
Исправление intelfx, :
О как. Ау. Это ж как должно быть плохо образцам VM без nodatacow.
Так и есть.
# compsize /mnt/vm/libvirt/images/windows.img
Processed 1 file, 945431 regular extents (1098755 refs), 0 inline.
Type Perc Disk Usage Uncompressed Referenced
TOTAL 100% 864G 864G 791G
none 100% 864G 864G 791G
rebalance + дедупликация должны помочь
Да чего ты заладил со своей дедупликацией. Она эту проблему абсолютно никак не затрагивает, т. к. дедуплицировать нечего, все данные уникальны. Ребаланс тоже не в тему, т. к. ребаланс просто тасует по диску существующие экстенты, при этом никак их не изменяя (по определению).
Тут нужна «дедупликация наоборот», ну или «дефраг наоборот». Т. е. нужна тулза, которая пробежится по диску, построит карту экстентов, найдёт среди них все не полностью зареференсенные экстенты, скопирует их по кускам в отдельные экстенты и потом сделает в эти куски EXTENT_SAME (после чего основной экстент останется без ссылок и будет целиком освобождён).
Ну или запилить истинный extent splitting прямо в драйвере, но это якобы настолько сложная проблема, что к ней никто даже не собирается притрагиваться.
Исправление intelfx, :
О как. Ау. Это ж как должно быть плохо образцам VM без nodatacow.
Так и есть.
# compsize /mnt/vm/libvirt/images/windows.img
Processed 1 file, 945431 regular extents (1098755 refs), 0 inline.
Type Perc Disk Usage Uncompressed Referenced
TOTAL 100% 864G 864G 791G
none 100% 864G 864G 791G
rebalance + дедупликация должны помочь
Да чего ты заладил со своей дедупликацией. Она эту проблему абсолютно никак не затрагивает, т. к. дедуплицировать нечего, все данные уникальны. Ребаланс тоже не в тему, т. к. ребаланс просто тасует по диску существующие экстенты, при этом никак их не изменяя (по определению).
Тут нужна «дедупликация наоборот». Т. е. нужна тулза, которая пробежится по диску, построит карту экстентов, найдёт среди них все не полностью зареференсенные экстенты, скопирует их по кускам в отдельные экстенты и потом сделает в эти куски EXTENT_SAME (после чего основной экстент останется без ссылок и будет целиком освобождён).
Ну или запилить истинный extent splitting прямо в драйвере, но это якобы настолько сложная проблема, что к ней никто даже не собирается притрагиваться.
Исправление intelfx, :
О как. Ау. Это ж как должно быть плохо образцам VM без nodatacow.
Так и есть.
# compsize /mnt/vm/libvirt/images/windows.img
Processed 1 file, 945431 regular extents (1098755 refs), 0 inline.
Type Perc Disk Usage Uncompressed Referenced
TOTAL 100% 864G 864G 791G
none 100% 864G 864G 791G
rebalance + дедупликация должны помочь
Да чего ты заладил со своей дедупликацией. Она эту проблему абсолютно никак не затрагивает, т. к. дедуплицировать нечего, все данные уникальны. Ребаланс тоже не в тему, т. к. ребаланс просто тасует по диску существующие экстенты, при этом никак их не изменяя (по определению).
Тут нужна «дедупликация наоборот». Т. е. нужна тулза, которая пробежится по диску, построит карту экстентов, найдёт среди них все не полностью зареференсенные экстенты, скопирует их по кускам в отдельные экстенты и потом сделает в эти куски EXTENT_SAME (после чего основной экстент останется без ссылок и будет целиком освобождён).
Исходная версия intelfx, :
Да чего ты заладил со своей дедупликацией. Она эту проблему абсолютно никак не затрагивает, т. к. дедуплицировать нечего, все данные уникальны. Ребаланс тоже не в тему, т. к. ребаланс просто тасует по диску существующие экстенты, при этом никак их не изменяя (по определению).
Тут нужна «дедупликация наоборот». Т. е. нужна тулза, которая пробежится по диску, построит карту экстентов, найдёт среди них все не полностью зареференсенные экстенты, скопирует их по кускам в отдельные экстенты и потом сделает в эти куски EXTENT_SAME (после чего основной экстент останется без ссылок и будет целиком освобождён).