Jump to content

daniele_dll

Members
  • Content Count

    1,559
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by daniele_dll

  1. Ho provato a spegnere i send_redirects ma la cosa non ha sortito alcun effetto Ho anche trovato questo bug https://bugs.launchpad.net/ubuntu/+source/qemu-kvm/+bug/997978 Anche se risulta fixed (da parecchi mesi ormai) ed era, comunque, relativo alla modalità bridged Dimenticavo di dire che ho monitorato il traffico con tcpdump e vedo i pacchetti uscire ma non vedo nulla entrare
  2. Hola a todos, spero di non aver sbagliato sezione :) Detto questo, ho acquistato uno o due mesi fa un server dedicato per metter su una serie di macchine virtuali e, finalmente, sto avendo il tempo fisico per farlo. Premessa: ho sempre usato KVM con libvirt per le macchine virtuali perché dovendo gestire un numero limitato di macchine virtuali in proprio e, secondo me, un'ottima alternativa rispetto ad altre soluzioni come ESXi e Xen, soprattutto perché mi permette di fare il setup dell'host per come mi piace (probabilmente potrei farlo pure con Xen ma lo conosco tra zero e niente ^^). Premessa 2: il setup di macchine virtuali l'ho SEMPRE fatto in ambienti di rete locale, a parte un solo caso, ed ho sempre usato, quindi, una configurazione di tipo "bridge" per la rete. Sto usando un setup di tipo "routed" per le VM, visto che gli indirizzi IP aggiuntivi sono mappati direttamente al mac-address della scheda di rete fisica del server e quindi se il mac address non è quello niente da fare (motivo per il quale, benché ovviamente abbia provato per scrupolo, una configurazione bridge non può funzionare). Ho in parte seguito questa guida KVM mit Nutzung aller IPs - the easy way/en Le operazioni che ho svolto sull'host per la rete sono state le seguenti: - aggiunta di un bridge (virbr0) - ifconfig virbr0 IP_SERVER_DEDICATO netmask 255.255.255.255 - ip route add IP_AGGIUNTIVO dev virbr0 - iptables -A FORWARD -i virbr0 -o DEVICE_RETE -s IP_AGGIUNTIVO -j ACCEPT - iptables -A FORWARD -i DEVICE_RETE -o virbr0 -d IP_AGGIUNTIVO -j ACCEPT - abilitazione del forwarding tra i device di rete ( echo 1 > /proc/sys/net/ipv4/ip_forward ) Sul guest, semplicemente: - ifconfig eth0 IP_AGGIUNTIVO netmask 255.255.255.255 - route add -host IP_SERVER_DEDICATO -dev eth0 - route add default gw IP_SERVER_DEDICATO Tutto funziona correttamente per delle ore (variabile da 2 a 7 ... la durata più lunga l'ho ottenuta con un ping attivo verso l'ip) per poi smettere di funzionare. Per farlo tornare a funzionare devo mettere down la rete virbr0, assegnare l'ip alla scheda di rete fisica fare un ping (così probabilmente gli apparati vedono traffico sul mac address della scheda di rete) e poi posso rifare il setup della rete precedente. (IPOTESI) Quello che penso è che il problema sia dovuto al fatto che i pacchetti escono con un mac address diverso da quello della scheda di rete e gli apparati considerano l'ip down dopo un TOT di tempo e fanno pulizia sulle loro tabelle. Come posso far uscire i pacchetti con il mac address della scheda di rete fisica? In realtà credevo che fosse già così, ma evidentemente non lo è. Se non riesco a risolvere, l'unica opzione, è di usare il NAT (facendo poi un NAT 1-1 con l'ip pubblico che assegno alla VM esternamente), ma sinceramente preferirei proprio evitarlo perché penso che avrei problemi di altra natura se ho bisogno di metter su vpn o robe del genere. PS: non fate troppo caso alla sintassi dei comandi perché sono andato a memoria e potrei aver scritto qualche castroneria
  3. Non riesco di nuovo più a pingare la VM quindi penso di fare qualche fesseria ... ma non capisco quale :fagiano:
  4. Ho provato a rimuovere le regole del firewall perché ho un mezzo dubbio che fossero loro la causa del problema, inoltre ho disabilitato il send_redirects perché, da quanto ho letto, può causare problemi. Se così funziona, provo con l'icmp send_redirects abilitato
  5. Qui ci sono altre informazioni utili libvirt: Wiki: VirtualNetworking
  6. daniele_dll

    Auguri Boss!

    giusto con un pò di ritardo ... auguri :98:
  7. daniele_dll

    bug di un semplice software di backup ...

    che non lo seguo più e che comunque dovrei riscriverne l'80% :)
  8. sto sviluppando, per lavoro, un soft di backup praticamente finito ... sto correggendo migliaia di bug ... ed oggi ne ho scoperto uno nuovo ... VERAMENTE strano ... LOL :D in pratica dopo 10/15 minuti di esecuzione di backup continui, durante i test su 98, mi sono accorto che andava in crash dopo 3/4 prove ho fatto una prova su xp ... e anche li su tutto in crash e mi son detto ... LOL ... che cavolo può essere? la cosa veramente strana è che mi compariva al posto dei bottoni, checkbox, icone, immagini e co dei rettangoli con un bordo rosso, di sfondo bianco con le diagonali rosse (di solito mi succede quando finisce la memoria e non riesce ad allocare l'oggetto grafico) ... e stavo tentando di capire cosa succedeva dopo svariate correzioni al codice, che comunque non hanno sistemato il problema, mi è venuta un'idea: ricorriamo ai tool di sysinternals :D Ho scaricato il BELLISSIMO process explorer e mi sono monitorato il processo Sapete cos'ho scoperto? che effettivamente c'era un leak ... ma non un memory leak ma un handle leak :stordita: in pratica tutti gli "elementi" grafici che vedete a video hanno un "codice identificativo", che corrisponde ad un'intero di 2 byte, quindi max 65 mila e qualcosa ... ecco ... il mio software ne generava 50 al secondo circa ... collassando il sistema cosi, siccome ho svariati controlli che ho scritto a mano ... me li sono passati TUTTI al vaglio, corretti dei possibili handle leak il problema sussisteva ... vi giuro ... non capivo cosa diavolo era! Al che ... mi è venuto un dubbio ... il software ha un'iconcina in basso a destra che fa vedere che il software lavora e c'è tipo un serverino non in basso a destra un segnalatore che mostra che lavora (tipo l'animazione che ha ff a sinistra del titolo nella tab mentre carica, solo che verde e più corto) ... ecco ... ho aperto il codice ... ed ho visto che avevo scritto una MEGA boiata: in pratica a ogni "cambiamento" della icona ricaricavo dalle risorse del software (contenute nell'eseguibile) l'icona instanziando un nuovo oggetto ... LOL non solo rallentavo OLTRE modo le operazioni, ma inizializzavo una nuova "icona" a rotazione :D sistemato questo ... adesso gli oggetti grafici (ergo GDI Handle) stanno intorno ai 70/80 (dipende se compaiono finestre di avviso o altro) direi DECISAMENTE una cifra molto più accettabile :D che odissea ... LOL
  9. daniele_dll

    le nostre foto!!!

    uppete :062802drink_prv: nessun'altra foto? :stordita:
  10. hola lo so che è una domanda stupida, ma non ho tempo di mettermi a fare ricerce (purtroppo) :fagiano: E' possibile trasferire un dominio .it che si trova nello stato di NO-PROVIDER dal vecchio provider ad uno nuovo? E' scaduto ieri, lo dovevo trasferire, ma me ne sono dimenticato :\
  11. daniele_dll

    bei tempi :asd:

    http://www.p2pitalia.com/modules.php?name=Forums&file=viewtopic&t=273&start=0
  12. Hola a todos, come qualcuno sa, devo mettermi su un server dedicato per virtualizzare 4 sistemi (server di sviluppo, pbx, server di test, server per le demo) Sinceramente inizialmente avevo pensato a FreeBSD 7 con lo scheduler ULE ma da quanto ho visto non è propiamente molto stabile come ambiente e quindi metterò su linux, forse gentoo. Il problema è questo: dato che avrò questi 4 sistemi operativi che lavoreranno da remoto, che fare? Attualmente lo storage è una macchina un pò vecchiotta con un disco da 500gb, vorrei affiancargli dopo un altra macchina con un altro disco da 500gb e usare DRBD in modo da avere un sistema distribuito che se mi esplode qualcosa non piango La macchina di storage, siccome è vecchiotta, ci sta per adesso una scheda su da 100mbit ma non penso sia molto adatta per una situazione del genere Stavo pensando alla fibra, ma sinceramente non so ne quanto costa un sistema del genere, considerando che avrei bisogno di uno switch per fibra, piccolo, a cui collegare da 3 a 5 macchine (a parte le 2 di storage e le 2 per il sistema di virtualizzazione che metterò su appena avrò fondi sufficenti una quinta disponibile serve sempre) Detto tutto questo, considerato che lo storage sono dei dischi sata da 500gb a 7200rpm con 16mb di cache che, da quanto ho potuto vedere su tom's hardware, hanno una media di lettura di circa 80mb/s, che significa circa 671mbit/s Volendo, quindi, una connessione ad un gb reggerebbe tranquillamente il carico massimo del disco non diventando collo di bottiglia Il problema, però, è che sul cavo di rete passeranno i pacchetti riguardanti drbd e riguardanti il filesystem esportato su drbd quindi possibilmente ci potrebbe essere non poco via vai Eventualmente potrei mettere 2 schede di rete in bonding in modo che si scaricano il lavoro fisicamente su due cavi insomma ... che mi consigliate?
  13. daniele_dll

    Fibre Channel e Linux

    uppo per darvi la lieta novella che FINALMENTE la seconda scheda madre (che gentilmente la dogana mi aveva fermato senza neanche avvisarmi) è arrivata e funziona perfettamente! Sto recuperando 2gb di memoria tramite ebay ed un controllerino sata pci (non pci-x perché mi servono per le schede di rete) ... basterà aumentare TANTO la cache cosi riduco gli accessi in lettura e non saturo la banda del canale pci per il sata Spero per agosto di iniziare a metterci mano perché tanto mi mancano ormai i dischi, lo switch e le schede di rete - 65€ un disco da 500gb sata ii - 200€ lo switch 1gb con 802.3ad (quello della dell quasi sicuramente 16 porte) - 4 schede di rete dual port 1gb Cosi ho finito per lo storage e mi rimane solo di pensare al server nuovo (di cui ho già scheda madre e scheda video ... la mazzata sarà il procio dato che difficilmente trovero è un q6600 usato :cry: la memoria è l'ultimo dei problemi dato che la ddr2 nn costa niente ... i dischi c'ho due raptor da 72gb) e per quello dovrò prendere un altra scheda di rete dual port ma pci-ex 1x o due normali schede di rete 1gbit e montarle sullo slot pci (tanto uno slot pci tiene fino a 133mbit e una scheda di rete a un gb arriva intorno a 116)
  14. hola :) beh direi che cambia un mondo! Quando non specificato la connessione è di tipo CLOSE ovvero dopo che la richiesta viene eseguita il webserver deve chiudere la connessione. Quella di tipo Keep Alive invece permette al browser, o in generale al client, di effettuare più richieste HTTP nella stessa connessione. La differenza? Considera che il webserver deve spawnare un fork/thread (o recuperarne uno dalla cache dei fork/thread) per gestire la tua connessione e quindi risparmi TANTO lavoro perché dato che la connessione e sempre la stessa non fa nulla in più. Inoltre considera che cosi elimini l'overhead di dato dal kernel e dalle librerie base del so che vanno a gestire il tutto che, se pur minimo, c'è sempre e su un alto numero di connessioni si fa sentire. ovviamente ci sono i risvolti della medaglia: un numero troppo elevato di connessioni keep alive permette a chi vuol far danno di killare la macchina! Anche se c'è un timeout (ovvero una durata massima per la connessione keep alive) in quel frangente una singola richiesta viene mantenuta e quindi bisogna fare meno lavoro per saturare le richieste di una macchina ... infatti invece di startare sempre a rotazione, per dire, 100 connessioni ... 10 (mettendo che 10 sia il limite di connessioni keep alive) saranno sempre sature per 15/20 secondi e quindi l'attacker ha bisogno di una potenza di calcolo un pò più ridotta per saturare le connessione ... la conseguenza è che si saturano più facilmente le macchine! E' fondamentale trovare un giusto compromesso che non uccida la macchina sotto attacco o sotto carichi elevati e nel frattempo non blocchi il client che tenta di risparmiare operazioni :)
  15. daniele_dll

    Fibre Channel e Linux

    Ok, capito ... lo metto active/passive ... lo sai che ti romperò le scatole, vero? :stordita: (scherzi a parte spero che mi rispondi quando posterò qualche chilometrico errore :stordita: )
  16. daniele_dll

    Fibre Channel e Linux

    La sincronizzazione della scrittura DRBD la fa in 3 modi se non erro, e, a me, praticamente interesserebbe la 3° modalità per stare tranquillo (che è scrivi, dici di scrivere a tutti i nodi presenti, e aspetta conferma prima di accettare altre scritture) che è un pò più lenta però è la più sicura Il supporto per i cluster è stato implementato nella 8.0 (che poi sarebbe la 0.8.0), o per lo meno cosi è scritto nel sito, e dovrebbe essere abbastanza stabile (siamo alla 0.8.2.6-rc1) però li non metto bocca perché non avendolo mai usato (mi sono documentato ma mai usato) e avendo poco tempo per fare i test mi affido a voi :fagiano: Per quanto riguarda la sicurezza sui dati, beh, quella dovrebbe garantirla DRBD in ogni caso non andrei ad usare GFS o OCFS2 e quindi stando montato solo da una parte se per scrivere un file ci vogliono 10 settori (o pseudo-tali) ed il sistema ne scrive 5 nella A e 5 nella B otterrò che verranno i primi 5 settori su A, questa comunicherà a B di scrivere i 5 ricevuti da A e poi B scriverà i suoi 5 comunicando ad A di scrivere i 5 di B Le sequenze hanno un identificatore quindi non ci dovrebberò essere questi problemi (spero :D)
  17. daniele_dll

    Fibre Channel e Linux

    beh, andrei a virtualizzare tutto cosi ho una separazione della struttura di rete e se ho problemi posso spostare l'ambiente virtualizzato al volo gli storage saranno connessi tra loro sempre direttamente, e poi comunque allo switch cosi internamente si sincronizzano tra loro e poi lavorano in remoto tramite altre soluzioni, anzi ... a che ci siete: che posso usare per distribuire il carico di rete (lettura e scrittura) tra due server drbd? Cosi invece di far trottare una sola macchina trottano tutte e due
  18. daniele_dll

    Fibre Channel e Linux

    nono, ci siam capiti male :D allo storage ci starà attaccata una sola macchina, tramite switch 1gbit, che sarà affiancata da una seconda meno potente per sostituire la prima al volo se esplode qualcosa (HA) Gli storage saranno interconnessi tra loro e poi allo switch 1gbit a coppie di due porte l'uno (2 * storage + 2 * server). Oltre alle 8 porte che saranno occupate ci starà la mia macchina collegata pure la, quindi in totale le porte saranno 9. Lo switch 100mbit, che uso per adesso, resterà attivo e su ci saranno collegati 3 computer ed una stampante. I 3 computer accederanno ai servizi esposti dagli ambienti virtualizzati (condivisione file, pbx, svn, trac e cosi via) Preferisco far cosi perché alla fin fine questi 3 computer, quando ci accedono, lavorano principalmente con la condivisione file e principalmente su documenti word, excel e cosi via
  19. daniele_dll

    Fibre Channel e Linux

    sisi :D :stordita: nota: io mi accontento anche di roba vecchia :062802drink_prv:
  20. daniele_dll

    Fibre Channel e Linux

    nono, sulla 100mbit ci staranno solo gli altri computer della rete che accedono esclusivamente ad una cartella condivisa ... ma tanto trattasi di file word o qualche mp3 ogni tanto Peccato che lo switch che ho attualmente non abbia un paio di porte per l'uplink a 1gb, cmq, non ci fa niente gli dovranno accontetarsi :stordita: :98: Per PCI-Ex intendi PCI Express o PCI 64? Perché le seconde, attualmente, le posso montare senza problemi, le prime solo sulla macchina nuova che andrò ad acquistare E' probabile che poi sostituirò le macchine vecchie in tempi celeri (metto due macchine sempron o due athlon 64 di fascia bassa, tanto non devono fare un granché) mi sa che ci vogliono un pò di dindi :stordita: io sto cercando di uscirmene con meno di mille e duecento euri (il server per la virtualizzazione, le due storage, e lo switch) e ci sto riuscendo ... se me la volete regalare, comunque, non dico di no :stordita:
  21. daniele_dll

    Fibre Channel e Linux

    Grazie :) Si effettivamente conviene separare le connessioni dividendole sulle due schede, anche se comunque è più facile che imploda la macchina ... ma alla fin fine non costa nulla fare cosi Le schede le devo per forza prendere bi-porta perché ci stanno solo 2 slot PCI Quindi praticamente andrei a mettere sempre 2 schede bi-porta sui backend dati mentre una sola scheda bi-porta, connessa direttamente allo switch, per i server che gestiranno la virtualizzazione Avevo in mente di prendere un 16 porte a cui collegarmi io, i vari server e uno switch 100 24 porte che già abbiamo in ufficio e che tiene tutto tranquillamente (al max ci stanno 3 computer collegati, 4 con la stampante) Lo switch penso che prendero quell dell che ho messo prima a 16 porte che supporta, da quanto leggo, 6 porte virtuali alle quali è possibile collegare fino a 4 porte fisiche (praticamente posso collegarci, diciamo, 6 server che sfruttano il lacp) Grazie per i link
  22. daniele_dll

    Fibre Channel e Linux

    Ad esempio questo lo supporta, giusto? http://www1.euro.dell.com/content/products/productdetails.aspx/pwcnt_2716?c=it&cs=itbsdt1&l=it&s=bsd (dalle specifiche mi è parso di si)
  23. daniele_dll

    Fibre Channel e Linux

    mi è appena parso di capire che bounding e lacp vanno di pari passo :fagiano:
  24. daniele_dll

    Fibre Channel e Linux

    Per questo ero indeciso tra fibra e gigabit Usando il LACP devo supportare qualcosa a livello di server? Non c'è ne dovrebbe stare bisogno da quanto vedo. Poi però è la prima volta che lo sento chiedo :D Quindi praticamente tu dici di montare 2 schede PCI dual port cosi una scheda fa da ponte tra le due macchine e l'altra fa da ponte con lo switch però tra i due computer dovrei metter su comunque le schede in bounding, no?
×