Dd. Создание образа системного диска работающей системы Linux (Centos/AlmaLinux) в сетевое хранилище "налету": различия между версиями
Cless (обсуждение | вклад) |
Cless (обсуждение | вклад) |
||
| (не показано 8 промежуточных версий этого же участника) | |||
| Строка 2: | Строка 2: | ||
=== SSH === | === SSH === | ||
Логинимся в ssh linux<blockquote>Необходимо остановить все критичные службы или сделать снэпшот LVM, чтобы сохранить | Логинимся в ssh linux<blockquote>Необходимо остановить все критичные службы или сделать снэпшот LVM, чтобы сохранить консистентность содержимого диска</blockquote>Создаем большой файл чтобы забить свободное место нулями и, таким образом, уменьшить объем создаваемого образа, создаем образ системного диска sda, сжатие gz, отправка на sftp (ssh) сервер | ||
dd if=/dev/zero of=zero.small.file bs=1024 count=102400 | dd if=/dev/zero of=zero.small.file bs=1024 count=102400 | ||
| Строка 16: | Строка 16: | ||
rpiAlertServerHostname=`hostname`; | rpiAlertServerHostname=`hostname`; | ||
==== Вариант 1. DD (при физических ошибках падает или пытается считать бесконечно) ==== | ==== Вариант 1. '''DD''' (при физических ошибках падает или пытается считать бесконечно) ==== | ||
<code>dd if=/dev/sda | gzip -1 - | sshpass -p " | <code>dd if=/dev/sda | gzip -1 - | sshpass -p "PassWord#1" ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@192.168.17.12 dd of=/mnt/raid/usersadm/img/dd/${rpiAlertServerHostname}/${rpiAlertServerHostname}_`date +%Y-%m-%d_%H-%M`.gz;</code> | ||
==== Вариант 2. DD_RESCUE (пропускает физические невосстановимые ошибки диска) ==== | ==== Вариант 2. '''DD_RESCUE''' (пропускает физические невосстановимые ошибки диска) ==== | ||
<code>dd_rescue /dev/sda - | gzip -1 - | sshpass -p " | <code>dd_rescue /dev/sda - | gzip -1 - | sshpass -p "PassWord#1" ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@192.168.17.12 "dd of=/mnt/raid/usersadm/img/dd/${rpiAlertServerHostname}/${rpiAlertServerHostname}_`date +%Y-%m-%d_%H-%M`.gz";</code> | ||
=== SMB === | === SMB === | ||
<code>mount -t cifs -o username=avc,password= | <code>mount -t cifs -o username=avc,password=PassWord#1 //192.168.10.249/Rutoken /mnt/tmp/</code> | ||
<code>dd if=/dev/mmcblk0 | gzip > /mnt/tmp/rvpn.img.gz</code> | <code>dd if=/dev/mmcblk0 | gzip > /mnt/tmp/rvpn.img.gz</code> | ||
=== Вариант 3. Автоматическое создание образа и отправка по SSH на сервер === | |||
dd if=/dev/zero of=zero.small.file bs=1024 count=102400 | |||
cat /dev/zero > zero.file | |||
sync | |||
rm -rf zero.small.file | |||
rm -rf zero.file | |||
linuxLocalHostname=`hostname`;\ | |||
serverSshPassword="PassWord";\ | |||
sshpass -p "${serverSshPassword}" ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@192.168.17.12 "mkdir -p /mnt/raid/usersadm/img/dd/${linuxLocalHostname}/"; \ | |||
dd if=/dev/sdb |\ | |||
gzip -1 - |\ | |||
sshpass -p "${serverSshPassword}" ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@192.168.17.12 dd of=/mnt/raid/usersadm/img/dd/${linuxLocalHostname}/${linuxLocalHostname}_`date +%Y-%m-%d_%H-%M`.gz; | |||
== Разворачивание образа == | == Разворачивание образа == | ||
| Строка 38: | Строка 52: | ||
=== Linux === | === Linux === | ||
<blockquote>Следующие действия проводим на системе-цели, на диск которой разворачиваем образ</blockquote>Загружаемся с systemrescuecd на целевой системе | |||
Здесь будем разворачивать образ на локальный диск | |||
'''''192.168.17.169''''' - IP целевой системы | |||
'''''/dev/sda -''''' диск на новой системы, на который будем разворачивать образ | |||
'''''192.168.17.12''''' - NAS, на котором хранится образ | '''''192.168.17.12''''' - NAS, на котором хранится образ | ||
| Строка 56: | Строка 72: | ||
===== SMB ===== | ===== SMB ===== | ||
<code>mount -t cifs -o username=avc,password= | <code>mount -t cifs -o username=avc,password=PassWord#1 //192.168.10.249/Rutoken /mnt/tmp/</code> | ||
<code>cat /mnt/tmp/rvpn.img.gz | gzip -dc | dd of=/dev/sda</code> | <code>cat /mnt/tmp/rvpn.img.gz | gzip -dc | dd of=/dev/sda</code> | ||
[[Категория:Dd]] | [[Категория:Dd]] | ||
[[Категория:Linux]] | [[Категория:Linux]] | ||
[[Категория:Centos 7]] | [[Категория:Centos 7]] | ||
__ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__ | __ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__ | ||
[[Категория:HDD]] | |||
[[Категория:AlmaLinux 8]] | |||
Текущая версия на 09:20, 25 декабря 2023
Cоздание образа
SSH
Логинимся в ssh linux
Необходимо остановить все критичные службы или сделать снэпшот LVM, чтобы сохранить консистентность содержимого диска
Создаем большой файл чтобы забить свободное место нулями и, таким образом, уменьшить объем создаваемого образа, создаем образ системного диска sda, сжатие gz, отправка на sftp (ssh) сервер
dd if=/dev/zero of=zero.small.file bs=1024 count=102400
cat /dev/zero > zero.file
sync
rm -rf zero.small.file
rm -rf zero.file
rpiAlertServerHostname=`hostname`;
Вариант 1. DD (при физических ошибках падает или пытается считать бесконечно)
dd if=/dev/sda | gzip -1 - | sshpass -p "PassWord#1" ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@192.168.17.12 dd of=/mnt/raid/usersadm/img/dd/${rpiAlertServerHostname}/${rpiAlertServerHostname}_`date +%Y-%m-%d_%H-%M`.gz;
Вариант 2. DD_RESCUE (пропускает физические невосстановимые ошибки диска)
dd_rescue /dev/sda - | gzip -1 - | sshpass -p "PassWord#1" ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@192.168.17.12 "dd of=/mnt/raid/usersadm/img/dd/${rpiAlertServerHostname}/${rpiAlertServerHostname}_`date +%Y-%m-%d_%H-%M`.gz";
SMB
mount -t cifs -o username=avc,password=PassWord#1 //192.168.10.249/Rutoken /mnt/tmp/
dd if=/dev/mmcblk0 | gzip > /mnt/tmp/rvpn.img.gz
Вариант 3. Автоматическое создание образа и отправка по SSH на сервер
dd if=/dev/zero of=zero.small.file bs=1024 count=102400
cat /dev/zero > zero.file
sync
rm -rf zero.small.file
rm -rf zero.file
linuxLocalHostname=`hostname`;\
serverSshPassword="PassWord";\
sshpass -p "${serverSshPassword}" ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@192.168.17.12 "mkdir -p /mnt/raid/usersadm/img/dd/${linuxLocalHostname}/"; \
dd if=/dev/sdb |\
gzip -1 - |\
sshpass -p "${serverSshPassword}" ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@192.168.17.12 dd of=/mnt/raid/usersadm/img/dd/${linuxLocalHostname}/${linuxLocalHostname}_`date +%Y-%m-%d_%H-%M`.gz;
Разворачивание образа
Диск, на который разворачиваем образ должен быть немного большего размера чем диск-источник
Windows
Используем ETCHER 1.5.x
Разворачиваем образ *.gz на HDD-диск
При проверке образа, после разворачивания, etcher напишет "Failed", Однако система загрузится корректно с диска, на который развернули образ
Linux
Следующие действия проводим на системе-цели, на диск которой разворачиваем образ
Загружаемся с systemrescuecd на целевой системе
Здесь будем разворачивать образ на локальный диск
192.168.17.169 - IP целевой системы
/dev/sda - диск на новой системы, на который будем разворачивать образ
192.168.17.12 - NAS, на котором хранится образ
SSH
НЕархивированный образ
ssh root@192.168.17.12 cat /path/to/image.img | dd of=/dev/sda
Архивированный образ
ssh root@192.168.17.12 cat /path/to/image.img.gz | gunzip | sudo dd of=/dev/sda
SMB
mount -t cifs -o username=avc,password=PassWord#1 //192.168.10.249/Rutoken /mnt/tmp/
cat /mnt/tmp/rvpn.img.gz | gzip -dc | dd of=/dev/sda