DRBL
Fra GNUskole
Innhold |
DRBL (Diskless Remote Boot in Linux) - under omskriving!
Prosjektet finner du på http://drbl.sourceforge.net/
I løpet av skoleåret 2011-2012 ruller vi ut DRBL med CentOS 6.x på alle nye maskiner og alle gamle maskiner som takler det. Det betyr at alle maskiner med mer enn 1GB minne blir lagt over fra LTSP til DRBL. Det er nokså enkelt å la begge systemer leve side om side siden vi bruker NFS og LDAP.
En helt vanlig installasjon
Hvis du vil teste DRBL er det ikke verre enn at du leser deg igjennom installasjonsforklaringen (les nøye!) og gjør det som står der. Jeg var tøff i trynet første gang og skummet igjennom forklaringen og gikk glipp av et par veldig viktig detaljer første gang jeg prøvde... ikke gjør det :-)
Forklaring for CentOS
Last ned siste utgave fra http://drbl.sourceforge.net/download/nchc/unstable/ og installer den på maskinen. Pass på at du har skrudd av SELinux på CentOS-installasjonen!
rm -f GPG-KEY-DRBL; wget http://drbl.sourceforge.net/GPG-KEY-DRBL; rpm --import GPG-KEY-DRBL yum -y localinstall drbl-*.rpm /opt/drbl/sbin/drblsrv -i
Svar så godt du kan, men jeg anbefaler at du prøver ut SSI-utgaven av DRBL. Du kan få litt baluba med valg av kjerne, men gå for valget om den kjernen maskinen du installerer på bruker.
OBS! Ta innom filen /etc/hosts og slett linjen som begynner med ::1 (den kan lage bråk seinere).
/opt/drbl/sbin/drblpush -i
Svar igjen så godt du kan, men kan du gå for standardverdiene. Bare pass på hva du svarer på IP-serien i DHCP-biten.
Da skal det faktisk virke :-)
Integrer systemet i et større system
Vi bruker LDAP og NFS i vårt system. Hjemmeområder og fellesområder hentes fra ulike filtjenere via NFS og alle brukerne autentiseres via LDAP. DRBL bruker NFS og NIS for å få informasjon fra hovedmaskinen ut til de tykke klientene uten harddisk og en standardinstallasjon vil ikke virke mot vårt system om en ikke gjør endringer i oppsettet av DRBL-tjeneren.
NFS
Du kan legge inn egne monteringer (bl.a. NFS) i filen /opt/drbl/conf/client-append-fstab
Der kan du f.eks. legge inn...
192.168.1.10:/nfs/ansatte /home/ansatte nfs noatime,acl,defaults 0 0
LDAP
Om du bruker LDAP til å autentisere brukere må du gjøre to endringer for å alt til å fungere godt med DRBL-klientene (på godt norsk - klare å logge deg på). Du må selvfølgelig ha satt opp DRBL-tjeneren til å autentisere brukere mot LDAP-tjeneren.
Så er det noen endringer i /opt/drbl/sbin/drblpush i linje 3260 (eller i nærheten - dette endrer seg litt fra versjon til versjon)...
perl -pi -e "s/^passwd:.*/passwd: files nis/" $drbl_common_root/etc/nsswitch.conf perl -pi -e "s/^shadow:.*/shadow: files nis/" $drbl_common_root/etc/nsswitch.conf perl -pi -e "s/^group:.*/group: files nis/" $drbl_common_root/etc/nsswitch.conf perl -pi -e "s/^hosts:.*/hosts: files nis dns/" $drbl_common_root/etc/nsswitch.conf
...må endres til...
perl -pi -e "s/^passwd:.*/passwd: files sss/" $drbl_common_root/etc/nsswitch.conf perl -pi -e "s/^shadow:.*/shadow: files sss/" $drbl_common_root/etc/nsswitch.conf perl -pi -e "s/^group:.*/group: files sss/" $drbl_common_root/etc/nsswitch.conf perl -pi -e "s/^hosts:.*/hosts: files sss dns/" $drbl_common_root/etc/nsswitch.conf
I Fedora 13 må du også legge dette inn i filen /opt/drbl/conf/client-extra-service
service_extra_added="sssd"
Det er også en "bug" i DRBL som gjør at sssd-tjenesten ikke starter helt slik den skal. Dette ordner du ved å legge til denne linjen i 2516 (etter "chkconfig --add $i).
chroot $drbl_common_root/ /sbin/chkconfig $i on
(PS! Når du først er her - føy til denne.)
CUPS
Legg til denne linjen til slutt i /etc/cups/cupsd.conf på DRBL-tjeneren:
BrowsePoll 192.168.1.30:631
Så må du oppdatere DRBL-klienten:
/opt/drbl/sbin/drblpush -c /etc/drbl/drblpush.conf
Skru av DRBL sin DHCP-tjener
Hvis du vil integrere DRBL i den vanlige DHCP-tjeneren du kanskje har i produksjon må du skru av DHCP i DRBL-tjeneren. Den enkleste måten å gjøre dette på er å...
1) Fjerne DHCP-tjeneren:
yum remove dhcp
Hvis du av en eller annen grunn ikke bør/kan avinstallere dhcp-tjeneren kan du føye til exit som første linje i filen /etc/init.d/dhcpd (husk å stoppe dhcp-tjeneren først :-).
2) Skru av funksjonen i DRBL-klienten som spør etter en IP fra en DRBL-tjener:
/opt/drbl/sbin/mknic-nbi -c n
Så nå du inn i DHCP-tjeneren din og føye til...
next-server 192.168.1.10; filename = "pxelinux.0";
...på alle de maskinen du vil ha over til DRBL-tjeneren.
Andre ting du bør tenke på
Google Chrome
Google Chrome virker ikke uten at du fikser enda en liten bug. Du må legge til linjen...
/bin/chmod 1777 /dev/shm
...omtrent på linje 3109 i /opt/drbl/sbin/drblpush-kommandoen hvor filen rc.local genereres for RH/CentOS (mellom RC_LOCAL-markørene).
Så må du kjøre drblpush-kommandoen på nytt for å oppdatere DRBL-klienten.
Fjerne "annet", samt mulighet for liste av brukere i innloggingsbildet
Innloggingsbildet på CentOS 6 og forøvrig alle Redhat distroene kan være litt plagsomt i forhold til at maskinen husker hvem som har vært innlogget tidligere, og dermed presenterer disse i innloggingsbildet. Eller at du simpelthen må klikke "annet" for å skrive inn brukernavnet ditt. Denne er ment vel, men kan være irriterende i et stort system med gjerne flere hundre brukere. Fjern ovennevnte ved å skrive:
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults/ --type bool --set /apps/gdm/simple-greeter/disable_user_list true
Nyere skjermdrivere
yum -y install mesa-dri-drivers-experimental
Lykke til :-)