Clonezilla i Drbl - instalacja wielu systemów operacyjnych jednocześnie

Instalacja systemu operacyjnego zajmuje wiele czasu. Jeżeli musimy wykonać wiele takich instalacji, może zająć to wiele czasu. Czas ten znacznie się wydłuża, jeżeli każdą ze stacji roboczych trzeba po instalacji systemu wyposażyć w dodatkowe aplikacje. Jeżeli wszystkie stacje robocze potrzebują tego samego oprogramowania (a często tak jest) warto z tego skorzystać. Czas wykonania tego zadania możemy skrócić dziesiątki razy dzięki wolnemu (bezpłatnemu i otwartemu) oprogramowaniu Clonezilla server. Wykorzystamy multicast lub broadcast, by system zainstalować jednocześnie na tylu maszynach, ile uda nam się spiąć siecią. A wszystko to bez instalcji jakiegokolwiek oprogramowania. Ale o tym w dalszej części artykułu. 

Uwaga! Przedstawiony materiał instruuje jak instalować systemy operacyjne. Działania te zawsze wiążą się z ryzykiem utraty danych. Wszystkie dane na maszynach docelowych zostaną nadpisane (czytaj - usunięte). Instalacja ta może nie zakończyć się sukcesem (choć mnie nie zdarzył się taki przypadek). Wszystko testujesz na własną odpowiedzialność, w razie awarii nie licz na moją pomoc. Jesteś odpowiedzialny za poprawność licencjonowania instalowanego systemu, a w szczególności - aktywację systemów tego wymagających. Być może użyte nazwy handlowe i znaki zastrzeżone są własnością ich właścicieli:)

Wstęp

Wśród rozwiązań tego problemu znajduje się m.in.  WDS (narzędzia dla MS Windows Server służące do wdażania systemów rodziny okienek). Rozwiązanie to pozwala na automatyczną (a nawet bezobsługową) replikację systemów operacyjnych wraz z dodatkowym oprogramowaniem. Rozwiązanie to jest daje duże możliwości, wymaga jednak środowiska domenowego, odpowiedniej konfiguracji sieci i odpowiedniej wersji systemu na serwerze. Ponadto jego wykorzystanie raczej ogranicza się do instalacji systemów Windows. Wdrożenie systemu WDS może być także czasochłonne.

Innym rozwiązaniem, posiadającym spore ograniczenia jest instalacja oparta o klonowanie przygotowanej uprzednio maszyny. Można wykonywać to w oparciu o niektóre narzędzia do backupu, takie jak np. Norton Ghost. Program ten umożliwia wykonanie obrazu dysku twardego i ,,odtworzenie'' go na innym komputerze. W ten sposób, po uprzednim przygotowaniu maszyny źródłowej, możemy ,,powielić'' system operacyjny, oszczędzając na czasie potrzebnym na instalowanie systemu i oprogramowania. Jedynym czasochłonnym procesem jest proces kopiowania obrazu na nowe dyski, który jednak zwykle nie przekracza kilkudziesięciu minut na jedną maszynę. Minusem konkretnie tego oprogramowania jest chyba jedynie to, że jest ono płatne.

Na szczęście istnieją bezpłatne alternatywy. Tą, która najbardziej mi odpowiada jest Clonezilla w wersji Server. Oprogramowanie to umożliwia:

  • tworzenie obrazów partycji wykorzystujących różne systemy plików lub całych dysków, zarówno na dyski lokalne jak i na dyski sieciowe SAMBA, NFS lub wysyłanie ich SSH,
  • przenoszenie sektora MBR,
  • przywracanie w/w obrazów zarówno z dysków lokalnych jak i zdalnych, co najciekawsze, z wykorzystaniem multicastu, broadcastu lub unicastu!
  • przywracanie obrazów na maszynach pozbawionych (interesującego nas) systemu operacyjnego z wykorzystaniem technologii PXE.
  • wszystko to z wykorzytaniem płyty Live, bez konieczności instalacji serwera na jakiejkolwiek maszynie - jedynym wymaganiem jest miejsce potrzebne na utworzenie obrazu. 

Dzięki temu oprogramowaniu możemy wykonać wdrożenie systemu przez:

  1. zainstalowanie systemu i oprogramowania na maszynie wzorcowej,
  2. utworzenia obrazu maszyny wzorcowej na serwerze Clonezilli,
  3. jedoczesnej instalacji na wszystkich maszynach spiętych siecią, umożliwiających rozruch z sieci (z wykorzystaniem PXE).

Ograniczeniem techniki jest (póki co) to, że dysk docelowy nie może być mniejszy niż dysk źródłowy. Ponadto, w przypadku istotnych różnic w sprzęcie źródłowym i docelowym mogą wystąpić problemy z działaniem systemów rodziny M$ (ze względu na brakujące sterowniki). Systemy te, nawet w przypadku instalacji na identycznym sprzęcie, mogą wymagać ponownej aktywacji, skądinąd i tak potrzebnej w przypadku większości typów licencjonowania.

Instalcja systemów z wykorzystaniem Clonezilla Server

Środowisko

Skonfigurowanie środowiska jest banalne:)

Po pierwsze potrzebujemy płytki z Clonezillą w wersji serwer. O dziwo znajdziemy ją nie na stronach Clonezilli, ale jako składową systemu DRBL (Diskless Remote Boot in Linux). W dziale download należy znaleźć aktualny obraz ISO, pobrać go i wypalić na płycie.

Potrzebujemy też maszynę, która posłuży jako serwer Clonezilli. Maszyna ta nie ma jakichś szczególnych wymagań, potrzebne będzie jednak na niej miejsce do przechowania obrazów maszyny źródłowej. Obrazy te zajmują mniej więcej tyle, ile miejsca wykorzystanego jest na maszynie źródłowej (clonezilla wykorzystuje narzędzie partclone, nie kopiujące ,,pustego'' miejca).

Wreszcie, ostatnie i bardzo ważne: musimy dysponować sprzętem sieciowym, aby spiąć nasze maszyny w sieć: tj. switch i kable. Oczywiście, potrzebujemy też maszyny docelowe. Switch powinien być możliwie szybki - rozesłanie kilku/kilkudziesięciu GiB danych z wykorzystaniem switcha 10mbit może być bardziej czasochłonne niż instalacja systemów jeden za drugim. Aby uprościć zadanie wyeliminujemy niepotrzebne ryzyko i konfigurację, spinając komputery w izolowaną sieć (tzn. nie podpinamy switcha do niczego oprócz serwera clonezilli i maszyn biorących udział w klonowaniu).

Przyda się także słownik lub znajomość technicznego języka angielskiego, niemieckiego lub któregoś spośród dostępnych w DRBL:)

Do dzieła

Gdy mamy już potrzebny sprzęt przystępujemy do działania.  

  1. Przygotuj maszynę która posłuży jako wzór - zainstaluj w niej system i co potrzeba.
  2. Uruchom maszynę - serwer clonezilli z płyty z DRBL. W trakcie uruchomienia zostaniesz poproszony o wybór języka (j. polskiego  - brak), klawiatury (nie będziesz potrzebował polskich znaków) i trybu graficznego (w 99% przypadków wystarczy wcisnąć enter). Powinien uruchomić się okienkowy system (dokładnie rzecz biorąc XFCE), na którego pulpicie wśród innych narzędzi będzie Clonezilla Server i Clonezilla Live.
  3. Podłącz serwer clonezilli i maszynę wzorcową do switcha (i tylko te dwa komputery).
  4. Wybierz i uruchom Clonezilla Server. W terminalowych konfiguratorach uruchom serwer clonezilli. W razie wątpliwości zwykle dobrze działa ustawienie domyślne. Ustaw adres statyczny serwera (static). Sieć będzie izolowana, więc śmiało możesz użyć 192.168.1.1. Pozwól wszystkim klientom pobirać obrazy. Wybierz tryb początkującego (beginner mode). Ostrzeżenia dotyczące serwerów DHCP i braku jedynej karty sieciowej zignoruj, pozwól utworzyć alias adresu serwera. Wreszcie, wybierz tryb save disc, zaś nazwę pliku obrazu i dysk źródłowy pozwól wybrać później w systemie wzorcowym. Poproś, aby po zakończeniu działania wyłączyć maszynę (poweroff). Po pomyślnej konfiguracji uruchomi się sporo usług i wyświetli komunikat, aby nie zamykać okna terminala aż do zakończenia kopiowania obrazu.
  5. Uruchom maszynę - wzór, skonfiguruj w BIOS uruchamianie z sieci i pozwól jej uruchomić się w takim trybie. Po poprawnym pobraniu obrazu z sieci powinno wyświetlić się menu z domyślną opcją zapisania obrazu na serwer clonezilli. Po wybraniu tej opcji uruchomi się sieciowy system linux, który poprosi o nadanie nazwy obrazowi, wybranie miejsca zapisu obrazu oraz wybranie klonowanego urządzenia (w współczesnych komputerach na 98% będzie to sda lub ewentualnie hda). Po wybraniu dysku pozostanie już tylko potwierdzanie opcji domyślnych i oczekiwanie na skopiowanie obrazu na serwer. Po zakończeniu (o ile wybrałeś taką opcję w kroku 3.) komputer wyłączy się. W oknie terminala serwera clonezilli wyświetli się podsumowanie klonowania i będziesz mógł zamknąć okno terminala. Odłącz maszynę źródłową od switcha.
  6. Wykorzystując odpowiednią ikonę na pulpicie uruchom ponownie serwer clonezilli. Postępuj podobnie jak poprzednio, wybierz jednak opcję restore disc. Wybierz odpowiedni obraz i docelowy dysk (ponownie będzie to zapewne sda). Wybierz opcję czekaj na klientów... (bez ,,timeoutu'') i podaj liczbę klientów, na których jednocześnie będzie instalowany obraz. Pamiętaj, że kopiowanie rozpoczenie się dopiero wtedy, gdy tyle klientów będzie gotowych. Wreszcie, wybierz multicast multicast restore lub ewentualnie multicast broadcast restore. Ponownie, zignoruj komunikaty wybierając tak, aby uruchomić usługę (czyli w większości przypadków naciskając enter). Ponownie po uruchomieniu usług wyświetlony zostanie komunikat, by nie zamykać okna terminala aż do zakończenia pracy przez klientów.
  7.  Podłącz klientów (i jeśli z jakiegoś powodu go odłączyłeś - serwer clonezilli) do switcha. Uruchamiaj po kolei maszyny, ustaw im bootowanie z sieci i pozwól zabootować się maszynom automatycznie - z sieci. Powinnno pojawić się szare okienko z niebieskim paskiem postępu kopiowania, który jednak nie postępuje tak długo, aż wszystkie maszyny będą gotowe do odebrania obrazu. Jeżeli zauważysz, że któraś z maszyn zawiesi się zresetuj ją i pozwól uruchomić ponownie. Gdy poprawnie uruchomi się ostatnia z maszyn, proces klonowania rozpocznie się, odbędzie i zakończy wyłączeniem maszyn (o ile wybrałeś taką opcję w pkt. 6). Gdy wszystkie wyłączą się, możesz zamnąć okno terminala w serwerze clonezilli lub skopiować podświetlone polecenie w wykonać ponownie dla kolejnego zestawu komputerów. Możesz także oczywiście uruchomić serwer clonezilli ponownie. Gdy już na wszystkich maszynach będziesz miała zainstalowany obraz, możesz wyłączyć serwer clonezilli. Poodłączaj od sieci maszyny, by nie próbowały instalować systemu ponownie.
  8. Uruchamiaj kolejno maszyny ze sklonowanymi systemami. W moim przypadku w większości produkt M$ w wersji 7 uznawał, że system doznał poważnej awarii i chciał go przywracać/wyświetlał BSOD, jednak po wybraniu normalnego uruchamiania systemu uruchamiał się poprawnie i nigdy więcej nie zgłaszał błędów (przynajmniej spowodowanych takim rodzajem instalacji). 
  9. Gotowe!

Jak widać proces kopiowania maszyn nie jest bardzo skomplikowany, a głównym ograniczeniem będzie dostępność sprzętu sieciowego, miejsca na ustawienie maszyn do sklonowania i dostępności zasilania dla maszyn (bo zasilenie np. 20 współczesnych komputerów z jednego gniazda sieciowego zakończy się najprawdopodobniej wybiciem bezpieczników).

I co dalej?

Przedstawiony powyżej proces instalacji z wykorzystaniem Clonezilli jest najprostszym znanym mi rozwiązaniem dla wielu stacji jednocześnie. Ograniczone jest jednak tym, że jest to sieć izolowana. Bawiąc się konfiguracją możemy oczywiście wdrożyć to rozwiązanie jako egzystujące w naszej sieci firmowej. 

W najbliższym czasie postaram się powyższy przygotować powyższy tutorial z obrazkami oraz artykuł o innych możliwościach wykorzystania clonezilli (takich jak klonowanie systemów ,,w locie'' tj. bez nagrywania obrazu, wykorzystanie udziałów sieciowych itd.).

Luźne uwagi

  • w przypadku testowania w środowisku wirtualnym nie każdy typ wirtualnej karty sieciowej pozwala na poprawne bootowanie sieci, popróbuj z różnymi ustawieniami sieci. Wybierz sieć izolowaną/wewnętrzną o jednakowej nazwie we wszystkich maszynach,
  • podobnie nie każdy sprzęt fizyczny umożliwia poprawne bootowanie z sieci,
  • aby ograniczyć potrzebne miejsce możesz instalować system na maszynach bez monitorów i klawiatur, jednak pamiętaj ustawić w BIOSie opcję by system nie zatrzymywał się na błędach klawiatury. W przypadku pracy bez monitora pamiętaj, że system może zawiesić się w trakcie uruchamiania ze względu na stabilność sieci - w razie gdyby zbyt długo nie rozpoczynała się instalacja sprawdź, czy wszystkie maszyny wstały poprawnie,
  • w przypadku switcha 100Mbit potrzeba ok. 1-2 minut na skopiowanie 1GiB danych,
  • Clonezilla wykorzystuje pakiety partclone, udpcast i system drbl. Więcej o tych składowych z łatwością znajdziesz w Internecie,
  • powyższą metodę przetestowałem w środowisku wirtualnym dla instalowanych systemów windows xp i linux oraz w środowisku fizycznym dla systemów Windows 7. We wszystkich przypadkach instalacja przebiegała bezproblemowo, o ile udało się poprawnie zabootować system z sieci (czytaj - PXE wydaje się być kapryśny, a uruchamianie systemu z sieci w razie awarii sieci zwykle się nie udaje),
  • mimo zawodności sieci nie zaobserwowałem problemów z działaniem systemów sklonowanych,
  • w razie wdażania rozwiązania egzystującego w sieci firmowej pamiętaj o tym, aby nie pozwalać wszystkim klientom pobierać obrazu instalacyjnego, aby uniknąć przypadkowych reinstalacji systemów w sieci. Pamiętaj także, że clonezilla jest dodatkowym serwerem DHCP, który może poczynić pewne zamieszanie,
  • przypominam to, co napisałem już we wstępie - instalacja systemu operacyjnego zwykle wiąże się z usunięciem danych na maszynie docelowej. U mnie w jednym przypadku maszyna źródłowa także zasygnalizowała awarię, jednak po wybraniu normalnego trybu uruchamiania uruchomiła się poprawnie i nie zgłaszała więcej błędów.

 

Mam nadzieję, że zaprezentowany materiał przyda się Wam w pracy. Jeżeli zechcesz posłużyć się tym materiałem w swoich artykułach, zacytuj go proszę podając adres mojej strony. 

Odpowiedzi

Instrukcja Clonezilla

 

Polecam fajną instrukcję wideo Clonezilla
- pokazane jest tam po kolei co i jak, lektorka opisuje po kolei
wszystkie funkcje.