Mar 1

Ridimensionamento a caldo di partizioni XFS

Silicon Graphics XFSPer quanto sia grosso il nostro storage, e’ inevitabilmente destinato ad esaurirsi” Questa forse e’ la prima regola dello storage management. La conseguenza diretta di un IT Manager o chi per esso, e’ di avere un sistema di storage non solo scalabile, ma anche in grado di estendere la propria capacita’ in modo piu’ o meno lineare in modo semplice e spesso, a “caldo”.

L’obiettivo del nostro lavoro, stavolta, era quello di riuscire a raggiungere i seguenti obiettivi:

  • poter creare una LUN sulla SAN e ridimensionarla dinamicamente
  • montare la LUN su un server Linux
  • aumentare le dimensioni del mount point senza fermare le applicazioni che vi girano sopra

Il terzo punto e’ una caratteristica abbastanza ovvia e soprattutto fondamentale in alcuni ambiti. Prendiamo per esempio un servizio di posta elettronica che opera 24/7/365. Fermare il sottosistema di storage potrebbe rappresentare un problema talvolta. Allora si preferisce fare le operazioni “online” o “a caldo”. In ambiente Microsoft Windows, il ridimensionamento delle partizioni puo’ essere effettuato a caldo utilizzando il comando diskpart, con la funzione extend. Questa volta, pero’, abbiamo dovuto replicare la situazione anche in ambiente *nix.

E4 - DotHill - E6550 liveLo storage utilizzato in questo contesto e’ stato il E6550 di E4 Engineering, che in realta’ maschera un ferro DotHill. Abbiamo operato su un sottosistema di dischi basato su un RAID-5 realizzato su 4 dischi SATA-II da 750Gb. Il VirtualDisk iniziale era di 100Gb per il laboratorio. Lo storage supporta nativamente il ridimensionamento a caldo delle LUN, il che risponde al primo punto dei nostri obiettivi. 

Per il sistema operativo la scelta e’ caduta su un fork di Fedora per questioni di compatibilita’ del hardware (il HBA di qLogic) e tempi stretti di implementazione. E con questa abbiamo raggiunto il scondo obiettivo. Il filesystem scelto e’ stato XFS poiche’ e’ l’unico - dichiarato - che supporta il ridimensionamento delle partizioni a caldo, senza l’impiego di strumenti di terze parti. Quest’ultima scelta ci consentiva di realizzare il terzo punto.

Il laboratorio realizzato consisteva nel montare volume da 100Gb sul server Linux (fisico), crearvi sopra il filesystem XFS, scriverci sopra dei dati. Successivamente il volume sarebbe stato incrementato di un certo valore (abbiamo aggiunto blocchi da 10Gb ogni volta).

Dopo una serie (lunga) di tentativi abbiamo realizzato (nostro malgrado) che xfs_growfs non supporta il ridimensionamento delle partizioni se non con l’ausilio di LVM, divenuto pertanto una scelta obbligata. La configurazione con LVM e’ stata molto piu’ semplice del previsto. Un unico disco fisico definito nel contesto di LVM (/dev/sdc), creato un virtualgroup con quel disco, e quindi un volume logico con lvcreate. Lo storage di 100Gb e’ stato formattato con filesystem XFS, e quindi montato. Ridimensionare la partizione pertanto e’ divenuta una procedura consolidata:

  1. Incrementare lo spazio della LUN sullo storage
  2. Rescan delle LUN sul server *nix
  3. Ridimensionamento del disco fisico con pvextend
  4. Aumento della dimensione del disco logico con lvextend
  5. Incremento della dimensione del mountpoint con xfs_growfs -d

Considerazioni

In effetti esistono soluzioni che consentono di estendere il filesystem in modi alternativi, aggiungendo volumi o dischi fisici al volume LVM stesso, oppure utilizzando software di terze parti (ne esistono diversi che avrebbero consentito anche l’utilizzo di ext3 o ReiserFS), tuttavia avendo a disposizione una SAN questo tipo di gestione dello storage non mi piace. Preferisco avere per le mani un volume unico, sebbene di dimensioni considerevoli. Avendo un sottosistema di I/O che gestisce le operazioni di scrittura su disco gli aspetti hardware sono un problema relativo, mentre la gestione dello spazio assume un ruolo cardine nell’attivita’ di gestione quotidiana dei sistemi.

Estendere un disco o un mount point e’ secondo me una delle funzioni piu’ importanti quando si inizia a parlare di volumi di dati consistenti. Su piattaforme Windows Server (e anche XP), questo tipo di operazione puo’ essere effettuata grazie al supporto nativo che NTFS offre all’amministratore di sistema: estendendo la capacita’ di una LUN su una SAN, al rescan dei dischi e’ possibile procedere all’estensione del volume senza fermare i sistemi in produzione. IBM DS4700 Sistema EditorialeQuando si hanno dei dati con una certa fluttuazione e soprattutto continua, queste operazioni diventano una necessita’. Il nostro sistema editoriale, infatti, dispone di un DS4700. Su di esso manteniamo, oltre ai dati comuni, anche lo storico delle edizioni. Essendo uno storico, la capacita’ di questo storage e’ destinata a crescere con l’aumentare delle informazioni. Ieri il sistema era basato su dischi in un sottosistema tradizionale (DAS), quindi limitato dal hardware (controller) e dai fattori di forma (baie disco, midplane). Oggi su un’infrastruttura SAN, possiamo aggiungere spazio in base alle necessita’. La medesima funzionalita’ la offre anche il E6550, tuttavia il host e’ una macchina Linux la quale gestira’ sia un database che uno storage in linea con dati che possono crescere in tempi e proporzioni diverse. Di conseguenza un meccanismo di estensione del filesystem efficace e soprattutto sicuro era piu’ che necessario, e l’impiego di soluzioni di terze parti o - in questo caso molto peggio - Open Source introduceva delle variabili e dei rischi che su questa particolare infrastruttura non potevamo permetterci (decisamente un ambiente Mission Critical).

Un’ultima considerazione sull’amministrazione di una singola LUN di grosse dimensioni e piu’ LUN raggruppate in un volume logico. Intanto la semplicita’ di gestione, come detto prima. La seconda ragione e’ la gestione del backup: una singola LUN e’ piu’ mantenibile anche sotto questo aspetto: possono essere fatte delle snapshot del sistema utilizzando le funzionalita’ della SAN (flash copy, ecc.) il che semplifica notevolmente i processi di gestione dei backup dei dati, altro fattore assolutamente non indifferente.

Lo storage non e’ mai sufficiente per le nostre esigenze e, a seconda del business in cui operiamo, abbiamo esigenze drammaticamente diverse tra di loro. Le previsioni di crescita dello spazio su disco sono un’attivita’ importante, e anche le logiche di gestione dello spazio stesso. Una SAN sicuramente richiede investimenti maggiori rispetto a dischi interni alle macchine, tuttavia consente una gestione migliore degli spazi e una diversificazione della loro allocazione (magari oggetto di un altro testo).

Feb 8

Chieftech SATA Backplane SNT-3141

Chieftech SATA Backplane SNT-3141Sulla buona strada per risolvere i miei problemi di gestione dei dischi, oggi mi e’ arrivato finalmente il Backplane SATA per la macchina nuova. Il Chieftech SATA Backplane SNT-3141 e’ una bella macchinina tutto sommato, mi piace. E’ un box veramente scarno, ha il minimo indispensabile, come piace a me. Una volta tirate via tutte le parti attive (la ventola e’ l’unica presente a bordo in effetti), rimangono solo circuiti stampati. Mantiene cio’ che il nome promette: un backplane.

4 slot hot swap per dischi SATA, supporta le specifiche SATA2 per dischi da 3Gbps. Ogni disco ha la sua porta SATA dedicata, la spia di attivita’ e un interruttore!! Una ventola da 80mm sul retro si accende nonappena uno dei dischi viene inserito (si si, proprio cosi’!). Il telaio in alluminio e’ ben fatto, il box nasce per essere inserito all’interno di uno chasis chieftech, ma tutto sommato puo’ anche essere tenuto fuori appoggiato (basta montarci 4 feltrini sotto). Per ora ci attacco il secondo disco da mettere in RAID con quello di sistema, anche se sto ancora aspettando il cavo eSATA to SATA2 (visto che la scheda madre ASUS P5KC ha si un RAID controller Hardware on board, ma c’e’ solo un connettore SATA interno per il disco! Il secondo e’ di fianco alla connessione IEEE-1394, ed e’ un connettore eSATA).

Il JBOD (chiamiamolo cosi’ va) ha due connettori di alimentazione sia SATA 15 poli, sia standard 4 pin, quindi entrambe le tipologie di alimentazione sono supportate. La cosa che mi piace e’ che ogni disco ha il suo interruttore, per cui il problema del hotswap SATA e’ praticamente risolto in questo modo. Inoltre, la ventola del JBOD rimane spenta fintanto che tutti i dischi sono spenti: appena uno di essi viene acceso, si accende anche la ventola (che purtroppo e’ parecchio rumorosa). Un cicalino interno inizia a suonare se per caso la temperatura del backplane sale oltre una soglia impostabile a 55, 60 o 65 gradi centigradi.

Nel complesso e’ una soluzione che mi piace molto, soprattutto perche’ risolve il mio problema dell’interscambio di dischi e li tiene fuori dalla macchina (il che mi risolve anche problemi di condizionamento). L’unica lamentela e’ la ventola rumorosa, ma sto gia’ cercandone una da sostituirgli (silenziosa).

Feb 3

Fedora Core 8 & VMWare Server

vmware server @ En3pY LabsGira e rigira finalmente e’ arrivata la nuova macchina a casa da affiancare al PC su cui ho sviluppato e lavorato fino ad oggi. La cosa piu’ naturale da pensare e’: installo un sistema operativo minimo, e ci sparo sopra VMWare Server. Non e’ stata una cosa proprio semplicissima, per cui ecco un piccolo promemoria per il futuro, su come riuscire a mettere in piedi VMWare su Fedora Core 8.

Intanto una piccola carrellata sulla configurazione hardware che uso:

  • Processore Intel Core Duo Quad Q6600, 2,4GHz con 8MB L2 Cache, e un FSB da 1066MHz
  • 4Gb di memoria RAM DDR2 Dual Channel su 4 banchi da 1Gb, 800MHz
  • Hard Drive SATA-II 3GBs Western Digital SE16 da 500Gb, 7200rpm con 16Mb di cache

Intstallazione di Fedora

Fedora 8 con installazione da DVD risulta essere estremamente semplice. Come sempre preferisco l’installazione in modalita’ testuale, lingua inglese tastiera inevitabilmente inglese. Nessun pacchetto aggiuntivo (quindi lista dei pacchetti vuota). Dopo circa 10 minuti la macchina ha fatto il bootstrap con il nuovo sistema operativo funzionante. Il sistema vede correttamente 4 core, tutta la memoria e tutti i device necessari.

Installazione di VMWare

Anche installare VMWare non e’ problematico. Basta scaricare da Internet il RPM dei binari ed installarlo con RPM.

Startup VMWare

Ecco qui ho avuto un po’ di rogne. Eseguendo il comando /usr/bin/vmware-config.pl mi sono ritrovato con un errore:

None of the pre-built vmmon modules for VMware Server is suitable for your
running kernel. Do you want this program to try to build the vmmon module for
your system (you need to have a C compiler installed on your system)? [yes]

Con i pacchetti di default di Fedora (senza aggiunte durante la fase di installazione iniziale) la compilazione dei moduli fallira’. Ecco quindi la lista dei pacchetti rpm che ho installato per raggiungere lo scopo finale.

  • gcc
  • gcc-c++
  • kernel-headers.x86_64
  • kernel-devel
  • xinetd

Esiste un problema ulteriore che si verifica una volta installati tutti i pacchetti, nel mio caso l’output di vmware-config.pl e’ stato questo:

Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config4/vmmon-only’
make -C /lib/modules/2.6.23.1-42.fc8/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/kernels/2.6.23.1-42.fc8-x86_64′
  CC [M]  /tmp/vmware-config4/vmmon-only/linux/driver.o
/tmp/vmware-config4/vmmon-only/linux/driver.c: In function âLinuxDriver_Ioctlâ:
/tmp/vmware-config4/vmmon-only/linux/driver.c:1659: error: âstruct mm_structâ has no member named âdumpableâ
make[2]: *** [/tmp/vmware-config4/vmmon-only/linux/driver.o] Error 1
make[1]: *** [_module_/tmp/vmware-config4/vmmon-only] Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.23.1-42.fc8-x86_64′
make: *** [vmmon.ko] Error 2
make: Leaving directory `/tmp/vmware-config4/vmmon-only’
Unable to build the vmmon module.

Esiste una patch in giro su Internet che risolve questo problema, ed e’ disponibile a questo url: http://platan.vc.cvut.cz/ftp/pub/vmware/vmware-any-any-update115.tar.gz

Rieseguita la configurazione di VMWare tutto e’ andato a posto.

L’ultima cosa che mi ha dato problemi e’ lo startup del servizio VMWare. Francamente non uso SELinux e le librerie mi danno un po’ di noie, come di nuovo in questo caso. Per questa ragione in /etc/selinux/config ho impostato a permissive l’opzione SELINUX.

VMWare Server: up and running.

Jan 12

E6550 Storage by E4 Engineering

E4 Computer Engineering - E6550 StorageQualche tempo fa descrivevo in un post (Having fun with SANs) le varie opzioni SAN che sto vedendo in questo periodo. Nelle ultime due settimane, con Aste abbiamo fatto una serie di test sullo storage di E4 Engineering, il E6550.

La macchina che abbiamo in casa da vita alla seconda infrastruttura Fibre Channel del datacenter, dedicata ai servizi in outsourcing che verranno ora consolidati su questo dispositivo di memorizzazione. La macchina e’ configurata con doppio controller, quattro dischi da 750Gb SATA-2 (3Gbps di accesso) e 4 dischi da 146Gb SAS a 15Krpm (4Gbps). La rete F.C. e’ centralizzata su due switch Qlogic a 16 porte.

La prima cosa che decisamente risulta essere interessante e’ la coesistenza - sempre piu’ frequente sul mercato - di entrambe le tipologie di disco, SATA e SAS che coesistono promiscuamente nello stesso chasis. Questo consente agli amministratori di rete di dislocare sui dischi SATA dati che non richiedano una particolare velocita’ di accesso e caratterizzati - ovviamente - da un costo al Gb inferiore, ed avere la possibilita’ di ospitare anche dati che richiedono performance su dischi piu’ idonei (per esempio Mail Server o Database Server) sui dischi SAS.

E4 E6550 - Rear Cabilng

Il cabling della macchina e del network F.C. e’ relativamente semplice. L’alimentazione e’ naturalmente ridondata, con alimentatori hot-swap, attestati su due linee elettriche indipendenti (DX ed SX). I controller, ridondati anch’essi, con due porte per controller sono attestati sui due switch che creano il backbone F.C., anch’essi nominati DX ed SX per distinguere i percorsi di ridondanza. Come si puo’ notare dalla foto, i controller devono essere cablati in un modo particolare. Seguendo la direzione delle fibre noterete che la porta A del controller 1 (superiore) va attestata sullo switch su cui e’ attestata la porta B del controller 2 (inferiore) nel nostro caso switch DX. Stessa cosa, ma inversa, per la porta B1 e A2, che devono essere cablate sul secondo switch F.C. (SX). Ogni controller, una porta di management seriale (quella col cavo grigio) e una ethernet (verde). Il connettore che si vede (poco) a destra delle interfacce di rete, e’ il connettore di espansione per i chasis di espansione (Jbod) ed e’ lo stesso connettore che si usa per le connessioni Infiniband. Anche nel caso delle interfacce di management via Ethernet, rete DX e rete SX.

La configurazione dello storage e’ piuttosto elementare. L’interfaccia di gestione e’ accessibile via HTTP o HTTPS, Telnet, SSH e naturalmente via seriale. La nostra scelta e’ stata fatta per il HTTPS ed SSH, disabilitando tutto il resto. La mancanza di applet java all’interno del pannello di configurazione rende il pannello di configurazione molto piu’ snello da gestire, poiche’ la JVM non deve essere invocata (a differenza dello Switch Manager o altre SAN).

I test condotti, una volta terminata la configurazione dei Virtual Disk (RAID) e dei Volumi sono stati quelli di stabilita in caso di fault. Il host collegato e’ un server E4 con un HBA Qlogic a due porte e VMware ESX 3.5. I test condotti sono stati relativamente semplici:

  • Disconnessione di una delle due connessioni tra host e switch F.C.
  • Disconnessione dei canali dei controller
  • Disconnessione dalla rete elettrica di uno degli switch F.C.
  • Distacco totale di un controller
  • Distacco totale di un alimentatore

L’unico problema in cui siamo incappati e’ stato nella disconnessione dello switch F.C. per un’errata configurazione del MPIO. Al distacco dello switch VMware (che stava facendo una copia di macchine virtuali) e’ andato in errore. L’errore - che si pensava fosse dovuto alla mancanza della configurazione MPIO nel Kernel di VMWare - in realta’ e’ stato risolto con l’attivazione del supporto alla Virtualizzazione nel BIOS della motherboard (Intel) del server. Attivato il supporto, la stessa prova e’ stata rieseguita con successo.

Con questo devo dire che la configurazione hardware della SAN e’ stata un successo e relativamente semplice (in un’oretta abbiamo installato e cablato tutto), la parte di configurazione software la rimando ad un altro post.

Jan 11

Richiesta attivazione DB

Stamattina arrivo in ufficio, e l’occhio mi cade subito su una richiesta che recita:

Attivare hosting + DB per cliente xxxx
Dati database:
Nome utente: pippo
password: abc863jx22 (la password almeno era complessa)

Di norma mi considero una persona tollerante (molto tollerante), ma dopo due anni di lotte in cui ho chiesto - contornando di esclamazioni in ogni lingua - di specificare sempre il tipo di database che va attivato, oggi la mia reazione e’ stata da BOFH: siccome avevo premesso che l’avrei fatto, ho installato Oracle sul server. Alla prossima installo DB2. Poi Sybase. Poi passo a Teradata… e siccome poi dicono che “tanto si arrabbia ma non lo fa”…

Richiesta attivazione database (quale?!?!)

 

Jan 5

Datacenter con carattere

Datacenter Promo.itDa sempre sono stato un maniaco dell’immagine: un datacenter deve essere non solo efficiente e ordinato: deve avere carattere, deve essere bello. Finalmente abbiamo deciso di dargliene un po’ :) Idea congiunta mia e di Aste83, ecco il risultato: 2 ore di lavoro, costo tecnicamente zero, un sacco di divertimento e soprattutto una soddisfazione per gli occhi e lo spirito!

Vai alla gallery

Dec 14

Per recuperare il 29/02/2008

Un noto vendor IT ha deciso di togliere un giorno all’anno per compensare gli anni bisestili…

Zyxel Calendar 2007

Nov 28

E’ venuto a mancare

Funeral for a friend

Non e’ mai bello sentire certe notizie. Nessuno di noi voleva credere a cio’ che ci e’ stato detto. Un nostro collega e’ venuto a mancare in circostanze davvero spiacevoli. Lo ricordiamo per la sua professionalita’… lo ricordiamo per la sua persona.

Addio Roberto.

Nov 26

WTF: phpBB 404

Oggi deve proprio essere la mia giornata fortuna… prima YouTube, un disservizio di una mezz’oretta (non documentata da nessuna parte)… poi, ora, phpBB.org da un bel 404… si vede che domenica scrivere codice o cercare documenti non e’ piu’ cosa consona

phpbb.org 404

Nov 25

Umh… Youtube down?

Oggi mentre lavoravo qua e la mi sono ritrovato con un problema se non altro curioso…

Youtube unavailable