Перенос содержимого блочных устройств

Для целей резервного копирования я хотел бы передать (несколько) целые разделы диска поверх ссылки ssh. Таким образом, источником является специальное устройство блока, а цель должна быть обычным файлом. Обычные инструменты, похоже, не подходят для этого:

  • scp будет жаловаться not a regular file
  • tar попытается воссоздать идентификаторы устройств на целевой стороне
  • rsync говорит, что skipping non-regular file

Моя лучшая ставка в настоящее время – nc по переадресации портов или один вызов cat на удаленную сторону на раздел, что означает одну запись пароля на раздел, если только вы не устанавливаете открытые ключи. Есть ли более элегантное решение?

Окружающей средой будет любая разумная система Live Linux. В настоящее время у меня, похоже, есть свист Debian, но это не должно быть слишком специфичным для этого.

2 Solutions collect form web for “Перенос содержимого блочных устройств”

Вы можете проехать через SSH. Пример использования dd :

 dd bs=1M if=/dev/disk | ssh -C target dd bs=1M of=disk.img 

Если сетевое соединение ломается во время передачи, вы можете возобновить его, если знаете, сколько было скопировано. Например, если вы уверены, что по крайней мере 1000MiB уже были перенесены (проверьте размер файла disk.img ):

 dd bs=1M skip=1000 if=/dev/disk | ssh -C target dd bs=1M seek=1000 of=disk.img 

dd – просто пример, он работает так же хорошо с другими командами, если они работают с трубами.

Я бы установил программу буфера (если она еще не существует в вашем дистрибутиве), если вы пытаетесь передать через Ethernet-ссылку. Это похоже на dd, но FAR все лучше и быстрее. В основном он запрограммирован на одновременное чтение и запись с использованием буфера разделяемой памяти. Я использовал это для ленточных отвалов, и это сэкономило около 10% времени передачи. Командная строка:

  buffer -i /dev/disk -m 100m | ssh -C target buffer -o disk.image -m 100m 

Есть больше доступных вариантов по умолчанию – 10K. Вышеуказанное распределяет 100 Мбайт общей памяти, вам может потребоваться настроить этот параметр или вашу конфигурацию, чтобы это разрешить.

ПРЕДУПРЕЖДЕНИЕ: Передача раздела ACTIVE таким образом будет проблематичной. Поэтому убедитесь, что раздел, который должен быть передан, НЕ установлен.

  • SSH требует аутентификации с ключами
  • Сервер службы сертификации SSH +?
  • Мост: удерживать обратный кадр за пределами высоты окна терминала
  • Проблемы с монтированием и сбросом на внешнее хранилище (Mac) с выделенного сервера (Ubuntu)
  • sshpass больше не работает?
  • Как включить автозаполнение удаленных путей при использовании scp?
  • Передача определений переменных в определенные оболочки в ssh
  • несколько имен для одного узла в ssh_config
  • Где хранится пароль для аутентификации ssh?
  • Как работает «Формат заголовка удаленной вкладки» в Konsole?
  • SSH без логина и пароля
  • Linux и Unix - лучшая ОС в мире.