Лучший способ клонировать установку (копирование на идентичное оборудование)


53

Вроде как этот вопрос, но немного другой (я думаю), в том, что у меня есть 6 идентичных машин Acer Aspire Revo R3610. Один (почти) настроен под мои требования - когда я закончу его готовить, я бы хотел сделать остальные 5 машин абсолютно одинаковыми. Я очень новичок в Ubuntu, какой самый простой (самый простой) способ сделать это?

Машины будут жить в разных сетях, если в противном случае это может стать проблемой (например, в Windows вы можете клонировать диски, но затем вам придется вносить изменения в реестр, если они будут работать в той же сети и т. Д.). Аппаратное обеспечение на всех 6 машинах, подчеркиваю, одинаково!

Как я могу эффективно клонировать один исходный образ на эти идентичные машины?

Пожалуйста, ограничьте одно программное обеспечение / решение для ответа

Ответы:


31

Clonezilla звучит так, как будто вам нужно


1
Абсолютно правильный инструмент для работы. Моя мама запускает «Mumbuntu», и я периодически делаю снимок ее Acer Revo, используя clonezilla, и беру ее домой, чтобы восстановить на Revo, которым я владею в качестве резервной копии. Работает угощение.
Попей

7
Одно из преимуществ использования таких инструментов, как partimage и ntfsclone (что Clonezilla использует для создания образа диска), заключается в том, что они понимают базовую файловую систему на каждом разделе, что позволяет им копировать только используемые блоки. Поскольку dd не имеет этой функциональности, он должен копировать каждый байт раздела, независимо от того, используется он или нет.
Эван

1
Это отстой. Не удалось клонировать после двух дней работы. Зависит от вычисления растрового изображения ... Используйте Windows и Acronis Trueimage
Олкай Эрташ

DD не сделает загрузочный резервный CD? Это причина использования CloneZilla?

@YumYumYum: ddделает копии файла / раздела / диска. Таким образом, если вы клонируете загрузочный компакт-диск (либо .isoобраз, либо CDFSраздел), результат также будет загрузочным. Но неdd будет «конвертировать» данный набор папок / файлов в загрузочный образ.
MestreLion

17

дд

Низкоуровневая копия с использованием dd поможет!

Остерегайтесь конфликтующих IP-адресов и имен хостов.

В основном поместите исходный диск и целевой диск на одну и ту же машину, загрузившись в live cd. И запустите что-то вроде следующего, где /dev/sdaнаходится источник и /dev/sdbместо назначения:

dd if=/dev/sda of=/dev/sdb bs=4096

Я помню операнды по:

if -> входной файл

of -> выходной файл

bs -> размер блока (сколько байт для чтения за один раз)


3
Конечно, почему нет? = / Я видел, как люди делают это, и я видел, как люди не делают этого. Есть ли где-нибудь руководство по стилю для ответов?
Дерек

если у вас включен динамический IP-адрес, временно сделайте этот загрузочный / резервный CD / USB. Там не должно быть никаких проблем, я считаю, для конфликтующих IP. Пока это резервное копирование от А до Я, это действительно важно для меня, потому что у меня было много драйверов.

2
Насколько это безопасно, учитывая, что любые открытые / закрытые ключи, используемые, например, OpenSSH, будут идентичны? Что нам нужно изменить, чтобы сохранить систему в безопасности (другой, где мы не хотим, чтобы она была другой)?
Джос

Что вы подразумеваете под «что-то вроде этого»? Я положительно отношусь к sda и sdb, но не понимаю, почему вы выбрали этот бс.
SDsolar


3

Самый простой способ сделать это - запустить чистую установку Ubuntu на жестком диске, установить VirtualBox и настроить виртуальную машину Ubuntu. Запустите свою виртуальную машину и настройте эту установку так, как вы хотите, со всеми необходимыми функциями. Все ваши работы и игры на виртуальном компьютере.

VirtualBox поддерживает виртуальную машину в виде большого файла образа диска (.vdi) вместе с несколькими другими, гораздо меньшими файлами конфигурации. Всякий раз, когда вы хотите сделать резервную копию вашей виртуальной машины, просто закройте ее и скопируйте ее каталог в папку для резервного копирования. Для этой цели я использую внешний накопитель Passport.

Прямо сейчас на этом внешнем диске есть виртуальная машина с Windows 7 и Ubuntu 12. Все обновления системы, программы, личные файлы, изображения и прочее сохраняются на этих виртуальных машинах. Резервное копирование такого типа выполняется очень быстро, поскольку один большой образ диска будет передаваться гораздо быстрее, чем группа отдельных файлов. Поскольку VirtualBox постоянно поддерживает файлы в этом формате, виртуальная машина всегда настроена для резервного копирования.

Одним из преимуществ этой настройки является то, что я могу запускать эти виртуальные машины с внешнего диска на любом компьютере с установленным VirtualBox, так что теперь, вместо того, чтобы тащить свой компьютер повсюду, я просто привожу свой внешний диск с Windows и Ubuntu, устанавливая VirtualBox на какой бы компьютер я не планировал использовать (у меня есть все установочные файлы VirtualBox на внешнем жестком диске - они доступны для всех основных операционных систем), и я готов к работе. Я могу либо скопировать свою виртуальную машину на компьютер, который я использую, либо просто запустить ее с внешнего диска.

Если в какой-то момент ваш компьютер выходит из строя и умирает, кого это волнует, вы просто берете установочный диск Ubuntu, устанавливаете его на новый или отремонтированный компьютер, подключаете внешний диск, устанавливаете VirtualBox и копируете виртуальные машины обратно на свой компьютер - проблема решена с минимальным стрессом, потерей времени и потерей данных. Сколько данных вы потеряете, зависит от того, когда вы в последний раз сделали резервную копию. Для себя я делаю новую резервную копию всякий раз, когда я делаю серьезные изменения или добавляю труднодоступную программу. Просто убедитесь, что ваша виртуальная машина работает нормально, когда вы это делаете. Вы не хотели бы копировать поврежденную машину поверх хорошей.

И нет, я не работаю на VirtualBox.


Любить это. Upvote. Я мог бы просто сделать это на моей следующей машине.
SDsolar

2

Partimage

Еще одна замечательная утилита для клонирования, которую я использовал. Особенности терминала графического интерфейса.


это включает в себя спасение системы cd -> sysresccd.org/Main_Page
hhlp 18.10.10

partimage не поддерживает ext4 или btrfs source
Anwar

Это исключает меня. ext4
SDsolar

2

Я хотел бы получить один компьютер так, как вы хотите, и установить пакет openssh-server. Создайте пару ключей ssh ​​с ssh-keygen -t rsa. Добавьте открытый ключ в /root/.ssh/authorized_keys2. Затем я загружал новые компьютеры с живого компакт-диска и подключал USB-флешку с закрытым ключом ssh. Используйте gparted для создания нового раздела. Затем смонтировать новый раздел и запустить что-то вродеsudo rsync -avzx -e "ssh -i /media/disk/path/to/privatekey" --exclude=".gvfs" root@<ImageComputerIP>:/ /path/to/new/partition/

Используйте blkidкоманду, чтобы найти UUID файловой системы, которую вы только что создали. Отредактируйте, /path/to/new/partition/etc/fstabчтобы отразить новый UUID (и тип файловой системы, если вы использовали другую файловую систему.)

Затем я следовал бы инструкциям на https://help.ubuntu.com/community/Grub2/Install#via_ChRoot о том, как установить из chroot.

Упрощенная версия этой страницы (которая не учитывает lvm, программный рейд или bcache, или не разделяет / boot, как вики-страница):

Смонтируйте критические виртуальные файловые системы. Выполните следующее как одну команду:

for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done

Загрузите ваше обычное системное устройство:

sudo chroot /mnt

Переустановите GRUB 2 (замените правильное устройство на sda, sdb и т. Д. Не указывайте номер раздела):

grub-install /dev/sdX

Восстановить файл меню GRUB 2 (grub.cfg)

update-grub

Выход из chroot: CTRL-D на клавиатуре

Кстати, это хорошо работает и для резервного копирования. У Ubuntu, в отличие от Windows, нет проблем с переносом на другое оборудование. Я установил жесткие диски с одного компьютера на другой, и все прошло нормально, и я скопировал установки на другое оборудование, и все прошло нормально.


Спасибо за это - у меня скоро еще один, я попробую. Приветствия
robsoft

Ссылочная ссылка в настоящее время не упоминает chroot и никакие методы. Вот почему это хорошая идея, чтобы процитировать соответствующие части ваших источников.
Хенно

@Henno Вики-страница была перемещена. Проблема с включением страницы состоит в том, что вики постоянно обновляется с такими новостями, как bcache, и простое копирование содержимого страницы пропустит эти обновления, но обратная сторона простой ссылки на эти вещи может переместиться на вас. В любом случае, ссылка обновлена, и урезанная версия включена.
Азендейл


1

G4L

Призрак для Linux

Ghost for Linux - это инструмент для создания образа и клонирования жесткого диска и разделов, аналогичный Norton Ghost (c) и (tm) от Symantec. Созданные изображения могут быть сжаты, и они могут быть сохранены на локальном жестком диске или перенесены на анонимный FTP-сервер. Диск можно клонировать с помощью функции Click'n'Clone. g4l поддерживает разбиение файлов, если локальная файловая система не поддерживает запись файлов> 2 ГБ. Включенное ядро ​​поддерживает диски ATA, serial-ATA и SCSI. Общие сетевые карты поддерживаются. Он поставляется в виде загрузочного образа компакт-диска с графическим интерфейсом ncurses для простоты использования.


О, МОЙ БОГ. Это именно то, что я хотел целую вечность. Даже для Windows. TNX за пост. Я проверю это прямо сейчас.
SDsolar

1

FSArchiver

Я не знаю, почему никто не упомянул это. Это особенно удобно, когда вы хотите восстановить содержимое раздела в другом типе файловой системы (например, восстановить содержимое ext4 в ext2 или reiserfs) или хотите восстановить в меньший раздел.

Я использовал это, и это очень легко. Например, чтобы клонировать раздел, скажем, что /dev/sda1вы используете такую ​​команду

fsarchiver -A -j 2 -z 1 savefs /media/anwar/USB_Drive/myrootpartition /dev/sda1

-AОпция позволяет копировать раздел , даже если она используется! Отличная особенность!

-j 2говорит использовать 2 ядра процессора для сжатия. Полезно для многоядерных процессоров и если вы используете сжатие

-z 1 устанавливает уровень сжатия.

Для восстановления файловой системы вы использовали

fsarchiver restfs /data/myrootpartition.fsa id=0,dest=/dev/sda2

Это id=0говорит о том, что вы восстанавливаете первую файловую систему из архива (даже если вы не сохранили несколько разделов в одном архиве, вам нужно указать это). И dest=/dev/sda2устанавливает пункт назначения восстановления.


0

Я делаю это много, используя rsync.

Сначала вы можете запустить rsync для загрузки всех данных на внешний жесткий диск (ваш внешний жесткий диск должен быть в ext4 - я использую это, поэтому я знаю, что это работает): я предполагаю, что у вас есть два раздела: / dev / sda1 (root) и / dev / sda2 (swap).

Запустите на своем оригинальном компьютере:

sudo rsync -avuorpESHAX /* /your/hard/drive

После копирования данных загрузите ваш следующий компьютер с USB-накопителя и отформатируйте внутренний жесткий диск как исходный жесткий диск.

Подключите внешний диск /mntи скопируйте UUID всех разделов. Отредактируйте идентификаторы UUID разделов нового компьютера и вставьте те же идентификаторы UUID, которые вы скопировали из исходных данных (они есть /mnt/etc/fstab).

Выключите своп:

sudo swapoff -a

Создайте новый своп, используя оригинальный UUID, скопированный из /mnt/etc/fstab:

sudo mkswap /dev/sda2 -U original-UUID

(Я полагаю, ваш своп в /dev/sda2)

Затем измените UUID /dev/sda1: (раздел должен быть размонтирован для изменения UUID)

sudo umount /mnt
sudo tune2fs /dev/sda1 -U old-UUID

Сделано это, смонтировать целевой раздел:

sudo mount /dev/sda1 /mnt

Обратный rsync к месту назначения:

sudo rsync -avuorpESHAX /media/your-backup /mnt

Переустановите личинку:

sudo grub-install --root-directory /mnt /dev/sda

Это будет работать Не забудьте отредактировать /etc/hostnameи /etc/hostsизменить имя хоста для каждой машины, чтобы избежать сетевых конфликтов.


-1

Никогда еще не бывал в этом затруднительном положении (у меня нет сотен серверов - я всегда просто использовал базовые образы), я могу только дать вам свой инстинкт инстинкт.

Кроме того, я бы сказал, что netboot - ваш лучший выбор. Создайте главный сервер, сделайте так, как вы хотите, а затем загрузите и установите все остальные машины с него. Написание сценариев, которые должны происходить автоматически (например, один раз), не должно быть слишком сложным. Вы делаете все второстепенные вещи через кикстарт.

Больше (хотя оно немного старое): https://help.ubuntu.com/community/PXEInstallServer

Изменить: есть приложение, system-config-kickstartкоторое должно помочь сделать создание файла кикстарта немного проще. YMMV.

альтернативный текст


Насколько я знаю, это system-config-kickstartсделано специально для fedora.
Shaharia Azam

-1

Другой вариант для массовой установки - это подход Ubuntu Landscape / private cloud, когда вы (в основном) настраиваете серверы динамически на основе пула оборудования. Умные вещи.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.