AMMINISTRARE E MONITORARE LE
PRESTAZIONE DI UN SERVER
Virtù di un buon amministratore di rete
Ruolo dell’amministratore di rete
LOG
Tool di amministrazione remota
System performance
System monitoring
Strumenti di monitoring automatici ( monit).
2
Bu
rstnet in
form
atica
©
VIRTÙ DI UN BUON AMMINISTRATORE DI RETE
Flexibility
Essere capace di districarsi tra gli utenti arrabbiati …
Ingenuity
Si rende conto che è possibile utilizzare syslog per
inviare messaggi ai suoi amici su un altro sistema
Patience
Attende che il bug finale di Sendmail sia corretto
3
Bu
rstnet in
form
atica
©
VIRTÙ DI UN BUON AMMINISTRATORE DI RETE
Persistence
Trova più modi per fare una stessa azione prima di ritornare a casa dal lavoro.
Adherence to Routine
Insiste nel mettere sul caffè la panna con lo zucchero disposto a striscioline di uguale misura o niente.
Attention to Detail
Nota che un orologio nel sistema è settato su un particolare fuso orario e di conseguenza cambia tutti gli orologi della rete facendo un controllo incrociato su quel particolare fuso orario.
Laziness
Scrive uno script in Perl di 250 righe per evitare di scriverne 15.
4
Bu
rstnet in
form
atica
©
RUOLO DELL’AMMINISTRATORE DI RETE
Una volta che l’installazione è ultimata, si
possono configurare strumenti per tenere il
sistema sotto controllo.
In qualità di amministratore è vostro compito
avere una esatta percezione delle prestazioni del
sistema.
Il monitoraggio dei sistemi di rete è un’attività
che va eseguita di continuo, ma gli interventi
correttivi da parte degli amministratori si
dovrebbero ridurre con il tempo a meno che non
vengano inseriti nuovi device. 5
Bu
rstnet in
form
atica
©
RUOLO DELL’AMMINISTRATORE DI RETE
Un amministratore di rete
competente deve tenere monitorati
“almeno” questi elementi:
Spazio su disco
Memoria
Processi di rete
Carico della CPU
Aggiornamenti software 6
Bu
rstnet in
form
atica
©
RUOLO DELL’AMMINISTRATORE DI RETE
Formazione dell’amministratore:
Caratteristiche e utilizzo dei maggiori
S.O. server.
Programmazione shell script.
Comunicazioni
Protocolli TCP, PPP, ecc.
Convenzioni dei vari sistemi Operativi
Es. in Linux /bin o /sbin.
Es in Windows c:\documents and
setting. 7
Bu
rstnet in
form
atica
©
LOG
In questa sezione impareremo ad analizzare i LOG in
ambiente Unix e Windows.
Syslog
Event Viewer
Ma prima:
Un po’ di storia. Il logbook (1800) era il registro di navigazione,
presente in ogni nave, su cui veniva segnata, ad intervalli regolari
la velocità, il tempo, la forza del vento, oltre a eventi significativi
che accadevano durante la navigazione.
Con il significato di giornale di bordo, o semplicemente giornale, su
cui vengono registrati gli eventi in ordine cronologico, il termine è
stato importato nell'informatica (1963) per indicare:
la registrazione cronologica delle operazioni man mano che vengono
eseguite
il file su cui tali registrazioni sono memorizzate.
8
Bu
rstnet in
form
atica
©
LOG (SYSLOG)
Syslog è un programma presente nelle maggiori
distribuzioni di Linux.
Grazie a questo “silenzioso” aiutante un utente
esperto è in grado di diagnosticare problemi di
ogni genere: del kernel e dei principali demoni e
sottosistemi (come mail, news e web server).
I file di LOG sono registrati da Syslog nella
directory /var/log
In base all’applicazione che li ha prodotti i file hanno
un nome riconducibile al programma creatore.
9
Bu
rstnet in
form
atica
©
LOG (SYSLOG)
Ogni file contiene i log di specifici aspetti del sistema; il
file principale che determina la configurazione del
processo di logging è: /etc/syslog.conf.
La sintassi dei file di log è uniforme: ogni messaggio
viene scritto su una singola riga:
inizia sempre con l'indicazione del momento in cui viene
effettuata la registrazione
il nome del computer su cui gira il programma che ha
generato il log
di solito (anche se non è obbligatorio) il nome del programma
stesso
preceduto da un due punti, il messaggio vero e proprio. 10
Bu
rstnet in
form
atica
©
LOG (SYSLOG)
Ad esempio, nel file/var/log/mail.info trovo:
Mar 26 12:18:04 snoopy fetchmail[12106]: starting
fetchmail 4.3.9 daemon
Che significa:
il 26 marzo alle ore 12, 18 minuti e 4 secondi
il demone di log ha ricevuto una richiesta dal
processo fetchmail con PID ( process identifier) 12106
sulla macchina di nome snoopy;
il messaggio era "starting fetchmail 4.3.9 daemon“.
11
Bu
rstnet in
form
atica
©
LOG (SYSLOG)
Analizziamo ad esempio una riga di /var/log/news/news.err che contiene i log degli errori ricevuti dal sistema che gestisce il news server locale:
Dec 27 12:39:39 snoopy fetchnews[1717]: error writing groupinfo file (disk full?)
indica che il 27 dicembre alle … il programma fetchnews ha incontrato un errore piuttosto grave in quanto non è riuscito a scrivere un file. Non essendo stato in grado di continuare ha smesso di operare ed ha segnalato l’evento nei log; grazie a questo avvertimento possiamo capire il problema e risolvere velocemente la situazione. 12
Bu
rstnet in
form
atica
©
LOG (SYSLOG)
Analizziamo il file /etc/syslog.conf
Questo file contiene una serie di righe formate da coppie campi selettore e azione
Andiamo ad analizzare un esempio :
mail.err /var/log/mail.err
significa che tra tutti i messaggi provenienti dai programmi che gestiscono il sistema di posta (ad esempio sendmail, postfix, qmail, smail o simili) dobbiamo loggare nel file /var/log/mail.err solamente quelli la cui priorità corrisponde o supera il livello err.
13
Bu
rstnet in
form
atica
©
LOG (SYSLOG)
Le facility predefinite si possono trovare nei sorgenti delle libc, nel file /usr/include/sys/syslog.h; vediamole: auth: messaggi relativi alla sicurezza del sistema,
come ad esempio registrazioni di login e logout (è usato da programmi come su,sudo, login, ecc.).
authpriv: come auth, ma il messaggio potrebbe contenere dati sensibili, quindi è bene dirigerlo su un file separato.
cron: il sottosistema di temporizzazione degli eventi: comprende ad esempio daemon come cron, anacron atd.
daemon: generico per i daemon di sistema.
kern: messaggi del kernel.
lpr: il sottosistema che gestisce le stampanti.
14
Bu
rstnet in
form
atica
©
LOG (SYSLOG)
mail: tutto ciò che riguarda la consegna o la ricezione di e-mail.
news: gestione delle news Usenet.
syslog: messaggi generati dallo stesso syslog.
user: messaggi generici provenienti da programmi in user space (in contrapposizione ai log generati dal kernel).
ftp: introdotto con le libc2.0, è riservato ai server ftp.
da local0 a local7: riservati per utilizzi locali.
15
Bu
rstnet in
form
atica
©
LOG (SYSLOG)
Priorità:
Insieme al tipo di dato da “loggare”, l'applicazione
specifica anche la gravità e l'urgenza del messaggio.
Sempre in /usr/include/sys/syslog.h si trovano le
definizioni dei vari livelli di priorità. Vediamoli in
ordine dal meno importante al più urgente:
debug: non vengono mostrati normalmente ma solo quando
si vuole ottenere informazioni dettagliate da un
programma.
info: informazioni poco significative circa il funzionamento
del programma.
notice: segnala una situazione significativa, ma sempre
all'interno del normale funzionamento di un programma.
16
Bu
rstnet in
form
atica
©
LOG (SYSLOG)
warning: messaggio generato in seguito a
comportamenti più o meno anomali, che potrebbero
essere legati a problemi di funzionamento.
err: indica che si è verificato un errore.
crit: indica una situazione critica, che compromette
seriamente il normale funzionamento del sottosistema
coinvolto.
alert: condizione che impone un immediato
intervento da parte dell'operatore.
emerg: indica che il sistema risulta inutilizzabile.
Oltre a questi esistono anche warn, error e panic che
però sono obsoleti e corrispondono rispettivamente
a warning, err ed emerg. 17
Bu
rstnet in
form
atica
©
LOG (SYSLOG)
Visualizzare i log Possiamo analizzare i Log con un semplice editor
o viewer di testo (vi, emacs, cat, nano, more, less,
ecc.).
Per visualizzare i log appena si presenteranno
possiamo utilizzare:
tail -f /var/log/mail.err
18
Bu
rstnet in
form
atica
©
LOG (SYSLOG)
Annegare nei LOG
La dir /var/log registrando ogni evento crescerà a
dismisura.
Esistono dei sistemi per ovviare a questo problema:
Comprimono i file
Dopo un certo periodo li cancellano definitivamente
Attenzione in certi ambienti siete obbligati a
mantenere i LOG per diverso tempo.
19
Bu
rstnet in
form
atica
©
LOG (SYSLOG)
Sicurezza nei LOG.
Permessi d'accesso.
Utilità del marcatore “Mark”
Può succedere, per errore o per deliberato attacco
da parte di un utente locale o via rete, che la
stessa "bravura" di syslog di registrare tutti i
messaggi possa diventare un problema.
Se uno stesso messaggio venisse inviato migliaia di
volte si rischierebbe di rallentare leggermente le
prestazioni del sistema ma anche di esaurirne lo
spazio su disco.
20
Bu
rstnet in
form
atica
©
LOG (SYSLOG)
Potete evitare ciò:
Salvando solo il primo di una raffica
ravvicinata di numerosi eventi identici.
Spostare la directory /var o /var/log su
una partizione separata dal resto del
sistema
Concludendo: come facilmente
intuibile passerete molto del vostro
tempo nella directory /var/log.
21
Bu
rstnet in
form
atica
©
LOG (EVENT VIEWER)
Si definisce evento un avvenimento significativo
che si verifica nel sistema o in un programma, che
richiede la notifica agli utenti o l'aggiunta di una
voce in un registro.
Il servizio Registro eventi registra gli eventi relativi
all'applicazione, alla protezione e al sistema in
Visualizzatore eventi.
23
Bu
rstnet in
form
atica
©
LOG (EVENT VIEWER)
I registri eventi del Visualizzatore eventi
consentono di ottenere informazioni
sull'hardware, sul software e sui componenti di
sistema e di monitorare gli eventi di protezione in
un computer locale o remoto.
I registri degli eventi consentono di identificare e
diagnosticare l'origine dei problemi di sistema
oppure di prevedere eventuali problemi futuri.
24
Bu
rstnet in
form
atica
©
LOG (EVENT VIEWER)
Ci sono delle distinzioni a seconda del tipo di evento
registrato.
Registro applicazioni :
Nel registro applicazioni sono contenuti
gli eventi registrati dai programmi. Ad
esempio, un programma di database
potrebbe registrare un errore di accesso ad
un file nel registro applicazioni.
Gli eventi che vengono scritti nel registro
applicazioni sono stabiliti dagli
sviluppatori del programma software. 25
Bu
rstnet in
form
atica
©
LOG (EVENT VIEWER)
Registro protezione: Nel registro protezione vengono registrati eventi quali i tentativi di accesso validi e non validi, nonché gli eventi correlati all'utilizzo delle risorse, ad esempio la creazione, l'apertura o l'eliminazione di file.
Ad esempio, quando è abilitato il controllo dell'accesso, ogni volta che un utente tenta di accedere al computer viene registrato un evento nel registro protezione.
Per attivare, utilizzare e specificare gli eventi che verranno registrati nel registro protezione, è necessario essere collegati come amministratore o come membro del gruppo amministratori.
26
Bu
rstnet in
form
atica
©
LOG (EVENT VIEWER)
Registro di sistema :
Il Registro di sistema contiene gli eventi registrati dai
componenti di sistema. Se, ad esempio, un driver non
riesce a caricarsi durante l'avvio, viene registrato un
evento nel Registro di sistema.
Per accedere al registro di sistema dovete:
Fare clic su Start, quindi su Pannello di controllo. Fare clic
su Prestazioni e manutenzione, quindi su Strumenti di
amministrazione ed infine fare doppio clic su Gestione
computer. Nell'albero della console, fare clic
su Visualizzatore eventi.
27
Bu
rstnet in
form
atica
©
LOG (EVENT VIEWER)
Come in Syslog anche qui c’è una chiave di lettura
per interpretare il file di LOG:
Interpretazione di un evento:
Ciascuna voce del registro viene classificata per
tipo e contiene informazioni relative all'intestazione
e alla descrizione dell'evento.
28
Bu
rstnet in
form
atica
©
LOG (EVENT VIEWER)
Intestazione evento: L'intestazione evento contiene le seguenti informazioni: sull'evento:
Data La data in cui si è verificato l'evento.
Ora L'ora in cui si è verificato l'evento.
Utente Il nome dell'utente collegato quando si è verificato l'evento.
Computer Il nome del computer nel quale si è verificato l'evento.
29
Bu
rstnet in
form
atica
©
LOG (EVENT VIEWER)
ID evento : Numero di evento che identifica il tipo di evento. L'ID evento può essere utilizzato dai rappresentanti del supporto tecnico per comprendere l'evento che si è verificato nel sistema.
Origine : L'origine dell'evento. Può trattarsi del nome di un programma, di un componente di sistema, di un singolo componente o di un programma ampio.
Tipo : Il tipo di evento. L'evento può essere di cinque tipi: Errore, avviso, informazione, controllo riuscito o controllo non riuscito.
Categoria : Una classificazione dell'evento in base all'origine evento. Utilizzato principalmente nel registro protezione.
30
Bu
rstnet in
form
atica
©
LOG (EVENT VIEWER)
Tipi di evento: La descrizione di ciascun evento
registrato dipende dal tipo di evento. Ciascun evento
di un registro può essere classificato in uno dei
seguenti tipi:
Informazione:
Evento che descrive la riuscita di un'attività, ad esempio di
un'applicazione, un driver o un servizio. Un evento di tipo
informazione viene registrato, ad esempio, quando un
driver di rete viene caricato correttamente.
Avviso:
Evento non necessariamente significativo, che tuttavia
potrebbe indicare il possibile verificarsi di un problema
futuro. Un evento di tipo avviso viene registrato, ad
esempio, quando lo spazio su disco comincia a essere
insufficiente.
31
Bu
rstnet in
form
atica
©
LOG (EVENT VIEWER)
Errore : Evento che descrive un problema significativo, ad esempio la mancata riuscita di un'attività critica. Gli eventi di errore possono includere la perdita di dati o di funzionalità. Un evento di errore viene registrato, ad esempio, nel caso del mancato caricamento di un servizio all'avvio del computer.
Controllo riuscito (registro protezione) : Evento che descrive il completamento di un evento di protezione. Un evento di controllo riuscito viene registrato, ad esempio, quando un utente accede al computer.
Controllo non riuscito (registro protezione) : Evento che descrive un evento di protezione non completato correttamente. Un evento di controllo non riuscito potrebbe essere registrato, ad esempio, quando un utente non è in grado di accedere ad un'unità di rete.
32
Bu
rstnet in
form
atica
©
LOG (EVENT VIEWER)
Microsoft mette a disposizione questa pagina
dove è possibile trovare spiegazioni dettagliate
relative ai messaggi, azioni consigliate agli utenti
e collegamenti a fonti di supporto e risorse
aggiuntive.
http://www.microsoft.com/technet/support/ee/ee_a
dvanced.aspx
33
Bu
rstnet in
form
atica
©
TOOL DI AMMINISTRAZIONE REMOTA
L'amministrazione remota può essere
principalmente definita come un metodo di
controllo, di monitoraggio del dispositivo in rete
da una postazione remota.
Vantaggi: grazie agli strumenti di
amministrazione remota gli amministratori
possono risparmiare tempo, ridurre i costi di
energia e eseguire questi strumenti in
qualunque momento e da qualsiasi luogo.
34
Bu
rstnet in
form
atica
©
TOOL DI AMMINISTRAZIONE REMOTA
Controllo remoto
La capacità di controllare a distanza un sistema
in rete è un elemento indispensabile in una
situazione di amministrazione remota.
Ciò fornisce agli amministratori la possibilità di
controllare qualsiasi computer a distanza, a
condizione che sia connesso ad Internet.
Gli strumenti per la privacy devono essere di
norma compresi e tutte le comunicazioni devono
essere criptate.
35
Bu
rstnet in
form
atica
©
TOOL DI AMMINISTRAZIONE REMOTA
Sessioni Multiple
Permettendo all'amministratore di gestire i
problemi dei computer di diversi utenti allo
stesso tempo, dalla sua stazione di lavoro, le
richieste di interventi a domicilio possono essere
notevolmente ridotte.
Ciò contribuisce anche alla riduzione dei costi in
termini di risorse umane, di energia ed altro.
36
Bu
rstnet in
form
atica
©
TOOL DI AMMINISTRAZIONE REMOTA
Controllo Remoto dell'Alimentazione
Uno strumento di amministrazione remota più
avanzato consiste nella possibilità di spegnere,
riavviare o accendere un dispositivo.
I server e le stazioni di lavoro possono essere
spenti secondo criteri specifici per ridurre i
costi di energia, o su richiesta quando
necessario. Inoltre, a condizione che i sistemi
abbiano la funzione Wake-On-LAN , possono
essere configurati in modo da accendersi
automaticamente o su richiesta.
37
Bu
rstnet in
form
atica
©
TOOL DI AMMINISTRAZIONE REMOTA
SECURE SHELL
Ssh è un protocollo di comunicazione nato per rimpiazzare i comandi Berkeley r* (rsh, rlogin, rcp) e a differenza di questi fornisce una infrastruttura per connessioni crittografate nonchè autenticazione forte tra host e host e tra utente e host.
Elimina alcuni noti problemi di sicurezza dei protocolli TCP/IP come l'IP spoofing (falsificazione dell'indirizzo IP del mittente), il DNS spoofing (falsificazione delle informazioni contenute nel DNS) e il routing spoofing (falsificazione delle rotte intraprese dai pacchetti e instradamento su percorsi diversi). 38
Bu
rstnet in
form
atica
©
TOOL DI AMMINISTRAZIONE REMOTA
SSH is typically used for logging into remote
servers so you have shell access to do
maintenance, read your email, restart services, or
whatever administration you require.
SSH also offers some other native services, such
as file copy (using scp and sftp) and remote
command execution (using ssh with a command
on the command line after the hostname).
Whenever we SSH from one machine to another,
we establish a secure encrypted session.
39
Bu
rstnet in
form
atica
©
TOOL DI AMMINISTRAZIONE REMOTA
SSH also has a wonderful feature called SSH
Port Forwarding, sometimes called SSH
Tunneling, which allows you to establish a secure
SSH session and then tunnel arbitrary TCP
connections through it
Tunnels can be created at any time, with almost
no effort and no programming, which makes
them very appealing.
SSH2 vs SSH1
40
Bu
rstnet in
form
atica
©
TOOL DI AMMINISTRAZIONE REMOTA
Il client SSH, nella sua versione più classica, si
presente con una interfaccia a linea di comando,
anche se, sono presenti diverse interfacce
grafiche.
L'intera comunicazione (ovvero sia
l'autenticazione che la sessione di lavoro) avviene
in maniera cifrata
Grazie all’introduzione di ssh strumenti come
telnet sono diventati ormai obsoleti
41
Bu
rstnet in
form
atica
©
TOOL DI AMMINISTRAZIONE REMOTA
Esempio di accesso in modalità testuale via SSH
in Linux:
Ssh Il comando principale
Mario.rossi Nome utente
Burstnet.it l’host
42
Bu
rstnet in
form
atica
©
TOOL DI AMMINISTRAZIONE REMOTA
Successivamente, una volta stabilito un canale
di comunicazione sicuro(criptato) mi verrà
richiesta la password.
Posso configurare il sistema con un certificato
digitale evitando l’inserimento della password.
Questo mi consentirebbe di evitare un brute force
attack agli utenti del mio sistema.
43
Bu
rstnet in
form
atica
©
TOOL DI AMMINISTRAZIONE REMOTA
Port forwarding
Il metodo consiste nell'usare una opzione di ssh che
consente di redirigere una porta del computer esterno
verso il computer interno.
ssh -L port:host.pd.infn.it:22 [email protected]
Dove L indica local, port è un numero scelto a piacere
purchè compreso tra 1025 e 65535, host è il computer
interno con il quale si vogliono scambiare i files e user è
il nome dell'account di gate che si vuole utilizzare.
44
Bu
rstnet in
form
atica
©
TOOL DI AMMINISTRAZIONE REMOTA
Port forwarding
Il port forwarding può risultare particolarmente
utile per ricevere informazioni in modo sicuro
tramite i firewall di rete. Se il firewall è
configurato per consentire il traffico SSH
tramite la porta standard (22), ma blocca
l'accesso alle altre porte, una connessione tra
due host che usano porte bloccate è comunque
possibile se si reindirizza la comunicazione
tramite una connessione SSH.
45
Bu
rstnet in
form
atica
©
TOOL DI AMMINISTRAZIONE REMOTA
Scp - secure copy (remote file copy program)
Per trasferire dei file utilizzando ssh potete
utilizzare il programma SCP
Scp vi consente il trasferimento di file in maniera
bidirezionale
Tipicamente la sitassi è a seguente:
scp FileSorgente
nomeUtente@host:directory/FileDestinazione
46
Bu
rstnet in
form
atica
©
TOOL DI AMMINISTRAZIONE REMOTA
Trasferimento di un file da locale a remoto
scp /file_path_locale/file.ext [email protected]:/file_path_remoto/nuovonome.ext
Al posto di file_path_ vanno ovviamente i percorsi di destinazione e arrivo e al posto di 10.0.0.1 andrà l’indirizzo di destinazione. Se si vogliono copiare intere directory basta aggiungere l’opzione -r
Trasferimento di un file da remoto a locale
scp [email protected]:/file_path_remoto/nuovonome.ext /file_path_locale/file.ext
basta quindi invertire la sorgente e la destinazione. Tutto qua… semplice, pulito e veloce. Con tanto di trasferimento criptato
47
Bu
rstnet in
form
atica
©
TOOL DI AMMINISTRAZIONE REMOTA
VNC / TeamViewer ecc forniscono un controllo
remoto permettendovi d’interaggire con le
applicazioni e il desktop di un computer
accessibile via rete.
Sono applicazioni proprietarie di largo uso.
Sono disponibili delle versioni free con delle
limitazioni ma che vi consentiranno di testarne le
potenzialità.
49
Bu
rstnet in
form
atica
©
INTRODUZIONE
Cos’è Terminal Server
Perché implementarlo
Come si usa
Cosa è necessario
Quanto costa
® TRIFORCE COMPUTER
50
Bu
rstnet in
form
atica
©
COS’È TERMINAL SERVER
® TRIFORCE COMPUTER
Terminal Services è una
funzionalità dei sistemi operativi
della famiglia server di Microsoft®
che rende disponibili le funzionalità
del sistema operativo attraverso
l'emulazione di un terminale.
51
Bu
rstnet in
form
atica
©
COS’È TERMINAL SERVER
Modalità Applicazion
e
Modalità Amministra
tiva
Terminal Server
La modalità
Amministrativa offre
fino a due accessi su un
server (incluse relative
licenze), in modo che un
amministratore possa
accedere ad un server
per svolgere operazioni
di amministrazione.
La modalità
Applicazione fornisce
gli strumenti
per l’esecuzione di
applicazioni su un
server tramite una
sessione virtuale.
Windows
2000
® TRIFORCE COMPUTER
52
Bu
rstnet in
form
atica
©
COS’È TERMINAL SERVER
Modalità Applicazione
Desktop Remoto
Terminal Server La modalità
Applicazione fornisce
gli strumenti
per l’esecuzione di
applicazioni su un
server tramite una
sessione virtuale.
Il S.O. incorpora un nuovo
componente: Desktop
remoto. Trattandosi di un
componente non ci sono
problemi di licenze quindi
non c’è limite al numero di
amministratori che possono
gestire i computer
Windows Server 2008 in
modo remoto.
Windows
2008
® TRIFORCE COMPUTER
53
Bu
rstnet in
form
atica
©
COS’È TERMINAL SERVER
Ambiente Terminal Server in modalità “applicazioni”
® TRIFORCE COMPUTER
55
Bu
rstnet in
form
atica
©
PERCHÉ IMPLEMENTARE TERMINAL SERVER
L’esecuzione delle applicazioni viene effettuata dal server. La workstation su cui viene eseguito il client può essere anche poco performante. E’ possibile perciò emulare l’esecuzione di un sistema operativo recente su vecchi PC senza dover ammodernare l’Hardware.
Il client TS è ottimizzato per connessioni lente (56K – 64K). Le sue prestazioni sono buone anche su una rete LAN a 10 Mbit (BNC). Non è necessario cablare il vecchio laboratorio in cat. 5, ma è sufficiente interfacciare l’infrastruttura preesistente attraverso un media-converter al server e alle eventuali nuove postazioni aggiunte.
® TRIFORCE COMPUTER
56
Bu
rstnet in
form
atica
©
COME SI USA TERMINAL SERVER ?
Lato Client
Il software per il lato client (chiamato
Connessione desktop remoto) è incorporato in
Windows XP/7.
Per le versioni di Windows precedenti a XP è
possibile installare il software per client dal CD
di Windows Server 2003 oppure scaricandolo dal
sito di Microsoft al seguente link:
http://www.microsoft.com/windowsxp/pro/do
wnloads/rdclientdl.asp
® TRIFORCE COMPUTER
57
Bu
rstnet in
form
atica
©
COSA SERVE?
Un server
Windows 2000 /2003/2008 server
Client Access License (CAL)
Client Access License per TS
Per implementare Terminal Server in
un laboratorio già esistente è
necessario disporre di:
® TRIFORCE COMPUTER
61
Bu
rstnet in
form
atica
©
COSA SERVE?
Server Una configurazione di base ottimizzata per 10-15 clients
® TRIFORCE COMPUTER
Pentium Dual core
Scheda madre standard
2Gb Ram
HDD S-ATA 250Gb 7200rpm
DVD 16x
Scheda video Pci-e
Scheda rete on-board
Tastiera e Mouse
62
Bu
rstnet in
form
atica
©
COSA SERVE?
Licenze CAL per TS Garantiscono l’accesso a Terminal Server
per “dispositivo” Sostituisce la precedente “per seat” (per postazione). Ogni licenza è assegnata al client. Ogni client è autorizzato all’accesso indipendentemente dal numero di utenti che lo utilizzano per “Utente” Ogni CAL viene assegnata all’utente. Questo tipo di licenza è utile in caso di utenti “mobili”, per esempio un dipendente che può accedere al server aziendale dal pc di casa o da quello dell’ufficio. External Connector In situazioni nei quali si vuole “rendere pubblico” l’accesso al server e quindi non è possibile stimare il numero di utenti si usa questo tipo di licenza, praticamente ad utenti illimitati.
® TRIFORCE COMPUTER
63
Bu
rstnet in
form
atica
©
QUANTO COSTA ?
Configurazione ipotetica per 10 clients
® TRIFORCE COMPUTER
Server € 1.500,00
Windows Server 2008 ITA Easy EDU (con CD) € 230,00
10 CAL Windows Server 2008 ITA EDU + SA € 117,50
10 CAL Windows Server 2008 TS ITA EDU + SA € 146,50
TOTALE € 1994,00
64
Bu
rstnet in
form
atica
©
SYSTEM PERFORMANCE Perché il sistema è lento?
Perché il computer si blocca?
Nella pratica parliamo di prestazioni solo quando
c’è qualche problema.
Purtroppo nessuno vi ringrazierà mai per aver
ottenuto il massimo dalle risorse del vostro
sistema.
65
Bu
rstnet in
form
atica
©
SYSTEM PERFORMANCE
In generale le prestazioni del sistema dipendono
da quanto efficientemente le risorse eseguono i
job.
Per le prestazioni le più risorse maggiormente
coinvolte sono:
CPU
Memory
Disk
Network I/O
Anche se, altre periferiche di I/O potrebbero
essere determinanti.
66
Bu
rstnet in
form
atica
©
SYSTEM PERFORMANCE
Le prestazioni di un sistema sono buone se in un
dato momento la risposta delle risorse e la
gestione della competizioni dei job sono coerenti
con la tipologia di esecuzione richiesta.
I problemi di prestazioni possono derivare da una
serie di cause, tra cui sia la mancanza di risorse
necessarie e sia da un controllo inefficace .
Affrontare un problema di prestazioni significa
individuare i “compiti” di ogni specifica risorsa e
capire come gestirle in maniera efficace.
67
Bu
rstnet in
form
atica
©
SYSTEM PERFORMANCE
Quando la mancanza di una risorsa critica è la
fonte di un problema di prestazioni, ci sono un
numero limitato di approcci possibili per migliorare
la situazione:
Aggiungete risorse.
Minore utilizzo.
Eliminate le inefficienze.
Eliminate gli sprechi.
68
Bu
rstnet in
form
atica
©
SYSTEM PERFORMANCE
For example, if your system is short of CPU resources, your options for improving things may include some or all of the following:
Adding more CPU capacity by upgrading the processor.
Adding additional processors to allow different parts of the work load to proceed in parallel.
Taking advantage of currently unused CPU capacity by scheduling some jobs to run during times when the CPU is lightly loaded or even idle.
Reducing demands for CPU cycles by eliminating some of the jobs that are contending for them (or moving them to another computer).
Using process priorities to allocate CPU time explicitly among processes that want it, favoring some over the others.
Employing a batch system to ensure that only a reasonable number of jobs run at the same time, making others wait.
Changing the behavior of the operating system's job scheduler to affect how the CPU is divided among multiple jobs.
Naturally, not all potential solutions will necessarily be possible on any given computer system or within any given operating system
69
Bu
rstnet in
form
atica
©
SYSTEM PERFORMANCE
Resource Control mechanisms
CPU
Nice numbers
Process priorities
Batch queues
Scheduler parameters
Memory
Process resource limits
Memory management-related
parameters
Paging (swap) space
Disk I/O
Filesystem organization across
physical
disks and controllers
File placement on disk
I/O-related parameters
Network I/O
Network memory buffers
Network-related parameters
Network infrastructure
70
Bu
rstnet in
form
atica
©
SYSTEM PERFORMANCE
CPU Scheduler parameters
Even though they are not part of CPUFreq
subsystem, two scheduler parameters
influence how tasks are scheduled with respect
to processor idling and multi-core utilization.
Consequently, these parameters
(sched_mc_power_savings and
sched_smt_power_savings) affect how much
power savings can be achieved.
Memory management-related parameters
Ex. buffer size, buffer numbers
71
Bu
rstnet in
form
atica
©
SYSTEM PERFORMANCE
Definite il problema con il maggior
dettaglio possibile
Ad esempio su un computer con s.o. Linux
sarebbe riduttivo diagnosticare un
possibile problema dicendo:
il sistema risponde lentamente
72
Bu
rstnet in
form
atica
©
SYSTEM PERFORMANCE
Meglio : L’utente aprendo una finestra
(non di casa …) nota dei rallentamenti
durante il suo spostamento.
Grazie a questa seconda spiegazione
sappiamo che dovremo migliorare le
prestazioni del server X.
73
Bu
rstnet in
form
atica
©
SYSTEM PERFORMANCE
Determinare la causa del problema
Che processi sono in esecuzione nel mio sistema?
Quando e sotto quali condizioni il problema si
presenta?
Da quando il problema si presenta sono state
fatte delle operazioni?
Qual è la risorse maggiormente coinvolta nel
problema?
bottleneck
74
Bu
rstnet in
form
atica
©
SYSTEM PERFORMANCE
Tornando all’esempio di prima
Esaminando cosa accade quando
un utente sposta una finestra
otteniamo che il problema si
presente quando più processi
richiedono molta memoria
75
Bu
rstnet in
form
atica
©
SYSTEM PERFORMANCE
Riepilogo dei passi compiere:
1. Definite il problema nel dettaglio.
2. Formulare degli obiettivi per le prestazioni.
3. Effettuare le modifiche scelte per migliorare le
prestazioni.
4. Monitorare il sistema per verificare gli effetti
delle modifiche.
5. Ritornate al primo punto e riprovate ancora.
76
Bu
rstnet in
form
atica
©
SYSTEM PERFORMANCE
COROLLARIO:
Una volta che un sistema è funzionante
e non ricevete lamentele da nessuno!!!
Resistete alla tentazione di modificare
un servizio solo perché è modificabile
Se nulla si è rotto, nulla dovete
aggiustare 77
Bu
rstnet in
form
atica
©
SYSTEM MONITORING
Le risorse chiave che dobbiamo
costantemente monitorare sono:
Processi
CPU
Memoria
Disco
Rete 78
Bu
rstnet in
form
atica
©
SYSTEM MONITORING
Processi In Unix come in Windows avete la possibilità di
monitorare e limitare l’esecuzione di uno specifico
processo.
Ad esempio potete verificare il consumo di CPU e
di memoria di ogni processo.
Ci sono tool diversi a seconda del Sistema
Operativo:
In Linux: uptime – ps – top
In Windows: Task Manager -> Processi
79
Bu
rstnet in
form
atica
©
SYSTEM MONITORING
% uptime 3:24pm up 2 days, 2:41, 16 users, load
average: 1.90, 1.43, 1.33
uptime reports the current time, how long the
system has been up, and three load average
figures. The load average is a rough measure of
CPU use. These three figures report the average
number of processes active during the last
minute, the last five minutes, and the last 15
minutes
80
Bu
rstnet in
form
atica
©
SYSTEM MONITORING
Comando PS
Vi fornisce una completa fotografia delle attività del
vostro sistema
Questo comando vi mostrerà un report dettagliato dei
processi in esecuzione
ps aux | head -1
USER PID %CPU %MEM SZ RSS TTY STAT TIME COMMAND
harvey 12923 74.2 22.5 223 376 p5 R 2:12 test test.F
81
Bu
rstnet in
form
atica
©
SYSTEM MONITORING
Spiegazione campi:
82
Bu
rstnet in
form
atica
©
Column Contents
USER (BSD)UID (System V) Username of process owner.
PID Process ID.
%CPU
Estimated fraction of CPU
consumed (FreeBSD and Tru64);
CPUtime/elapsed time (AIX, Solaris,
and Linux)
%MEM
Estimated fraction of system
memory consumed (BSD-style); the
estimates are sometimes quite poor
SZ Virtual memory used in KB (BSD)
or pages (System V)
RSS Physical memory used (in same
units as SZ)
TT, TTY TTY associated with process.
SYSTEM MONITORING
Spiegazione campi:
83
Bu
rstnet in
form
atica
©
Column Contents
STAT (BSD)S (System V)
Current process state (ex R
running)
COMMAND Command line being executed
(truncated).
STIME (System V)STARTED (BSD) Time or date process started.
F Flags associated with process (see
the ps manual page).
PPID Parent's PID.
NI Process nice number.
C (System V)CP (BSD)
Short term CPU-use factor; used by
scheduler for computing the
execution priority (PRI).
SYSTEM MONITORING
Altri strumenti di monitoring: pstree displays system processes in a tree-like
structure, and it is accordingly useful for
illuminating the relationships between processes
and for a quick, pictorial snapshot of what is
running on the system.
Major Unix versions support the /proc filesystem.
This is a pseudo filesystem whose files are
actually views into parts of kernel memory and
its data structures.
84
Bu
rstnet in
form
atica
©
SYSTEM MONITORING
$ cat /proc/cpuinfo processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 7
model name : Pentium III (Katmai)
stepping : 3
cpu MHz : 497.847
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
Ecc. 85
Bu
rstnet in
form
atica
©
SYSTEM MONITORING
Process Resource Limits
Unix provides very simple process resource limits. These are the limits that may be defined:
Total accumulated CPU time
Largest file that may be created (whether created from scratch or by extending an existing file)
Maximum size of the data segment of the process
Maximum size of the stack segment of the process
Maximum size of a core file (created when a program bombs)
Maximum amount of memory that may be used by the process
Comando: ulimit
86
Bu
rstnet in
form
atica
©
SYSTEM MONITORING
Qualche volta è necessario terminare un processo
o perchè occupa troppa memoria o perchè risulta
bloccato da troppo tempo.
# kill [-signal] pids
Per terminare i processi di uno stesso gruppo
utilizziamo:
killall -KILL find
87
Bu
rstnet in
form
atica
©
SYSTEM MONITORING
Gestione della CPU:
Il processore è il primo fattore da considerare quando ci sono problemi di prestazioni.
Anche se, molte persone raccomandono di verificare prima la memoria in quanto la carenza di CPU e spesso un effetto secondario della carenza di memoria
88
Bu
rstnet in
form
atica
©
SYSTEM MONITORING
Normalmente il nostro sistema GNU/Linux ha in
esecuzione più processi contemporaneamente e
sarà quindi compito del kernel, con l'ausilio di un
algoritmo di schedulazione, distribuire l'unica
risorsa CPU ai vari processi.
E' possibile tuttavia eseguire un programma con
una priorità di schedulazione modificata e dargli
una maggiore o minore precedenza di esecuzione,
rispetto agli altri processi, utilizzando il
comando nice:
$ nice [-n incremento] [comando [arg...]]
89
Bu
rstnet in
form
atica
©
SYSTEM MONITORING
Monitoring CPU Usage
Ci sono vari comandi per ottenere lo stato della
CPU.
Per esempio vmstat include l’attività della CPU e
altre statisctiche.
$ vmstat interval [count ]
90
Bu
rstnet in
form
atica
©
SYSTEM MONITORING
Un alto utilizzo della CPU non è di per se una
brutta cosa. Comunque se state monitorando il
vostro sistema e la CPU risulta altamente
utilizzata per molto tempo, la scarsità di cicli
della cpu può contribuire al degrado della CPU.
A brevi intervallo di tempo picchi di utilizzo della
CPU sono normali.
91
Bu
rstnet in
form
atica
©
SYSTEM MONITORING
Higher than normal load averages.
Total processor usage (us+sy) that is higher than normal. You might start thinking about future CPU requirements when the total load increases over time and exceeds 80%-90%.
A large number of waiting runnable processes (r). This indicates that these processes are ready to run but can't get any CPU cycles. I start looking into things when this value gets above about 3-6 (per CPU).
Ideally, most of the CPU usage should be spent in user time performing actual work and not in system time. Sustained abnormally high levels of system time, especially in conjunction with a large number of context switches, can indicate too many processes contending for the CPU,[13] even when the total CPU usage is not an issue. I like the system time to be a fraction of the user time, about a third or less (applies only when the total time used is nontrivial).
92
Bu
rstnet in
form
atica
©
SYSTEM MONITORING
Memoria
Come per la CPU la memoria può essere
monitorata con vari strumenti
Windows: task manager- > performance
In linux:
Vmstat
Top
free
93
Bu
rstnet in
form
atica
©
SYSTEM MONITORING
The vmstat command is the best tool for
monitoring system memory use.
The most important statistics in this context are
the number of running processes and the number
of page-outs and swaps.
You can use this information to determine
whether the system is paging excessively. As you
gather data with these commands, you'll also
need to run the ps command so that you know
what programs are causing the memory behavior
you're seeing. 94
Bu
rstnet in
form
atica
©
SYSTEM MONITORING
Free mostra delle statistiche sull’attuale uso della memoria $ free -m –o
total used free shared buffers cached
Mem: 249 231 18 0 11 75
Swap: 255 2 252
cat /proc/swaps
$ pagesize 4096
Typical values are 4 KB and 8 KB
N.B. A page, memory page, or virtual page is a fixed-length contiguous block of virtual memory that is the smallest unit of data for the following: memory allocation performed by the operating system for a
program;
transfer between main memory and any other auxiliary store, such as a hard disk drive.
95
Bu
rstnet in
form
atica
©
SYSTEM MONITORING
HARD DISK
Il disco è il terzo maggiore collo di bottiglia per le performance di un sistema o di un job.
Vedremo come monitorare I dischi e quali altri fattori contribuiscono alla perdita di performance.
Ci sono differenti tecniche per ottimizzare I dischi.
Per ottenere buoni risultati è indispensabile capire i meccanismi di I/O del sistema e delle applicazioni
96
Bu
rstnet in
form
atica
©
SYSTEM MONITORING
Ci sono due tipi di I/O
Accesso sequenziale significa che un insieme di
elementi (ad es. dati in un vettore di memoria o
file in un disco rigido o su un nastro magnetico) è
acceduto in una sequenza ordinata
predeterminata
Accesso casuale I dati vengono letti in ordine
sparso. Ciò significa che la testina del disco dovrà
spostarsi frequentemente per raggiungere i dati
corretti. In questo caso, il tempo di ricerca è un
fattore importante per le operazioni I / O e le
prestazioni
97
Bu
rstnet in
form
atica
©
SYSTEM MONITORING
I tre fattori che incidono
maggiormente sulle prestazioni dei
dischi sono:
Hardware del disco
Distribuzione dei dati sui più dischi
Posizionamento dei dati sul disco
fisico
98
Bu
rstnet in
form
atica
©
SYSTEM MONITORING
Hardware Quando considerate l’acquisto di un disco ponete
molta attenzione alla cache.
Essere consapevoli del fatto che il throughput effettivo su disco di rado raggiungere i tassi di trasferimento di picco pubblicizzati. Considerare quest'ultimo solo come un numerio relativo utile per confrontare diversi dischi.
Quando le prestazioni ad accesso casuale sono importanti, è possibile stimare il numero di operazioni di I / O al secondo, 1000 / (medio-seek-time + 30000/rpm)
Non scordatevi di considerare le velocità di eventuali controller e le dimensioni del buffer.
Velocità (RPM) del disco.
99
Bu
rstnet in
form
atica
©
SYSTEM MONITORING
Comandi utili in Linux: Il comnado df -k produce un report che descrive
tutto il file system, la capacità totale del disco e lo
spazio libero.
File system Kbytes used avail capacity
Mounted on
/dev/sd0a 7608 6369 478 93%
/
/dev/sd0g 49155 45224 0 102%
/corp
100
Bu
rstnet in
form
atica
©
SYSTEM MONITORING
Quando avete problemi con lo spazio di un disco
potete:
Comprare un altro disco.
Fare il mount di un disco remoto.
Eliminare i file non necessari.
Comprimere i file grandi che non
accedete di frequente.
Verificare la grandezza dei log file ed
eventualmente eliminarli.
101
Bu
rstnet in
form
atica
©
SYSTEM MONITORING
Potete limitare ogni vostro utente con l’utilizzo
del programma quote
L'idea che sta dietro a ciò consiste nel fatto che
gli utenti siano costretti a rimanere sotto a un
limite di utilizzo del disco, togliendo loro la
possibilità di consumare spazio illimitato su un
sistema.
Le quote sono gestite per utente e per filesystem.
Se c'è più di un filesystem nel quale è previsto che un
utente possa creare file, allora la quota d'uso deve
essere impostata per ogni filesystem separatamente.
102
Bu
rstnet in
form
atica
©
SYSTEM MONITORING
Concludiamo la nostra panoramica sugli
strumenti per monitorare le prestazioni di rete.
Buone prestazioni di rete dipendono dalla
combinazione di diversi componenti i quali
devono lavorare correttamente ed
efficientemente.
Problemi di prestazioni possono sorgere in molti
luoghi e in molte forme.
103
Bu
rstnet in
form
atica
©
SYSTEM MONITORING
Per avere buone prestazioni di rete bisognerebbe
evitare:
Interfacce di rete lente e con un’alta percentuale
di errore.
Inadeguatezza periferiche di rete come: HUB,
Switch e altre periferiche.
Problemi di configurazione hardware.
Sovraccarico dei server.
Banda di rete insufficiente.
104
Bu
rstnet in
form
atica
©
SYSTEM MONITORING
DNSperformance is another item that is easiest
to affect at the planning stage. The key issues
with DNS are:
Sufficient server capacity to service all of the clients
Balancing the load among the available servers
The Network File System is a very important
Unix network service.
105
Bu
rstnet in
form
atica
©
SYSTEM MONITORING
Monitoring NFS-specific network traffic and
performance is done via the nfsstat command. For
example, the following command lists NFS client
statistics:
$ nfsstat -rc
106
Bu
rstnet in
form
atica
©
SYSTEM MONITORING
The netstat -s command is a good place to start when examining network performance. It displays network statistics. You can limit the display to a single network protocol via the -p option, as in this example from an HP-UX system:
$ netstat -s -p tcp Output shortened. tcp: 178182
packets sent 111822
data packets (35681757 bytes) 30 data packets (3836 bytes) retransmitted 66363
ack-only packets (4332 delayed) 337753
packets received 89709
acks (for 35680557 bytes) 349
duplicate acks 0 acks for unsent data 284726 packets (287618947 bytes)
received in-sequence 0 completely duplicate packets (0 bytes) 3 packets with some dup, data (832 bytes duped) 11
out of order packets (544 bytes) 5 packets received after close 11 out of order packets (544 bytes)
107
Bu
rstnet in
form
atica
©
SYSTEM MONITORING
Monit is a free open source utility
for managing and monitoring,
processes, files, directories and
filesystems on a UNIX system.
Monit conducts automatic
maintenance and repair and can
execute meaningful causal actions
in error situations 108
Bu
rstnet in
form
atica
©
SYSTEM MONITORING
What Monit can do
Monit can start a process if it does not run,
restart a process if it does not respond and stop a
process if it uses too much resources.
You can use Monit to monitor files, directories
and filesystems for changes, such as timestamp
changes, checksum changes or size changes.
110
Bu
rstnet in
form
atica
©
SYSTEM MONITORING
You can also monitor remote hosts;
Monit can ping a remote host and can check TCP/IP
port connections and server protocols.
Monit is controlled via an easy to use control file
based on a free-format, token-oriented syntax.
Monit logs to syslog or to its own log file and
notifies you about error conditions and recovery
status via customizable alert.
111
Bu
rstnet in
form
atica
©