Когда логический том уничтожен, данные все еще существуют на жестком диске и по-прежнему доступны (с помощью инструмента, такого как dd
) для любых томов, размещенных поверх тех блоков, в которые не были записаны новые данные.
Существует ли в Linux/Unix такой инструмент или утилита, которые могли бы пометить эти блоки на жестком диске как «грязные», что привело бы к обнулению конкретного блока при первом чтении или записи блока?
Примером этого на практике является Amazon Elastic Block Storage. Согласно документации Amazon EBS :
Когда вы создаете новый том EBS или восстанавливаете том из снимка, фоновые блоки хранения выделяются вам немедленно. Однако при первом обращении к блоку хранилища он должен быть либо очищен (для новых томов), либо создан из его моментального снимка (для восстановленных томов), прежде чем вы сможете получить доступ к блоку. Это предварительное действие требует времени и может привести к потере IOPS от 5 до 50 процентов для вашего тома при первом обращении к каждому блоку. Производительность восстанавливается после однократного доступа к данным.
Самый безопасный вариант - обнулить весь уничтоженный том перед перераспределением, но это уменьшает количество операций ввода-вывода в секунду жесткого диска для других томов, так что это будет последним вариантом (это просто тестовая среда с некоторыми виртуальными машинами для меня). Есть ли встроенное решение, которое копирует то, что Amazon EBS делает выше?