diumenge, 11 d’abril del 2010

Complicant-me la vida: RAID1 Compact Flash 8+8 GO

No fa massa a la feina va aparèixer un encaminador/tallafocs muntable en armari rack d'una U, força senzillet i no massa nou diria jo, però segur que barat no era. El tema és que va arribar a les nostres dependències perquè no funcionava, i no funcionava perquè el disc intern que utilitzava era una targeta Compact Flash de tipus II i s'havia espatllat. Al tractar-se d'un dispositiu de memòria Flash ens trobem amb una vida limitada en quant a nombre d'escriptures màximes possibles a la mateixa cel·la de memòria,no són poques, però acaba passant.
Una alternativa relativament nova són els discos SSD,que intenten solucionar aquest problema utilitzant diverses tècniques: Utilitzar memòria SLC (Single-Level Cell) enlloc de MLC (Multil-Level Cell), reserven un tan per cent de cel·les per anar-les utilitzant a mesura que les ja en funcionament deixen de fer-ho, s'esborra només la referencia de les dades i no les dades en si (TRIM), ... No vull entrar-hi.
Com que el pressupost no està per anar comprant discos SSD i els requeriments tampoc crec que ho demanin ho faré el millor possible, a lo pobre, però que s'hi assembli: M'han arribat fa poc de Xina dos adaptadors IDE de 40 fils a Compact Flash, són adaptadors completament passius, doncs les targes Compact Flash acceptem sense problemes les comandes d'un bus IDE, només adapten els connectors, això explica que valguessin uns 2'50 €. Aquests adaptadors i dues targes Compact Flash de 8GO d'alta velocitat (30 MiO/s segons les especificacions, uns 30€ cada una) passaran a ser el dispositiu d'emmagatzematge de l'encaminador.
Per què dues? Perquè les munto en mode RAID1. És relativament senzill, només afegint el suport necessari al nucli de Linux i instal·lant les eines d'espai d'usuari mdadm en tenim prou per a definir els volums RAID1 a nivell de partició, i un cop definits els volums és completament transparent per la resta de sistema operatiu. Amb RAID s'aconsegueix redundància de dades i més velocitat de lectura, que són els dues principals pegues de les memòries Flash, quedant una mica pal·liades.
Si veieu a la foto no se si queda molt clar, els dos adaptadors estan units per uns cargols i uns separadors, gentilesa d'un amic manetes que jo no en tenia, i un parell de tacs de goma cònics autoadhesius que sí tenia per allí. Ha quedat molt bé, robust i compacte, el tema és que dins la caixa no sobra l'espai, i que així hi caben perfectament.

De quan un ordinador és massa vell per Debian

Quan penso en instal·lar un sistema operatiu per un servidor normalment penso en una distribució GNU/Linux, i si a sobre em deixen escollir a mi normalment penso en una Debian completament pelada, m'agrada la idea de no malbaratar recursos en interfícies gràfiques que no utilitzaré i demés serveis. S'instal·la només el que necessites i tens força control sobre això.
Perquè m'enrotllo dient això? Perquè al miniPC al ser un projecte personal i un ordinador de potència limitada hi he instal·lat una Debian 5.04.

Els problemes hi han sigut, si tot funcionés a la primera seria massa fàcil. Crec que si una cosa ha quedat clara és que estic utilitzant un maquinari vell, 2002 és molt vell en termes d'informàtica, coses de la Llei de Moore. Això implica que a nivell de potència estem limitats, però també implica que coses que donem per suposades actualment no tenen perquè funcionar:
Fa algun temps que seguint aquestes instruccions i utilitzant el corresponent llapis de memòria USB faig les instal·lacions de sistema operatiu des d'aquest dispositiu. Debian és una de les imatges que utilitzo normalment i acostuma a funcionar. El problema ve quan tens un equip que tot just té USB 1.1 (VIA UHCI) i la BIOS és del 2002. T'alegres molt quan veus que hi ha les opcions necessàries a la configuració i és capaç d'arrencar sense pegues utilitzat l'USB. Disposa de múltiples emulacions, incloent disquetera, CD-ROM i disc dur (En la majoria de BIOS modernes el mode d'emulació s'escull automàticament), això implica que la BIOS converteix les crides realitzades a través de les seves rutines a peticions per USB per al dispositiu vàlides, una mena de capa d'emulació que fa creure al sistema operatiu que en realitat l'esmentat dispositiu no està endollat per USB si no per un bus més adequat a cada cas, si parlem d'una disquetera la controladora de disqueteres, en el cas d'un disc dur o una unitat òptica el bus IDE.

Però resulta que la emulació de disc dur que fa per treballar amb dispositius USB falla en aquesta placa base! Ni amb la versió actualitzada de la BIOS funciona, i el que és pitjor, falla a mitges. A mig arrencar el programa d'instal·lació es queda penjat i poca cosa més pots fer, però clar, determinar que és això el que t'està fallant és un altre tema, de fet, com la majoria de vegades, es determina per proba i error, i la cosa és complica quan hi ha coses que funcionen perfectament (Una imatge LiveCD d'Ubuntu també del mateix llapis).
Un cop descartat que el llapis USB tingués errors, que la imatge ISO de Debian s'hagués baixat malament, que es necessités arrencar amb algun paràmetre de compatibilitat el nucli, de córrer el memtest++ durant tota una nit en busca d'errors de memòria, de desendollar i desactivar tots els dispositius prescindibles (Tarja de so integrada, ports series i paral·lel, controladora de disquetera, ...), de provar d'utilitzar el mateix llapis en un altre ordinador pel mateix procediment... Al final he hagut de muntar-hi un lector òptic tan si com no, i cremar una imatge de Debian en CD.

Temps total d'instal·lació del sistema base de Debian amb el CD? Uns 30 minuts.
La informàtica és fàcil!

divendres, 2 d’abril del 2010

La BIOS nova ha servit per alguna cosa!

Després d'haver actualitzat la BIOS a la versió més moderna, com vaig comentar a l'entrada anterior, i sense que serveixi de precedent ja he trobat una conseqüència positiva!
Resulta que he aconseguit un modul de memòria exactament igual que el que ja tenia instal·lat a l'equip, per tan, 512 MiO + 512 MiO són un total de 1 GiO. (Feia gracia utilitzar la nomenclatura, pels que no ho vegin clar: MiO = MebiOctet)

Doncs resulta que si no hagués actualitzat la BIOS l'equip no m'hauria acceptat treballar amb els dos mòduls, apart d'haver de canviar la configuració per a que la placa base accepti automàticament qualsevol dels tipus suportats de mòduls de memòria (2 o 4 bancs) i activar-ne la detecció automàtica de velocitat de funcionament per SPD, a més a més també calia actualitzar-la en aquest cas. Algun bug impedia que la placa base detectes correctament tota la memòria i era completament incapaç d'arrencar, posant-se a pitar com una posseïda queixant-se de la memòria.

Resumint: L'equip ara disposa de dos mòduls iguals de memòria, doblant-ne la memòria disponible.