Я пытаюсь прояснить, как zfs dedup обрабатывает случай, когда некоторые (но не все) наборы данных в пуле удаляются, с точки зрения воздействия таблицы дедупликации / RAM. я нашел это цитата из списка рассылки FreeBSD в 2012 году:
«Обратите внимание, что только файловые системы, для которых вы включили дедупликацию, будут фактически участвовать в дедупликации. Файловые системы с dedup = off не будут проходить дедупликацию».
В качестве примера предположим, что у нас есть два zpools, A и B. Пул A имеет 4 набора данных, содержащих 21 ТБ данных:
В пуле B есть один набор данных, содержащий данные размером 1 ТБ с включенной дедупликацией.
Понятно, что функция дедупликации применяется ко всему каждому пулу. Что не ясно, основано ли влияние дедупликации на оперативную память только на удаленных наборах данных? Другими словами, при прочих равных условиях размер таблицы дедупликации и влияние ОЗУ будут одинаковыми для пула A и пула B или намного больше для пула A, чем для пула B?
Я думаю, что таблица дедупликации должна быть похожей для обоих (установить для всего пула, но не влиять на размер из любых недедуплексированных наборов данных), главным образом потому, что, если бы она была намного больше, это было бы эквивалентно принудительной дедупликации для всего пула, а не только для определенных наборов данных . Однако мне не ясно, так ли это на самом деле.