drbl

31
1 Gépek telepítése ingyenes, multicastos módszerrel (DRBL-szerver) (Mivel lehet a Ghostot kiváltani?) Azoknak ajánlom ezt a leírást, akik tanteremnyi (azonos hardverű) gépeket szeretnének kis ráfordítással ingyenes eszközzel telepíteni. Erre ismereteim szerint két komplett ingyenes megoldás van: a FOG-Project (http://www.fogproject.org/) és a DRBL (http://drbl.sourceforge.net/) Mindkét módszernek meg van a maga előnye és hiányossága, de iskolai környezetben nagyon jól lehet őket használni. I. Mit tud a DRBL? Nevéből adódóan a DRBL (Diskless Remote Boot in Linux) nemcsak gépek távtelepítésre alkalmas, hanem képes a hálózaton keresztül komplett rendszereket bebootolni. Ez a funkció nem képezi tárgyát a távtelepítésnek, ezért ezt nem részletezem. Számunkra a következő lehetőségek lényegesek: - létre tudunk hozni imageket PXE boot vagy Clonezilla livecd/liveusb segítségével - a létrehozott imageket vissza tudjuk tölteni Clonezilla livecd/liveusb segítségével, vagy hálózati (PXE) bootolással unicast, broadcast és multicast módban - különféle tömörítési eljárásokat tartalmaz - DRBL-winroll néven windowsos gépekhez telepíthető belső kliensprogramot tartalmaz - automatizálási, időzítési lehetőség, scriptek cron-ból való futtatása - támogatja az ext4-t

Upload: oneill90

Post on 14-Aug-2015

352 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: DRBL

1

Gépek telepítése ingyenes, multicastos módszerrel

(DRBL-szerver) (Mivel lehet a Ghostot kiváltani?)

Azoknak ajánlom ezt a leírást, akik tanteremnyi (azonos hardverű) gépeket szeretnének kis ráfordítással ingyenes eszközzel telepíteni. Erre ismereteim szerint két komplett ingyenes megoldás van: a FOG-Project (http://www.fogproject.org/) és a DRBL (http://drbl.sourceforge.net/) Mindkét módszernek meg van a maga előnye és hiányossága, de iskolai környezetben nagyon jól lehet őket használni. I. Mit tud a DRBL?

Nevéből adódóan a DRBL (Diskless Remote Boot in Linux) nemcsak gépek távtelepítésre alkalmas, hanem képes a hálózaton keresztül komplett rendszereket bebootolni. Ez a funkció nem képezi tárgyát a távtelepítésnek, ezért ezt nem részletezem. Számunkra a következő lehetőségek lényegesek:

- létre tudunk hozni imageket PXE boot vagy Clonezilla livecd/liveusb segítségével - a létrehozott imageket vissza tudjuk tölteni Clonezilla livecd/liveusb segítségével, vagy

hálózati (PXE) bootolással unicast, broadcast és multicast módban - különféle tömörítési eljárásokat tartalmaz - DRBL-winroll néven windowsos gépekhez telepíthető belső kliensprogramot tartalmaz - automatizálási, időzítési lehetőség, scriptek cron-ból való futtatása - támogatja az ext4-t

Page 2: DRBL

2

II. A szerver telepítése:

Több Linux-disztribúcióra is telepíthető (Debian, Ubuntu, Suse, Fedora, GenOS), most a debiános variációt mutatnám be. Bármilyen gép alkalmas a futtatására, amelyen elmegy a Debian. A hivatalos oldal szerint (http://drbl.sourceforge.net/faq/fine-print.php?path=./1_Common/02_hardware_requirement.faq#02_hardware_requirement.faq) minimum 450 Mhz-es x86-os processzor és legalább 256 MB memória szükséges hozzá. Jelen pillanatban Proxmox alapú virtuális gépen fut 1024 memóriával, de 512 is bőségesen elég volt hozzá régebben. Az imagek tárolása miatt nagy tárterületre van szükség, nálam 500 GB áll rendelkezésre. A Debian telepítő CD-t a Debian hivatalos oldaláról tölthetjük le (http://www.debian.org/distrib/netinst) egy 180 MB-os netinstall CD-ről telepítjük. A Debian gyorsan és egyszerűen települ, igazából egy nagyon alap telepítésre van szükségünk grafikus környezet nélkül. - nyelvet, régiót és billentyűzetet választunk: alapból angol nyelvi telepítőt, angol nyelvet és magyar billentyűzetet választok, mivel szervereknél nem célszerű a magyar nyelv használata, mivel az esetleges hibaüzenetek visszakeresésénél az Interneten sokkal nagyobb találati arányt ad ki az angol, mint a magyar változat. (Általában szerintem telepítésnél célszerű megmaradni az eredeti angol nyelvnél).

A „Country, territory or area” résznél az „other” opciót választjuk, majd „Europe”, következőleg pedig „Hungary”. „Keymap to use” – „Hungarian” A „Configuring network with DHCP”-nél megszakíthatjuk (Cancel),

vagy a „Continue” gombra nyomjunk, és válasszuk a „Configure network manually” opciót.

Page 3: DRBL

3

- a hálózati beállításoknál meg kell adnunk az IP címet (feltétlen statikus IP cím szerver esetén), az alhálózati maszkot, alapértelmezett átjárót, DNS server nevét, gépnevet és domain nevet. Feltétlen helyes adatokat kell megadni, mivel az alaptelepítés után a csomagokat az internnetről fogja letölteni. Célszerű a gépnek az adott belső IP tartomány végéről adni IP címet, hogy a kliensek kaphassák az 1-től kezdődő címeket, melyek jobban kezelhetőek és a gépek jobban azonosíthatóak. A gépnév tetszőleges lehet, de célszerű megtartani a „drbl”-t (korábbi verziónál az követelmény volt).. Döntésünket véglegesítjük és a kellően erős rendszergazda jelszó és egy egyszerű felhasználó megadása után a telepítő a CD-ről feltelepíti az alaprendszert.

A partícionálás már átgondoltabb lépéseket feltételez. El kell dönteni, hogy használunk-e szoftveres RAID-et, LVM-et vagy maradunk a hagyományos partícionálásnál. Mivel nálam minden virtuális szerveren van, a mentés egy külső egységre történik majd, így most a hagyományos megoldást választjuk vagyis, „Manual”.

Kijelöljük az egész meghajtót:

Page 4: DRBL

4

Létrehozzuk az új üres partíciót:

Majd létrehozzuk egyenként a partíciókat az alábbiak szerint:

100 MB /boot (primary – ext4) 1 GB – swap (logical) 500 mb /var (logical, ext4) 2 GB / (logical, ext4) 500 GB - /image Alapértelmezett DRBL telepítésnél a /image mappában tárolja a lemezképeket (máshova is lehet természetesen tenni), de ezt célszerű külön partícióra helyezni. Mivel a telepítő nem ajánl fel /image mappát, ezért a „Manual” opciót választjuk és kézzel adjuk meg a könyvtár nevét, ahova a partíciót becsatolja. Természetesen, itt rengeteg variáció létezik, akár egyetlen partícióra is tehetjük az összes adatunkat. A telepítés végén ki kell választanunk, hogy melyik internetes oldalról fogjuk a további csomagokat letölteni („Debian archiv mirror country”), válasszuk a magyart: ftp.hu.debian.org – de bármely másikat lehetne), majd a rendszer megkérdezi, hogy milyen típusú gépet szeretnék telepíteni. Javasolt SEMMIT nem a rendszerre bízni, csak olyan csomagokat tegyünk fel, amire tényleg szükségünk van (a „tasksel” paranccsal később is előhívható ez a menüpont, de nem lesz rá szükség).

Page 5: DRBL

5

Végül a rendszerindító (GRUB) helyét kell megadunk, amely alapesetben, amennyiben csak ez az oprendszer van gépünkön (szerver esetén miért is lenne más), a /dev/sda, vagyis mehet a GRUB az MBR-be

Újraindítás után Debiánunk használható. Lépjünk be és frissítsük a rendszert: root – és kellően biztonságos jelszavunk. aptitude update – paranccsal frissítjük a szoftverforrásokat, majd az aptitude safe-upgrade-del telepítjük a frissítéseket. Telepítsünk egy-két lényeges csomagot: aptitude install openssl ssh mc etherwake Illik – nem illik, nekem továbbra is a „mc” a kedvencem és nem a „vi”, a wake-on-lan funkcióhoz (gépek távoli felélesztése/bekapcsolása) pedig szükség van az etherwake csomagra. A gépet távolról ssh-n keresztül fogjuk adminisztrálni és a szerverre nem rakunk semmilyen grafikus felületet sem, nincs is rá szükségünk. Állítsuk be az ssh-t! adduser sshuser – létrehozunk egy egyszerű felhasználót, akinek a nevében fogunk bejelentkezni, megadunk egy kellően erős jelszót, (bármely név megadható, nemcsak az sshuser!). Megszerkesztjük a /etc/ssh/sshd_config fájlt. Tiltjuk a rendszergazdai belépését (PermitRootLogin no –ra állítjuk a yes-t), és korlátozzuk a hozzáférést egyetlen egy felhasználóra: AllowUsers sshuser Így csak és kizárólag az „sshuser” tud majd ssh-n keresztül belépni. /etc/init.d/ssh restart – újraindítjuk az SSH-t és aktiváljuk a változásokat. PUTTY-on keresztül kipróbálhatjuk távoli hozzáférésünket. Belépés után a „su” paranccsal váltunk rendszergazdára

Page 6: DRBL

6

(root). Még biztonságosabbá tehetjük rendszerünket, amennyiben nem jelszóval, hanem tanúsítvánnyal hitelesítjük magunkat. Erről ld. itt olvashatsz Béres László tollából: http://www.sulinet.hu/tart/fcikk/Ka/0/21704/1 Illetve pl. itt: http://kb.siteground.com/article/How_to_generate_an_SSH_key_on_Windows_using_PuTTY.html Kb. ennyi.

Page 7: DRBL

7

III. A DRBL szerver feltelepítése

(részletes leírás más platformokra is: http://drbl.sourceforge.net/one4all) Telepítsük a kulcsokat: gpg --keyserver subkeys.pgp.net --recv-key D7E8DF3A gpg -a --export D7E8DF3A | apt-key add – Módosítsuk a /etc/apt/sources.list fájlt, hogy szerepeljen a drbl telepítése helye! mcedit /etc/apt/sources.list Szúrjuk be az alábbi sort a fájl végére deb http://drbl.sourceforge.net/drbl-core drbl stable Töltsük le az új csomagokat: aptitude update Majd telepítsük a drbl csomagot: aptitude install drbl (Az aptitude parancs helyett használhatjuk az apt-get parancsot is!)

Page 8: DRBL

8

IV. A DRBL szerver beállítása

Az indítószkripteket a DRBL a /opt/drbl/sbin és a /opt/drbl/bin könyvtárba helyezi el. A következő parancsokat használjuk majd: /opt/drbl/sbin/drblsrv -i A DRBL szolgáltatások és csomagok telepítése /opt/drbl/sbin/drblpush -i Konfigurációs fájl létrehozása /opt/drbl/sbin/dcs A kliensgépek boot opcióinak megadása /opt/drbl/sbin/drblsrv –u A DRBL eltávolítása A DRBL szolgáltatások és csomagok telepítése.

Adjuk ki az alábbi parancsot: /opt/drbl/sbin/drblsrv –i Gyakorlatilag három ENTER leütésével, az alapértelmezett értékek elfogadásával beállíthatjuk szerverünket. Nem akarjuk szerverünket más Linux disztribúciók telepítésére használni:

És a soros konzolt sem – vagyis egy újabb N a telepítésre a válasz. Az i586-os architektúrát használjuk – vagyis 1:

Nem akarjuk a rendszert upgradelni:

Az alapértelmezett beállítások tökéletesen megfelelnek. A szerver automatikusan letölti és beállítja a szükséges csomagokat és szolgáltatásokat (DHCP, TFTP, NFS, iptables stb.). Ezt a parancsot csak egyszer kell használnunk, normál üzemmódban, amennyiben csak telepítésre szeretnénk a DRBL-t használni. . Ellenőrizzük, hogy létezik-e a /etc/drbl mappa. Ha nem, hozzuk létre kézzel! mkdir /etc/drbl

Page 9: DRBL

9

V. MAC címek felvitele:

A szervernek tudnia kell, hogy mely gépeket kell hálózatban bebootolni. Ehhez a MAC címeket használja fel. A MAC címeket képes a rendszer „összegyűjteni” a hálózatról is, ha a gépek be vannak kapcsolva (sok gépnél elég macerás), vagy bevihetjük kézzel is. A /etc/drbl könyvtárban hozzuk létre termenként a fájlokat. Pl: a 115-ös terem fájljai: /etc/drbl/MAC-grp-115 (Egy fájlba értelemszerűen az azonos hardverű gépeket vesszük fel, vagyis ideális esetben – termenként egy fájl). Tartalma pedig ilyen legyen: BC:AE:C5:28:49:64 BC:AE:C5:20:D4:17 …… Fontos! Lényeges a MAC címek sorrendje! Ha gépeinket számozzuk (pl: pc115-1, vagyis a 115-ös terem első gépe), akkor ebben a sorrendben adjuk meg a MAC címeket is, mert a DRBL is ebben a sorrendben rendeli hozzá majd a saját telepítésnél használt IP címeit (általában: 192.168.0.1, 192.168.0.2 stb.), tehát könnyű lesz beazonosítani gépeinket.

Page 10: DRBL

10

VI. A szerver alapvető szolgáltatásainak beállítása:

Állítsuk be a az alapvető szolgáltatások futási módját! /opt/drbl/sbin/drblpush –i Itt is elfogadhatjuk az alapértelmezett értékeket.

(Ezen értékek megváltoztatásának nem láttam eddig jelentőségét.) Mivel csak egy hálókártyánk van, ezért elfogadhatjuk, hogy az eth0 lesz a WAN és a LAN interface is.

A DRBL szerver eredeti logikája szerint van egy WAN és egy LAN port. Viszont a telepítéshez ez a megosztást felesleges, ezért nyugodtan lépjünk tovább és változtassuk meg az alapértelmezett javaslatot, vagyis Y! Tehát tovább folytatjuk, és nem akarunk még egy hálókártyát beállítani.

Az eredeti koncepció szerint ez lenne az ideális megoldás:

Ezt egyszerűsítettük le egy hálókártyára. Nem szeretnénk a MAC címeket a bekapcsolt gépből összeszedni, majd kézzel, fájlból visszük fel őket – tehát az alapértelmezett N.

Page 11: DRBL

11

Fölösleges mindig ugyanazt az IP címet kapnia minden gépnek, tehát N:

Az első gépnek kiosztott IP cím utolsó oktetje 1 legyen:

Itt adhatjuk meg, hogy hány klienst fogunk telepítéskor használni. Adjunk meg olyan értéket, amely megfelel a körülményeinknek. Nálunk egy terem átlagosan 20 gép.

Elfogadhatjuk az így generált IP címeket:

Ennek alapján a rendszer megadja a struktúrát:

Lényeges kérdéshez érünk el, ahol az alapértelmezett beállítást meg kell változtatnunk. Mivel telepítésre használjuk a szervert és nem távoli rendszerek indítására, ezért NEM telepítjük ezt a funkciót. Tehát: 2, vagyis „I do not want to provide diskless Linux service to client.”

Page 12: DRBL

12

Viszont feltétlen szükségünk van a CloneZilla Server Edition-re. Ennek 2 formája van, a „Full Clonezilla mode” és a „Clonezilla box mode”. A telepítéshez elég lesz a box mode is, de ha van sok helyünk a merevlemezen, választhatjuk a „full mode”-ot is. Most csak a „box mode”-ot állítjuk be, tehát 1.

Megadjuk az imageket tartalmazó mappa nevét. Jelen esetben: /image (más telepítéseknél előfordul a /home/partimag). Mindenképpen azt a mappát kell megadunk, ahol megfelelő mennyiségű hely van a lemezképek tárolására. Ezt már a Deabian telepítésekor, a partícionálásakor eldöntöttük.

A továbbiakban maradhatnak az alapértelmezett javaslatok: - nem akarunk jelszóhoz kötni a klienseken a hálózati bootolást - boot promptot állítunk be a klienseken - boot prompt értéke 7 másodperc lesz (70) - nem akarunk grafikus képernyőt a kliensen PXE bootoláskor - viszont szeretnék, hogy a DRBL-szerver natolja a klienseket

- megtartjuk a régi kliensbeállításokat - engedélyezzük a tűzfalbeállítások felülírását Vagyis mindenhol megtartottuk az alapértelmezett értékeket. (Értelemszerűen egyéni igények szerint ezeket lehet módosítani most is és a későbbiekben is). Beállításaink készek, a rendszer válaszainkat elmentette a /etc/drbl/drblpush.conf fájlba, és beállítja a hálózati szolgáltatásokat (NIS, NFS, DHCP, TFTP, NAT, tűzfal).

Page 13: DRBL

13

Tekintsük meg ezt a fájlt! A fájlban a feltett kérdések és arra adott válaszaink találhatóak. Látható, hogy igazából termenként csak 3 sor fog változni:

• a kliensek száma (pl: hány gép van egy teremben) total_client_no=20

• az image-fájl helye (pl: /image/115 mappa) ocs_img_repo_dir=/image/115 (célszerű minden teremnek külön könyvtárat megadni, de lehetne az összes lemezkép egy helyen is, strukturálatlanul)

• a gépek MAC címe (pl: MAC-grp-115) mac=/etc/drbl/MAC-grp-115

Megjegyzés: alapesetben ez a két sor nincs benne a fájlban, ezt nekünk kell beírni mac=/etc/drbl/MAC-grp-115 ip_start=1 és az „range=1-20” sort kivenni. A „gateway= „ opciót persze mindenki a saját gateway IP címére írja át! #Setup for general

[general]

domain=drbl.name nisdomain=penguinzilla localswapfile=no client_init=text login_gdm_opt= timed_login_time= maxswapsize= ocs_img_repo_dir=/image/115

total_client_no=20

create_account= account_passwd_length=8 hostname=drbl purge_client=no client_autologin_passwd= client_root_passwd= client_pxelinux_passwd= set_client_system_select=yes use_graphic_pxelinux_menu=no set_DBN_client_audio_plugdev=no open_thin_client_option=no client_system_boot_timeout=70 language=en_US.UTF-8 set_client_public_ip_opt=no config_file=drblpush.conf collect_mac=no run_drbl_ocs_live_prep=yes drbl_ocs_live_server= clonezilla_mode=clonezilla_box_mode live_client_branch=alternative

Page 14: DRBL

14

Megjegyzés: a MAC-grp-xxx-t nem feltétlen muszáj itt megadni, erre lehetőség van a CloneZilla SE elindításakor is. Amennyiben nem kötjük már itt MAC-címekhez a DRBL szerver hatókörét, a fájl vége így fog kinézni: #Setup for eth0 [eth0] interface=eth0 range=1-20 gateway=192.168.1.200 Vagyis, innentől fölösleges minden alkalommal lefuttatni ezt a parancsot, betehetjük egy egyszerű scriptbe és azt futtathatjuk. Példának okáért a 115-ös terem telepítésének beállításait így indíthatjuk el egyetlen egy fájllal: mcedit /usr/bin/drbl-115 - (létrehozzuk a fájl és szerkesztjük) #!/bin/bash

/opt/drbl/sbin/drblpush –c /etc/drbl/drblpush.conf Futtathatóvá tesszük: chmod 700 /usr/bin/drbl-115 És máris beírhatjuk a parancssorba: drbl-115 De célszerű minden teremnek megcsinálni a drblpush.conf beállító fájlját, majd azt másolni az alapértelmezett helyére. Ehhez létrehozunk egy mappát a /etc/drbl könyvtárban mkdir /etc/drbl/push

Bemásoljuk a legenerált drblpush.conf fájlt más néven: cp /etc/drbl/drblpush.conf /etc/drbl/push/drblpush.conf-115 És így járunk el minden teremnél, nem felejtve el átírni az említett három sort! Kibővítjük az scriptünket: mcedit /usr/bin/drbl-115

#!/bin/bash

cp /etc/drbl/push/drblpush.conf-115 /etc/drbl/drblpush.conf /opt/drbl/sbin/drblpush –c /etc/drbl/drblpush.conf Így a script, ha beírjuk a parancssorba (drbl-115), bemásolja a 115-ös terem konfigfájlját az alapértelmezett konfigfájlba és legenerálja a megfelelő, teremre jellemző beállításokat. A /usr/bin/drbl-115 fájl mintájára termenként létrehozhatunk konfigfájlokat a /etc/drbl/push könyvtárba drblpush.conf-teremnév néven, majd hozzá az indítófájlját a /usr/bin könyvtárba drbl-

teremnév néven (Természetesen a névadás szabad, ez itt csak egy példa, illetve nem feltétlenül kell a /usr/bin könyvtárban tárolni a scripteket)

live_client_cpu_mode=generic drbl_mode=none drbl_server_as_NAT_server=yes add_start_drbl_services_after_cfg=yes continue_with_one_port=y #Setup for eth0 [eth0] interface=eth0 mac=/etc/drbl/MAC-grp-115

ip_start=1

gateway=192.168.1.200

Page 15: DRBL

15

A 02-es terem fájljai például a következők lesznek: Konfigfájl: /etc/drbl/push/drblpush.conf-02 Futtatható script: /usr/bin/drbl-02

Script tartalma:

#!/bin/bash

cp /etc/drbl/push/drblpush.conf-02 /etc/drbl/drblpush.conf /opt/drbl/sbin/drblpush –c /etc/drbl/drblpush.conf Egy-egy terem telepítésénél így nem kell mindig minden kérdésre válaszolgatni, hanem a konfigfájlban megadottak alapján mindent legenerál egy-két ENTER leütése nyomán a rendszer.

Page 16: DRBL

16

VII. Gépek felélesztése

Célszerű kis scripteket gyártani egy-egy terem, illetve adott terem egyes gépeinek felélesztése. Erre sok módszer van, én ezt használom (pl: a 307-es terem gépeinek felélesztése): mcedit /usr/bin/won-307 - melynek tartalma: #!/bin/bash # 307-es TEREM ################################## etherwake 00:11:11:50:BE:90 # pc307_21 sleep 2 etherwake 00:11:11:50:c1:58 # pc307_2 sleep 2 etherwake 00:11:11:50:BF:B8 # pc307_3 sleep 2 etherwake 00:11:11:50:C1:F7 # pc307_4 ….. stb.

chmod 700 /usr/bin/won-307 - futtathatóvá tesszük.

Megjegyzés: a sleep 2 opció csak azért van benne, hogy a 20 gép ne egyszerre éledjen fel, mert esetleg levághatja a biztosítékot.

Gépek egyenkénti felélesztése: #!/bin/bash

echo "115-os terem – melyik gepet?"

echo "1 - pc115_1"

echo "2 - pc115_2"

echo "3 - pc115_3"

echo "4 - pc115_4"

echo "5 - pc115_5"

echo "6 - pc115_6"

echo "7 - pc115_7"

echo "8 - pc115_8"

echo "9 - pc115_9"

echo "10 - pc115_10"

echo "11 - pc115_11"

echo "12 - pc115_12"

echo "13 - pc115_13"

echo "14 - pc115_14"

echo "15 - pc115_15"

echo "16 - pc115_16"

echo "17 - pc115_17"

echo "18 - pc115_18"

echo "19 - pc115_19"

echo "20 - pc115_20"

read i;

case $i in

# 115-es terem

###################################

1) etherwake BC:AE:C5:28:49:64 # pc_115_1;;

2) etherwake BC:AE:C5:20:D4:17 # pc_115_2;;

3) etherwake BC:AE:C5:28:49:5E # pc_115_3;;

4) etherwake BC:AE:C5:28:4C:DC # pc_115_4;;

5) etherwake BC:AE:C5:28:49:60 # pc_115_5;;

6) etherwake BC:AE:C5:15:A5:9B # pc_115_6;;

7) etherwake BC:AE:C5:28:4C:5D # pc_115_7;;

8) etherwake BC:AE:C5:28:4C:22 # pc_115_8;;

9) etherwake BC:AE:C5:28:4C:A1 # pc_115_9;;

10) etherwake BC:AE:C5:28:49:87 # pc_115_10;;

11) etherwake BC:AE:C5:28:49:77 # pc_115_11;;

12) etherwake BC:AE:C5:28:4C:71 # pc_115_12;;

13) etherwake BC:AE:C5:28:49:68 # pc_115_13;;

Page 17: DRBL

17

14) etherwake BC:AE:C5:28:4C:1E # pc_115_14;;

15) etherwake BC:AE:C5:28:49:85 # pc_115_15;;

16) etherwake BC:AE:C5:28:4C:12 # pc_115_16;;

17) etherwake BC:AE:C5:28:46:5B # pc_115_17;;

18) etherwake BC:AE:C5:28:4C:A7 # pc_115_18;;

19) etherwake BC:AE:C5:28:4C:52 # pc_115_19;;

20) etherwake BC:AE:C5:28:49:58 # pc_115_20;;

esac

Ilyen funkciót a DRBL szerver is tartalmaz alapból a /opt/drbl/sbin/dcs parancs indításával.

Page 18: DRBL

18

VIII. Egy példaterem telepítése CloneZilla livecd-vel

Szokás szerint elkészítjük a „mintagépet”, majd elkészítjük az imaget róla. Ezt két módon tehetjük meg: a) CloneZilla CD/usb:

A kliensgépen bebootolunk Clonezillával (livecd/liveusb),

Kiválasztjuk a nyelvet (angol, magyar nincs), a billentyűzetet (Don’t touch keymap” – nem érdemes vele vesződni a magyarral, úgyis csak a z/y betűkre kell vigyáznunk és yes/no-t nyomogatunk).

Természetesen a CloneZillát indítjuk, shellre most nincs szükségünk. (Amennyiben előregyártott scripteket futtatnánk, itt lehetne shellre váltani.)

A „device-device” opcióra akkor lenne szükségünk, helyi lemezre klónoznánk az egyik partíciót vagy egyik lemezt a másikra. A „device-image” opciót választjuk:

Page 19: DRBL

19

Mentésünket egy távoli szerveren helyezhetjük el, vagy onnan másolhatjuk vissza. A CloneZilla a következőket támogatja: SSH, SAMBA, NFS, vagy a helyi gép egyik partícióján tárolhatjuk a fájlt. Mivel az SSH-t már beállítottuk, így megfelelő felhasználó és jelszó birtokában SCP-vel másolja a CloneZilla a fájlt a szerverre. Samba esetén a szerveren telepíteni kell a samba csomagot (aptitude install samba) és a /etc/samba/smb.conf fájlban létre kell hozni egy minimális megosztást kb. így:

(Természetesen további paraméterekkel tovább lehet finomítani a megosztást) /etc/init.d/samba restart – újraindítottuk sambát és létrehozunk egy felhasználót, akinek joga van csatlakozni a kliensgépról CloneZilla segítségével.

Megjegyzés: A konfigban szereplő „administrator’ valójában NEM rendszergazda, hanem sima felhasználó. Csak azért hagytam meg ezt a nevet, mert a CloneZilla alapból ezt kínálja fel, és így nem kell mást begépelgetni. Létrehozzuk a felhasználót: adduser administrator Megadja neki a sambás jelszót, amivel csatlakozni fog: smbpasswd –a administrator Csatlakozáskor ezeket az alapadatokat kell megadni (samba-szerver, vagyis a DRBL ip címe, felhasználó neve, megosztás neve, jelszó stb.) és csatlakozás után visszatölthető vagy elkészíthető az image. Siker esetén a rendszer jelzi, hogy megosztásunkat felcsatolta a /home/partimag könyvtárba.

Kiválasztjuk, hogy mit mentünk/állítunk vissza: egész lemezt vagy partíciót

Page 20: DRBL

20

Megadjuk az image nevét:

Lehetőség van a felület hibaellenőrzésére:

Már csak egy utolsó ellenőrző kérdés és mehet:

Nagyjából ugyanez a menet az image visszatöltésénél is. Imagek létrehozásához gyors és előnyös nmódszer. Ugyanakkor nyilvánvaló hátránya, hogy egy-két gépnél még elmegy a visszaállítás, de egy egész teremnél, a gépeket egyesével beállítva ez rendkívül hosszú idő és nagy hálózati forgalom.

Page 21: DRBL

21

IX. Egy példaterem telepítése PXE bottal és CloneZilla Server Edition-nel

Elindítjuk a terem scriptjét: pl: drbl-115. Ez beállítja a botoolási és egyéb paramétereket (kliensek száma, IP címek és MAC címek összerendelés, PXE-boothoz szükséges adatok stb.), majd indítjuk a Clonezilla SE-t: /opt/drbl/sbin/dcs El kell döntenünk, hogy az összes gépet vagy esetleg más termet, vagy csak egyes gépeket fogunk klónozni. A „Part Select client(s) by IP or MAC address” opciót választjuk most.

A „by_MAC_addr__list” kissé macerás, mert a fizikai címek elég nehezen jegyezhetők meg.

A „by_MAC-addr_grp” azokat a csoportokat fogja felsorolni, amelyek a /etc/drbl/MAC-grp-xxx fájlokban, elvileg termenként már összeszedtünk. Ekkor ezt a képet kapjuk:

Page 22: DRBL

22

A „by_IP-addr_grp” opció felsorolja a gépek MAC címhez hozzárendelt IP címét (jelenleg 192.168.0.1-től 192.168.0.20-ig) és ezek közül választhatunk. Itt van jelentősége annak, hogy a /etc/drbl/MAC-grp-xxx fájlban milyen sorrendben adtuk meg gépeink MAC címét. Image készítésénél nyilvánvalóan egy gépet jelölünk be, visszaállításnál lehetőség van egy teremből csak párra visszamásolni az imaget. A SPACE megnyomásával tudjuk kijelölni a gépeket.

El kell döntenünk, hogy a kijelölt gépekkel (vagy termekkel) milyen műveletet szeretnék végrehajtani. Most: Clonezilla-start (de indíthatunk memtestet, botolhatjuk a helyi lemezt, vagy freedost, wake-on-lannal feléleszthetjük a gépeket stb.)

Page 23: DRBL

23

Lehetőség van több opció megadására is (advanced), de a legtöbbször elég az alapértelmezett „beginner” opció.

Eldöntjük, hogy mit is szeretnék: save-disk Egész lemez mentése image fájlba save-parts Egyes partíciók mentése image fájlba restore-disk Egész lemez visszatöltése imageből restore-parts Egy partíció visszatöltése imgeből A „select-in-client” opció a bebotolt kliensen teszi lehetővé a fentebbi döntésünket.

Mi legyen az image visszatöltése vagy elkészítése után? reboot Újraindul a kliensgép poweroff Kikapcsol a kliensgép true Semmi choose A klónozás után a kliensen dönthetjük el a

továbbiakat

Visszaállítás esetén felajánlja a mappában lévő lemezképek közül a választást, amennyiben most hozzuk létre, úgy megadhatjuk az új lemezkép nevét. Alapértelmezésben az aznapi dátumot (+óra)

Page 24: DRBL

24

ajánlja fel a rendszer (pl: 2012-01-15-18-img), de célszerű egyéni rendszert alkalmazni. (Jelen esetben a teremnév-disk-dátum variáció szerepel, vagy partíció esetén teremnév-oprendszer-partíció-dátum).

Valójában a DRBL nem fájlneveket hoz létre, hanem egy mappát, amelyben találhatóak a fájlok (a jobb láthatóság kedvéért sambás megosztásban, Total Commanderben)

A 115-ös terem különböző imageinek

mappái

Egy image-mappában lévő fájlok:

(Teljes lemez lemezképe miatt jól

láthatóak az egyes partíciók tömörített

fájljai sda1… sda2 stb.)

:pl: 115-disk-20120119img lemezkép a 115-ös terem teljes lemezének lemezképe, ami 2012. január 19-én készült. Ez 3 partíciót tartalmaz: Pl: sda2.ntfs-ptcl-img.gz.aa – az sda2 partíció W7 ntfs fájlrendszere, amit a partclone készített el és tömörített (.gz) A többi fájl a lemez adatait (disk), partíciók számát (parts), a partíciók alapinformációit tartalmazza.

A lemezkép kiválasztása után jelzi annak tartalmát:

Page 25: DRBL

25

Az egyik legfontosabb kérdés: hogyan töltsük vissza az imaget. unicast – akkor használjuk, ha egy gépre töltjük vissza, vagy egy gépről készítünk imaget multicast – ebben az esetben csak azoknak a klienseknek továbbítjuk az adatot, amelyek ezt kérik. Azon gépek, akik nem vesznek részt az adatfogadásban, még hardver szinten blokkolják a multicast csomagokat. (A DRBL-szerver az udpcastot használja multicastolásra) broadcast – erre nem sikerült még rájönnöm, hogy miért is van itt, mi is a funkciója, ha létezik a multicast lehetőség!

Multicast esetén meg kell határozni, hogy maga a klónozás mikor induljon. Erre 3 opciót találunk: client-to-wait: a már csatlakozott kliensek ennyi kliengépet „várnak be” a klónozás megindulásáig time-to-wait: a kliensgépek ennyi ideig várnak (egymásra) a klónozás megindulásáig client-time-to-wait: az előbbi kettő variációja: ennyi ideig és ennyi gépet „várnak be”

Az korábban említett „advanced” opció néhány plusz lehetőséggel vértezi fel a folyamatot, de alapértelmezetten nincs rá szükség:

Page 26: DRBL

26

Egy lemezkép elkészítése nagyjából ugyanaz a folyamat, mint visszaállítása. Kiválasztjuk a save-part vagy save-disk opciót és eldöntjük, hogy hol adjuk meg a lemezkép (valójában az őt tartalmazó mappa!) nevét:

Mint már volt róla szó, alapértelmezetten egy dátumból generált nevet ajánl fel a rendszer megjelölve a fájlnévben az órát is:

Majd kiválasztjuk a menteni kívánt lemezt vagy partíciót, melyet kézzel írhatunk át:

Megjegyzés:

Mind a lemezkép készítésének és visszamásolásának befejezésekor a rendszer a paramétereket a /tmp mappában egy fájlba menti. Ennek az a nagy előnye, hogy innen kimásolva, (picit átnevezve, hogy emberibb legyen) és futtathatóvá téve (chmod 700 fájlnév) bármikor újból, a fenti lépések

Page 27: DRBL

27

végigjárása nélkül tudjuk a telepítést véghezvinni, adott esetben esetleg a lemezkép nevét megváltoztatva:

Pl: cp /tmp/ocs-115-lin-disk-20120221-img-2012-01-22-12-22 /usr/bin/restore-115 chmod 700 /us/bin/restore-115 A fájl tartalma: /opt/drbl/sbin/drbl-ocs -b -g auto -e1 auto -e2 -r -x -j2 -p reboot --time-to-wait 120 -h " " -l en_US.UTF-8 startdisk multicast_restore 115-lin-disk-20120121-img sda A konzolon beírva: restore-115 A parancs alapján a szerver automatikusan multicasttal visszamásolja 120 másodperc várakozás után a 115-lin-disk-20120121-img nevű image-fájlt a kliensgépek sda lemezére, majd újraindítja őket. Akár termenként létrehozhatunk scripteket, amelyek cron-ból időzítve telepítünk újra egy termet.

Page 28: DRBL

28

X. Kliensoldali beállítások:

A DRBL használatához szükséges néhány kliensoldali módosítás. - A BIOS-ban engedélyezni kell a wake-on-lan funkciót, hogy etherwake programmal felélesszük a gépeket és ne kelljen kézzel kapcsolgatni őket. Ez nagyon praktikus funkció, főleg többemeletes iskolákban vagy az otthoni telepítéseknél (hacsak a takarítónő nem áramtalanít ….). (Mint fennebb már volt róla szó, /opt/drbl/sbin/dcs parancs kiadása után választhatjuk a wake-on-lan opciót is.) - a boot-sorrendet a BIOS-ban meg kell változtatni úgy, hogy először a hálózatról próbáljon a gép bootolni (DHCP kérés, TFTP „next-server” IP-jének kérése stb.), vagyis elsődlegessé kell tenni a PXE-bootot. - CloneZilla CD vagy pendrive használata esetén a CD/DVD-ről való botolást kell engedélyezni vagy a merevlemezről való bootolás elé helyezni. Csak egy ötlet, ami nekem bevált:

Évek óta a tanulói gépekbe nem veszünk CD/DVROM-ot, így olcsóbb és nincs szükség rá, a bootolás pedig a PXE-boot és a merevlemez kivételével tiltva van (USB is). Ezért érdemes a munkaállomások merevlemezén készíteni egy 1 GB-os (vagy kisebb) FAT32-es partíciót, amelyre a www.pendrivelinux.hu –ról letölthető a YUMI (http://www.pendrivelinux.com/yumi-multiboot-usb-creator/) éppen aktuális verziója. Ez lesz az sda1. Maga a YUMI multiboot pendriveok készítésére való, de tökéletesen működik merevlemezek esetén is. Pár perc alatt erre a partícióra (mindenképpen FAT-nak kell lenne, mivel a bootoláshoz syslinuxot használ) feltehető a PartedMagic, a CloneZilla, R.I.P. Linux, PING, Systemrescuecd, memtest, GAG, egyéb partícionáló programok, floppys lemezképek memdiskkel stb. Akár egy windowos livecd is indítható róla (pl: BartPE), de a Norton Ghost is. Sőt, komplett linuxos livecd-k is. Mindezek ingyenes programok és teljeskörű adminisztrációt tesznek lehetővé. A további partíciókra lehet tenni Windowst (pl: sda2) vagy éppen Linuxot (pl: sda3). Az MBR-be mehet a GAG (esetleg XOSL) és máris nincs szükség CD-re, pendrive-ra, hogy egy-egy gépet újratelepítsünk (ha nem PXE-bottal tesszük), a network boot és a merevlemez bootolásán kívül tilthatunk minden más eszköz bootolását. Ezt a partíciót pedig jelszóval védhetjük le. (A gépeket tudatosan mindig CD/DVD ROM nélkül vásároljuk…) Ezt a partíciót csak egyszer kell a merevlemezre imageben rámásolnunk, utána elég csak az egyes partíciókat imidzselni és változtatni.

Page 29: DRBL

29

XI. Mentés:

Mit mentsünk? - a /etc/drbl könyvtár tartalmát - a /etc/dhcp könyvtár tartalmát - a scriptjeinket (/usr/bin ???) - és persze az /image könyvtárt tartalmát, vagyis a lemezképeket.

XII. Frissítés

A telepítési útmutató nem javasolja az aptitude update, aptitude safe-upgrade módszert a DRBL upgradelésére, csak akkor, ha a verziók igen közeliek egymáshoz. A javasolt megoldás:

- mentés - /opt/drbl/sbin/drblsrv –u - aptitude install drbl - /opt/drbl/sbin/drblsrv –i - /opt/drbl/sbin/drblpush –i

Magam is belefutottam ilyenbe, hogy egyes konfigfájlok mechanikus visszamásolása nem célszerű a megváltozott paraméterek miatt (egy ideig multicast nem indult nálam ilyen hiba miatt).

XIII. DRBL vagy FOG?

Ezt majd mindenki eldönti magának. Csak egy-két szempontot lehet itt javasolni: - Akinek formás webes felület kell, vagy beépülő, kiegészítő modulok – annak biztosan a

FOG - Ha lényeges a könnyed beállítás és az alapértelmezett „gyári” értékek – akkor a FOG. - Akinek fontos, hogy egy CD-ről vagy pendriveról futtatható kliens programmal is tudjon

telepíteni, vagy imaget készíteni (CloneZilla) – annak DRBL. - Ha multipartíciós lemezen, egy-egy partícióit szeretnél klónozni – annak DRBL, mert itt

megadható maga a partíció (sda1, sda2 sda3 stb.) - Aki szeretné egyénileg testreszabni, átalakítgatni, scriptelgetni – annak DRBL.

De, érdemes mindkettőt kipróbálni.

Page 30: DRBL

30

XIV Buktatók, hibajelenségek, hiányosságok, keverhető fogalmak:

a) CloneZilla és ClonZilla SE: CloneZilla egy CD-ről vagy pendriveról futtatható program, amivel sambás megosztásokra, SSH-ra, NFS-re lehet imaget készíteni a kliensgépről bebotolva, illetve a szerverről visszatölteni a kliensgépre. A CloneZilla külön letölthető (http://clonezilla.org/downloads.php), sőt a PartedMagic is alapból tartalmazza. A CloneZilla SE (Server Edition) külön nem érhető el, ez a DRBL része (http://clonezilla.org/clonezilla-SE.php). Ez a program felelős az imagek elkészítéséért és visszatöltéséért magán a DRBL szerveren. Önállóan a kliensgépen nem indítható, csak a szerverről PXE-boottal.

b) DRBL-winroll: Windowsokra írt és alkalmazható segédprogram, mely a SYSPREP bizonyos funkcióit is magába foglalja (SID változtatása, gépnév megváltoztatása, AD-ba belépés stb.) (http://www.drbl-winroll.org/)

c) DHCP-szerver: ha csak a DRBL DHCP-szerverét használjuk, akkor a beállításnál célszerű azt a felajánlott opciót alkalmazni, hogy minden kliensgép mindig ugyanazt az IP címet kapja. Bár elvileg, mint minden linuxos DHCP szerver config-fájlját meg lehet szerkeszteni, a DRBL szerver ezeket mindig felülírja. Ezért célszerű az eredetiről mindig egy másolatot készíteni, a DRBL által generáltat jobb, ha nem szerkesztjük kézzel. Amennyiben más DHCP szerverünk is van, akkor óvatosan kell ezt az image visszatöltése előtt és alatt kezelni. A DRBL ragaszkodik a saját DHCP szerveréhez. A kliensgép KÉTSZER fordul DHCP kéréssel a DHCP szerverhez. Először, amikor hálózatról szeretne bootolni és keresi a DHCP, majd a TFTP szervert. Ekkor nincs probléma, mert a DRBL adja meg neki a TFTP szerver IP címét. Másodszor akkor, amikor maga a linuxos rendszer töltődik be. Amennyiben ekkor más DHCP-szervertől kap választ, az egész folyamat megszakad „Something went wrong…” hibaüzenettel. Ezért érdemes ideiglenesen a másik DHCP-szervert a bootolás és az imagelés megkezdése közötti pár percre leállítani. Amint megkezdődik az imagelés, a másik DHCP- szerver visszakapcsolható, sőt a DRBL DHCP-je leállítható.

d) A DRBL egyik erőssége, hogy létezik livecd-ben is (http://drbl.sourceforge.net/download/sourceforge/live-stable/iso-zip-files.php), így kipróbálása egy pendriveval vagy CD-vel roppant egyszerű. (Ez nem keverendő össze a CloneZilla livecdjével!) Itt jegyzem meg, hogy a DRBL livced/liveusb egy grafikus felületet ad, a DRBL-szerver viszont nem, tehát senki ne keresse a grafikus adminisztrálási lehetőséget, mert az nincs!

e) kliensek állapotának követhetősége:

Aki használt Norton Ghostot multicastra, az megszokhatta, hogy a „szerver oldalon” a ghostcast kiírja a csatlakozott gépek IP címét, MAC címét, az esetleges hibákat és a telepítés állapotát százalékban. Sajnos, ilyen klienskövetési mód nincs a DRBL-ben, Esetlegesen az iptraf nevű programmal lehet a hálózati forgalma ellenőrizni (aptitude install iptraf), de ha távolról (pl: otthonról vagy másik szintről a suliban) telepítünk egy termet, elég macerás a kliensek állapotának és a hátralévő időnek a figyelemmel kísérése.

f) partíció átméretezése: amennyiben egy lemezképet nagyobb partícióra másolunk, az esetek többségében tapasztalataim szerint működő gépet fogunk kapni. Viszont kisebb lemezre vagy partícióra nem képes visszaállítani az imaget. g) partíció határok, partíció méretek: Multipartíciós merevlemezek esetén célszerű mindenképpen az egész merevlemezt (disk) leimidzselni és visszatölteni az összes gépre, mivel a kézzel létrehozott partíciókat nem nagyon szereti a CloneZilla. Amennyiben kisebb lesz a partíció – nem tölti vissza a lemezképet, ha nagyobb, Linux esetén nekem többször hibázott és nem indult el az oprendszer.

Page 31: DRBL

31

h) A fennebb említett upgrade után érdemes újra legenerálni a konfigfájlokat és ellenőrizni a régebbiek működését (pl: régebbi verzió megengedte a /opt/drbl/drblpush –c /etc/drbl/push/drblpush.conf-115 futtatását, a mostani már nem, ragaszkodik a /etc/drbl/drblpush.conf –hoz)