LINUX.ORG.RU

Восстановление содержимого SSD из образа

 ,


1

3

Есть SSD-диск. Когда-то я сделал его образ с помощью dd if=/dev/sda of=backup.img, а теперь хочу его восстановить. В случае с HDD всё очевидно - dd if=backup.img of=/dev/sda. Однако для SSD ещё необходимо сделать discard для нулевых блоков.

1) Как правильно восстановить диск из бекапа?

2) Можно ли восстановить обычным dd, а потом какой-то другой программой пройтись по диску и сделать discard для нулевых секторов (не думаю, что будет проблемой, если я сделаю discard для сектора с нулями, которые на самом деле будут данными - ведь при чтении всё равно считаются нули, а при записи сектор заново выделится)?

★★★★★

Делаешь
dd if=backup.img of=/dev/sda
mount /dev/sda1 /mnt -o discard
dd if=/dev/zero of=/mnt/temp.file bs=8M
ждешь пока на разделе закончится место
rm /mnt/temp.file
Ждешь пока он сам сделает discard
или делаешь
fstrim /dev/sda1
Профит...

chaos_dremel ★★
()
Последнее исправление: chaos_dremel (всего исправлений: 4)

Однако для SSD ещё необходимо сделать discard для нулевых блоков.

Почему необходимо?

Deleted
()

Однако для SSD ещё необходимо сделать discard для нулевых блоков

Ни в коем случае! Если внутри файла были нулевые блоки - из них после discard будет читаться мусор (даже нет гарантии, что каждый раз одинаковый).

anonymous
()

Ещё вариант - примонтировать фс из образа, создать на ssd новую фс и скопировать туда файлы через cp.

Nao ★★★★★
()
Ответ на: комментарий от Nao

С точки зрения ФС свободное место за пределами скопированных данных уже отTRIMленно. И пока на его место не запишут данные и не уберут их, она будет считать, что они не нуждаются в TRIM'е.

chaos_dremel ★★
()
Последнее исправление: chaos_dremel (всего исправлений: 2)
Ответ на: комментарий от Nao

UPD. Хотя вот почитал, fstrim будет работать и без заполнения раздела.

chaos_dremel ★★
()

делай как пишет Nao, и неожиданностей не будет. Не забудь только защитить права на файлы, линки etc.

Deleted
()
Ответ на: комментарий от r3lgar

cp -a ни чуть ни сложнее и копирование это как раз его основное предназначение.

Основное предназначение rsync - синхронизация каталогов по сети с минимальным трафиком.

Понятно что обе утилиты могут справиться с задачей, но rsync тут лишняя сущность, т.к. его ещё надо устанавливать, а cp есть из коробки в большинстве дистров.

Nao ★★★★★
()
Ответ на: комментарий от Nao

предназначение rsync - синхронизация

Для бэкапов он годится более чем.

по сети

Не обязательно. Локально он работает ничуть не хуже.

обе утилиты могут справиться с задачей

Это и не ставилось под сомнение.

надо устанавливать

В Gentoo (и в SystemResqueCD в частности) он стоит искаропки (мне он нужен раз в год, но я его не сношу, хотя в моей системе он совершенно не нужен никому, кроме меня), а SystemResqueCD как никто другой подходит для восстановления системы, в том числе из бэкапов.

r3lgar ★★★★★
()

Никогда не понимал людей, делающих «бэкапы» при помощи dd. Родина дала им rsync, bacula и кчу других вкусностей! Но нет, не хочу, хочу брать говно и сношаться с dd, как тс.

cherry-pick
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.