Pull to refresh

Clonezilla live CD multicast клонирование ОС на 10 серверов по эталону

Reading time 3 min
Views 14K

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 LiveCD и поставить поверх drbl ( аналогично примеру в этой статье: http://www.howtoforge.com/cloning-linux-systems-with-clonezilla-server-edition-clonezilla-se ). Однако на этом пути (по опыту) нас ждет некоторое количество граблей и потерянного времени. Наша задача подразумевает — что решение нужно настроить быстро. Поэтому мы возьмем LiveCD Drbl в который Clonezilla включена по умолчанию.


1.Работа с Drbl LiveCD



Оно умеет (в связке с drbl):
  • -копировать весь диск в образ, кроме образа сохраняется вся техническая информация о клонируемом компьютере + mbr.
  • -работать с ext4 (partimage ext4 распознает как ext3, что в принципе не страшно, но все же)
  • -раздавать образ сразу на определенное количество машин (начинать клонирование либо по таймауту, либо по количеству машин)
  • -работать с LiveCD с подгрузкой всего образа в RAM
  • -раздавать через NAT интернет на машины загрузившиеся по PXE через сервер клонирования (если на последнем интернет есть).
  • -позволяет загрузить по LiveCD систему аналогичную системе на LiveCD (а поскольку из предыдущего пункта — оно умеет и NAT, то будет и возможность поставить пару пакетов, например). Это помогает если KVM с возможностью подцепления образов есть только на одной машине в дц, а на остальных — только обычный KVM, без подобной возможности.
  • -переставлять grub после заливки образа
  • -автоматически увеличивать раздел «пропорционально» если диск на который восстанавливается образ больше самого образа (при этом swap раздел тоже увеличивается пропорционально). Если хочется не пропроционально — всегда можно выбрать пункт с самостоятельной разбивкой диска на клиенте (не забывайте что номера разделов должны соответствовать номерам разделов на эталоне).
  • -выполнять скрипт по завершению клонирования


Не умеет:
  • -EFI (так что на клонируемый образ лучше сразу ставить grub)


Для клонирования системы по сети по сети нам нужно два обьекта:
  • Образ системы эталона
  • Сервер с развернутой связкой Clonezilla + drbl


Поскольку в нашем случае свободного сервера нет воспользуемся следующей схемой:

1. Установим систему-эталон на один из серверов.

Установим пакеты, настроим сеть (по dhcp, статическую). Если сеть статическая — можно воспользоваться скриптом примерно следующего содержания (запишем его в rc.local эталонного сервера):

root@1:~# cat ~/ip_check.sh
#/bin/bash
hostname=host-name
network=192.168.0
domain=domain

if [ -f /etc/network/pid ];
        then exit 0;
else echo 1 > /etc/network/pid;
        for i in $(seq 3 12);
        do `fping -u -c1 $network.$i`;
                if [ $? -eq "1" ]; then
                        /bin/sed -i.bak -e s/address\ $network.2/address\ $network.$i/g /etc/network/interfaces;
                        h=`expr $i - 1`;
                        echo "$hostname$h" > /etc/hostname;
                        echo "$network.$i $hostname$h.$domain $hostname$h" >> /etc/hosts;
                        shutdown -r now;
                        exit 0;

                fi;
        done;
fi;

root@1:~# cat /etc/rc.local

/root/ip_check.sh


2. Запустим LiveCD на этом сервере эталоне.

Выберем полную загрузку диска в RAM, в загрузчике с диска: «Other modes of DRBL Live» -> «DRBL Live (To Ram. Boot media can be removed later)».
3.Выполним клонирование.

С помощью иконки «Clonezilla live» существующего жесткого диска в образ (пункт device-image) на локальный диск (фактически в RAM, в примонтированную директорию /home/partimag) этого LiveCD (пункт skip).

4. Запустим drbl.

Запустим иконкой «Clonezilla server» сервер drbl. Выберем тип репликации multicast и количество клиентов после которой она должна начаться. Как действие по завершению — выберем halt — включать сервера надо поочередно.

5. Перегружаем серверы.

В моем примере сервера по умолчанию грузятся с сети, поэтому перегружаем сервера на которые мы хотим склонировать систему.

*UPD* Поправил скрипт.
Tags:
Hubs:
+4
Comments 0
Comments Leave a comment

Articles