Zarzadzanie farma komputerów --- systemimager
Transkrypt
Zarzadzanie farma komputerów --- systemimager
Zarządzanie farmą komputerów systemimager Wojciech Myszka Spis treści Prerekwizyty Zarządzanie farmą komputerów systemimager Jak to działa Wiele systemów Spotkanie ostatnie Zalety Konta użytkowników na farmie Wojciech Myszka [email protected] Udoskonalenia. . . 18 stycznia 2010 Zarządzanie farmą komputerów systemimager Wojciech Myszka Spis treści I 1 Spis treści Spis treści Prerekwizyty 2 Prerekwizyty Jak to działa Wiele systemów 3 Jak to działa Zalety Konta użytkowników na farmie 4 Konfiguracje wielosystemowe Udoskonalenia. . . 5 Zalety 6 Konta użytkowników na farmie 7 Udoskonalenia. . . Zarządzanie farmą komputerów systemimager Prerekwizyty Wojciech Myszka Spis treści 1 Serwer (z wystarczającą ilością miejsca na dysku) Prerekwizyty Jak to działa Wiele systemów Zalety Konta użytkowników na farmie Udoskonalenia. . . Zakładamy, że serwer jest i działa. Zarządzanie farmą komputerów systemimager Prerekwizyty Wojciech Myszka Spis treści 1 Serwer (z wystarczającą ilością miejsca na dysku) Prerekwizyty 2 Serwer DHCP i TFTP (atftpd ewentualnie tftpd-hpa) Jak to działa Wiele systemów Zalety Konta użytkowników na farmie Udoskonalenia. . . Zakładamy, że serwer jest i działa. Zarządzanie farmą komputerów systemimager Prerekwizyty Wojciech Myszka Spis treści 1 Serwer (z wystarczającą ilością miejsca na dysku) Prerekwizyty 2 Serwer DHCP i TFTP (atftpd ewentualnie tftpd-hpa) 3 W pewnych sytuacjach trzeba jeszcze instalować serwer PXE. Jak to działa Wiele systemów Zalety Konta użytkowników na farmie Udoskonalenia. . . Zakładamy, że serwer jest i działa. Zarządzanie farmą komputerów systemimager Prerekwizyty Wojciech Myszka Spis treści 1 Serwer (z wystarczającą ilością miejsca na dysku) Prerekwizyty 2 Serwer DHCP i TFTP (atftpd ewentualnie tftpd-hpa) 3 W pewnych sytuacjach trzeba jeszcze instalować serwer PXE. 4 Farma stacji roboczych (u mnie 17) Najlepiej żeby były identyczne („tak bardzo do siebie podobne jak tylko to możliwe”) Jak to działa Wiele systemów Zalety Konta użytkowników na farmie Udoskonalenia. . . Zakładamy, że serwer jest i działa. Zarządzanie farmą komputerów systemimager Prerekwizyty Wojciech Myszka Spis treści 1 Serwer (z wystarczającą ilością miejsca na dysku) Prerekwizyty 2 Serwer DHCP i TFTP (atftpd ewentualnie tftpd-hpa) 3 W pewnych sytuacjach trzeba jeszcze instalować serwer PXE. 4 Farma stacji roboczych (u mnie 17) Najlepiej żeby były identyczne („tak bardzo do siebie podobne jak tylko to możliwe”) 5 Dobrze żeby stacje robocze obsługiwały PXE (The Preboot eXecution Environment aka Pre-Execution Environment, or ’pixie’) Jak to działa Wiele systemów Zalety Konta użytkowników na farmie Udoskonalenia. . . Zakładamy, że serwer jest i działa. Zarządzanie farmą komputerów systemimager Prerekwizyty Wojciech Myszka Spis treści 1 Serwer (z wystarczającą ilością miejsca na dysku) Prerekwizyty 2 Serwer DHCP i TFTP (atftpd ewentualnie tftpd-hpa) 3 W pewnych sytuacjach trzeba jeszcze instalować serwer PXE. 4 Farma stacji roboczych (u mnie 17) Najlepiej żeby były identyczne („tak bardzo do siebie podobne jak tylko to możliwe”) 5 Dobrze żeby stacje robocze obsługiwały PXE (The Preboot eXecution Environment aka Pre-Execution Environment, or ’pixie’) 6 Linux. . . Jak to działa Wiele systemów Zalety Konta użytkowników na farmie Udoskonalenia. . . Zakładamy, że serwer jest i działa. Zarządzanie farmą komputerów systemimager systemimager Wojciech Myszka Spis treści Prerekwizyty 1 Zniknął z archiwów standardowego oprogramowania (rozwijał się zbyt wolno?) 2 Ubuntu ostatnio w intrepid (8.10) 3 Debian etch („oldstable”) 4 Rozwijany przez społeczność wiki.systemimager.org 5 Ostatnia stabilna wersja 2007 (4.0.2) 6 Ostatnia niestabilna wersja 2008 (4.1.6) 7 Alternatywa ??? Jak to działa Wiele systemów Zalety Konta użytkowników na farmie Udoskonalenia. . . Zarządzanie farmą komputerów systemimager Wojciech Myszka Spis treści Prerekwizyty Jak to działa Wiele systemów Zalety Konta użytkowników na farmie Udoskonalenia. . . Ideologia Zarządzanie farmą komputerów systemimager Wojciech Myszka Spis treści Prerekwizyty Jak to działa Wiele systemów Zalety Konta użytkowników na farmie Udoskonalenia. . . Ideologia Zarządzanie farmą komputerów systemimager Wojciech Myszka Spis treści Prerekwizyty Jak to działa Wiele systemów Zalety Konta użytkowników na farmie Udoskonalenia. . . Ideologia Zarządzanie farmą komputerów systemimager Wojciech Myszka Spis treści Prerekwizyty Jak to działa Wiele systemów Zalety Konta użytkowników na farmie Udoskonalenia. . . Ideologia Zarządzanie farmą komputerów systemimager Prerekwizyty I Procedura Wojciech Myszka Spis treści 1 Na serwerze instalujemy pakiet systemimager-server plus pakiety zależne. 2 Na pierwszej stacji klienckiej instalujemy Linuksa w wariancie jaki nam odpowiada) plus pakiet systemimager-client 3 W miarę potrzeby dokonujemy zmian i modyfikacji, instalujemy dodatkowe oprogramowanie. . . 4 Uruchamiamy program prepareclient na „złotym kliencie” 5 Ustalamy sposób przydziału adresów IP pozostałym stacjom roboczym 6 Obraz (golden image) stacji roboczej zapisujemy na serwer (polecenie getimage uruchomione na serwerze. Prerekwizyty Jak to działa Wiele systemów Zalety Konta użytkowników na farmie Udoskonalenia. . . Zarządzanie farmą komputerów systemimager Prerekwizyty II Procedura Wojciech Myszka Spis treści Prerekwizyty Jak to działa Wiele systemów 7 Na serwerze przygotowujemy (i ew. modyfikujemy według potrzeb) skrypty instalacyjne dla każdej stacji z fermy (polecenie addclients i poprawki w plikach) 8 Pozostałe stacje robocze instalujemy „automatycznie” Zalety Konta użytkowników na farmie Udoskonalenia. . . Zarządzanie farmą komputerów systemimager Jak to działa Wojciech Myszka Spis treści Prerekwizyty Jak to działa Wiele systemów Zalety Konta użytkowników na farmie Udoskonalenia. . . 1 W zasadzie wszystko jest prymitywnie proste Zarządzanie farmą komputerów systemimager Jak to działa Wojciech Myszka Spis treści Prerekwizyty Jak to działa Wiele systemów Zalety Konta użytkowników na farmie Udoskonalenia. . . 1 W zasadzie wszystko jest prymitywnie proste 2 Obraz (golden image) przechowywany jest na serwerze w postaci drzewa katalogów z plikami będącymi dokładnym odwzorowaniem plików stacji roboczej. Zarządzanie farmą komputerów systemimager Jak to działa Wojciech Myszka Spis treści Prerekwizyty Jak to działa Wiele systemów 1 W zasadzie wszystko jest prymitywnie proste 2 Obraz (golden image) przechowywany jest na serwerze w postaci drzewa katalogów z plikami będącymi dokładnym odwzorowaniem plików stacji roboczej. 3 Do transferu plików (w każdą stronę) używany jest protokół rsync co zapewnia niezłą efektywność. Zalety Konta użytkowników na farmie Udoskonalenia. . . Zarządzanie farmą komputerów systemimager Automatyczna instalacja klientów Wojciech Myszka Spis treści Prerekwizyty 1 Przygotowujemy specjalną dyskietkę bootującą (mkautointslldiskette). Można jej używać dla każdej stacji, chyba, że (z jakichś powodów) musimy dokonać specyficznych zmian (tworząc plik /local.cfg Konta użytkowników na farmie 2 Przygotowujemy bootowalny CD (mkautoinstallcd) Udoskonalenia. . . 3 Bootujemy klienta „normalnie” z dysku, kopiujemy polecenie updateclient i uruchamiamy z opcją --autoinstall 4 Bootujemy z sieci (PXE). Trzeba sobie skonfigurować serwer. Jak to działa Wiele systemów Zalety Zarządzanie farmą komputerów systemimager Wojciech Myszka Spis treści Prerekwizyty Jak to działa Wiele systemów Zalety Konta użytkowników na farmie Udoskonalenia. . . How does an autoinstall client know which image to install? In order to better understand the answer, begin by reading the steps the autoinstall client goes through: 1 Boots off the autoinstallmedia 2 Gets an IP address from DHCP 3 Determines the IP address of the image server via DHCP 4 Requests a hosts file from the image server 5 Finds its hostname in the hosts file based on its IP address 6 Requests a script from the image server based on its hostname (for example: www237.sh) 7 Executes this script. The script in question is typically a soft link pointing at the $image.master script that was dynamically created when you ran getimage. This script explicitly states which image to pull from the image server. Open it and take a look. Zarządzanie farmą komputerów systemimager Wojciech Myszka Spis treści Prerekwizyty Jak to działa Wiele systemów Zalety Konta użytkowników na farmie Udoskonalenia. . . Skrypt instalacyjny #!/bin/sh # # "SystemImager" - Copyright (C) 1999-2001 Brian Elliott Finley <brian@s # # # This master autoinstall script was created with SystemImager v2.0.1 VERSION=2.0.1 IMAGENAME=testowy PATH=/sbin:/bin:/usr/bin:/usr/sbin:/tmp ARCH=‘uname -m \ | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm shellout() { exec cat /etc/issue ; exit 1 } ### BEGIN Check to be sure this not run from a working machine ### # test for mounted SCSI or IDE disks mount | grep [hs]d[a-z][1-9] > /dev/null 2>&1 [ $? -eq 0 ] && echo Sorry. Must not run on a working machine... && sh Zarządzanie farmą komputerów systemimager Wojciech Myszka Spis treści Skrypt instalacyjny # test for mounted software RAID devices mount | grep md[0-9] > /dev/null 2>&1 [ $? -eq 0 ] && echo Sorry. Must not run on a working machine... && sh Prerekwizyty Jak to działa Wiele systemów # test for mounted hardware RAID disks mount | grep c[0-9]+d[0-9]+p > /dev/null 2>&1 [ $? -eq 0 ] && echo Sorry. Must not run on a working machine... && sh ### END Check to be sure this not run from a working machine ### Zalety Konta użytkowników na farmie Udoskonalenia. . . # # # . Pull in variables left behind by the linuxrc script. This information is passed from the linuxrc script on the autoinstall Apparently the shell on the autoinstall media is not intelligent enoug /tmp/variables.txt || shellout ### BEGIN Stop RAID devices before partitioning begins ### # Why did they get started in the first place? So we can pull a local.c # file off a root mounted RAID system. We do this even if a system does # use RAID, in case you are using a disk that was previously part of a R # array. # find running raid devices RAID_DEVICES=‘cat /proc/mdstat | grep ^md | mawk ’{print "/dev/" $1}’‘ Zarządzanie farmą komputerów systemimager Skrypt instalacyjny Wojciech Myszka Spis treści Prerekwizyty Jak to działa Wiele systemów Zalety Konta użytkowników na farmie Udoskonalenia. . . # get raidstop utility if any raid devices exist if [ ! -z "${RAID_DEVICES}" ] then rsync -av --numeric-ids $IMAGESERVER::${ARCH}-boot/raidstop /tmp/ || s fi # raidstop will not run unless a raidtab file exists touch /etc/raidtab || shellout # turn dem pesky raid devices off! for RAID_DEVICE in ${RAID_DEVICES} do # we don’t do a shellout here because, well I forgot why, but we don’t echo "raidstop ${RAID_DEVICE}" && raidstop ${RAID_DEVICE} done ### END Stop RAID devices before partitioning begins ### Zarządzanie farmą komputerów systemimager Wojciech Myszka Spis treści Prerekwizyty Jak to działa Wiele systemów Zalety Konta użytkowników na farmie Udoskonalenia. . . Skrypt instalacyjny # Partition the disk (see the sfdisk man page for customization details) # # Below is an example of how to customize a disk. This can be useful if # have disks of differing sizes or geometries. Here is a description of # command presented in the example below: # # line 1 -- the sfdisk command and arguments (-uM means "units are MB) # line 2 -- this is a comment # line 3 -- start at the beginning of the disk 0, give 22M /dev/sda1 (/b # line 4 -- start where the last partition left off, and add 512M /dev/s # line 5 -- start where the last partition left off, and add 6000M /dev/ # line 6 -- start where the last partition left off, and give the remain # line 7 -- the EOF statement indicating to sfdisk that we are finished # # <<<< BEGIN EXAMPLE >>>> sfdisk -uC /dev/hda <<EOF ## partition start_of_partition size_in_megabytes partitio /dev/hda1 : start= 0, size= 12036, Id=83 /dev/hda2 : start= 12036, size= 122, Id=82 /dev/hda3 : start= 12158, size= 1530, Id=07 # /dev/sda4 : start= , size= , Id=83 EOF sfdisk /dev/hda -N1 <<EOF ,,,* Zarządzanie farmą komputerów systemimager Wojciech Myszka Spis treści Prerekwizyty Jak to działa Wiele systemów Zalety Konta użytkowników na farmie Udoskonalenia. . . Skrypt instalacyjny # initialize swap devices mkswap -v1 /dev/hda2 || shellout swapon /dev/hda2 || shellout # format ext3 devices # SystemImager will use the default parameters to create an appropriat # sized journal (given the size of the filesystem) stored internally i # filesystem. # # In the future, I hope to detect and re-create journals of an appropr # size. Currently we don’t deal with non-hidden journals or journals # device other than the filesystem device itself. # # If you require different journal options, simply make the changes he # this <image>.master script. mke2fs -j /dev/hda1 || shellout # create mount points and mount filesystems mkdir -p /a/ || shellout mount /dev/hda1 /a/ -t ext2 -o defaults,errors=remount-ro || shellout mkdir -p /a/proc || shellout mount proc /a/proc -t proc -o defaults || shellout Zarządzanie farmą komputerów systemimager Skrypt instalacyjny Wojciech Myszka Spis treści Prerekwizyty Jak to działa Wiele systemów Zalety Konta użytkowników na farmie Udoskonalenia. . . # Filler up! # # If we are installing over ssh, we must limit the bandwidth used by # rsync with the --bwlimit option. This is because of a bug in ssh that # causes a deadlock. The only problem with --bwlimit is that it slows # down your autoinstall significantly. We try to guess which one you ne # o if you ran getimage with -ssh-user, we presume you need --bwlimit # o if you ran getimage without -ssh-user, we presume you don’t need # --bwlimit and would rather have a faster autoinstall. # # Both options are here for your convenience. We have done our best to # choose the one you need and have commented out the other. # #rsync -av --bwlimit=10000 --numeric-ids $IMAGESERVER::$IMAGENAME/ /a/ | rsync -av --numeric-ids $IMAGESERVER::$IMAGENAME/ /a/ || shellout Zarządzanie farmą komputerów systemimager Wojciech Myszka Skrypt instalacyjny # Leave notice of which image is installed on the client echo $IMAGENAME > /a/etc/systemimager/IMAGE_LAST_SYNCED_TO || shellout Spis treści Prerekwizyty Jak to działa Wiele systemów chroot /a/ systemconfigurator --configsi --stdin <<EOL || shellout [INTERFACE0] DEVICE = eth0 TYPE = dhcp Zalety Konta użytkowników na farmie Udoskonalenia. . . EOL # unmount the freshly filled filesystems echo -n umount /a/proc/ ... umount /a/proc/ && echo Done! || shellout echo -n umount /a// ... umount /a// && echo Done! || shellout # No need to manually stop software RAID devices -- the autodetect suppo # in the kernel will do that for us. # Take network interface down ifconfig eth0 down || shellout Zarządzanie farmą komputerów systemimager Skrypt instalacyjny Wojciech Myszka Spis treści Prerekwizyty Jak to działa Wiele systemów Zalety Konta użytkowników na farmie Udoskonalenia. . . # Cause the system to make noise and display an "I’m done." message ralph="sick" count="1" while [ $ralph="sick" ] do beep [ $count -lt 60 ] && echo "I’ve been done for $count seconds. Reboot [ $(($count / 60 * 60)) = $count ] && echo "I’ve been done for $(($cou sleep 1 count=$(($count + 1)) done Zarządzanie farmą komputerów systemimager Wojciech Myszka Spis treści Prerekwizyty Jak to działa Wiele systemów Zalety Konta użytkowników na farmie Udoskonalenia. . . Konfiguracja serwera PXE SystemImager comes with the mkbootserver utility to help configure a PXE server. Running mkbootserver is an iterative process. It will attempt to generate an appropriate tftproot directory, configure your tftp server, and run various tests to see if things are functioning properly. Once mkbootserver detects an error, it will fail out and generate an error message. When you have corrected the error, you can re-execute mkbootserver, and repeat until it exits successfully. mkbootserver will probably not work with all PXE clients. If it fails to work with your configuration, please submit a bug report to http: // sourceforge. net/ tracker/ ?group_ id= 259&atid= 100259 . Zarządzanie farmą komputerów systemimager Konfiguracje wielosystemowe Wojciech Myszka Spis treści Prerekwizyty Jak to działa 1 Wiele systemów 2 Hmmm. . . Ja zrobiłem to tak: Zalety • Zmodyfikowałem skrypty instalacyjne, żeby tworzyły Konta użytkowników na farmie • Utworzyłem „golden image” partycji windowsowej (za Udoskonalenia. . . odpowiednią partycję na klientach pomocą programu dd kopiując obraz dysku do pliku). • Przechowywałem ten obraz na serwerze i w razie kłopotów odtwarzałem Zarządzanie farmą komputerów systemimager Zalety I Wojciech Myszka Spis treści 1 Jedna jest oczywista: trzeba skonfigurować jedną stację. Reszta idzie automatycznie. 2 Łatki, nowe pakiety czy oprogramowanie wystarczy zainstalować raz, odświeżyć obraz stacji i rozmnożyć na klientach. 3 Czas odtwarzania nie jest specjalnie długi, ale w przypadku paru stacji może być problem 4 W razie jakichś upadków odtworzenie pojedynczej stacji jest właściwie bezproblemowe. 5 Jak się wie co chce się osiągnąć można „odtwarzać” zawartość obrazu selektywnie (ograniczając się tylko do wskazanych kartotek) Prerekwizyty Jak to działa Wiele systemów Zalety Konta użytkowników na farmie Udoskonalenia. . . Zarządzanie farmą komputerów systemimager Zalety II Wojciech Myszka Spis treści Prerekwizyty Jak to działa 6 Pozwala utrzymać środowisko dydaktyczne (z kontem gość albo coś) w dobrym stanie i czystości przed zajęciami wystarczy „odtworzyć” wybraną kartotekę domową. 7 Ja się wie co się robi można podmieniać pojedyncze pliki obrazu, żeby rozpowszechnić modyfikacje (bez zmian na kliencie, przegrywania obrazu na serwer). Wiele systemów Zalety Konta użytkowników na farmie Udoskonalenia. . . Zarządzanie farmą komputerów systemimager Konta użytkowników na farmie Wojciech Myszka Spis treści Prerekwizyty Jak to działa Wiele systemów 1 Katalogi domowe na serwerze (montowane via NFS za pomocą automontera) 2 Dystrybucja informacji o użytkownikach z wykorzystaniem NIS (Yellow Pages) albo LDAP Zalety Konta użytkowników na farmie Udoskonalenia. . . Zarządzanie farmą komputerów systemimager Udoskonalenia. . . Wojciech Myszka Spis treści Prerekwizyty Jak to działa Wiele systemów 1 Flamethrower i Multicast Installs Zalety 2 Instalacja z wykorzystanie ssh (środowisko „niebezpieczne”) 3 Instalacja z wykorzystaniem BitTorrent. Konta użytkowników na farmie Udoskonalenia. . .