FAI kasutamine Debianiga

Allikas: Kuutõrvaja
Redaktsioon seisuga 11. mai 2009, kell 09:50 kasutajalt Imre (arutelu | kaastöö) (FAI serveri ettevalmistamine)

Sissejuhatus

FAI (Fully Automated Installation) http://www.informatik.uni-koeln.de/fai/ süsteem võimaldab korraldada automaatset operatsioonisüsteemi paigaldamist. Sellisest asjakorraldusest võib olla kasu nt järgnevatel juhtumitel

  • ülesandeks on hallata suhteliselt suurt arvu arvuteid (kümneid või sadu)
  • eeldusel, et automaatne paigaldus on hästi ettevalmistused ja arvuti nö iseloom seda võimaldab, pole tarvis põhimõtteliselt kõnealust arvutit varundada

FAI süsteem koosneb üldiselt sellistest komponentidest

                  _____
                 |     | FAI server: dhcp, tftp, nfs
                 |_____|
                    |
                    |
            ---|----|-------|------------|---
               |            |            |
             __|__        __|__        __|__
            |     |      |     |      |     |  ....
            |_____|      |_____|      |_____|
             
             smtp1        smtp2        squid
                       FAI kliendid

ning töötab selliselt, et FAI kliendi käivitamisel sooritatakse selline järgnevus

  • FAI klient saab oma MAC aadressi alusel endale dhcp serverist võrguseadistused sh domeeninime (st hostname'i)
  • FAI klient kopeerib FAI serverilt tuuma ja initramfs'i
  • FAI klient ühendab FAI serverilt omale külge juurfailisüsteemi
  • FAI klient käivitab installeri, mis töötab FAI serveril asuva seadistuse juhtimisel
  • FAI kliendi lokaalsele kõvakettale paigaldatakse operatsioonisüsteem

Järgmisel FAI kliendiks oleva arvuti alglaadimisel peab vaatama, et ei korduks soovimatult operatsioonisüsteemi paigaldamise protseduur ja käivituks paigaldatud süsteem.

See kui efektiivseks kujuneb FAI kasutamine sõltub sellest, kui palju vaeva näha FAI serveri seadistamisel, eriti nende tegevuste kirjeldamisel, mis kliendid seadistavad.

Praktiliselt on võimalik FAI serveri juhtimisel FAI kliendil seadistada muu seas

  • kõvakettakasutus (fdisk partitsioonid, LVM, tarkvaraline raid, failisüsteemid)
  • millised .deb paketid paigaldatakse
  • võrguparameetrid
  • kostümiseerida paigaldatud tarkvara seadistused (nt kopeerida sobiva sisuga /etc/squid/squid.conf)
  • seadistada initramfs (nt korraldada, et initramfs oskab alglaadida süsteemi LVM'ilt juurfailisüsteemilt)

FAI kasutamisel tekitatakse operatsioonisüsteem nö Debiani paketi ja üksiku faili (tavaliselt seadistusfaili) täpsusega. St ei toimu ettevalmistatud operatsioonisüsteemi tõmmise plokk-haaval kopeerimist. Sellise lähenemise eeliseks on suurem paindlikkus töötava süsteemi haldamisel, kannatab aga uue arvuti tekitamise kiirus kuigi praktiliselt mitte oluliselt.

Antud juhtumil on FAI kasutamist uuritud Xeni keskkonnas, kus

  • FAI serveriks on Xen PV domU
  • FAI kliendiks on Xen HVM domU
  • FAI klient alglaadib ennast võrgust kasutades PXE'd (st DHCP + TFTP + NFS)

Sellisel juhtumil moodustavad FAI serveri sellised teenused

  • NFS server
  • DHCP server
  • TFTP server

Eesmärk

Olgu eesmärgiks ettevalmistada FAI serveri selliste omadustega kliendi automaatne paigaldamine

  • kõvakettakasutus
 /boot - /dev/hda1
 LVM PV system - /dev/hda2
 swap - LVM LV /dev/system/swap
 / - LVM LV /dev/system/system
  • domeeninimi - fai-client-1.auul
  • squid, kostümiseeritud /etc/squid/squid.conf

FAI serveri ettevalmistamine

FAI serverisse tuleb paigaldada paketid

 # apt-get install fai-quickstart

Peale tarkvara paigaldamist tuleb /etc/fai/fai.conf seadistusfail üle vaadata, tõenäoliselt vaikeväärtused sobivad

 LOGUSER=
 FAI_LOGPROTO=ssh
 FAI_CONFIGDIR=/srv/fai/config
 MNTPOINT=/media/mirror
 FAI=/var/lib/fai/config

FAI NFS serveriga seotud seadistused on kirjeldatud failis make-fai-nfsroot.conf, kus 192.168.10.199:9999 on apt-proxy

 NFSROOT=/srv/fai/nfsroot
 TFTPROOT=/srv/tftp/fai
 FAI_DEBOOTSTRAP="lenny http://192.168.10.199:9999/debian"
 FAI_ROOTPW='$1$kBnWcO.E$djxB128U7dMkrltJHPf6d1'
 FAI_DEBOOTSTRAP_OPTS="--exclude=dhcp-client,info"

FAI serveri sh NFS komponendi ettevalmistamiseks tuleb öelda

 # fai-setup -v

FAI kliendi seadistuse ettevalmistamine

Alustuseks sobib kasutada FAI klientide näidis-seadistusi kopeerides

 # cp -a /usr/share/doc/fai-doc/examples/simple/* /srv/fai/config

Nimeserveri ettevalmistamine

Selles keskkonnas, kus FAI'd kasutatakse võiks olla nimeserver ning seal olema kirjeldatud kliendi domeeninimi fai-client-1.auul

DHCP serveri ettevalmistamine

DHCP serveriks sobib kasutada sellise seadistusfaili /etc/dhcp3/dhcpd.conf

 deny unknown-clients;
 option dhcp-max-message-size 2048;
 use-host-decl-names on;
 
 subnet 192.168.10.0 netmask 255.255.255.0 {
   option routers 192.168.10.254;
   option domain-name "auul";
   option domain-name-servers 192.168.10.254;
   option time-servers faiserver;
   option ntp-servers faiserver;
   server-name faiserver;
   next-server faiserver;
   filename "pxelinux.0";
 }
 
 host fai-client-1 {
    hardware ethernet 70:01:68:01:02:20;
    fixed-address fai-client-1;
    option host-name "fai-client-1";
 }

TFTP serveri ettevalmistamine

TFTP serveri jaoks peab /etc/initd.conf failis sisalduma rida ning initd deemon peab käima

 tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /srv/tftp/fai

NFS serveri ettevalmistamine

NFS serveri /etc/exports seadistatakse tõenäoliselt automaatselt, aga ta peaks sisaldama midagi sellist

 /srv/fai/config 192.168.10.0/255.255.255.0(async,ro,no_subtree_check)
 /srv/fai/nfsroot 192.168.10.0/255.255.255.0(async,ro,no_subtree_check,no_root_squash)

Xen HVM domU ettevalmistamine

FAI katsetamises sobib kasutada Xen HVM domU'd, nt sellise seadistusfailiga

 name="fai_client_1"
 memory=128
 vif  = [ 'mac=70:01:68:01:02:20,bridge=xenbr0' ]
 vcpus="1"
 
 kernel = '/usr/lib/xen-3.2-1/boot/hvmloader'
 device_model = "/usr/lib/xen-3.2-1/bin/qemu-dm"
 builder = 'hvm'
 disk    = [ 'phy:/dev/c_data/fai_client_1,ioemu:hda,w' ]
 
 cdrom="/dev/hdc"
 boot='n'  #d is cdrom boot, c is disk boot.
 vnc="1"
 vncviewer="1"
 sdl="0" 
 vcpus=1
 pae=1
 acpi=0
 apic=0

Sobiva PXE seadistuse genereerimiseks tuleb öelda

 # fai-chboot -IFv fai-client-1

Tulemusena tekitatakse fai-client-1 jaoks sobib PXE seadistusfail /srv/tftp/fai/pxelinux.cfg/C0A80AC8

 # generated by fai-chboot for host fai-client-1 with IP 192.168.10.200
 default fai-generated
 
 label fai-generated
 kernel vmlinuz-2.6.26-2-amd64
 append initrd=initrd.img-2.6.26-2-amd64 ip=dhcp  root=/dev/nfs nfsroot=/srv/fai/nfsroot boot=live \
   FAI_FLAGS=verbose,sshd FAI_ACTION=install

Peale süsteemi paigaldamist tuleb lokaalselt kõvakettalt alglaadimiseks kasutada rida

 boot='c'

Xen HVM domU kliendi installeerimine

Xen HVM domU kliendi installeerimiseks tuleb käivitada vastav domU öeldes

 # xm create fai-client-1

ning ühenduda külge vnc kliendiga, nt

 $ vncviewer 192.168.10.251:5901

ning jälgida sündmuste edenemist

Fai-1.gif

Kasulikud lisamaterjalid