IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Fog

De SergiTurWiki
Share/Save/Bookmark
(S'ha redirigit des de: FOG)
Dreceres ràpides: navegació, cerca
TODO: Afegir quadre resum amb logo tipus icecast. Afegir contibuidors...

FOG és una eina de programari lliure que permet clonar imatges de disc per xarxa. La principal diferència entre aquesta eina i altres similars com DRBL o Clonezilla és que disposa d'una interfície d'administrador via web feta amb PHP i per tant en part és una aplicació LAMP.

Fog a més de LAMP utilitza:

Contingut

Instal·lació a Ubuntu Server 9.04

Instal·lar una Ubuntu Server 9.04 fresca

$ cd 
$ sudo wget http://sourceforge.net/projects/freeghost/files/FOG/fog_0.28/fog_0.28.tar.gz/download
$ sudo tar xvzf fog_0.28.tar.gz
$ cd fog*/bin
$ sudo ./installfog.sh 

Seleccionem:

2) Ubuntu Based Linux (Kubuntu, Edubuntu)
Normal
Default IP Address
Default DHCP Address
Default DNS
No change interface
DHCP service Yes
Sure? yes

Instal·la els següents paquets:

  • apache2
  • php5
  • php5-gd
  • php5-cli
  • php5-mysql
  • php5-curl
  • dhcp3-server
  • tftd-hpa
  • tft-hpa
  • nfs-kernel-server
  • vsftpd
  • net-tools
  • wget
  • xinetd
  • sysv-rc-conf
  • etherwake
  • tar
  • gzip
  • build-essential
  • cpp
  • gcc
  • g++
  • m4
  • htmldoc
  • perl
  • libmd5-perl
  • libcrypt-passwdmd5-perl
  • lftp
  • openssh-server

Instal·la servidor MySQL i el client. Si ja està instal·lat i amb paraula de pas diferent a la de per defecte, s'haurà d'indicar la paraula de pas a:

/var/www/fog/commons/config.php


Fitxers instal·lats

Les carpetes instal·lades són:

/var/www/fog
/opt/fog
/images
/tftpboot
/home/fog

Comprovar que funciona

Anar a la web, per exemple:

http://192.168.1.7/fog

El primer cop demanar que crei les taules de la base de dades. Per entrar:

  • Usuari: fog
  • Paraula de pas: password

Un cop dins cal:

  • Anar al botó Hosts
  • Afegir un nou host. Posar sobretot la MAC correctament
  • Anar a tasques (estrella)
  • Mostrar tots els hosts. Seleccionar el que acabem de crear i fer clic a Advanced.
  • A Advanced Action, activeu Memtest86+
  • Comproveu que està a les tasques actives.

Ara ja podeu iniciar el client amb PXE.

Característiques

Sistemes operatius suportats

Windows 2000/XP (1)
Windows Vista (2)
Windows 98 (3)
Windows (other) (4)
Windows 7 (5)
Linux (50)
Other (99)

Linux (50):

Quan guarda el MBR guarda tota la primera pista!:

dd if=$disk of=${tmpBackupPath}/d1.mbr count=63 bs=512 &>/dev/null

També crea les particions swap. No manté els UUID!

Client. FOG Service

Vegeu també l'apartat FOG Service. Clients Windows

FOGService és una aplicació que s'instal·la a les imatges (només disponible per a Windows) que permet controlar les imatges de forma remota. El podeu aconseguir al propi servidor FOG:

http://192.168.1.7/fog/client/FogService.zip

Fitxer de configuració:

c:\program files\fog\etc\config.ini

ERROR

FogService configuration application was not found i nthe typical location. If you changed the installation  
directory of the fog service...

Consulteu:

Storage Managment

És un sistema de fogs distribuïts amb NFS. Hi ha un sistema master que distribueix les imatges a una sèrie de clients mitjançant NFS.

La configuració d'un master és la següent:

$ cat /etc/exports 
/images                        *(ro,sync,no_wdelay,insecure_locks,no_root_squash,insecure)
/images/dev                    *(rw,sync,no_wdelay,no_root_squash,insecure)

És a dir es comparteix la carpeta /images de forma anònima (el * indica que qualsevol màquina es pot connectar al servidor NFS master).

El control de les repliques es fa mitjançant un servei/Dimoni Linux:

/opt/fog/service/FOGImageReplicator/FOGImageReplicator

Es tracta d'un fitxer executable que conté un script de PHP.

El replicator està programant per mostrar els missatges de log per la consola virtual 3 (Ctrl+Alt+F3) /dev/tty3:

$ grep -n "REPLICATORDEVICEOUTPUT" -r .
./etc/config.php~:17:define( "REPLICATORDEVICEOUTPUT", "/dev/tty3" );
./etc/config.php:17:define( "REPLICATORDEVICEOUTPUT", "/dev/tty3" );

NOTA: També es guarda un log a /opt/fog/log

Amb una sessió remota podeu consultar la terminal 3 amb conspy:

$ sudo conspy 3

Per sortir premeu 3 cops ESC.

Si estigues bé el format s'hauria de veure el següent missatge en un servidor master sense membres (instal·lació per defecte de FOG:)

+---------------------------------------------------------
+---------------------------------------------------------
* [02-19-10 6:56:06 am] Checking if I am the group manager.
* [02-19-10 6:56:06 am] I am the group manager.
* [02-19-10 6:56:06 am] Starting Image replication.
* [02-19-10 6:56:06 am] Determining my group ID number.
* [02-19-10 6:56:07 am] Looking up my node ID number
* [02-19-10 6:56:07 am] NODE ID# 1
* [02-19-10 6:56:07 am] We are group ID: #1
* [02-19-10 6:56:07 am] Finding group members.
* [02-19-10 6:56:07 am] I am the only member, no need to copy anything!.
+---------------------------------------------------------

El dimoni/script és un script amb un bucle infinit que cada REPLICATORSLEEPTIME s'executa:

$ grep -n "REPLICATORSLEEPTIME" -r .
./etc/config.php~:18:define( "REPLICATORSLEEPTIME", 600 );

És a dir per defecte s'executa cada 10 minuts.

El sistema distribuït es basa en les taules:

nfsGroups
nfsGroupMembers

A nfsGroupMembers

es defineixen els membres. Per exemple per a una master es defineix:

  • On estan les imatges: /images
  • Un usuari i paraula de pas: La paraula de pas es guarda xifrada. L'usuari és fog i coincideix amb l'usuari de sistema fog.

Fog utilitza un servidor de FTP anomenat vsftpd. El fitxer de configuració és:

$ cat /etc/vsftpd.conf

Es pot accedir al servidor via FTP amb usuaris de la màquina Linux.

El client utilitzar és lftp:

$ dpkg -S /usr/bin/lftp
lftp: /usr/bin/lftp

La línia:

$process = popen( "lftp -e \"set ftp:list-options -a;set net:max-retries 1; \
set net:timeout 30;mirror -R -vvv --exclude 'dev/' --delete " . \
$myRoot . " " . $remRoot  . ";exit\" -u $username,$password " . $ar["ngmHostname"] . " 2>&1", "r" );

Això ho executa els groupManagers. Es connecten a tots els membres del grup i sincronitzen via FTP les imatges, es a dir envia les imatges als clients via FTP.

Serveis de FOG (replicació, multicast i scheduler)

Hi ha 3 serveis/servidors (implementats en PHP):

  • FOGImageReplicator: Dimoni que s'encarrega de l'storage managment.
  • FOGMulticastManager: Dimoni que gestiona les cues d'espera al fer multicast
  • FOGScheduler: S'encarrega d'executar les tasques diferides. Moltes tasques de fog es poden programar i aquest dimoni és l'encarregat d'executar-les.

i els seus corresponents fitxers init scripts de SystemV:

$ sudo /etc/init.d/FOG (tabulador dos cops)
FOGImageReplicator   FOGMulticastManager  FOGScheduler

ES poden aturar/encendre o reiniciar com qualsevol altre script d'inicialització:

$ sudo /etc/init.d/FOGMulticastManager restart
 * Restarting FOG Computer Imaging Solution: FOGMulticastManager                                                                      [ OK ]

Cada dimoni té el seu propi log a la carpeta /opt/fog/log:

$ cd /opt/fog/log
$ ls
fogreplicator.log  fogscheduler.log  multicast.log

I els "executables" (scripts de PHP) els trobareu a la carpeta /opt/fog/service:

/opt/fog/service/FOGImageReplicator/FOGImageReplicator
/opt/fog/service/FOGMulticastManager/FOGMulticastManager
/opt/fog/service/FOGTaskScheduler/FOGTaskScheduler

El fitxer de configuració dels serveis es independent del fitxer de configuració de la part web de fog. El trobareu a /opt/fog/service/etc/config.php:

$ cat /opt/fog/service/etc/config.php
<?php
define( "UPDSENDERPATH", "/usr/local/sbin/udp-sender" );
define( "MULTICASTLOGPATH", "/opt/fog/log/multicast.log" );
define( "MULTICASTDEVICEOUTPUT", "/dev/tty2" );
define( "MULTICASTSLEEPTIME", 10 );
define( "MULTICASTINTERFACE", "eth0" );
define( "UDPSENDER_MAXWAIT", null );

define( "MYSQL_HOST", "" );
define( "MYSQL_DATABASE", "fog" );
define( "MYSQL_USERNAME", "" );
define( "MYSQL_PASSWORD", "" );

define( "LOGMAXSIZE", "1000000" );

define( "REPLICATORLOGPATH", "/opt/fog/log/fogreplicator.log" );
define( "REPLICATORDEVICEOUTPUT", "/dev/tty3" );
define( "REPLICATORSLEEPTIME", 600 ) ;
define( "REPLICATORIFCONFIG", "/sbin/ifconfig" ); 

define( "SCHEDULERLOGPATH", "/opt/fog/log/fogscheduler.log" );
define( "SCHEDULERDEVICEOUTPUT", "/dev/tty4" );
define( "SCHEDULERWEBROOT", "/var/www/fog" );
define( "SCHEDULERSLEEPTIME", 60 );
?>

IMPORTANT: Cal definir l'usuari i la paraula de pas d'accés a la base de dades!. Consulteu Fog#Failed_to_connect_to_database_server.2C_will_try_again_in_next_iteration

Si feu canvis al fitxer heu de reiniciar els servidors:

$ sudo /etc/init.d/FOGImageReplicator restart
$ sudo /etc/init.d/FOGMulticastManager restart
$ sudo /etc/init.d/FOGScheduler restart

Els logs d'aquests serveis es poden consultar al fitxers de lo o també a les consoles virtuals:

define( "MULTICASTDEVICEOUTPUT", "/dev/tty2" );
define( "REPLICATORDEVICEOUTPUT", "/dev/tty3" );
define( "SCHEDULERDEVICEOUTPUT", "/dev/tty4" );

Com podeu veure cada servei surt a una consol virtual diferent.

Configuració

Configuració de DHCP

Si no utilitzeu el DHCP de Fog haureu de canviar la configuració del vostre DHCP per tal de configurar correctament l'arrancada de xarxa.

$ cat /etc/dhcp3/dhcpd.conf
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
# This file was created by FOG
use-host-decl-names on;
ddns-update-style interim;
ignore client-updates;
next-server 192.168.7.182;  

authoritative;  
 

subnet 192.168.7.0 netmask 255.255.255.0 {
        option subnet-mask              255.255.255.0;
        range dynamic-bootp 192.168.7.10 192.168.7.254;
        default-lease-time 21600;
        max-lease-time 43200;
	option domain-name-servers      192.168.7.182;  
		option routers      192.168.7.182;  
        filename "pxelinux.0";
}

Servidor FTP

Paquets FTP instal·lats:

$ dpkg -l | grep ftp
ii  ftp                               0.17-19                                   The FTP client
ii  lftp                              3.7.15-1ubuntu2.1                         Sophisticated command-line FTP/HTTP client p
ii  tftp-hpa                          0.49-1                                    HPA's tftp client
ii  tftpd-hpa                         0.49-1                                    HPA's tftp server
ii  vsftpd                            2.2.0-1ubuntu2                            lightweight, efficient FTP server written fo

Configuració del servidor:

NOTA: tftpd s'executa de forma independent a xinetd

La configuració del servidor es fa al fitxer /etc/default/tftpd-hpa:

Per defecte Ubuntu porta quelcom similar a:

$ cat /etc/default/tftpd-hpa
# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS=""

Cal posar:

TODO


es pot controlar el servei amb:

$ sudo /etc/init.d/tftpd-hpa restart

O amb el cas que s'utilitzi service (versions noves d'ubuntu com les 10.10):

$ sudo service tftpd-hpa restart
tftpd-hpa start/running




NOTA: A 10.04 hi ha un fitxer /etc/init/tftpd-hpa.conf que no existia a Ubuntu 9.10

El procés que està en execució és:

$ ps aux | grep ftp
root      1880  0.0  0.0  14704   100 ?        Ss   Mar26   0:29 /usr/sbin/in.tftpd -l -s tftpboot

Els fitxers del servidor es guarden a /tftpboot i fixeu-vos que tftp utilitza UDP com a protocol

Aplicació web. /var/www/fog

L'aplicació web s'instal·la a:

/var/www/fog

Els fitxers es copien del paquet original (tar.gz) de la carpeta:

packages/web

Si s'agafa del respositori SVN:

trunk/packages/web

El fitxer index.php no és res més que una redirecció:

<?php
header('Location: ./management/index.php');
?>

Com podeu veure les pàgines web es troben a managment:

/var/www/fog/commons/config.php

Aquest és el fitxers de configuració on es defineixen els accessos a la base de dades:

define( "MYSQL_HOST", "localhost" );
define( "MYSQL_DATABASE", "fog2" ); 
define( "MYSQL_USERNAME", "fog" );
define( "MYSQL_PASSWORD", "fog" ); 

define( "FOG_VERSION", "0.29" );
define( "FOG_SCHEMA", 21); 
 
define( "DB_TYPE", "mysql" );
define( "DB_HOST", MYSQL_HOST );
define( "DB_NAME", MYSQL_DATABASE );
define( "DB_USERNAME", MYSQL_USERNAME );
define( "DB_PASSWORD", MYSQL_PASSWORD );
define( "DB_PORT", null );

La resta de variables de configuració sembla que fins a la versió 0.28 les trobaríem a aquest fitxer i a partir de la 0.29 ho trobarem a la base de dades i es configuraran des de la web.

define( "TFTP_HOST", "x.x.x.x" );  
define( "TFTP_FTP_USERNAME", "fog" ); 
define( "TFTP_FTP_PASSWORD", "" ); 
define( "TFTP_PXE_CONFIG_DIR", "/tftpboot/pxelinux.cfg/" ); 
define( "TFTP_PXE_KERNEL_DIR", "/tftpboot/fog/kernel/" );
define( "PXE_KERNEL", "fog/kernel/bzImage" ); 
define( "PXE_KERNEL_RAMDISK", 127000 ); 
define( "USE_SLOPPY_NAME_LOOKUPS", true); 
define( "MEMTEST_KERNEL", "fog/memtest/memtest" ); 
define( "PXE_IMAGE",  "fog/images/init.gz" ); 
define( "PXE_IMAGE_DNSADDRESS",  "x.x.x.x" ); 
define( "STORAGE_HOST", "x.x.x.x" ); 
define( "STORAGE_FTP_USERNAME", "fog" ); 
define( "STORAGE_FTP_PASSWORD", "" ); 
define( "STORAGE_DATADIR", "/images/" ); 
define( "STORAGE_DATADIR_UPLOAD", "/images/dev/" ); 
define( "STORAGE_BANDWIDTHPATH", "/fog/status/bandwidth.php" );
define( "UPLOADRESIZEPCT", 5 ); 
define( "WEB_HOST", "x.x.x.x" ); 
define( "WEB_ROOT", "/fog/" ); 
define( "WOL_HOST", "x.x.x.x" ); 
define( "WOL_PATH", "/fog/wol/wol.php" ); 
define( "WOL_INTERFACE", "eth0" );					
define( "SNAPINDIR", "/opt/fog/snapins/" ); 
define( "QUEUESIZE", "10" ); 
define( "CHECKIN_TIMEOUT", 600 ); 
define( "USER_MINPASSLENGTH", 4 ); 
define( "USER_VALIDPASSCHARS", "1234567890ABCDEFGHIJKLMNOPQRSTUVWZXYabcdefghijklmnopqrstuvwxyz_()^!" ); 
define( "NFS_ETH_MONITOR", "eth0" ); 
define("UDPCAST_INTERFACE","eth0"); 
define("UDPCAST_STARTINGPORT", 63100 ); 					// Must be an even number! recommended between 49152 to 65535
define("FOG_MULTICAST_MAX_SESSIONS", 64 ); 
define( "FOG_JPGRAPH_VERSION", "2.3" );
define( "FOG_REPORT_DIR", "./reports/" );
define( "FOG_THEME", "blackeye/blackeye.css" );
define( "FOG_UPLOADIGNOREPAGEHIBER", true );

Aquests valors s'estableixen durant la instal·lació.

Fitxers Imatges. /images

A la carpeta /images:

$ ls /images
A204pc16  dev  FujitsuSiemens1  FujitsuSiemensOriginalLinkatWindows  PCGrisAula2  ProvaAula  Ubuntu910Desktop32bits

Cada imatge en una carpeta.

Canvis al menú PXE

El fitxer de configuració és:

packages/tftp/pxelinux.cfg/default

El paràmetre mode indica quina acció es duu a terme:

LABEL fog.reginput
	kernel fog/kernel/bzImage 
	append initrd=fog/images/init.gz  root=/dev/ram0 rw ramdisk_size=127000 ip=dhcp dns=1.1.1.38 mode=manreg \
       web=1.1.1.100/fog/ loglevel=4
???: Per què wegb és 1.1.1.100?. DNS externs?

Imatge:

bg.png:

Adaptar al centre? Grup de millora.

Modes fog

El paràmetre de kernel mode indica l'acció a realitzar per FOG durant l'arrencada per PXE. El controlador es troba a:

$ cat etc/rc1.d/S99single
if [ -n "$keymap" ]
then 
	loadkeys $keymap;
fi

run="";
after="";

afterActionTerm="shutdown -r now";
if [ "$shutdown" = "on" ]
then
	afterActionTerm="poweroff -p";
fi


if [ "$mode" == "debug" ]; then
	run="/bin/fog.debug";
	after="exec init -t1 S";
elif [ "$mode" == "onlydebug" ]; then
	run="";
	after="exec init -t1 S";	
elif [ "$mode" == "wipe" ]; then
 	run="/bin/fog.wipe"; 
 	after=$afterActionTerm;

Crear un nous mode:

  • Restaurar tot el disc
  • Restaurar només MBR (no va GRUB o l'arrencada del sistema)
  • Restaurar només 1 partició (surti una llista de quina és vol recuperar)
  • Restaurar només Windows
  • Restaurar només Linux
  • Instal·la màquines Virtuals a la partició de dades
  • Adaptar quickimage a les necessitats del centre
  • Adaptar inventari
NOTA: cal decidir qui pot iniciar aquestes tasques. Alumnes? Cadascú el seu usuari? Usuari comú?
  • Formatar l'espai disc lliure de l'ordinador


Les variables $mode, $shutdown i altres s'indican durant l'arrencada del sistema amb PXE:

$ cat /tftpboot/pxelinux.cfg/default
DEFAULT vesamenu.c32
MENU TITLE FOG (INS EBRE) Sense accents per falta de suport
MENU BACKGROUND fog/bg.png
MENU MASTER PASSWD $1$Whxr.XIP$TLz6UoQno2//ZDf5Nj82t0
MENU HIDDEN
MENU AUTOBOOT Inici automatic en # segons
MENU TABMSG Premeu tab per a editar les opcions
MENU NOTABMSG No es poden editar les opcions
MENU PASSPROMPT Es necessaria una paraula de pas
 
menu color title	1;36;44    #ffffffff #00000000 std

LABEL fog.local
	localboot 0
	MENU DEFAULT
	MENU LABEL Arrancar del disc dur local
	TEXT HELP
	Arranca des del disc dur local.  
	IMPORTANT: Si no saps el que estas fent aquesta es la teva opcio.
	ENDTEXT

LABEL fog.memtest
 	
	kernel fog/memtest/memtest
	MENU LABEL Executar Memtest86+
	TEXT HELP
	Executa un test de memoria RAM (Memtest86+)
	ENDTEXT

LABEL fog.reg
	 
	kernel fog/kernel/bzImage
	append initrd=fog/images/init.gz root=/dev/ram0 rw ramdisk_size=127000 ip=dhcp dns=213.176.161.16 mode=autoreg keymap= web=192.168.7.182:81/fog/ loglevel=4
	MENU LABEL Inventariar i registrar la maquina de forma rapida
	TEXT HELP
	Registra i inventaria la maquina automaticament.
	ENDTEXT

LABEL fog.reginput
	
	kernel fog/kernel/bzImage
	append initrd=fog/images/init.gz root=/dev/ram0 rw ramdisk_size=127000 ip=dhcp dns=213.176.161.16 mode=manreg keymap= web=192.168.7.182:81/fog/ loglevel=4
	MENU LABEL Realitzar un inventariaat i registre de maquina complet
	TEXT HELP
	Realitzar un inventariat i registre de maquina complet. Opcionalment
	permet volcar una imatge a la maquina.
	ENDTEXT

LABEL fog.quickimage
	
	kernel fog/kernel/bzImage
	append initrd=fog/images/init.gz  root=/dev/ram0 rw ramdisk_size=127000 ip=dhcp dns=213.176.161.16 mode=quickimage keymap= web=192.168.7.182:81/fog/ loglevel=4
	MENU LABEL Imatge rapida
	TEXT HELP
	Volca la imatge que li correspon per defecte a aquesta maquina.
	ENDTEXT

LABEL fog.sysinfo
	
	kernel fog/kernel/bzImage
	append initrd=fog/images/init.gz  root=/dev/ram0 rw ramdisk_size=127000 ip=dhcp dns=213.176.161.16 mode=sysinfo keymap= loglevel=4
	MENU LABEL Obtenir informacio del sistema client
	TEXT HELP
	Mostra informacio basica del client com la seva MAC o la
	compatibilitat amb FOG.
	ENDTEXT

LABEL fog.debug
	MENU PASSWD $1$0t8lmQrA$XId.CVFyU3QFPQ4TsYZAe/
	kernel fog/kernel/bzImage
	append initrd=fog/images/init.gz  root=/dev/ram0 rw ramdisk_size=127000 ip=dhcp dns=213.176.161.16 mode=onlydebug keymap=
	MENU LABEL Debug Mode
	TEXT HELP
        Aquesta opcio carrega la imatge i mostra un prompt on es
	poden executar comandes a discrecio.
	ENDTEXT

PROMPT 0
TIMEOUT 50

Tasques per a màquines concretes

Quan es marca una màquina només per exemple per tal de fer un deploy:

$ cd /tftpboot/pxelinux.cfg$
$ ls
01-00-30-05-eb-38-28  default  default~
$ cat 01-00-30-05-eb-38-28 
# Created by FOG Imaging System
 
	  DEFAULT fog

	  LABEL fog

	  kernel fog/kernel/bzImage

	  append initrd=fog/images/init.gz  root=/dev/ram0 rw ramdisk_size=127000 ip=dhcp dns=213.176.161.16 type=down img=A204 mac=00:30:05:eb:38:28 ftp=192.168.7.182 
         storage=192.168.7.182:/images/ web=192.168.7.182:81/fog/ osid=50  imgType=mps  shutdown= loglevel=4   fdrive=


upload:

$ cat 01-00-30-05-eb-38-28 
# Created by FOG Imaging System

	  DEFAULT send

LABEL send

         kernel fog/kernel/bzImage

	  append initrd=fog/images/init.gz  root=/dev/ram0 rw ramdisk_size=127000 ip=dhcp 
         dns=213.176.161.16 type=up img=A204 imgid=8 mac=00:30:05:eb:38:28 storage=192.168.7.182:/images/dev/ web=192.168.7.182:81/fog/ ignorepg=1 osid=50  pct=5  
         imgType=mps   
shutdown= loglevel=4   fdrive=

init.gx

Fitxer de funcions del client PXE (dins de init.gz):

. /usr/local/fog/lib/funcs.sh

Manual

Secció home

Homefog.jpg

En aquesta secció hi trobem informacions diverses:

  • Informació del sistema:
  • Nom d'usuari.
  • Direcció del servidor web.
  • Direcció del servidor TFTP.
  • Temps de càrrega.
  • Usuaris.
  • Activitat del sistema.
  • Informació dels discs.
  • Informació d'imatges dels 3 ultims dies.
  • Ample de banda.

Secció users

En aquesta secció hi tenim dues opcions diferents.

  • Veure la llista d'usuaris.
Userfog.jpg
  • Afegir nous usuaris.
Userfog2.jpg

Secció hosts

En la secció hosts hi tenim 4 parts diferenciades.

  • Cercador de hosts.
Hostfog.jpg
  • Veure la llista de hosts.
Hostfog2.jpg
  • Afegir nous hosts.
Hostfog3.jpg
  • Importar una llista de hosts amb format CSV.
Hostfog4.jpg

Secció groups

En aquesta secció podem fer les següents accions.

  • Cercar un grup.
Groupmanagement.jpg
  • Veure una llista de tots els grups.
Groupmanagement2.jpg

Images

Les opcions dins la secció Imatges són les següents.

  • Cercar imatges.
Imatgefog.jpg
  • Veure la llista d'imatges.
Imatgefog2.jpg
  • Afegir una nova imatge.
Imatgefog3.jpg

Storages

En aquesta secció podem fer una sèrie d'accions d'emmagatzemament.


Visualitzar els grups d'emmagatzemament.

Storatges1fog.jpg


Afegir un nou grup d'emmagatzemament.

Storatges2fog.jpg


Veure tots els nodes d'emmagatzemament,

Storatges3fog.jpg


Afegir nous nodes d'emmagatzemament.

Storatge4fog.jpg

Snapins

En la secció de snap-ins hi tenim tres apartats.


Cerca de snap-in.

Snapinsimatge1.jpg


Administració de snap-in.

Snapinsimatge2.jpg


Afegir un nou snap-in.

Snapinsimatge3.jpg

Printer

En la secció d'impressores hi tenim tres apartats.


Cerca d'impressora.

Printerimatge1.jpg


Administració d'impressora.

Printerimatge2.jpg


Afegir una nova impressora.

Printerimatge3.jpg

Services

A continuació veurem els apartats que hi ha dins la secció de serveis.


Configurar el servei d'inici automàtic de sessió.

Servicesimatge1.jpg


Configurar el servei d'actualització automàtica.

Servicesimatge2.jpg


Configurar el servei de neteja de directori.

Servicesimatge3.jpg


Configurar el servei d'administració de pantalla.

Servicesimatge4.jpg


Configurar l'encesa o apagada per temps automàtica del FOG.

Servicesimatge5.jpg


Configurar el servei que permet reanomenar automàticament una imatge una vegada completat el procés de creació.

Servicesimatge6.jpg


Configurar el servei que desa un registre amb clients FOG desconeguts.

Servicesimatge7.jpg


Configurar el servei d'impressores.

Servicesimatge8.jpg


Configurar el mòdul del servei de snap-in.

Servicesimatge9.jpg


Configurar el servei de reinici del FOG.

Servicesimatge10.jpg


Configurar el servei de neteja de l'usuari "stake" que creen alguns serveis.

Servicesimatge11.jpg


Configurar el servei de registre d'inici i apagada de sessió dels usuaris.

Servicesimatge12.jpg

Tasks

Els apartats que es troben dins la secció de tasks són els següents:


Cerca de tasques.

Taskimatge1.jpg


Veure els grups actuals.

Taskimatge2.jpg


Veure els servidors actuals.

Taskimatge3.jpg


Veure les tasques actives.

Taskimatge4.jpg


Veure les tasques programades.

Taskimatge5.jpg


Veure les tasques multicast actives.

Taskimatge6.jpg


Veure els snap-in actius.

Taskimatge7.jpg

Reports

  • Seccions que trobem a l'apartat de reports:


Sobre els informes FOG.

Reportsimatge1.jpg


Llista de virus al fOG.

Reportsimatge2.jpg


Veure l'inventari d'informes.

Reportsimatge3.jpg


Cercar un registre seleccionant la data de cerca.

Reportsimatge4.jpg


Cercar un registre de snap-in seleccionant la data de cerca.

Reportsimatge5.jpg

Reportsimatge6.jpg


Veure la llista d'exportació de servidors.

Reportsimatge7.jpg

Reportsimatge8.jpg


Cercar l'historial d'inici de sessió dels usuaris.

Reportsimatge9.jpg


Carregar un informe al FOG que no pertany al paquet base del programa.

Reportsimatge10.jpg

About i logout

Informació de la versió de FOG

Aboutimatge1.jpg


La llicència de FOG

Aboutimatge2.jpg


Les actualitzacions de Kernel de FOG

Aboutimatge3.jpg


Aquesta secció us permet personalitzar el menú d'arrencada PXE

Aboutimatge4.jpg


Aquesta secció us permet actualitzar els mòduls i arxius de configuració que s'executen en l'equip client

Aboutimatge5.jpg


Aquesta secció li permeten importar coneguts fabricants de adresa MAC a la database per facilitar la determinació

Aboutimatge6.jpg


L'opció de la configuració del sistema

Aboutimatge7.jpg


Accés al server

Aboutimatge8.jpg


El visor de Log de FOG

Aboutimatge9.jpg

Com funciona?

TODO

DHCP

PXE boot i tftp

NFS

Es dona accés a les imatges:

$ cat /etc/exports 
/images                        *(ro,sync,no_wdelay,insecure_locks,no_root_squash,insecure)
/images/dev                    *(rw,sync,no_wdelay,no_root_squash,insecure)

A les imatges és té accés en mode lectura i ala carpeta /images/dev es pot escriure (necessari per a certes operacions). Qui munta el NFS és la imatge init.gz que trobareu a:

/tftpboot/fog/images/init.gz

Exemples

Com registrar una nova imatge?

TODO:

Explicar:

  • Grupo de alacenamiento
  • Tipo de imagen
  • Primer hem de registrar una imatge nova.
  • Anirem al menu d'imatges i n'afegirem una de nova.
Joelgrau registrar imatge virtual1.png

Li donarem un nom a la nova imatge i seleccionem les opcions mes adients per al nostre tipus d'imatge, en el nostre cas seràn:

Joelgrau registrar imatge virtual2.png


A continuació explicarem perque selecccionem els diferents paràmetres a l'hora de registrar una imatge:

Nom de la imatge: En aquest apart introduïm el nom de la nova imatge, la qual anem a clonar, en aquest cas hem posat windowsxp, ja que estabem clonant una imatge de windows.
Grup d'almacenament:
default
Tipus d'imatge:
Single Partition (NTFS Only, Resizable): Realitza una partició en el format NTFS, la qual la podem ampliar o disminuir manualment.
Multiple Partition Image- Single Disk (Not Resizable): Realitza múltiples particions en un disc, a diferència de l'altra no podem configurar la mida.
Multiple Partition Image-All Disks (Not Resizable) Realitza diverses particions a tots els discs disponibles.
Raw Image (Sector By Sector, DD, slow): Realitza una copia de l'imatge, sector per sector, el temps en que tarda a realitza la còpia és més lent.

Em seleccionat l'opció Single Partition (NTFS Only, Resizable), ja que el format NTFS és el que ens permet treballar amb windows.

Com registrar una nova màquina?

Escrivim el nom de la màquina CLIENT i la MAC.

Hugolucas resgistrarclients3.png

Paràmetres a definir:

Nom del equip: En aquest apartat introduïm el nom de la màquina a la qual anem a registrar, en aquest cas el nom és FOG-client1.
MAC principal: Introduïm la MAC de la xarxa interna, per a poder saber quina és, utilitzem la comanda ifconfig.

Com crear/pujar una imatge?

Quan tenim registrats el client i la imatge, ja li podem programar la tasca de crear la imatge del disc dur de la maquina client.

Per programar-li la tasca clicarem en l'icona crear al menú de Tareas basicas.

Joelgrau creacio imatge1.png

Executarem la tasca i ja podrem iniciar la màquina client

Si tot ha anat be hauria de sortir en la maquina client una barra de progrés com la següent:

Joelgrau creacio imatge2.png

NOTA: La primera vegada que hem intentat fer la clonació no ens ha deixat perque ens deia que el disc tenia errors i hem fet un chkdsk per a reparar el sistema de fitxers.

Com restaurar una imatge?

Esborrament del disc dur de la màquina client

Primerament abans de restaurar el disc esborrarem el que tenim creat a la màquina client.

Hugolucas esborrardiscvirtual1.png

Desprès en crearem un de nou de la següent manera:

Hugolucas esborrardiscvirtual2.png

Triarem crear un disc nou amb els següents paràmetres:

Hugolucas esborrardiscvirtual3.png
Hugolucas esborrardiscvirtual4.png

Restaurar el disc dur de la màquina client

Desprès de seleccionar la màquina client a la que li volem restaurar la imatge al FOG, li seleccionarem a les tasques bàsiques la opció restaurar:

Hugolucas restaurardiscvirtual1.png

Executarem la tasca

Iniciarem la màquina virtual client i si el procès ha anat correctament sortirà una barra de progrés com la següent:

Hugolucas restaurardiscvirtual2.png

Finalment quan acabi la restauració ja tindrem el disc igual que la imatge creada.

Com fer una test de memòria

En el següent menú es on podem triar de copiar o restaurar les imatges del dic dur, però com això es una simple prova només farem un test de memòria RAM i per a fer-ho clicarem sobre avanzado.

Hugolucas resgistrarclients8.png

Clicarem sobre testmem86+

Hugolucas resgistrarclients9.png

Executarem el test.

Hugolucas resgistrarclients10.png

Finalment iniciarem la màquina virtual del CLIENT i si tot va bé ens farà el test de memòria que li hem programat.

Hugolucas testmem86.png

FOG Service. Clients Windows

TODO: Introducció? Què és? Que fa?

Instal·lació


Integració de màquines en domini

In order to add a computer to a domain, FOG requires a username and password that has rights to the OU where the computer objects are stored in the domain tree. FOG attempts to keep your password secure by encrypting it, but since FOG is open source, it is possible for someone to decrypt your password if you don't change the FOG "Passkey." It is highly recommended that you change this Passkey before implementing the AD integration in a production environment. Changing the Passkey requires you to recompile the FOG Service's Hostname change module, but don't panic this isn't hard and only need to be done one time. Please see the documentation below. Preparing the Image

Abans de pujar una imatge cal assegurar-se que::

  • La màquina no és membre de cap domini (canviar la màquina per tal que pertanyi a un grup de treball qualsevol)
  • Cal tenir les Support Tools de Windows instal·lades.
  • Cal tenir el FOG service instal·lat.

Configuració de FOG:

Al portal de gestió:

1. Search for, and select a host.
2. Click on the Edit button
3. Scroll down to the Active Directory section.
4. Check the box next to Join Domain after image task
5. Enter the domain name.
6. Enter the Organizational Unit where you would like to have the computer stored in AD. Leave if blank for the default. (Must be in LDAP format).
7. Enter the user name that has access to the computer objects.
8. Enter the encrypted password. This password must be encrypted with the FOGCrypt utility. This utility is located in the FOGCrypt folder of the FOG download package. It 
is a Windows command line application.
9. Click Update.

Podeu veure els detalls del intent de registre de la màquina al fitxer:

c:\fog.log 

Per fer-ho més ràpid es poden definir valors per defecte:

1. Go to Other Information -> FOG Settings
2. Set your default values for the following:
        1. FOG_AD_DEFAULT_DOMAINNAME
        2. FOG_AD_DEFAULT_OU
        3. FOG_AD_DEFAULT_USER
        4. FOG_AD_DEFAULT_PASSWORD (MUST BE ENCRYPTED!) 

Ara quan a una màquina marqueu:

Click on the Join Domain after image task

La resta de dades s'ompliran automàticament.

Per xifrar la paraula de pas:

FOGCrypt [password]

És recomanable canviar abans la passkey. Consulteu:

http://www.fogproject.org/wiki/index.php?title=FOGUserGuide#Active_Directory_Integration

Un cop canviada cal definir-la a:

FOGCrypt\etc 

I editar el fitxer:

config.ini 

I canviar el valor.




Desenvolupament i configuracions a mida

Com traduir el menú

Cal modificar el fitxer /tftpboot/pxelinux.cfg/default:

/tftpboot/pxelinux.cfg$ sudo joe default

Com amagar el menú de FOG

Cal activar l'opció hidden. Ho podeu fer des de el menú més opcions (la i, el penúltim menú) a l'apartat FOG Settings i posar:

FOG_PXE_MENU_HIDDEN = 1

Un exemple:

http://elvostredomini.com/fog/management/index.php?node=about&sub=settings

Consulteu:

Arrancada_de_xarxa#Mostrar_o_no_mostar_el_men.C3.BA_i_canviar_el_timeout

multicast

Consulteu Fog#Com_activar_el_multicast per tal de saber com clonar imatges amb multicast.

Add option:

    --max-wait t

on multicast....

It seems there is an error that allows:

$ ps aux | grep udp
root      2839  0.0  0.0   6176   588 ?        S    20:29   0:00 /usr/local/sbin/udp-sender --min-receivers 17 --portbase 63116 --interface eth0 --half-duplex --ttl 32 
--nokbd
root      6253  0.0  0.0   6176   636 ?        S    20:57   0:00 /usr/local/sbin/udp-sender --min-receivers 4 --portbase 63118 --interface eth0 --half-duplex --ttl 32 --nokbd
root      6901  0.0  0.0   6176   652 ?        S    21:03   0:00 /usr/local/sbin/udp-sender --min-receivers 2 --portbase 63120 --interface eth0 --half-duplex --ttl 32 --nokbd
sergi     8701  0.0  0.0   7336   892 pts/0    R+   21:18   0:00 grep --color=auto udp

New fog modes

Modificar el fitxer init.gz

La gent de fog proporciona un script per a fer-ho:

$ FOGMountBootImage.sh

Es troba a:

utils/Boot Image Editor/FOGMountBootImage.sh 

update kernels

Kernel: Kernel-2.6.31.1.kitchensink has been installed!

If you have problems with the new kernel, the original can restored by coping /tftpboot/fog/kernel/backup/bzImage.20091103_153315 to /tftpboot/fog/kernel/bzImage

cp /tftpboot/fog/kernel/backup/bzImage.20091103_153315 \ 
/tftpboot/fog/kernel/bzImage

Fitxers MBR

function determineOS()
{ 
	if [ -n "$1" ]; then
		if [ "$1" = "1" ]; then 
			osname="Windows XP";
			mbrfile="/usr/local/fog/mbr/xp.mbr";
		elif [ "$1" = "2" ]; then
			osname="Windows Vista";
			mbrfile="/usr/local/fog/mbr/vista.mbr";
 		elif [ "$1" = "3" ]; then
			osname="Windows 98";
 			mbrfile="";
		elif [ "$1" = "4" ]; then
			osname="Windows (Other)";
			mbrfile="";	
		elif [ "$1" = "5" ]; then
			osname="Windows 7";
			mbrfile="/usr/local/fog/mbr/win7.mbr";
  1. REDIRECT Pàgina on redireccionar

Canvis proposats (pegats)

Crear les particions swap amb el mateix UUID que tenien originalment.

Cal canviar el codi de l'executable:

/bin/fog

que està dins del fitxer packages/tftp/fog/images/initrd.gz (consulteu #Modificar_el_fitxer_init.gz)

if [ "$osid" == "50" ]
 then
	echo " * Restore Linux swap paritions:";
	swaps=`fdisk -l | grep swap | cut -d' ' -f1 &>/dev/null`;
IFS='
';
  for x in $swaps
   do
    echo  "       * Restoring partition: $x";
    mkswap $x &>/dev/null
   done

fi

Problemes:

No és gaire robust! El buscar per la paraula swap! En català fdisk retorna la paraula Intercanvi.

L'id també es problemàtic (82) ja que pot coincidir amb alguna mida o valor

Una alternativa pot ser blkid:

# blkid | grep TYPE=\"swap\"
/dev/sda5: UUID="7ec7a610-4bb4-4e8f-a119-b2293abbeac9" TYPE="swap" 
/dev/sdc6: UUID="c0a0e1b8-2244-48d1-b338-6b57f93cbad8" TYPE="swap" 


Per

if [ "$osid" == "50" ]
  then
	echo " * Restore Linux swap paritions:";
	swaps=`fdisk -l | grep swap | cut -d' ' -f1 &>/dev/null`;
IFS='
';
  for x in $swaps
   do
    echo  "       * Restoring partition: $x";
    uuid=`/sbin/blkid $x | cut -d'"' -f2`
    mkswap -U $uuid $x &>/dev/null
   done

fi

És possible que blkid no funcioni per obtenir el UUID original. Es pot guardar a la carpeta images, conjuntament amb les imatges de les particions.

Abans de la línia 872:

parts=`/bin/fogpartinfo --list-parts $disk 2>/dev/null`

Posar

/sbin/blkid > ${tmpBackupPath}/d1.uuids

Suportar partclone:

Afegir el paquet partclone. Afegir una opció per indicar que es vol fer la recuperació amb partclone en comptes de partimage.


fogpartinfo --list-parts

parts=`/bin/fogpartinfo --list-parts $hd 2>/dev/null`

Mostra les particions swap i no troba les imatges quan intenta fer un partimage. Una solució es consultar el tipus de particiói amb blkid i si és swap saltar aquesta partició:

type=`sudo blkid /dev/sda5 |  cut -d'"' -f4`
if [ "$type" == "swap" ]
   mkswap $x
else 

Per què?

if [ "$osid" == "50" ]
then
  echo " * Preparing linux filesystem...";
  parted $hd &>/dev/null << EOFPTD  

mkfs yes $partNum fat32 q EOFPTD

partprobe
sleep 10;

fi

Per què fat32!!!?

Proposta de millores

  • Poder consultar les particions i mides que té una imatge (per l'entorn gràfic). Ara un file del fitxer *.mbr de la imatges et diu quantes particions hi ha però no el tipus. Les mides s'han de calcular a mà. Es podría guardar a la base de dades?
  • A l'inventari afegir la mida del disc dur
  • Redimensionat dinàmic de particions (sense perdre dades?)
  • Si la imatge és més gran que el disc no funciona --> I es carrega el sistema! Fer una prova abans de modificar la taula de particions?
  • Fer un script (snapin?) que particioni l'espai llire disponible del disc amb FAT32?
  • Una sola particíó --> redimensionament dinàmic amb ext? Només ho fa amb NTFS
  • Opció que permeti restaurar només una partició? (útil en sistemes Duals on ha petat només una partició)
  • Afegir un camp espai (Aula 20.3 p.ex) a la informació del host
  • Per que les IP i els noms de màquina que surtin a la web vagin a la nostra wiki! Afegir prefix <a fref="http://www.iesebre.com/manteniment/index.php/IP o NOM DE MAQUINA">IP o NOM Màquina</a>. El mateix es pot fer amb l'aula. Fer el canvi robust a actualitzacions de FOG?
  • Crear un DHCP automàtic

NOTA: Partimage no suporta encara ext4

NOTA: Partimage no fa resize de particions --> Mirar ntfsresize i GNU parted

Qüestions a tenir en compte

  • La imatge s'ha de fer de la mida del disc dur més petit(i una mica meny per tenir un marge de seguretat --> P.ex. Discos de 120M que no són tots iguals de grans)
  • La swap ha d'estar a una partició extended
  • Afegir proxy manualment a les imatges
  • Afegir el client de fog a Windows?

Qüestions a comprovar?

  • Assigna esticament las IP? Sí si el FogService està instal·lat correctament.
  • Windows amb SysPrep


Actualitzador de DHCP

Procés automàtic. Utilitzar un cron del sistema i s'executa cada X temps. Afegir una opció per tal de poder-ho executar des de la web de FOG. Fitxer de LOG? Consultable des de la web de FOG.

El procés només s'executa si hi ha canvis. Com detectar que hi ha canvis? Les màquines tenen una data de creació. Però no tenen 
una data d'actualització.

Després de cada canvi del fitxer de configuració de DHCP cal fer un reload:

$ sudo /etc/init.d/dhcp3-server reload

Que necessito de base de dades:

De cada host:

  • Taula hosts --> hostName
  • Taula hosts --> hostMAC
  • Taula hosts --> hostIP
  • Taula hosts --> hostID
  • Taula hosts --> hostDesc
  • Taula hosts --> hostCreateDate

Consulta SQL:

SELECT `hostID`,`hostName`,`hostDesc`,`hostIP`,`hostMAC`,`hostCreateDate` FROM `hosts` WHERE 1

Text del fitxer DHCP:

#Host automatically created by FOG
#Host ID at Fog Database: hostID
#Creation date: hostCreateDate
#Description: hostDesc
host hostName {
  hardware ethernet hostMAC;
  fixed-address hostIP;
}

Bucle que iteri totes les màquines (cal mirar si controlar que les IP siguin correctes).

#HERE STARTS AUTOMATIC IP ASSIGNATION BY MAC. CREATED BY FOG. DO NOT EDIT THIS SECTION OR IT WILL WE OVERWRITED BY FOG

Host list.... 
#HERE ENDS AUTOMATIC IP ASSIGNATION BY MAC. CREATED BY FOG. DO NOT EDIT THIS SECTION OR IT WILL WE OVERWRITED BY FOG
Comprovar si passa alguna cosa per tenir un host amb una IP fixe que no sigui del segment de xarxa al qual el servidor DHCP dona
servei
nota: Compte! Si utilitzem un sistema distribuït de FOG cal que a aquest apartat només apareguin aquelles màquines que 
corresponen al servidor DHCP de la zona}}

FOGDHCPDUpdater Service

This service is based on FOGImageReplicator. The goal of DHCPDUpdater is to create a section in DHCPD Server configuration file with an static assigment of IPs (based on MAC).

This service is by default executed every 600 seconds (10 minuts). First time it is executed, the service obtains information of all hosts in fog database and creates a section in DHCPD server configuration file (by default /etc/dhcp3/dhcpd.conf) and reloads DHCP server . Next execution only reload DHCP server if file dhcpd.conf is changed (be careful if you edit dhcp server, you previously have to stop this service if you don't want automatica reloads every 10 minutes).

IMPORTANT NOTE: This service doesn't change any previous DHCP server configuration. 
It only changes an specific section of file. The section have a Header and a  
footer you can configure at service/etc/config.php.

Actualitzadors del servidor de Noms

Quelcom similar a DHCP... Inseriu ací text sense format --acacha 05:50, 7 jul 2010 (UTC)

Afegir gparted

Afegir un Linux molt petit (DSL)

Resolució de problemes. TroubleShooting

Problemes amb particions ampliades

Com activar el multicast

Segons:

http://www.fogproject.org/wiki/index.php?title=FOGUserGuide#Multicast.2FUDPCast

To perform a multicast image send you must search for a group of hosts on the "Task Management" page. Multicast tasks can only be performed on a group of hosts. Multicast tasks will send to all the computers in the group at once, and the task will not start sending until all members of the group have connected with the server. After starting a multicast task, status can be view by clicking on [ctl]+[alt]+f2. A log is also kept for multicast transfers which is stored at /opt/fog/log.

Es a dir cal crear un grup de les màquines de les que es vol fer multicast, anar al menú tasques (estrella), llistar els grups (List All Groups) i aquí fer clic a Deploy Multicast.

FOGMulticast.png

Es crea un fitxer de menu per a PXE per cada màquina:

$ cat 01-00-10-5c-f2-be-38 
# Created by FOG Imaging System


									  DEFAULT fog

									  LABEL fog
 
									  kernel fog/kernel/bzImage

									  append initrd=fog/images/init.gz root=/dev/ram0 rw ramdisk_size=127000 ip=dhcp dns=192.168.0.9 
type=down img=a35 mc=yes port=63102 storageip=172.16.0.4 storage=172.16.0.4:/images/ mac=00:10:5c:f2:be:38 ftp=192.168.0.10 web=192.168.0.10/fog/ osid=50  imgType=mps   
shutdown= loglevel=4   

El principal canvi, respecte unicast, és el paràmetre:

mc=yes

Consultar la tty2 (Multicast) en remot

Podeu connectar-vos via ssh i utilitzar conspy.

Servidor FOG multihomed

IMPORTANT: Amb multicast no funciona ja que segons el fitxer de log envia els paquets multicast per la IP/targeta principal

$ sudo tail -f /opt/fog/log/multicast.log.udpcast.5 
Udp-sender 2007-12-28
Using mcast address 232.168.0.10
UDP sender for (stdin) at 192.168.0.10 on eth0 
Broadcasting control to 224.0.0.1

Al fitxer:

/opt/fog/service/FOGMulticastManager/etc/config.php

Hi ha la entrada:

define( "MULTICASTINTERFACE", "eth0" );

Si fog es troba instal·lat a un servidor amb múltiples interfícies de xarxa/adreçes IP (multihomed) no aprofitareu al màxim el rendiment de la màquina si no es fa una configuració a mida. Per defecte, FOG durant la instal·lació ens fa escollir una IP per al servidor FOG i per tant només podem utilitzar una de les targetes de xarxa. Si tenim el servidor connectar a múltiples targetes de xarxa ens interessaria que els clients accedissin a les imatges (via NFS) utilitzant com a servidor NFS la IP de la targeta del servidor FOG que està connectat a aquesta xarxa. Així treballem a la velocitat del commutador/switch de la xarxa i no cal encaminar.

NOTA: A més tingueu en compte que el multicast només funciona per defecte amb màquines que estiguin a la mateixa xarxa (a no ser que encaminar el multicast). Així aquesta solució també es bona per poder utilitzar multicast

La solució la podeu tenir utilitzant Storage Managment de Fog.

Vegeu el següent exemple amb un servidor que està connectat a 4 xarxes:

Xarxa alumnat: 172.16.0.0/22 IP del servidor: 172.16.0.4
Xarxa professorat: 192.168.20.0/23 IP del servidor: 172.16.0.4
Xarxa gestio: 192.168.30.0/23 IP del servidor: 192.168.30.4
Xarxa intranet/servidor: 192.168.0.0/24 IP del servidor: 192.168.0.10

Podeu crear un StorageGrup per cada subxarxa a la que teniu connectat el servidor FOG:

FOGStorageGroups.png

No cal posar gaire cosa al grup (donar-li un nom, p.ex. el nom de la xarxa a la que està connectat, i una descripció):

FOGStorageGroups1.png

Heu de crear un grup per cada xarxa a la que esteu connectats.

Ara cal definir un storageNode per cada targeta de xarxa que tingueu. No és que realment tingueu tants servidors FOG, si no que en cada cas s'utilitzarà la targeta de xarxa que correspon:

FOGStorageNodes.png

A cada storageNode heu de posar quelcom similar a:

FOGStorageNodes1.png

La resta es fan igual però posant la IP que correspon a la xarxa/storageGrup.

NOTA: Podríeu afegir més membres de grup, afegint altres servidors a cada xarxa (en mode secundari, no master). Aquest servidor no haurien de ser Masters i ja s'encarregaria el servei FOGImageReplicator de replicar les imatges del master als clients

Ara només us queda assignar cada imatge al storageGrup que correspon. Si feu una imatge per a una màquina de la xarxa alumnat l'heu d'assignar al storageGroup Alumnat:

FOGImageStorageGroup.png

Ara quan feu un deploy de la imatge, es crearà la següent opció de menú PXE:

$ cat /tftpboot/pxelinux.cfg/01-00-1f-d0-5a-c6-cd 
# Created by FOG Imaging System


						  DEFAULT fog

						  LABEL fog

						  kernel fog/kernel/bzImage

						  append initrd=fog/images/init.gz  root=/dev/ram0 rw ramdisk_size=127000 ip=dhcp dns=192.168.0.9 type=down img=A30  
mac=00:1f:d0:5a:c6:cd ftp=192.168.0.10 storage=172.16.0.4:/images/ web=192.168.0.10/fog/ osid=50  imgType=mps  shutdown= loglevel=4   fdrive=

Observeu la variable storage com apunta a la IP que correspon.

NOTA: TODO: la resta de tipus de connexions (FTP i WEB) continuen apuntant a la IP escollida durant la instal·lació. És un mal menor ja que aquestes peticions no consumeixen gaire ampla de banda

La imatge era:

a30pc12	00:1f:d0:5a:c6:cd	172.16.3.62	A30


NOTA: Observant el codi de FOG, quan hi ha múltiples storageNodes a un mateix StorageGroup, s'utilitza un d'ells aleatòriament cada cop que hi ha una petició per a aquest storageGroup. Si només n'hi ha un sempre s'utilitza el mateix.


Failed to connect to database server, will try again in next iteration

Aquest missatge us el trobareu a la consola virtual 3 (hi accedireu amb Ctr+Alt+F3 o remotament amb conspy). Cal definir les dades d'accés a la base de dades al fitxer:

/opt/fog/service/etc/config.php

Consulteu Fog#Serveis_de_FOG_.28replicaci.C3.B3.2C_multicast_i_scheduler.29

Depurar

http://www.fogproject.org/wiki/index.php?title=FOGUserGuide&Itemid=51#Troubleshooting_and_Debugging

Numero de serie de Windows i OEM

This option applies only to computers with pre-installed, OEM keys

Another option is to install Windows with the following key for Windows XP 32 bit edition: MVF4D-W774K-MC4VM-QY6XY-R38TB This key tells the machine to use the OEM key installed in the motherboard For more information on this please read the following link: http://technet.microsoft.com/en-us/library/bb457078.aspx

ftp_put() [function.ftp-put]: Could not create file. in /var/www/fog/commons/functions.include.php

Si teniu el missatge:

Warning: ftp_put() [function.ftp-put]: Could not create file. in /var/www/fog/commons/functions.include.php on line 3067

Al intentar crear una acció (deploy o upload) del servidor. És una qüestió de permisos, la carpeta /tftpboot:

$ ls -la
total 192
drwxr-xr-x  6 fog  root   4096 2010-02-04 09:08 .
drwxr-xr-x 24 root root   4096 2010-02-19 19:48 ..
-rw-r--r--  1 fog  root    828 2009-12-11 09:26 boot.txt
drwxr-xr-x  5 fog  root   4096 2009-12-11 09:26 fog
-rw-r--r--  1 fog  root  16138 2009-12-11 09:26 pxelinux.0
drwxr-xr-x  2 fog  root   4096 2010-03-02 21:44 pxelinux.cfg
drwxr-xr-x  2 fog  root   4096 2009-12-11 09:26 tftpboot
drwxr-xr-x  3 root root   4096 2010-02-04 09:08 ubuntu-installer
-rw-r--r--  1 fog  root 147728 2009-12-11 09:26 vesamenu.c32

Ha de ser de l'usuari fog:

$ cd /tftboot
$ sudo chown -R fog .
NOTA: aquest canvi d'usuari el fa fog a l'instal·lar-lo


Actualització del sistema operatiu on s'executa FOG (Upgrade d'Ubuntu 9.10 a 10-04)

Problemes detectats:

FTP:

Hi ha un problema a trivial FTP (tftp). S'està utilitzant el paquet tftpd-hpa:

$ ps aux | grep ftp
root      3543  0.0  0.0   4036  1040 ?        Ss   09:01   0:00 /usr/sbin/vsftpd
root      3548  0.0  0.0   2280   316 ?        Ss   09:01   0:00 /usr/sbin/in.tftpd --listen --user tftp --address 0.0.0.0:69 /srv/tftp

El servidor FTP s'executa incorrectament. Hauria de ser:

$ ps aux | grep ftp
root      1880  0.0  0.0  14704   100 ?        Ss   Mar26   0:29 /usr/sbin/in.tftpd -l -s tftpboot
root     30328  0.0  0.0  22628   756 ?        S    May17   0:00 /usr/sbin/vsftpd

Windows amb màquines de hardware diferent

Alternativa a sysprep:

TODO

  • Device Manager -> IDE ATA/ATAPI Controllers
 The CRITICAL STEP: While in the VM XP/2000 go to the 'Device Manager -> IDE ATA/ATAPI Controllers' section and update the proprietary busmaster IDE 
or SATA controller driver - select 'Install from specific location -> Don't Search ...' -> select 'Standard Dual Channel PCI IDE Controller' -> Next 
to install it. (The same thing applies to extracting the image from a real hardware PC). 
This is what prevents the 0x0000007b error related at boot  up.


1. Start with nLite [1] to optimize the XP media, and the BTS DriverPacks [2] to pre-integrate most common CPU/Mass Storage/Chipset/Video/LAN/WLAN/Audio drivers into the updated XP media. You will need to use nLite to remove unnecessary programs like Pinball, MSN, to make space for the DriverPacks on the 700MB available on a CD disc. You can avoid reduction if you plan to install from ISO only or DVD.

2. Install XP with the customized media into VM (Using your favorite VM software like VMware Server, Xen or VirtualBox) and customize the final image to suit.

3. The CRITICAL STEP: While in the VM XP/2000 go to the 'Device Manager -> IDE ATA/ATAPI Controllers' section and update the proprietary busmaster IDE or SATA controller driver - select 'Install from specific location -> Don't Search ...' -> select 'Standard Dual Channel PCI IDE Controller' -> Next to install it. (The same thing applies to extracting the image from a real hardware PC). This is what prevents the 0x0000007b error related at boot up.

4. Put a copy of 'Newsid' from Microsoft/Sysinternals on the VM. You will need this to rename the computer and change the SID easily after booting it up on the target PC. This step is not important for non-networked environments but important for non-domain workgroups. See [3]

5. Then make the image with your preferred tool (FOG, Selfimage, etc) right from the VM.

6. When you restore to the target computer it may take between 3-10 minutes before you get keyboard and mouse control. When it does login as the administrator and if prompted for certain basic drivers just let it look for them automatically. Hint: With the LAN drivers integrated and VNC server installed in the image you can remote the target computer after it gets a DHCP address to finish up the installation remotely.

It takes some work to understand how to use the tools but the effort can be worth it. Occasionally you will run into mis-detected hardware and have to get drivers for it or a BSOD caused by errant audio drivers or new PCs with a BIOS that does not allow the selection of Legacy/Normal/IDE mode for the SATA interfaces and default to AHCI or RAID mode. See SATA Support. If you have older hardware that does not have a fully ACPI compliant BIOS you may need to change the HAL (kernel) in the image to the ACPI PIC type so that it boots properly. See [4]

Of course, like any other set of technology tools, your experience may vary.

Preguntes i Respostes. FAQ

On es guarden les imatges?

A la carpeta /images:

$ ls /images
A204pc16  dev  FujitsuSiemens1  FujitsuSiemensOriginalLinkatWindows  PCGrisAula2  ProvaAula  Ubuntu910Desktop32bits

Cada imatge en una carpeta.

Troubleshooting. Resol·lució de problemes

chkdsk

TODO: Text de l'error? Captura de l'error. Explicar millor que cal fer

   NOTA: La primera vegada que hem intentat fer la clonació no ens ha deixat perque ens deia que el disc tenia errors i hem fet un chkdsk per a reparar el sistema de fitxers. 

Pràctiques Alumne

Pràctica de FOG feta per Joel Grau, Hugo Lucas i Xavi Sabaté

Vegeu també

Enllaços externs