Tags:
create new tag
,
view all tags
---+ Test sul trasporto dati di DGAS tramite Active MQ L'installazione del testbed, la configurazione e i test sono stati effettuati seguendo il [[%ATTACHURL%/DGAS-AMQ-testplan.rtf][piano di test]] proposto da Andrea Guarise. Il testebed e' cosi' composto: |*Servizio*|*Hostname*|*VM*|*dom0*| |HLR classico|dgas-test-vm01|vm|domus03| |HLR con ~ActiveMQ|dgas-test-vm02|vm|domus03| |CE Cream|dgas-test-vm03|vm|domus03| |wn|dgas-test-vm04|vm|domus03| |wn|dgas-test-vm05|vm|domus03| |site-bdii|vgrid0|vm|domus03| |TOP-BDII| gridit-bdii-01.cnaf.infn.it|-|-| |WMS|gridit-cert-wms.cnaf.infn.it|-|-| |Active-MQ browser| tcp://dgas-broker.to.infn.it:61616|-|-| ---++ Installazione CE e HLR Dopo aver installato il *CE* gLite 3.2 SL5 x86_64 (profilo ig_CREAM_torque), seguendo la [[http://igrelease.forge.cnaf.infn.it/doku.php?id=doc:guides:install-3_2][guida]], abbiamo installato i pacchetti di DGAS indicati nel piano i test: * _rpm -Uvh glite-dgas-common-3.4.1-0.centos5.x86_64.rpm_ * _rpm -Uvh glite-dgas-hlr-clients-3.4.1-0.centos5.x86_64.rpm_ Abbiamo installato 2 *HLR* (uno sara' standard e l'altro con Active MQ) seguendo la [[http://www.to.infn.it/grid/INFNGRID/TESTING/TESTING/files/Documentation/DGAS-guied_0_6_1.htm][guida]] al paragrafo _3.1.2.1 New installation_. I pacchetti installati sull' *HLR standard* sono: * _glite-dgas-pa-clients-3.4.0-3.centos5_ * _glite-dgas-hlr-clients-3.4.0-12.centos5_ * _glite-dgas-hlr-service-3.4.0-23.centos5_ * _glite-dgas-common-3.4.0-4.centos5_ I pacchetti installati sull' *HLR AMQ* sono: * _glite-dgas-pa-clients-3.4.1-0.centos5_ * _glite-dgas-hlr-clients-3.4.1-0.centos5_ * _glite-dgas-hlr-service-3.4.1-0.centos5_ * _glite-dgas-common-3.4.1-0.centos5_ Su *CE* e *HLR AMQ*, prima di installare i pacchetti delle dipendenze aggiuntive, vista la mancanza di compilatore C, abbiamo installato gcc versione 4.1.2-48.el5. * _yum install gcc.x86_64_ * Il pacchetto ha installato anche le seguenti dipendenze: * _cpp.x86_64 0:4.1.2-48.el5_ * _glibc-devel.x86_64 0:2.5-49_ * _glibc-headers.x86_64 0:2.5-49_ * _kernel-headers.x86_64 0:2.6.18-194.11.3.el5_ * _libgomp.x86_64 0:4.4.0-6.el5_ I pacchetti delle dipendenze aggiuntive che abbiamo installato sono i seguenti: * APR: _apr-1.3.12.tar.gz_ * _tar zxvf apr-1.3.12.tar.gz_ * _cd apr-1.3.12_ * _./configure_ * _make_ * _make install_ * APR-util: _apr-util-1.3.9.tar.gz_ * _tar zxvf apr-util-1.3.9.tar.gz_ * _cd apr-util-1.3.9_ * _./configure_ * _make_ * _make install_ * ACTIVEMQ: _activemq-cpp-library-3.1.0-src.tar.gz_ * Abbiamo dovuto installare i seguenti pacchetti: * _yum install autoconf automake libtool cppunit-devel cppunit gcc-c++ e2fsprogs-devel expat-devel_ * Poi configurato e installato _activemq-cpp-library_ * _tar zxvf activemq-cpp-library-3.1.0-src.tar.gz_ * _cd activemq-cpp-library-3.1.0_ * Sul *CE*: _./configure --prefix=/opt/activemq/lib/_ * Sull' *HLR AMQ*: _./configure --prefix=/usr/local/lib/_ * _make_ * _make install_ * _ldconfig_ Nota: usando una versione piu' recente di activemq-cpp-library (abbiamo testato la versione 3.2.0) si ottiene il seguente errore quando si lancia il configure: * _./configure --prefix=/opt/activemq/lib/_ * _checking for pthread_create in -lpthread... no_ * _configure: error: libpthread not found!_ Sul *CE* abbiamo provato ad installare _org.glite.dgas.hlr-activemq-producer_, ma falliva nel cercare le dipendenze dalle librerie di activemq, apr e aprutil, in quento non installati da rpm ma da tgz. Allora abbiamo installato con --nodeps: * _rpm -ivh --nodeps glite-dgas-hlr-activemq-producer-0.0.0-0.centos5.x86_64.rpm_ Sull' *HLR AMQ* abbiamo dovuto installare con --nodeps i seguenti pacchetti: * _rpm -ivh --nodeps glite-dgas-hlr-activemq-consumer-0.0.0-0.centos5_ * _rpm -ivh --nodeps glite-dgas-hlr-activemq-producer-0.0.0-0.centos5_ ---++ Configurazione CE Per la configurazione con SSL disattivo, nel file /opt/glite/etc/dgas_sensors.conf abbiamo aggiunti i seguenti parametri: * _printAsciiLog = "yes"_ * _asciiLogFilePath = "/opt/glite/var/log/pushdAscii.log"_ * _amqBrokerUri = "URI del broker AMQ"_ * _transportLayer = "legacy;amq"_ * _recordComposer = "/opt/glite/libexec/glite_dgas_recordComposer"_ * _amqProducer = "/opt/glite/libexec/glite_dgas_hlrProducer"_ * _dgasAMQTopic = "DGAS.TEST"_ La restante parte della configurazione e' stata eseguita come di solito, per far puntare il CE all'HLR (standard). Per attivare SSL abbiamo copiato la chiave pubblica hostcert.pem dell’ HLR AMQ sotto /etc/grid/security col nome dgas-test-vm02-cert.pem. Poi abbiamo configurato, seguendo la guida, in /opt/glite/etc/dgas_sensors.conf: * _amqProducer = "openssl smime -binary -encrypt dgas-test-vm02-cert.pem | /opt/glite/libexec/glite_dgas_hlrProducer"_ ---++ Configurazione HLR AMQ Per la configurazione con SSL disattivo, abbiamo creato il file /opt/glite/etc/dgas-activemq-consumer.conf con i seguenti parametri: * _lockFileName = "/opt/glite/var/dgas-hlr-amq-consumer.lock"_ * _logFileName = "/opt/glite/var/dgas-hlr-amq-consumer.log"_ * _amqBrokerUri = "URI del broker AMQ"_ * _recordsDir = "/tmp/dgasamq/"_ * _dgasAMQTopic = "DGAS.TEST"_ * _hlr_user = "root"_ * _dgas_var_dir = "/opt/glite/var/"_ * _managerLockFileName = "/opt/glite/var/dgas-hlr-amq-manager.lock"_ * _messageParsingCommand = "cat MESSAGEFILE"_ * _<noautolink>AMQRecordsDir</noautolink> = "/tmp/dgasamq/"_ * _managerLogFileName = "/opt/glite/var/dgas-hlr-amq-manager.log"_ * _#Qui seguono gl i stessi valori con cui e' configurato il corrispondente dgas_hlr.conf_ * _hlr_sql_server = "localhost"_ * _hlr_sql_user = "root"_ * _hlr_sql_password = "database password"_ * _hlr_sql_dbname = "hlr database"_ * _hlr_tmp_sql_dbname = "hlr_tmp database"_ Per attivare SSL, in /opt/glite/etc/dgas-activemq-consumer.conf abbiamo modificato il parametro: * _messageParsingCommand = "cat MESSAGEFILE | openssl smime -decrypt -inkey /etc/grid-security/hostkey.pem -keyform PEM -recip /etc/grid-security/hostcert.pem"_ ---++ Test Per passare da SSL attivo a disattivo e viceversa, dopo aver eseguito le modifiche alle configurazioni, abbiamo fatto ripartire tutti i servizi dgas. ---+++ Test A-B: Test di comunicazione CE - HLR (senza e con SSL) Seguendo la guida i test sono stati effettuati con successo. ---+++ Test C: Test di comunicazione cambiando valore di dgasAMQTopic (senza e con SSL) Seguendo la guida i test sono stati effettuati con successo. ---+++ Test D-E: Test di un ciclo completo di accounting (senza e con SSL) Seguendo la guida i test sono stati effettuati con successo. ---+++ Test G: Test di integrita' dei dati (stessi dati su HLR e HLR-AMQ) (SSL attivo) Abbiamo lanciato 2 serie di job con 2 certificati diversi (Cristofori e Fattibene). Alla fine (dopo circa 2 giorni di servizi attivi) sui 2 DB risulta un totale di 7834 job ed esattamente gli stessi risultati aggregati, in termini di numero di job, CPU time e Wall time per entrambi i gridUser. Inoltre il numero di job presenti nei DB corrisponde esattamente al numero di job sottomessi. Per un paio di job a campione abbiamo controllato con successo nei log del CE che le informazioni prese su Wall time e CPU time fossero esatte. Successivamente abbiamo lanciato una terza serie di job con SSL attivo (utente Cristofori) con 1410 job processati nei DB, stessi dati sui 2 DB. Dopo abbiamo spento i servizi sui 2 HLR e sul CE. ---+++ Test F: Test di integrita' dei dati (stessi dati su HLR e HLR-AMQ) (SSL disattivo) Con i servizi spenti abbiamo configurato in modo da disattivare SSL. Dopo abbiamo fatto ripartire i servizi per continuare a processare i job di Cristofori. Abbiamo sottomesso un'altra serie di job (utente Fattibene). Il giorno successivo abbiamo controllato sui DB e risultano gli stessi dati aggregati. Inoltre il numero di job presenti nei DB corrisponde esattamente al numero di job sottomessi. ---+++ Test H-I: Test di affidabilita' e robustezza del servizio (SSL disattivo e attivo) *- Servizi HLR accesi* Questo test si ritiene effettuato con successo contestualmente ai test precedenti. *- Servizio glite-dgas-hlrd spento* Abbiamo spento il servizio hlrd sui 2 HLR e lanciato due serie di job (utenti Cristofori e Fattibene), venerdi' 23/9. Abbiamo tenuto il sistema in questo stato per tutto il fine settimana. Lunedi' mattina abbiamo riavviato hlrd sui 2 HLR e i dati sono arrivati uguali su entrambi e non si sono persi job. Nota: con tutti i servizi accesi abbiamo riavviato le macchine e abbiamo notato che i servizi AMQ sull'HLR (Consumer e <noautolink>RecordManager</noautolink>) non sono tornati su. *- Servizi sull'HLR AMQ spenti* Lunedi 27/9 pomeriggio abbiamo spento tutti i servizi sugli HLR (hlrd e i servizi AMQ) e lanciato altre 2 serie di job. Mercoledi' 29/9 mattina abbiamo copiato poco piu' di 3 mesi di log da un CE del T1 (ce04-lcg.cr.cnaf.infn.it) e li abbiamo messi sul CE del testbed. Ci aspettiamo che questi log contangano circa 1,5 milioni di job. Dopo abbiamo opportunamente configurato il CE come se fosse un CE LSF. Il sistema si e' inceppato perche' i log non erano stati copiati sul CE in modo corretto, pertanto giovedi' 30/9 mattina abbiamo riprocessato i job. Giovedi 30/9 pomeriggio alle 17.30 abbiamo avviato i servizi sui 2 HLR. Venerdi' 1/10 mattina verso le 7.00 il disco dell'HLR AMQ si e' riempito e il sistema si e' bloccato. Fino a quel momento erano stati inseriti nel database circa 16000 job (in 13 ore e mezza). Il log dgas-hlr-amq-manager.log era 6,2 GB e hlr_qmgrd.log era 7,7 GB. Dopo averli cancellati abbiamo riavviato i servizi e dopo circa 5 ore (alle 16) rileviamo che sono stati inseriti nel database del HLR AMQ circa 12000 job. Alle 16 abbiamo riconfigurato il sistema abilitando SSL e abbiamo disabilitato l'invio verso l'HLR standard, in modo da lasciare il solo HLR AMQ. Alle 11 di mercoledi' 6 ottobre la directory /tmp/dgasamq/ era totalmente piena di record e l'HLR li processava. Non era possibile nemmeno fare il listing dei file in questa directory. L'unica soluzione estrema e' stata quella di cancellare tutti i record rm -rfv -/tmp/dgasamq/ Sul CE la directory /opt/glite/var/dgasURBox/ e ERR risultavano essere vuote ma il solo listing dei file in dgasURBox richiedeva diversi minuti drwxr-x--- 3 root root 33480704 Oct 6 11:40 dgasURBox rimossa e ricreata. Anche la rimozione ha richiesto diversi minuti. Dopo aver ricostruito le directory, rimosso il file dgasCollectorBuffer.lsf e riavviato l'urcollector "nuovi" record sono comparsi nella dgasURBox e spediti con successo al broker: AMQSTATUS=0 I record sembrano arrivare all'HLR ma sono senza contenuto: cat -A DGASAMQ20101006145741_3973 $ L'11/10 abbiamo notato che il binario /opt/glite/libexec/glite_dgas_recordComposer era vuoto, senza riuscire a capirne il motivo. Abbiamo provato a reinstallare il pacchetto glite-dgas-hlr-activemq-producer-0.0.0-0.centos5.x86_64.rpm ma non siamo riusciti. Il problema era nel fatto che l'urcollector rimaneva acceso. Il 19/10, dopo aver killato a mano l'urcollector, abbiamo installato con successo l'rpm, ripulito i log del collector e del manager AMQ e riavviato i servizi. I job hanno ripreso ad arrivare regolarmente al DB. ---+++ Test L: Misure di throughput (SSL disattivo e attivo, e HLR standard) Abbiamo effettuato il test L misurando il numero di job processati dal sistema in un giorno intero in diverse configurazioni. Il set di job utilizzato e' stato lo stesso per le diverse configurazioni. Di seguito i risultati. *- HLR AMQ, SSL attivo, broker di Torino (dgas-broker.to.infn.it)* Numero di record in jobTransSummary e in trans_in: 33371 Numero di record in trans_queue: 129918 *- HLR AMQ, SSL disattivo, broker di Torino (dgas-broker.to.infn.it)* Numero di record in jobTransSummary e in trans_in: 33955 Numero di record in trans_queue: 131391 *- HLR standard, broker di Torino (dgas-broker.to.infn.it)* Numero di record in jobTransSummary e in trans_in: 62590 Numero di record in trans_queue: 265748 *- HLR AMQ, SSL attivo, broker del CERN (gridmsg001.cern.ch)* Numero di record in jobTransSummary e in trans_in: 34609 Numero di record in trans_queue: 134244 ---+++ Considerazioni finali Durante l'installazione sono stati riscontrati dei problemi di dipendenze, derivanti soprattutto dal fatto che non sono ancora disponibili i pacchetti RPM. Riteniamo che questi problemi si risolveranno con la disponibilita' di tali pacchetti. In generale abbiamo notato che la dimensione dei log cresce molto velocemente, tanto da raggiungere una dimensione di ~10 GB in poche ore. In particolare i file di log che abbiamo notato crescere rapidamente sono: - sul CE: pushdAscii.log - sull'HLR: dgas-hlr-amq-manager.log ; hlr_qmgrd.log ; hlrd.log Riteniamo utile poter settare il livello di verbosita' di questi log e la possibilita' di attivare/disattivare la registrazione di questi log. Nel corso di questi test abbiamo dovuto ruotare i log in questione per evitare un riempimento rapido del disco. Affinche' la rotazione avesse effetto abbiamo dovuto riavviare i servizi ad ogni giro di rotate; senza riavviare i servizi infatti, il servizio continuava a puntare al vecchio file descriptor e il nuovo file creato rimane vuoto (almeno questo e' quello che crediamo sia successo). Inoltre abbiamo notato la mancanza della informazione relativa al broker contattato sia nei log del producer che del consumer: per evitare che l'hostname del broker sia ripetuto per ogni invio/richiesta di UR, potrebbe essere un'idea quella di annotare nel log la configurazione allo start del servizio (sia nel CE che nell'HLR).
Attachments
Attachments
Topic attachments
I
Attachment
Action
Size
Date
Who
Comment
rtf
DGAS-AMQ-testplan.rtf
manage
66.1 K
2010-09-23 - 10:15
EnricoFattibene
E
dit
|
A
ttach
|
PDF
|
H
istory
: r14
<
r13
<
r12
<
r11
<
r10
|
B
acklinks
|
V
iew topic
|
M
ore topic actions
Topic revision: r14 - 2010-11-16
-
EnricoFattibene
Home
Site map
CEMon web
CREAM web
Cloud web
Cyclops web
DGAS web
EgeeJra1It web
Gows web
GridOversight web
IGIPortal web
IGIRelease web
MPI web
Main web
MarcheCloud web
MarcheCloudPilotaCNAF web
Middleware web
Operations web
Sandbox web
Security web
SiteAdminCorner web
TWiki web
Training web
UserSupport web
VOMS web
WMS web
WMSMonitor web
WeNMR web
DGAS Web
Create New Topic
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
View
Raw View
Print version
Find backlinks
History
More topic actions
Edit
Raw edit
Attach file or image
Edit topic preference settings
Set new parent
More topic actions
Account
Log In
E
dit
A
ttach
Copyright © 2008-2021 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback