0. Преамбула.
Статья — маленький гайд по возможностям Clonezilla SE на конкретном примере.
Поставили задачу — установить систему на 10 серверв в удаленном дц.
Установить систему нужно на голое железо.
Посмотрел в сторону partimage server — удобно, но не совсем то (копирует только разделы, для запуска нужно загрузиться, к примеру, с System Rescue CD).
В итоге — остановился на Clonezilla.
Дистрибутив бывает двух версий:
1. Clonezilla (http://clonezilla.org/downloads.php)
2. Clonezilla Server Edition ( http://drbl.org/download/ )
Второй вариант ведет на другой сайт — drbl (и другой livecd). И это верно, поскольку Clonezilla Server Edition это Clonezilla (утилита) + drbl (diskless remote boot in linux).
В принципе можно взять Clonezilla Life CD и поставить поверх drbl ( аналогично примеру в этой статье: http://www.howtoforge.com/cloning-linux-systems-with-clonezilla-server-edition-clonezilla-se ). Однако на этом пути (по опыту) нас ждет некоторое количество граблей и потерянного времени. Наша задача подразумевает — что решение нужно настроить быстро. Поэтому мы возьмем Life CD Drbl в который Clonezilla включена по умолчанию.
1.Работа с DrblLiveCD
Оно умеет (в связке с drbl):
- -копировать весь диск в образ, кроме образа сохраняется вся техническая информация о клонируемом компьютере + mbr.
- -работать с ext4 (partimage ext4 распознает как ext3, что в принципе не страшно, но все же)
- -раздавать образ сразу на определенное количество машин (начинать клонирование либо по таймауту, либо по количеству машин)
- -работать с LifeCD с подгрузкой всего образа в RAM
- -раздавать через NAT интернет на машины загрузившиеся по PXE через сервер клонирования (если на последнем интернет есть).
- -позволяет загрузить по lifecd систему почти аналогичную системе на lifecd (а поскольку из предыдущего пункта — оно умеет и NAT, то будет и возможность поставить пару пакетов — gparted, например). Это помогает если KVM с возможностью подцепления образов есть только на одной машине в дц, а на остальных — только обычный KVM, без подобной возможности.
- -переставлять grub после заливки образа
- -автоматически увеличивать раздел «пропорционально» если диск на который восстанавливается образ больше самого образа (при этом swap раздел остается того же размера).
Не умеет:
- -EFI (так что на клонируемый образ лучше сразу ставить grub)
Для клонирования системы по сети по сети нам нужно два обьекта:
- Образ системы эталона
- Сервер с развернутой связкой Clonezilla + drbl
Поскольку в нашем случае свободного сервера нет воспользуемся следующей схемой:
1. Установим систему-эталон на один из серверов.
Установим пакеты, настроим сеть (по dhcp, статическую). Если сеть статическая — можно воспользоваться скриптом примерно следующего содержания (запишем его в rc.local эталонного сервера):
root@1:~# cat ~/ip_check.sh #/bin/bash if [ -f /etc/network/pid ]; then exit 0; else echo 1 > /etc/network/pid; for i in $(seq 2 12); do `fping -u -c1 10.50.0.$i`; if [ $? -eq "1" ]; then /bin/sed -i.bak -e s/address 192.168.0.2/address 192.168.0.$i/g /etc/network/interfaces; shutdown -r now; fi; done; fi; root@1:~# cat /etc/rc.local /root/ip_check.sh
2. Запустим LifeCd на этом сервере эталоне.
Выберем полную загрузку диска в RAM, в загрузчике с диска: Other modes of DRBL Live -> DRBL Live (To Ram. Boot media can be removed later).
3.Выполним клонирование.
С помощью иконки Clonezill alive существующего жесткого диска в образ (пункт device-image) на локальный диск (фактически в RAM, в примонтированную директорию /home/partimag) этого Life CD (пункт skip).
4. Запустим drbl.
Запустим иконкой Clonezilla server сервер drbl. Выберем тип репликации multicast и количество клиентов после которой она должна начаться. Как действие по завершению — выберем halt — включать сервера надо поочередно.
5. Перегружаем серверы.
В моем примере сервера по умолчанию грузятся с сети, поэтому перегружаем сервера на которые мы хотим склонировать систему.
Автор: kyzia