Dec 05

Update VMWare ESXi 3.5 Update2 -> Update3 build 123629

Reading time: 2 – 3 minutes

Vaig boig des de fa almenys 2 mesos intentant saber perquè el VMWare ESXi queda freeze en un servidor que al final només hi tenia el pfSense i una Ubuntu 8.04.1 virtualitzats. Tan és així que al final, per saber d’on venia el problema he montat un altre servidor ESXi i he posat una màquina virtual amb pfSense a un i un Ubuntu 8.04.1 a l’altre. Doncs bé, finalment s’ha concretat el problema que venia de l’Ubuntu com que ja sabia de què pecava el tema m’he posat a buscar als forums d’VMWare i resulta que la versió Update 2 del ESXi no suporta Ubuntu 8.04.1, també és mala sort la cosa.

Doncs bé, finalment he vist que a finals de Novembre havia sortit l’Update 3 del ESXi i després de suar una mica intentant baixar-me l’actualització, no ho he aconseguit. Així doncs, m’he baixat una ISO sencera i he començat una instal·lació del ESXi sobre del sistema que ja tenia corrent amb Update 2. Encomptes de dir-li que instal·les des de zero li he dit que fes una reparació (repair) de l’instal·lació actual perquè no toques el ‘local storage’ (datastore1) que per defecte esta al mateix disc. Un cop re-instal·lat he aplicat el que explico a l’article:VMWare ESXi: PANIC: Error while reading file: -3, state.tgz

O sigui, que he tornat a importar totes les màquines que tenia i com que continuo sense haver fet un backup doncs no he pogut restaurar la configuració del VMWare ESXi. Però la qüestió és que he aconseguit actualitzar. Digueu-me radical però quan he vist que el manual de com fer actualitzacions al ESX ocupava 100 pàgines he pensat que això també funcionaria i així ha estat. Si algún dia m’animo a mirar el manual ja explicaré la forma oficial de fer-ho, o bé, si algú ho sap que avisi.

Ara només cal creuar els dits perquè això aguanti més d’una setmana que és el que acostumava a durar el sistema sense quedar-se fregit, o com diuen els aglosaxons: freeze.

Dec 04

vmware: Convertint una màquina virtual (.vmx) a format estàndard (.ovf)

Reading time: 1 – 2 minutes

Mai havia tingut la necessitat de fer la converció a OVF d’una màquina virtual, aquest és el format estàndard de les màquines virtuals diria que per tots els sistemes de virtualització malgrat n’hi ha molts que encara no el suporten. Doncs en el meu cas el que he fet és exportar unes màquines virtuals d’un VMWare Server a un VMWare ESXi convertint-les a OVF, l’ideal hagués estat migrar-les directament ja que les utilitats de VMWare OVF Tools ho soporten però al no tenir les màquines en la mateixa xarxa no volia que la migració durés dies i dies i més dies.

El procés: he parat les màquines virtuals, he modificat la configuració de les mateixes per treure el dispositiu de ‘CDROM’ que tenia mapejat contra una .ISO que em donava problemes en el procés i després he fet una cosa tan simple com:

ovftool /path_to_vms/vm_dir/vm_file.vmx /tmp/vm.ovf

El projecte Open Source que implementa OVF el teniu a SourceForge. Malgrat això jo ho he migrat amb les OVF Tools d’VMWare.

Dec 02

Després em pregunten perquè no m’agrada el Windows…

Reading time: 2 – 2 minutes

Aquesta tarda he patit un expedient X’s, de fet, tots estem acostumats a ser víctimes d’aquests fenòmens quan treballem amb ordinadors i si és amb Win encara més. La qüestió ha estat amb una placa IB830H. Aquesta placa porta embeded una Intel PRO/100 VE una targeta més que típica i tòpica en sistemes professionals. A més podria afegir que és una de les targetes que més m’agradan. Per si fos poc el seu suport en sistemes de Microsoft estan soportadíssimes, com no podia ser d’altre forma.

Doncs la qüestió és que després d’instal·lar els drivers que havia descarregat des de la web d’intel la targeta es detectava perfectament i si esnifava el canal fins hi tot veia a passar paquets però en cap cas la targeta rebia cap paquet.

Després de fer mil proves i canviar els drivers un munt de vegades, la cosa no ha canviat gens i quan ja estava apunt de llençar la toballola he provat una cosa tan estúpida i simple com:

  • Entrar a la BIOS
  • Desactivar la targeta de xarxa
  • Arrancar el Windows
  • Després apaguem
  • Tornem a entrar a la BIOS
  • Activar la targeta de xarxa
  • Tornem a entrar al Windows
  • … i ja va tot sense tocar res!!!

Increible, eh!? doncs això és el bonic que té el Windows. He de dir que com sempre passa durant tot aquest procés incert he arrencat amb una CD de Gentoo i la targeta de xarxa sense fer totes aquestes tonteries funcionava perfectament. O sigui, que rebia i enviava paquets sense problemes. Realment això és una altre prova de com el Windows és contraproduent en molts i molts sentits!

Nov 25

ciopfs: case-insensitive ext3 via fuse

Reading time: 1 – 2 minutes

De tots són conegudes les aplicacions que usen FUSE per obtenir sistemes de fitxers del més inversemblants a través e l’espai d’usuari amb un kernel Linux. Doncs bé, en aquest cas el que hem calia era aconseguir que una partició ext3 en un dels seus directoris fos case-insensitive. O sigui, que no fes ús d’una de les funcions més coneguda del món Linux/Unix, la distinció en majúscules i minúscules en els noms d’arxius i directoris.

Doncs bé, la solució ha estat ciopfs aquesta aplicació que funciona igual que tantes altres aplicacions FUSE, ens permet re-montar un directori en un nou punt però sense sensibilitat en les maj-min. Per cert, com que esta en la seva versió 0.2 no m’ha estat precisament trivial compilar-lo amb una Debian Etch. He hagut de compilar a mà el FUSE i instalal·lar els paquets de ‘dev’ dels requeriments indicats a la documentació del aplicatiu. Espero que mica en mica això millori.

Nov 24

VMWare ESXi: PANIC: Error while reading file: -3, state.tgz

Reading time: 2 – 4 minutes

Després de les ventoleres que esta fent aquests dies a casa i de que un dels SAIs degut a les pujades i baixades de tensió acabes més penjat que un fuet, el servidor ESXi s’ha quedat grogui i no arrencava. O sigui, que com sempre les coses simples i automàtiques acaben donant un error incomprensible sobre el que només es podia fer una recerca per internet per solucionar-lo. L’error: PANIC: Error while reading file: -3, state.tgz

Gràcies als fòrums d’VMWare vaig trobar un thread que ho explicava de forma clara: la solució. En poques paraules i resumint tornem a arrencar el sistema però amb el CD d’instal·lació d’ESXi i li diem que volem reparar el sistema. Després si som persones precabudes tindrem un backup de la configuració del VMWare Infraestructure que a través de la consola d’administració podrem recuperar. Però si com és el meu cas no teniu còpia de seguretat la cosa té un segon problema. Recuperar les màquines que tenim al VMFS que segons ens deia al procés de recuperació no ha estat borrat i per tant conté les màquines virtuals que tenim montades.

Doncs bé, en aquest cas als fòrums d’VMWare vaig trobar una solució aproximada però que pel cas hem va permetre intuir la solució, el que preten explicar la solució és com borrar una màquina virtual després de reparar el sistema. Doncs bé, un cop som dins la consola d’administració d’VMWare Infraestructure que ja no té les nostres màquines virtuals perquè acabem de reparar el sistema el que cal fer ara és anar a la pestanya ‘Configuration’, després dins la secció ‘Harware’ on posa ‘Storage’. Ara a mà dreta veurem el ‘datastore1’ punxem amb el ratolí amb el botó dret i al menú contextual apretem ‘Browse Datastore…’.

Aquí ja hauriem de veure el llistat de directoris que contenen les nostres màquines virtuals, un cop dintre del directori de la màquina que volem recuperar localitzem el fitxer amb extenció ‘.vmx’ , botó dret del ratolí sobre el ftixer i seleccionem l’opció ‘Add to inventory’. Ara ja haurieu de veure la màquina dintre de la pestanya ‘Virtual Machines’ del VMWare Infraestructure. La resta de configuracions que havieu fet dins del VMWare infraestructure s’han perdut. O sigui, que les heu de tornar a fer. Per exemple, en quin ordre s’engeguen les màquines, recursos reservats per les màquines i tota la resta d’ajustaments. Però bé això comparat amb perdre totes les màquines no és res. Oi?

He de reconeixer que malgrat la petada que va fer tot plegat estic molt content amb la simplicitat que ha tingut a l’hora de solucionar-se. M’esperava haver de patir molt més. Cada dia estic més convençut de la gran feina que fa la gent d’VMWare, llàstima que sigui tot tan privatiu i tancat.

Nov 21

Control de la velocitats dels ventiladors en Linux (fancontrol)

Reading time: 3 – 4 minutes

Mai havia tingut aquesta necessitat, de fet, coneixa lm-sensors, sensors, fancontrol i pwmconfig que són les eines que he usat per solucionar aquest tema. Però realment no m’havia posat a rascar en aquest tema. Però la veritat és que la cosa no ha estat tan complicada i sembla molt potent. Abans de seguir volia fer notar que el que jo he provat era amb:

  • Placa base: Intel D945GCLF2
  • SO: Ubuntu 8.10

Doncs bé, el primer és executar pwmconfig el qual es permetrar detectar quins sistemes de monitorització té el nostres sistema. Quan l’executeu veureu que és un assistent que ens va fent preguntes molt simples. La finalitat del mateix és dir-nos quins mòduls del kernel s’han de configurar i crear el fitxer /etc/fancontrol aquest fitxer és necessari per poder llençar després el fancontrol. Bàsicament per parametritzar el comportament dels ventiladors amb aquests paràmetres:

  • INTERVAL cada quan s’han de consultar els estats dels sensors
  • FCTEMPS quins sensors de temperatura té el sistema
  • FCFANS quins ventiladors té el sistema
  • MINTEMP Temperatura mínima del sensor X
  • MAXTEMP Temperatura màxima del sensor X
  • MINSTART Temperatura mínima a la que ha d’estar el sensor X perquè s’inicii el ventilador
  • MINSTOP Temperatura mínima a la que ha d’estar el sensor X perquè es pari el ventilador
  • MINPWM valor PWM mínim que assignem al ventilador
  • MAXPWM valor PWM màxim que assignem al ventilador

Ara toca explicar què és això del PWM, doncs bé és la senyal que s’usa per controlar la velocitat del ventilador. Com podem saber els nostres valors PWM a quantes revolucions per minut del venitlador corresponen (RPM), doncs al executar el pwmconfig si ens hi fixem es crea una taula de valors on es veu la correspondència entre PWM i RPM. Així doncs, si per exemple volem que a la mínima temperatura d’un sensor el nostre ventilador estigui parat podem assignar el valor PWM que correspon a 0 RPMs. És molt important que quan el pwmconfig fa les proves pertinents per saber la relació PWM-RPM ens fixem que el ventilador va canviant de velocitat fins a parar-se. Si axiò no passa vol dir que alguna cosa esta fallant i que no es poden controlar els ventiladors. Perquè tot això sigui així només cal llençar el procés fancontrol.

Si el que volem és saber a quines temperatures estan els nostres sensors, el que s’ha de fer és executar la comanda: sensors. Aquesta ens informarà de les temperatures de tots els sensors que ha trobat i la velocitat dels ventiladors. A cotinuació ús poso un screenshot perquè veieu com queda:

sensors

Si llenceu el sensors amb un watch, o sigui, watch sensors podreu veure en temps real com van canviant les velocitats dels ventiladors i les temperatures dels sensors. En el meu cas tot això és més quesuficient pel que vull. Però si el que voleu són eines gràfiques per monitoritzar totes aquestes dades hi ha un munt d’applets, desklets, tray icons i similars tan per kde com per gnome que ús permetran consultar aquestes dades.

Oct 15

Zivios: Introducció

Reading time: 4 – 6 minutes

El mes de Juny vaig parlar-vos de la meva idea de com montar un sistea SSO, concretament era al podcast 1×10. Doncs Zivios malgrat no és literalment una implementació d’aquest sistema si que ens nutreix d’un munt d’eines per tenir un sistema que serveixi de base per aquella idea. De fet, serveix per moltes altres coses i potser la idea que porten els seus creadors és més semblant a crear un sistema de directori (tipus AD) que no pas només un sistema d’SSO. Però sigui com sigui, després d’experimentar unes quantes hores amb el Zivios crec que val la pena que ús en faci cinc cèntims.

Algunes de les funcions de Zivios són:

  • Identity managament
  • Single sign-on
  • User, group and computer provisioning
  • Remote management of services
  • Core Infrastructure Services (NTP,DNS, CA, etc)

El projecte esta encara molt i molt verd, tot just s’ha publicat la versió 0.5.1 i les he passat ‘canutes’ per fer coses ben simples o per entendre com usar l’eina degut a la seva poca documentació, tan és així, que fins hi tot vaig haver d’entrar al canal d’IRC que tenen com a suport a parlar amb alguns dels desenvolupadors perquè em donessin un cop de mà per entendre algunes coses. De fet, hi ha diverses coses que pretenc integrar amb Zivios que encara no hem funcionen. Però malgrat totes aquestes notes de poca maduresa del projecte, el tema promet moltíssim i l’enfoc que li han donat a les coses m’encanta.

Per començar, les eleccions de les aplicacions Open Source que han escollit ja m’han semblat un gran què: MySQL, OpenLDAP, Heimdal Kerberos, PHP5, Memcached, Python+Twisted, XMLRPC, OpenSSL i moltes altres eines que formen part del meu dia a dia. Així doncs, no suposa un gran problema anar a mirar les entranyes del Zivios per entendre com funcionen algunes de les seves parts. Totes aquestes eines es combinen en un model client-servidor per tal de poder administrar de forma centralitzada diverses funcions de les estacions de treball, servidors, serveis i d’altres.

Cal destacar també que els serveis que s’administren des de Zivios es poden ampliar mitjançant el desenvolupament de plug-ins. Per exemple, ja hi ha fets plug-ins per samba, asterisk i algún servei més. En el meu cas on estic posant més enfasi és en aconseguir integrar els servidors amb LDAP i Kerberos, així doncs puc tenir una base de dades d’usuaris, grups i autenticació pels accessos als servidors. A més a través de les ACL que té Zivios puc controlar qui pot i qui no entrar als servidors. Per altre banda, també he aconseguit connectar OpenFiler a Zivios, el problema que tinc ara és que no me’n ensurto amb l’autenticació però suposo que és qüestió de temps. Quan aconsegueixi combinar tot això i si els resultats són els esperats espero poder-ho montar com a plug-in.

Per posar un exemple pràctic i perquè es vegi la potència de la idea, podem des del panell de control web de l’eina donar d’alta una localització, dins una oficina, després els seus usuaris, grups d’usuaris, serveis, servidors i estacions de treball. Després podem sobre tots aquests agents definir per exemple, les extencions d’asterisk, els accessos als recursos compartits per samba, el seu sistema d’autenticació centralitzat, configuracions DNS, NTP i moltes d’altres configuracions tot de forma centralitzada còmode i senzilla d’aministrar. A més podem establir usuaris amb certs permisos d’administrador per delegar-los tasques que es podran gestionar des de l’interficie web.

Sota el meu punt de vista el projecte és molt ambiciós i veig difícil que pugui arribar a madurar prou com per poder fer tot el que s’apunta des d’un inici. Però sent pragmàtics només amb el que ja es dibuixa ara mateix i per gestionar les parts més comuns entre diversos sistemes ja em conformo. És a dir, com a evolució natural del sistema NIS i servei de SSO, crec que ja és més que vàlid. Després si puc fer que s’integri amb software appliances que uso de forma habitual crec que puc arribar a tenir un gestor de la infraestructura de xarxa més que decent. Quan parlo de software appliances ara mateix tinc al cap sobretot OpenFiler i pfSense.

Sep 14

Problemes de rendiment OpenFiler amb VMWare Server [solucionat]

Reading time: 3 – 4 minutes

Després de molts mesos amb un greu problema de rendiment al servidor SAN/NAS de casa que tinc montat en una màqina virtual d’VMWare Server sobre Ubuntu 8.04 LTS, per fi m’he decidit a arreglar el problema. En algún altre post havia comentat el problema, la qüestió és que el rendiment dels 1.5Tb que tinc al servidor des del sistema operatiu de Host és d’uns 70MB/s però les mateixes proves des dels discos gestionats per la màquina Guest, o sigui l’OpenFiler, donaven uns patetis 3, 4 o com a molt 5MB/s. O sigui, que quan s’accedia per NFS o SMB als recursos compartits el rendiment era insuficient i d’altres servidors o màquines que usen aquests recursos se’n veien repercutits.

Finalment després de buscar una mica vaig veure que el problema venia de les interrupcions del sistema que es perdien degut a que el clock rate del servidor Host no era capaç de processar tantes interrupcions. Així doncs, investigant sobre el tema vaig veure que el que cal fer és donar suport HPET, en el meu cas perquè això funcioni ho he hagut d’activar també a la BIOS del HP ML110 que uso com a servidor físic. Amb aquests canvis els tests de velocitat de la màquina virtual amb OpenFiler m’han millorat substancialment i ara mateix donen resultats al voltant de 50MB/s. Obviament, encara estic lluny d’un rendiment òptim però ja no sé si això és tema de configuració o si el problema és més profund i ja depèn de la propia gestió interna que fa l’VMWare amb els mòduls que fan d’interficies entre el hardware real i el virtual.

Si voleu saber si teniu el HPET activat o no al kernel és tan senzill com mirar al dmesg:

root@vm0:~# dmesg |grep hpe
[  120.210408] hpet clockevent registered
[  120.210412] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
[  120.210416] hpet0: 3 64-bit timers, 14318180 Hz

En cas de no tenir-lo activat, cal que activeu el següent al fitxer .config del kernel:

CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_RTC=y

A part d’això hi ha d’altres opcions per tal d’acotar aquest tipus de problemes, algunes que permeten estabilitzar les màquines virtuals malgrat no les expremem al màxim ens poden permetre funcionar millor si el rendiment no és el màxim dels nostres problemes i no saturem el Host. Per exemple, es pot afegir al fitxer .vmx de la màquina virtual la següent opció:

host.useFastClock = FALSE

Per cert, si voleu identificar el problema el kernel de la màquina Host dona errors de l’estil:

Aug 21 12:56:11 dey kernel: rtc: lost some interrupts at 2048Hz.

o també coses així:

select() to /dev/rtc to wait for clock tick timed out.

Com sempre a google podeu trobar moltíssima informació de com ajustar el vostre Linux perquè rendeixi al màxim amb VMWare. Per la meva part, ara hem queda posar en marxa mil i una coses que depenien d’aquest servidor de fitxers que mica en mica anava obligant-me a parar serveis per manca de rendiment. Espero que properament ja pugui posar en marxa funcions com l’album de fotografies i d’altres similars.

Nov 17

Excel·lent guia sobre com eliminar serveis no necessaris a Windows

Reading time: < 1 minute [ Xavier Cababllé ] Minimizing Windows network services. Examples with Windows 2000 and Windows XP és una excel·lent guia pas a pas on s’explica com eliminar alguns dels serveis que Windows inicia automàticament i que sovint no són necessaris. D’aquesta forma es redueixen les possibilitats que la nostra màquina Windows sigui compromesa.