FAI kasutamine Debianiga
Sisukord
- 1 Sissejuhatus
- 2 Eesmärk
- 3 FAI serveri ettevalmistamine
- 4 FAI kliendi seadistuse ettevalmistamine
- 5 Xen HVM domU ettevalmistamine
- 6 Xen HVM domU kliendi installeerimine
- 7 Xen PV domU klient
- 8 FAI klientide seadistuste kasutamine Subversioni hoidlast
- 9 Multipath kasutamine FAI kliendi juurfailisüsteemina
- 10 Märkused
- 11 Kasulikud lisamaterjalid
Sissejuhatus
FAI (Fully Automatic Installation) http://www.fai-project.org/ süsteem võimaldab korraldada automaatset operatsioonisüsteemi paigaldamist. Sellisest asjakorraldusest võib olla kasu nt järgnevatel juhtumitel
- ülesandeks on hallata suhteliselt suurt hulka arvuteid (kümneid või sadu)
- eeldusel, et automaatne paigaldus on hästi ettevalmistatud ja arvuti nö iseloom seda võimaldab, pole tarvis põhimõtteliselt kõnealust arvutit varundada
- arvutil on mingit sorti konsooli kasutamise võimalus ja teda saab võrgust alglaadida, kuid ei saa alglaadida lokaalselt meedialt
FAI süsteem koosneb üldiselt sellistest komponentidest
- FAI server (sisaldab dhcp, tftp ja nfs servereid)
- FAI klientidest
_____ | | 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 tõmmise
- FAI klient ühendab FAI serverilt omale külge juurfailisüsteemi, seda süsteemi kasutatakse kliendi ettevalmistamise keskkonnana
- FAI klient käivitab installeri, mis töötab FAI serveril asuva seadistuse juhtimisel
- FAI kliendi lokaalsele kõvakettale paigaldatakse operatsioonisüsteem ja alglaadur (ingl. k. bootloader)
Järgmisel FAI kliendiks oleva arvuti alglaadimisel peab jälgima, et ei korduks soovimatult operatsioonisüsteemi paigaldamise protseduur ja paigaldatud süsteem käivituks lokaalselt kõvakettalt.
See kui efektiivseks kujuneb FAI kasutamine sõltub sellest, kui palju vaeva näha FAI serveri seadistamisel, eriti nende tegevuste kirjeldamisel, mis seadistavad kliendid.
Praktiliselt on võimalik FAI serveri juhtimisel FAI kliendil seadistada muu seas
- kõvakettakasutus (fdisk partitsioonid, LVM, tarkvaraline raid, failisüsteemid)
- milline tarkvara (.deb paketid) paigaldatakse lisaks nö alussüsteemile (ingl. k. base system)
- 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, multipath seadmelt või mõlemalt)
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 (alltoodud Squid arvuti näites kestab paigaldus 7-8 minutit kaasaegsel riistvaral töötavale mõõduka ressursiga Xeni HVM domeenile).
FAI süsteem sarnaneb RedHati KickStartile, Solarise JumpStartile ja Suse Autoyastile.
Eesmärk
Kuna Xen keskkonnas on mõnus katsetada erinevate tehnoloogiatega, siis eesmärgiks on ettevalmistada Xen PV (paravirtuaalne) domU sees töötav FAI server ning näidata kuidas erinevaid FAI kliente kasutada
- Xen HVM domU - kõige lihtsam ja kiirem katsetuste tegemiseks
- Xen PV domU - kui juhtumisi on kombeks pidada Xen PV abil teenuseid, siis sellest juhtumist võiks olla praktilist abi
- füüsiline arvuti
Kõigil juhtumitel FAI klient alglaadib ennast võrgust PXE abil st sooritatakse DHCP -> TFTP -> NFS järgnevus.
FAI serveril töötavad koos sellised teenused
- DHCP server
- TFTP server
- NFS server
Täpsemalt, eesmärgiks on ettevalmistada FAI server ja sellelt paigaldada selliste omadustega klient
- kõvakettakasutus
/boot - /dev/hda1 LVM PV system - /dev/hda2 swap - LVM LV /dev/system/swap / - LVM LV /dev/system/system
- domeeninimi - squid.auul
- Squid, kostümiseeritud /etc/squid/squid.conf
FAI serveri ettevalmistamine
FAI serverisse tuleb paigaldada pakett, mis paigaldab lisaks vajalikud sõltuvused
# 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
Selle tulemusena valmistatakse ette
- NFS juurikas, mida klientide paigaldamisel kasutatakse abistava keskkonnana, vastav logi salvestatakse faili /var/log/fai/fai-setup.log; NFS juurika õnnestumises on võimalik natuke veenduda nt selliselt
# chroot /srv/fai/nfsroot/live/filesystem.dir
- tftp serveri kataloog
# ls -l /srv/tftp/fai/ total 10888 -rw-r--r-- 1 root root 9347085 Feb 14 16:13 initrd.img-2.6.26-2-amd64 -rwxr-xr-x 1 root root 15820 Feb 14 16:13 pxelinux.0 drwxr-xr-x 2 root root 4096 Feb 14 16:13 pxelinux.cfg -rw-r--r-- 1 root root 1755760 Feb 11 05:01 vmlinuz-2.6.26-2-amd64
Ainult nfsroot keskkonna ülesehitamiseks sobib öelda
# make-fai-nfsroot -v
Nimeserveri ettevalmistamine
Selles keskkonnas, kus FAI'd kasutatakse võiks olla nimeserver ning seal olema kirjeldatud kliendi domeeninimi squid.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 squid { hardware ethernet 70:01:68:01:02:20; fixed-address squid; option host-name "squid"; }
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
Sobiva PXE seadistuse genereerimiseks tuleb öelda
# fai-chboot -IFv squid
Tulemusena tekitatakse squid jaoks sobib PXE seadistusfail /srv/tftp/fai/pxelinux.cfg/C0A80AC8
# generated by fai-chboot for host squid 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
kus on iseloomulikud
- FAI_FLAGS - kontrollib, milliste omadustega kliendi paigaldamise keskkonda kasutatakse, nt sshd tähendab, et keskkonda saab kliendi paigaldamise ajal ssh abil sisse logida, root ja parool fai vaikimisi
- FAI_ACTION - kontrollib, millist tegevust sooritatakse, alternatiiviks oleks nt sysinfo, mis võimaldab tutvuda paigaldatava arvuti omadustega
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)
FAI kliendi seadistuse ettevalmistamine
FAI kliendi käivitamisel kliendi paigaldamise eesmärgil alglaaditakse süsteem nii, et tuum, initramfs ja juurfailisüsteem võetakse võrgust FAI serverilt. Nii külge ühendatud juurfailisüsteemi kasutatakse kliendi paigaldamist abistava keskonnana. Selle keskkonna utiliite kasutatakse kliendi lokaalse salvestusressursi ettevalmistamisel ja sinna peale tarkvara ja tarkvara seadistuste kopeerimisel.
FAI klient identifitseeritakse nt kliendi dhcp'st saadud domeeninime abil klient ja rakendatakse talle vastavate nn klassidega (ingl. k. class) seotud seadistusi.
FAI serveris kirjeldatud klientide seadistused asuvad kataloogis /srv/fai/config, alustuseks sobib kasutada FAI klientide näidis-seadistusi kopeerides
# cp -a /usr/share/doc/fai-doc/examples/simple/* /srv/fai/config
- class - vastavused klientide hostname'ide ja klasside vahel, ühe kliendiga võib olla seotud ka mitu klassi (nt FAIBASE, SQUID)
- debconf -
- disk_config - kõvaketta seadistused
- files - kostümiseeritud seadistusfailid, nt Squidi /etc/squid/squid.conf
- hooks -
- package_config - paigaldatavad/eemdaldatavad paketid
- scripts -
class
Konkreetse hostiga seotud klassid teeb kindlaks skript class/50-host-classes, nt
#! /bin/bash # assign classes hosts case $HOSTNAME in squid*) echo "FAIBASE SQUID" ;; *) echo "FAIBASE DHCPC DEMO" ;; esac (ifclass I386 || ifclass AMD64) && echo GRUB exit 0
Antud juhul squid.auul klient on seotud klassidega FAIBASE ning SQUID.
Kõigi muude kataloogide sees on klassinimelisi faile, mille sisu kasutatakse antud kliendi puhul, nt kõvakettaseadistustena kasutatakse faili disk_config/SQUID ja /etc/squid/squid.conf failina kasutatakse faili files/etc/squid/squid.conf/SQUID.
disk_config
Kõvaketta seadistused on määratletud antud juhul faili disk_config/SQUID sisuga
# example of new config file for setup-storage # # <type> <mountpoint> <size> <fs type> <mount options> <misc options> disk_config hda bootable:1 primary /boot 500 ext3 rw primary - 4096- - - disk_config lvm vg system hda2 system-swap swap 2048 swap sw system-system / 2048 ext3 rw
package_config
Kuna tõenäoliselt kõigis selle FAI süsteemi kontrolli all olevates arvutites kasutatakse Exim4 asemel Postfixi, siis sobib kasutada failis package_config/FAIBASE rea
exim4
asemel rida, miinus paketi nime järel tähendab paketi eemaldamist
postfix exim4-
files ja scripts
Kostümiseeritud Squidi seadistusfaili /etc/squid/squid.conf kasutamiseks tuleb kostümeeritud versioon paigutada faili files/etc/squid/squid.conf/SQUID ning lisada skripti, nt scripts/FAIBASE/10-misc lõpuossa teiste fcopy'de juurde rea 'fcopy -ir /root' järele rida
fcopy -i /etc/squid/squid.conf
Lisaks, selleks, et LVM voluumi saaks kasutada juurfailisüsteemi jaoks peab olema fail files/etc/initramfs-tools/modules/SQUID sisuga
dm_mod
ning lisada scripts/LAST/50-misc lõpuossa update-initramfs, sedasi
.. $ROOTCMD update-initramfs -k all -u exit $error
Xen HVM domU ettevalmistamine
FAI katsetamises sobib kasutada Xen HVM domU'd, nt sellise seadistusfailiga /etc/xen/squid.cfg
name="squid" 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/squid,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
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 /etc/xen/squid.cfg
ning ühenduda külge vnc kliendiga, nt
$ vncviewer 192.168.10.251:5901
ning jälgida sündmuste edenemist
FAI kliendi tekkimist saab jälgida logides peale klienti sisse peale ta installeerimiseks käivitamist, vaikimisi on root kasutaja parool 'fai'
squid:~# df -h Filesystem Size Used Avail Use% Mounted on rootfs 61M 3.2M 58M 6% / udev 10M 40K 10M 1% /dev 192.168.10.199:/srv/fai/nfsroot 4.0G 2.2G 1.6G 59% /live/image tmpfs 61M 3.2M 58M 6% /live/cow aufs 61M 3.2M 58M 6% / tmpfs 61M 0 61M 0% /live 192.168.10.199:/srv/fai/config 4.0G 2.2G 1.6G 59% /var/lib/fai/config /dev/mapper/system-system 2.0G 99M 1.8G 6% /target /dev/hda1 479M 11M 444M 3% /target/boot
Siit on ka hästi näha, et FAI kliendi ettevalmistamine toimub selliselt, et üle võrgu NFS pealt booditud nö paigaldamist abistavale süsteemile on külge ühendatud lokaalne storage kataloogi /target alla ja sinna valmistatakse süsteemi ette.
FAI klient logib oma tegevusi omajagu, lisaks on need logid olemas paigaldatud süsteemis /var/log/fai kataloogis
squid:~# find -type f /tmp/fai /tmp/fai/software.log /tmp/fai/fcopy.log /tmp/fai/debconf.data /tmp/fai/debconf.log /tmp/fai/fstab /tmp/fai/format.log /tmp/fai/disk_var.sh /tmp/fai/variables.log /tmp/fai/status.log /tmp/fai/FAI_CLASSES /tmp/fai/dhclient.log /tmp/fai/boot.log /tmp/fai/dmesg.log /tmp/fai/fai.log
Xen PV domU klient
Xen PV domU kliendi kasutamiseks tuleb pisut enam ettevalmistusi teha ja arvestada selliseid asjaolusid
- Xeni PV domU FAI kliendi tuum peab sisaldama aufs ja nn boot=live tuge
- Kasutatava FAI serveri NFSROOT peab sisaldama selle tuumaga sobivaid (st selle tuuma) mooduleid, millega PV domU FAI klienti paigaldamiseks algalaaditakse
- Xeni PV domU FAI kliendi domU seadistused peavad lisama sobivad tuuma parameetrid
- Xen PV domu FAI kliendi puhul ei ole tavaliselt tarvis plokkseadmeid partitsiooneerida
Xeni tuuma ettevalmistamine
Kuna FAI kasutamiseks peab tuum, õigemini initramfs sisaldama aufs ja nn boot=live tuge ja ehk on kõige selgem kui kõik Xen süsteemis töötavad operatsioonisüsteemi eksemplarid (so dom0 ja domU'd) kasutavad sama tuuma ja initramfs'i, siis peavad dom0 peale olema paigaldatud paketid live-initramfs, aufs-tools ja aufs-modules-2.6-xen-amd64
# apt-get install aufs-modules-2.6-xen-amd64 aufs-tools live-initramfs
Tuuma moodulid tuleb lisaks kopeerida FAI serveri juurde /lib/modules kataloogi (nagu tegelikult kõigisse teistessegi domU'desse).
FAI serveri NFSROOT ettevalmistamine
Kui FAI serveri NFSROOT on moodustatud varem kui süsteemi on lisatud aufs ja live-initramfs tugi, tuleb kopeerida NFSROOT tuuma moodulite juurde lisandunud moodulid, nt
# rsync -avH /lib/modules/2.6.26-2-xen-amd64/ /srv/fai/nfsroot/live/filesystem.dir/lib/modules/2.6.26-2-xen-amd64/
Xeni PV domU ettevalmistamine
name="postfix-pv" kernel="/boot/vmlinuz-2.6.26-2-xen-amd64" ramdisk="/boot/initrd.img-2.6.26-2-xen-amd64" root="/dev/xvda1" memory=384 disk=['phy:/dev/c_data/postfix_pv,xvda1,w', 'phy:/dev/c_data/postfix_pv_swap,xvda2,w' ] vif = [ 'mac=70:01:68:01:02:02,bridge=xenbr0' ] vcpus="1" # extra='xencons=tty' extra='xencons=tty ip=dhcp root=/dev/nfs nfsroot=/srv/fai/nfsroot boot=live \ FAI_ACTION=install FAI_FLAGS=verbose,sshd' nfs_server = '192.168.10.199' on_poweroff="destroy"
Xen PV FAI kliendi seadistuste ettevalmistamine
Xen PV FAI kliendi seadistused erinevad teatud määral tavalise nö riistvaralise kliendi omadest, nt kõvaketta ettevalistamise osas. Xen'i PV domU kõvakettad ei vaja üldiselt partitsioneerimist, piisab moodustada ainult failisüsteemid.
Selleks sobib kasutada sellist hook'i
# cat hooks/partition.XENU #!/bin/bash [ -f $LOGDIR/our.skip.partition ] && exit 0 for our_cl in $classes; do [ $our_cl = "XENU" ] && continue [ -f $FAI/hooks/partition.$our_cl ] && exit 0 done mke2fs -j /dev/xvda1 > /dev/null mkswap /dev/xvda2 > /dev/null cat > /tmp/fai/fstab <<EOF /dev/xvda1 / ext3 defaults 0 0 /dev/xvda2 none swap sw 0 0 EOF # echo "#!" > $diskvar touch $LOGDIR/skip.partition
class juures on vaja lisada Xen PV domU'dele juurde XENU.
Xen PV FAI kliendi paigaldamine
Xen PV domU keskkonnana töötava FAI kliendi paigaldamisel kasutatakse alglaadimisel domU seadistusfailis näidatud tuuma ja initramfs'i, dhcp serverilt saadakse ip aadress (ja domeeninimi), seejärel ühendatakse juurfailisüsteem külge FAI serverilt. Seetõttu on oluline, et alglaadimiseks kasutatud tuum ja initramfs ning FAI serveri NFSROOT juures olevad tuuma moodulid oleksid samast komplektist.
# xm create -c postfix-pv.cfg
DHCP settingute osa kohta esitatakse midagi sellist
... IP-Config: eth0 hardware address 70:01:68:01:02:02 mtu 1500 DHCP RARP IP-Config: eth0 guessed broadcast address 192.168.10.255 IP-Config: eth0 complete (from 192.168.10.199): address: 192.168.10.202 broadcast: 192.168.10.255 netmask: 255.255.255.0 gateway: 192.168.10.254 dns0 : 192.168.10.254 dns1 : 0.0.0.0 host : postfix domain : auul rootserver: 192.168.10.199 rootpath: filename : pxelinux.0 Begin: Trying netboot from 192.168.10.199:/srv/fai/nfsroot ... \ Begin: Trying nfsmount -o nolock -o ro 192.168.10.199:/srv/fai/nfsroot\ /live/image ... done.
Huvitav on tähele panna, et alglaadimise ajal teatatakse, milliseid klasse käesolevale kliendile rakendadatakse
... Executing /var/lib/fai/config/class/50-host-classes. 50-host-classes OK. List of all classes: DEFAULT LINUX AMD64 FAIBASE XENU GRUB postfix LAST
FAI klientide seadistuste kasutamine Subversioni hoidlast
Selleks, et saada FAI klientide seadistusi kasutada Subversioni hoidlast tuleb esmalt Subversioni hoidlasse kopeeride seadistused failisüsteemist
$ svnadmin create /srv/svn/fai-config $ svn import /srv/fai/config file:///srv/svn/fai-config -m "Initial import"
ning käivitada svn deemon
$ svnserve -d -r /srv/svn
Võiks kontrollida, et Subversionist saab üle võrgu andmeid kopeerida
$ svn checkout svn://192.168.10.199/fai-config
Seejärel tuleb teha FAI seadistusfailis /etc/fai/fai.conf selline muudatus
# FAI_CONFIGDIR=/srv/fai/config FAI_CONFIG_SRC=svn://192.168.10.199/fai-config
ning moodustada uuesti nfsroot öeldes
# make-fai-nfsroot -v
Kui SVN autendib kasutajat, siis ilmub alglaadiimise ajal dialoog
Calling task_confdir Kernel currently running: Linux 2.6.26-2-xen-amd64 x86_64 GNU/Linux Kernel parameters: xencons=tty ip=dhcp root=/dev/nfs nfsroot=/srv/fai/nfsroot boot=live \ FAI_ACTION=install FAI_FLAGS=verbose,sshd Reading /tmp/fai/boot.log FAI_FLAGS: verbose sshd Checking out SVN Password for 'root': Authentication realm: <svn://192.168.10.199:3690> 04d564d3-6418-4019-b616-a76ec41bc523 Authentication realm: <svn://192.168.10.199:3690> 04d564d3-6418-4019-b616-a76ec41bc523 Username: priit Password for 'priit': ...
Multipath kasutamine FAI kliendi juurfailisüsteemina
FAI abil on võimalik suhteliselt hõpsasti paigadaldada operatsioonisüsteem arvutisse, millel puudub lokaalne kõvaketas ning mis ühendab külge plokkseadme üle FC kettakastist.
Eesmärgiks on tekitada sellise kõvakettakasutusega arvuti
- multipath seade
# multipath -ll mpath (360060e80102d1dc00511c56400000003) dm-0 HITACHI ,DF600F [size=100G][features=1 queue_if_no_path][hwhandler=0] \_ round-robin 0 [prio=2][active] \_ 0:0:0:0 sda 8:0 [active][ready] \_ 0:0:1:0 sdb 8:16 [active][ready] \_ 1:0:0:0 sdc 8:32 [active][ready] \_ 1:0:1:0 sdd 8:48 [active][ready]
- multipath seadmele on moodustatud kaks nn fdisk partitsiooni (/boot ning LVM PV)
# fdisk /dev/mapper/mpath -l Disk /dev/mapper/mpath: 107.3 GB, 107374182400 bytes 255 heads, 63 sectors/track, 13054 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x000614a5 Device Boot Start End Blocks Id System /dev/mapper/mpath1 * 1 16 128488+ 83 Linux /dev/mapper/mpath2 17 13054 104727735 8e Linux LVM
- LVM PV (/dev/dm-2 vastab /dev/mapper/mpath2 ehk /dev/mapper/mpath-part2 plokkseadmele)
# pvdisplay --- Physical volume --- PV Name /dev/dm-2 VG Name system PV Size 99.88 GB / not usable 1.18 MB ...
- LVM VG
# vgdisplay --- Volume group --- VG Name system System ID Format lvm2 ... VG Size 99.88 GB
- LVM köited
# lvdisplay --- Logical volume --- LV Name /dev/system/swap VG Name system LV Size 256.00 MB ... --- Logical volume --- LV Name /dev/system/root VG Name system LV Size 2.25 GB ...
- failisüsteemid
# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/system-root 2.3G 546M 1.6G 26% / tmpfs 24G 0 24G 0% /lib/init/rw udev 10M 804K 9.3M 8% /dev tmpfs 24G 4.0K 24G 1% /dev/shm /dev/mapper/mpath-part1 122M 25M 91M 22% /boot
FAI root-over-nfs süsteem, mis kliendil nö abistava keskkonnana käivitatakse sisaldab nt mitmete QLogic FC kontrollerite tuge kusjuures vaikimisi ei laadida dm_multipath tuuma moodulit ning vaikimisi FAI klient õnnestub paigaldada ning seejärel ka käivitada (eeldusel, et ka kliendile on lisatud firmware-qlogic pakett). Nii ettevalmistatud FAI kliendi failisüsteemid aga asuvad /dev/sda1, /dev/sda2 jne plokkseadmetelel või neile moodustatud LVM'il.
Selleks, et kliendi failisüsteemid oleksid soovitud kujul, st
- /boot - /dev/mapper/mpath-part1
- / - /dev/mapper/system-root
- swap - /dev/mapper/system-swap
sobib kasutada nt sellist seadistusfaili /srv/fai/config/disk_config/FAIBASE
disk_config sda bootable:1 primary /boot 128 ext3 rw primary - 2560- - - disk_config lvm vg system sda2 system-swap swap 256 swap sw system-root / 2304 ext3 rw
Lisaks tuleb paigaldada klienti paketid firmware-qlogic, multipath-tools-boot ja firmware-bnx2 kui kasutatakse sellist võrgukontrollerit
# apt-get install firmware-qlogic, multipath-tools-boot firmware-bnx2
Selleks, et kliendi jaoks genereeritud iniramfs tõmmises oleks sobiva sisuga /etc/multipath.conf seadistusfail peab moodustama vastava sisuga faili /srv/fai/config/files/etc/multipath.conf/FAIBASE, nt
defaults { udev_dir /dev polling_interval 5 default_selector "round-robin 0" user_friendly_names yes } blacklist { wwid 200d04efd1804f38e devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" devnode "^hd[a-z][[0-9]*]" devnode "^cciss!c[0-9]d[0-9]*[p[0-9]*]" } multipaths { multipath { wwid 360060e80102d1dc00511c56400000003 alias mpath } } devices { device { vendor "HITACHI" product "DF.*" getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n" prio_callout "/sbin/mpath_prio_hds_modular /dev/%n" path_grouping_policy multibus path_checker tur features "1 queue_if_no_path" failback immediate } }
ning /srv/fai/config/files/etc/fstab/FAIBASE faili
/dev/mapper/system-root / ext3 rw 0 1 /dev/mapper/mpath-part1 /boot ext3 rw 0 2 /dev/mapper/system-swap none swap sw 0 2
Kahe viimase seadistusfaili klienti kopeerimiseks peavad olema nt failis /srv/fai/config/scripts/FAIBASE/10-misc read (olemasolevate vahel)
# copy default dotfiles for root account fcopy -ir /root # root over multipath fcopy -i /etc/multipath.conf fcopy -i /etc/fstab
Kuivõrd /srv/fai/config/scripts/LAST/50-misc lõpus on rida
$ROOTCMD update-initramfs -k all -u
siis genereeritakse kliendi initramfs vajaliku multipath ja LVM toega ning see /etc/multipath.conf kopeeritakse samuti initramfs sisse. Kui süsteemi paigaldada LVM või multipath tugi, siis reeglina initramfs sisaldab vastavaid helpereid, mis võimaldavad vastavaid ressursse initramfs'il kasutada ilma, et mida väga erilist oleks arvutikasutajal tarvis seadistada.
Oluline on siinjuures tähele panna, et FAI paigaldab süsteemi /dev/sda1 partitsiooniga seotud /boot failisüsteemi ning /dev/sda2 seadmetega seotud LVM PV ja VG peal olevatele LVM köidetele. Peale kliendi alglaadimist multipath tuge sisaldava initramfs'iga avastatakse LVM kõited aga multipath seadmelt ning /boot failisüsteemile vastab partitsioon /dev/mapper/mpath-part1. See on nii tänu multipathi olemusele, kõik kasutatavad seadmed /dev/sda, /dev/sdb, /dev/sdc ja /dev/sdd vastavad sisuliselt ühele ja samale kettakastist välja jagatavale plokkseadmele.
Alternatiiviks oleks korraldada FAI abil süsteemi paigaldamine otse multipath seadmele, kuid tundub, et 2010 aasta seisuga Debian Lenny ei sisalda multipath toega GRUB alglaadijat, http://wiki.debian.org/DebianInstaller/MultipathSupport.
Märkused
- Kuna FAI võib ja tegelikult ka mitmel juhul peab käituma üsna agressiivselt st ilma küsimusi esitamata paigaldatakse arvutisse tarkvara, siis peab olema ettevaatlik, et võrgus ei oleks jäänud käima selliste omadustega FAI server, mis pahaaimatult alglaadmisele mineva arvuti selle käivitumisel üle installeerib.
- Tundub, et kliendi edukaks paigaldamiseks peab tal olema vähemalt 256 MB mälu.
Kasulikud lisamaterjalid
- http://www.fai-project.org/
- http://kuutorvaja.eenet.ee/wiki/Debiani_alglaadimine
- http://kuutorvaja.eenet.ee/wiki/Virtualiseerimine_tarkvaraga_Xen
- http://kuutorvaja.eenet.ee/wiki/Operatsioonisüsteemi_Debian_GNU/Linux_kasutamine#apt-proxy_kasutamine
- http://wiki.fai-project.org/index.php/Using_FAI_to_set_up_XEN_domains
- Puppet kasutamine Debianiga
- DM-Multipath