LINUX.ORG.RU

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

Исправление 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 (после чего основной экстент останется без ссылок и будет целиком освобождён).