piektdiena, 2010. gada 13. augusts

Dažas atziņas par datorklašu klonēšanu

Ok, tātad esmu uzinstalējis un pārklonējis visās datorklasēs Ubuntu 10.04 (bija Ubuntu 8.04)

Ubuntu10.04 instalēšana
Pati instalēšanas gaita bija vienkārša:
  • sainstalējam desktopu
  • no iepriekšējās sistēmas ar dpkg --get-selections apskatamies vērtīgās pakotnes un dpkg --set-selections && apt-get dselect-upgrade visu uzinstalējam
  • novācam visu lieko (indiešu fonti, akonadi u.t.t.)
  • piekonfigurējam datoru tīklam (winbind, krb5, security/group.conf, cups/client.conf, umask, uzliekam ssh atslēgas, lai var pieslēgties bez paroles, u.t.t.)

Patika:
  • winbind un pam_mount strādāja "Out of Box" - pēc to standarta piekonfigurēšanas nebija nepieciešamas nekāda papildu /etc/pam.d/* pieslīpēšana
  • pēc winbind autentifikācijas lietotājiem ir arī kerberos biļete.
  • visi desktop efekti strādā arī uz datoriem, uz kuriem līdz šiem tie nedarbojās (datoriem ir iebūvētās Intel videokartes)
Nepatika:
  • GDM ir galīgi sačakarēts, jo netiek piedāvātas nekādas normālas konfigurēšanas iespējas
  • ???

Fsarchive
Tā kā līdz šim izmantotais parted vairs neuztur ext4, nācās pāriet uz fsarchive. Manas atziņas par fsarchive:
Patīk:
  • Vienkāršs
  • Gana čakls
  • Nav vairs prasība pēc identiskiem sējumu lielumiem.
Nepatīk:
  • ???
Vēlētos:
  • servera atbalstu - lai attēlus var paņemt uzreiz no servera, nevis montēta tīkla sējuma
  • statusa indikatoru (%, ātrums ..)

Klonēšana:
Klonēšanai tiek izmantots arī LTSP serveris (gan tikai tīkla būtošanai, bet ja jau LTSP darbojas, kāpēc gan izgudrot jaunu velosipēdu).
Klonēšanas vajadzībām LTSP klienta daļā papildu tika pieinstalēts:
  • nfs-common, lai var montēt tīkla sējumus
  • fsarchiver, lai var klonēt diskus
  • openssh server, lai var attālināti pieslēgties plānajam klientam, kā arī sakopētas attiecīgās atslēgas uz known_hosts un authorized_keys
Lai nebūtu jāskraida gar datoriem un jāspaida tīkla ielādes taustiņu kombināciju, datorklašu datoriem ar skripta palīdzību uzliek universālo, GRUB lādējamo gpxe.lkrn , un pamaina /boot/grub/menu.lst, lai gpxe startētos pēc noklusējuma:
#!/bin/bash
komanda="ssh -n -o ConnectTimeout=1 -i .ssh/id_rsa"
scpkom="scp -o ConnectTimeout=1 -i .ssh/id_rsa"
for hstend in `seq 64 95`
do
hst=10.XXX.XXX.$hstend
$scpkom gpxe.lkrn root@$hst:/boot/
$komanda -n root@$hst '
echo >> /boot/grub/menu.lst
echo title LTSP2 >> /boot/grub/menu.lst
echo root"(hd0,0)" >> /boot/grub/menu.lst
echo kernel /boot/gpxe.lkrn >> /boot/grub/menu.lst
sed -i "s/^default.*0/default 4/g" /boot/grub/menu.lst
reboot
exit' &
done

Pēc parstartēšanas (datori paceļas kā tīkla plānie klienti), skriptu pielabo uz :
$komanda  -n root@$hst '
mount -t nfs 10.X.X.XXX:/data/images /media
fsarchiver restfs /media/CSDA1.fsa id=0,dest=/dev/sda1,mkfs=ext4
mkdir /tmp/sda1
mount /dev/sda1 /tmp/sda1
/usr/sbin/grub-install --root-directory=/tmp/sda1 /dev/sda && reboot' &
done


Pēc pārstartēšanas datoram atliek nomainīt datora vārdu un piejoinot to domēnam:

Hosta nosaukumi:
Lai nebūtu jāskraida gar datoriem un manuāli jāmaina hosta nosaukums (var jau pieslēgties arī ar ssh un katru konfigurēt atsevišķi), var izmantot dhcp iespēju datora nosaukumu paņemt no DHCP servera. Lai tas notiktos, ir jādzēš /etc/hostname fails. Vienīgais trūkums ir tas, ka hosta nosaukumam ļoti vēlams ir jābūt arī /etc/hosts failā, lai datoram pašam sevi nebūtu jāmeklē. Tāpēc lieto skriptu, kas jauno, dhcp hostname ieraksta, gan /etc/hostname gan /etc/hosts failā

Pievienošanās domēnam:
Domēnā tiek izveidots pagaidu konts (expirējas jau rīt), kuram ir tiesības pielikt datorus domēnam, un šis konts tiek pielikts skriptam.

Tātad pēc klonēšanas un pārstartēšanas var laist sekojošo mainīto skriptu:
$komanda  -n root@$hst 'hostname
### Uzstadam hostname no DHCP servera
rm /etc/hostname ; dhclient eth0 && echo `hostname` >> /etc/hostname && echo 127.0.1.1 `hostname` >> /etc/hosts && hostname `hostname`
### echo == turpinam ar winbindu =======
/etc/init.d/winbind stop
killall winbindd
rm -vf /var/lib/samba/*
rm -vf /var/lib/samba/winbindd_idmap.tdb
rm -vf /var/cache/samba/winbindd_cache.tdb
### echo == pievienojam ldap administratoru ==
smbpasswd -w VerySecretLDAPPassword
### echo == uzgaidam 3 sekundes un joinojamies domenam ====
sleep 3
net ads join -S ADServer -U KlonesanasTmpUser%LotiSlepenaParole
### echo === uzgaidam veelreiz 3 sekundes un starteejam winbindd ===
/etc/init.d/winbind start
sleep 3
### echo === Te varam pārliecināties, vai winbind strādā ===
wbinfo -t
wbinfo -u | tail -n 1 '

otrdiena, 2010. gada 10. augusts

Info par lietotāju

Interesē, piem,, info par lietotāju Peteris

1) autentificējamies ar kinit

2) rpcclient -c 'querydispinfo' -k adserver | grep Peteris # Iegūstam Petera RID, piem. 1078

3) rpcclient -c 'queryuser 1078' -k adserver