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. . .