Рейтинг:3

Как обрабатывается TRIM при клонировании диска с помощью dd?

флаг in

Команда TRIM позволяет ОС сообщить SSD, какие сектора содержат данные, а какие свободны. Это позволяет диску повторно использовать свободные сектора внутри и улучшает выравнивание износа.

Теперь, если SSD клонирован на другой через дд, каждый отдельный сектор копируется на целевой диск. Однако, дд не знает, действительно ли содержимое секторов является данными или не используется. То есть он не может отправить команду TRIM на целевой диск. Насколько я понимаю, целевой диск должен рассматривать КАЖДЫЙ записанный сектор как используемый.

Единственным выходом было бы, если бы используемая/свободная информация каким-то образом хранилась в самих секторах и поэтому копировалась дд на новый диск.

Итак, как это делается? Есть проблема?

Tom Yan avatar
флаг in
Без проблем. Не существует *реального* способа узнать, сопоставлен ли блок с фактическими/желаемыми данными или нет. В лучшем случае вы можете смонтировать все файловые системы на клоне и `fstrim` их все после клонирования. (Хотя `sparse` *может* помочь вам избежать записи нулевых блоков...? Технически это не имеет отношения к тому, был ли исходный блок TRIM перед клонированием.)
флаг in
Да есть проблема в том, что вы записали на диск и вызвали на него ware. Не используйте dd с SSD в качестве цели.
Рейтинг:0
флаг nc

Стандарт TRIM утверждает, что чтение обрезанного блока дает неопределенные результаты. Некоторые версии trim будут имитировать возврат обнуленного блока при его чтении, другие могут возвращать предыдущие данные или какие-то случайные данные.

Michael Hampton avatar
флаг cz
ACS-3 говорит, что накопитель сообщит, выполняет ли он детерминированное чтение после TRIM и возвращает ли такое чтение нули. Большинство современных твердотельных накопителей будут делать и то, и другое.
sweber avatar
флаг in
Я не об этом спрашиваю. Мой вопрос: dd слепо копирует блоки из источника в цель.Он не знает, обрезан ли блок, и поэтому не сообщает целевому диску. Наконец, при клонировании пустого диска со всеми обрезанными блоками вы получите пустой целевой диск, где каждый блок помечен как используемый...
user10489 avatar
флаг nc
@sweber: это не вопрос, это ответ. И если вам не нравится этот результат, не используйте dd. Например, вы можете создать новую файловую систему на новом диске и скопировать ее с помощью tar-канала или чего-то еще. Или используйте утилиту клонирования fs, которая знает о свободном пространстве файловой системы и не копирует его.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.