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.

dimecres, 17 de març del 2010

Complicant-me la vida: Actualitzant la BIOS, mètode pedestre


La placa base de l'equip és de l'any 2002 (Força vella, sí) però el fabricant LexCom continua mantenint els fitxers de suport en el seu web, així que abans de fer res més vaig comprovar si existia alguna actualització i en efecte, hi havia una versió nova de la BIOS del 2004, no tots els fabricants mantenen arxius de fa tants anys.

Actualitzar-ne la BIOS a l'última versió disponible mal no hauria de fer i sempre es soluciona algun que altre bug, em podríeu dir que si no he trobat cap problema de funcionament no val la pena, que el més probable és que no solucioni res que m'afecti, que és inclús un procediment perillós (Et pots quedar sense placa si alguna cosa surt malament), però no sóc molt amic del "Si funciona no ho toquis!", després de tot, no estaria fent tot aquest projecte.

Recapitulem: placa base del 2002, jo a l'any 2010 i un viatge temporal al passat pendent. Quin és el procediment per actualitzar una BIOS? Doncs insereixes un disquet d'arrancada de DOS a la disquetera i un cop en línia de comandes canvies el disquet posant el que conté la versió de BIOS nova i la utilitat per "flashejar-la"... El miniPC no té disquetera i jo fa temps que no utilitzo disquets, i agraït n'estic!

El curiós del tema és que estic preparat per la vida moderna i disposo de tot el necessari, així que armat de paciència, una disquetera externa USB i tres disquets TDK reciclats que tenia guardats per emergències em poso en el procés.

Primera efemèride, aconsegueix un disquet d'arrancada de DOS: Ja he dit que estic preparat per la vida moderna, de manera que tinc guardat per allí un fitxer executable que genera un disquet d'arrencada de MS-DOS, una imatge dels que acompanyaven a Windows 98 Segona Edició. Com que l'executable és només per Windows canvio el meu equip a Windows 7 i després de veure que tampoc és compatible amb Windows 7 de 64 bits, canvio de màquina a una amb Windows XP de 64 bits on misteriosament (o per casualitat, ves tu a saber en que pensava Bill Gates en aquell moment!) si funciona l'executable i també hi tinc disquetera (És bo no llençar res!), però ESPERAT! Dels tres disquets al final només en funciona un! Així que al final haig de gravar-hi la imatge, arrencar el MS-DOS, esborrar altre cop el disquet, posar-hi els arxius que necessito per fer l'actualització i finalment fer l'actualització.

Temps total per realitzar una punyetera actualització de BIOS de 256 KiO per algú que està fart de fer-ho i tenia totes les eines: més d'una hora.

Entenc que no es procediment molt comú, no sempre es fa, però els fabricants s'haurien d'esforçar una mica en millorar-lo. A dia d'avui encara hi ha fabricants que depenen d'aquest mètode completament pedestre, d'altres tenen utilitats per Windows que faciliten molt les coses, però has d'anar molt amb compte igualment, cada model de placa base té la seva eina i cada fabricant també. I intentar fer-ho des de Linux és poc menys que un suïcidi.

Tot això em porta a pensar que entenc els motius per a que existeixi un projecte de codi lliure d'aquests que no se'n sent a parlar però que és prou interessant: CoreBoot

És un projecte per a proporcionar als fabricants i als usuaris, si volen, una BIOS per a les plaques base de codi lliure, evidentment, amb les corresponents eines comuns per a fer la feina per la majoria de sistemes operatius que existeixen, i suportant estàndards molt més moderns ens plaques base que el fabricant ja ha abandonat. Li queda camí per córrer, però em fa pensar en que és possible tindre una placa base amb suport EFI sense que el fabricant l'hagués dissenyat així, i tot el que sigui allargar la vida dels components benvingut sigui, i si no, que li diguin a la placa base del 2002 que estic utilitzant!

dilluns, 15 de març del 2010

Complicant-me la vida: Configurant un encaminador casolà per accedir a Internet

Si és divertit complicar-se la vida!

M'explico, he aconseguit per aquelles coses de la feina un ordinador vell que porta un processador de baix consum prou potent (VIA C3 800 Mhz) i em va semblar que seria la plataforma ideal per a configurar-m'hi una distribució Debian i utilitzar-la d'encaminador/tallafocs per l'accés a Internet. La idea és substituir un d'aquest fantàstics aparells que ens proporcionen els nostres proveïdors d'accés que fan de tot però no fan res bé: No n'he trobat cap que quan actives el control de QoS continuï tenint suficient potència per no perdre connexions, els que suporten TelefoniaIP acostumen a penjar-se i no poden canviar d'operador, els tallafocs són poc configurables i la seguretat discutible, ...

En resum: Puc buscar-me més excuses per complicar-me la vida, però el que intentaré fer és reinventar la sopa d'all a la meva manera, evidentment tampoc seré el primer en fer-ho, de fet, FONera em ve repetidament al cap, i OpenWRT és un altre projecte que també em fa sonar campanes.

L'ordinador que utilitzaré té les següents característiques tècniques:
  • Placa base LexCom BN860T VIA mini-ITX (Una review)
  • DIMM 512 MB de memòria RAM SDR PC133
  • Font d'alimentació sòlida de fins a 60 W
  • Processador de baix consum VIA C3 a 800 Mhz (Samuel 2)
  • Tarja PCI de xarxa sense fils 802.11n (TP-Link TL-WN951N)
  • Disc dur IDE de 2'5" de 20 GB
M'agradaria trobar i comprar un elevador PCI sobre placa d'1 U (muntatge horitzontal), això em permetria no canviar de caixa i estalviar-me unes peles, si no, hauré de comprar una caixa on el connector d'expansió PCI de que disposa la placa base es pugui utilitzar en el seu muntatge vertical. De moment no he tingut sort.

La tarja 802.11n és per configurar un punt d'accés de xarxa sense fils: Posats a complicar-nos la vida, compliquem-nos-la del tot, no? He comprat aquest model perquè sabia que estava ben suportat pels nuclis moderns de Linux.

Dues coses a dir importants de l'equip que m'agraden, consumeix molt poc, entre 12 i 24 watts en funció de la freqüència dinàmica de treball del processador (400-800 Mhz), i que en conseqüència no fa gens de soroll, el processador porta un dissipador petit completament passiu que està tebi al tacte i com ja he dit, la font d'alimentació és un totxo de 60 W com si fos de portàtil.

El que tenim fins ara ens permet crear un encaminador, però encara no tenim com accedir a Internet, necessitem un mòdem ADSL2+. Aquí és on entra el proveïdor de torn d'accés a Internet i la seva amplia oferta de models. Com que l'ordinador que tenim només disposa d'una interfície de xarxa ethernet (La banda local de la xarxa) i el port d'expansió PCI ja el tenim ocupat necessitem una forma d'afegir una segona interfície de xarxa per poder connectar a Internet: Un LiveBox 1.1 amb connector USB ens hauria de servir per fer la feina, gentilesa d'un proveïdor taronja i un amic que no el necessitava. Aquest USB quan l'endolles a l'ordinador et proporciona una interfície de xarxa nova que servirà perfectament pel que ens ocupa. Sort que el nucli de Linux el reconeix!

Espero que les properes entrades siguin menys llargues o com a mínim menys difuses, i que no triguin gaire, procuraré penjar alguna foto, però és que ara mateix no tinc càmera! (Editat: JA TINC CÀMERA)

Coses d'un aprenent que encara té ganes d'aprendre.

dissabte, 19 de setembre del 2009

Comandes útils pel postgres

Em sembla d'utilitat fer entrades al blog que em serveixin com a recordatori de comandes que faig servir i que també puguin ser útils per altres que tracten els mateixos temes. Així que deixo unes quantes consultes que són bàsiques però interessants quan treballes amb el postgres.

  • Per saber els usuaris de la BD:
> SELECT usename FROM pg_user;
  • Per veure les bases de dades que tens:
> SELECT datname FROM pg_database;
  • Per saber el nom de les columnes per una taula:
> SELECT column_name FROM
information_schema.columns WHERE table_name ='table';
  • Per saber quines taules té una determinada BD, primer ens hem de connectar específicament a la BD:
# psql -U postgres -p XXX -d DATABASE
> SELECT table_name FROM information_schema.tables WHERE
table_schema = 'public'

divendres, 9 de maig del 2008

El futur de la criptografia

M'acaben d'enviar aquesta noticia i m'ha semblat digna de fer-ne difusió. De com la física cuàntica canviarà les nostres vides (almenys la dels informàtics i els telecos).
Lo que s'han oblidat de mencionar es que cap veritat es absoluta ni cap sistema infalible. El sistema que avui pot semblar segur no ho serà en el futur i si no, que li preguntin a Murphy.