Apr 15

Podcast 1×02: Gentoo i futur dels servidors

Reading time: < 1 minute Després de les mostres de suport del primer podcast, m'he animat avui mateix a fer el segon a veure com sortirà la cosa. Els temes dels que parlo són:

  • Gentoo: versió 2008.0, a petició del Sergi
  • Servidors virtualitzats i software appliances
  • Secció: Tabs, en aquesta secció parlaré de les webs que tinc obertes al meu navegador
  • Secció: Starred news, en aquesta secció parlaré de les notícies que he destacat al Google Reader

Finalment les seccions Tabs i Starred news han estat post-posades pel següent podcast.

Fe d’errades: l’extenció de firefox de la que parlo és diu Taboo i no Tatoo.

Mar 15

Rendiment OpenFiler virtual

Reading time: 2 – 2 minutes

Porto tot el dia fent proves amb l’OpenFiler com a màquina virtual dins del servidor HP que estic montant. Doncs, bé apart dels detalls tècnics volia fer una simple i interessant prova que després de veure el resultat encara em té estorat. He fet un test de velocitat amb el hdparm per saber la velocitat de transferència entre l’ubuntu que fa de servidor d’VMWare i un disc dur de 750Gb:

root@vm0:~# hdparm -t /dev/sdc1
/dev/sdc1:
 Timing buffered disk reads:  314 MB in  3.02 seconds = 104.11 MB/sec

Després des de la màquina virtual amb OpenFiler (basat en linux Red Hat) he fet la màteixa prova:

[root@nas0 ~]# hdparm -t /dev/sdb1
/dev/sdb1:
 Timing buffered disk reads:   66 MB in  3.05 seconds =  21.65 MB/sec

Malgrat el nom del dispositiu surti diferent el dispositiu és el mateix, això passa perquè en la màquina virtual el dispositiu no és el tercer dispositiu ‘SATA‘, sinó el segon. La màquina virtual té capturat el dispositiu físic, així doncs trobo que la diferència de velocitat és exagerada. També s’ha de comentar que l’OpenFiler no m’ha deixat instal·lar-se en 64bits sobre VMWare i ho he hagut de fer amb 32bits, no sé pas si aquesta diferència tan brutal pot ser deguda a això.

Els recursos que tinc assignats a l’OpenFiler són:

nas0.png

Si algú té la possibilitat de fer alguna prova semblant, o l’ha fet que avisi. De totes formes, diria que amb màquines virtuals de 64bits no puc capturar el dispositiu real o això m’ha semblat llegir que deia el VMWare. Gran defecte sota el meu punt de vista.

Feb 01

HTC Kaiser i Artermis en WinXP virtualizat (VMWare Workstation 6)

Reading time: 3 – 5 minutes

El sistema operatiu de treball o sistema operatiu de l’equip host que uso habitualment com ja sabeu és un Linux, concretament una Gentoo. Doncs bé, al instal·lar un WinXP com a sistema guest en una màquina virtual d’VMWare malgrat molts dels dispositius USB del meu portàtil es reconeixen directament. Per exemple, la webcam, lector d’empremta digital o modem 3G intern. Això no passa al connectar algún dels dos smartphones que tinc el HTC Kaiser o l’Artemis el VMWare em donava l’error: VMWare Workstation was unable to claim the device (No such file or directory).

error.png

Després de molt buscar per forums i d’altres similars vaig trobar un simple hack que em soluciona el problema (perdoneu però no recordo l’enllaç perquè era un comentari d’un forum). El motiu exacte de perquè això passa no l’acabo de tenir clar però l’enginy funciona. De forma que l’activesync o el pocket controller pro reconeixen perfectament el telèfon i em permeten controlar-lo i sincronitzar-lo des del WinXP virtual. Que per altre banda, tal com vaig comentar en l’article sobre com arrancar el WinXP de l’altre partició mentre estem en Linux em permet no haver de mantenir dos instal·lacions de WinXP en parl·lel sinó que la versió virtual i la que corre sobre el host son la mateixa.

Bé doncs, anem al gra el que heu de fer és localitzar on teniu connectat el vostre dispositiu. Fent un lsusb podeu veure algo semblant a:

# lsusb
...
Bus 005 Device 004: ID 0bb4:0b0b High Tech Computer Corp.
...

Ara ja sabem que es troba en el Bus 5 però encara no sabem en quin port ni a quina PCI esta connectat aquest bus. Desocbrim ID de la PCI on és el Busc 5:

# find /sys/devices/ -name "usb5"
/sys/devices/pci0000:00/0000:00:1d.0/usb5

Ja sabem la PCI i bus USB on és connectat el dispositiu, ara només cal saber en quin port usa. Per fer això el que farem és buscar el idProduct i l’idVendor del HTC Kaiser, això ho obtenim del lsusb són els números en hexadecimal separats per uns dos punts. Així doncs, el meu idProduct: 0b0b i el idVendor: 0bb4. Amb aquestes dades el que faig és posar-nos en el directori del bus que hem localitzat i llenço una búsqueda sobre els fitxers que contenen aquestes dades per localitzar en quin port del bus tenim connectat el dispositiu:

# cd /sys/devices/pci0000:00/0000:00:1d.0/usb5
# grep -ri 0b0b $(find . -name "idProduct")
./5-1/idProduct:0b0b
# grep -ri 0bb4 $(find . -name "idVendor")
./5-1/idVendor:0bb4

Com podem veure en els dos casos els fitxers que contenen aquesta informació són al directori 5-1, o sigui, que tenim connectat el nostre telèfon a /sys/devices/pci0000:00/0000:00:1d.0/usb5/5-1/. Directori on hi trobarem el fitxer bConfigurationValue que és completament buit. Doncs bé, l’únic que hem de fer és posar-hi un 1, per exemple així:

# echo 1 > /sys/devices/pci0000:00/0000:00:1d.0/usb5/5-1/bConfigurationValue

Després ens assegurem que tenim associat el dispositiu a la màquina virtual i veurem que el missatge d’error desapareix i el WinXP detecta el nou hardware connectat.

active-usb.png

Finalment aquí tenim l’enllaç funcionant:

connected.png
Feb 24

VMWare: arrencant el WinXP de l’altre partició del HD des de Linux

Reading time: 9 – 15 minutes

A aquestes altures tothom coneix l’VMWare, personalment fa força temps que uso al portàtil la versió workstation i a alguns clients tenen el server. Fora de les típiques coses que es poden llegir a la documentació oficial del producte i de productes complementaris com l’VMWare converter, que ja vaig comentar fa temps, es poden fer algunes altres filigranes amb aquest producte.

Hi ha diversos howtos (per exemple, Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop) que expliquen com convertir una partició de windows en un disc virtual que després es pot usar des de la màquina virtual de l’VMWare. Com ja apuntava fa un moment això es pot fer amb l’VMWare converter. Problemes lògics d’aquesta solució és que si la nostre partició de windows ocupa 40Gb obviament el disc virtual ocuparà el mateix. A més si la configuració del nostre windows canvia (noves configuracions, nous programes, actualitzacions, etc) el contingut del disc virtual obviament quedarà ràpidament obsolet o alrevés.

Doncs bé aquest diumenge passat vaig configurar l’VMWare perquè des de linux m’iniciés el WinXP que tinc a l’altre partició del disc dur del portàtil, tot això basant-me en un petit manual que vaig trobar a Run Existing Windows installation With Vmware Player (local). Com podeu veure la idea és molt atractiva i soluciona els problemes que comentava anteriorment derivats de tenir en el fons dos Windows al mateix PC. Obviament d’aquesta solució se’n deriva una altre dificultat la de mantenir dos configuracions de hardware (el de la màquina real i el de la virtual) en un sol WinXP. A continuació intentaré explicarvos-ho i també comentaré com l’he resolt jo.

A continuació repetiré els passos que descriu el manual anteriorment comentat perquè tingueu una referència totalment traduida de com fer això. Realment els passos per ajustar l’VMWare són realment senzills els problemes realment complexos són més de cara al Windows que no pas en el que es refereix en aconseguir que el VMWare arrenqui a partir de la partició WinXP. L’explicació del manual anterior l’adaptaré a la meva configuració ja que crec que és on puc aportar un valor diferencial.

Escenari

Al portàtil hi tinc les següents pariticons:

oriol@mini2 ~ $ /sbin/fdisk -l /dev/hda
Disk /dev/hda: 100.0 GB, 100030242816 bytes
255 heads, 63 sectors/track, 12161 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot      Start         End      Blocks   Id  System
/dev/hda1               1          63      506016   82  Linux swap / Solaris
/dev/hda2              64        4927    39070080   83  Linux
/dev/hda3   *        4928        8512    28796512+   7  HPFS/NTFS
/dev/hda4            8513       12161    29310592+   c  W95 FAT32 (LBA)

Com podeu veure i resumint, bàsicament tinc una partició linux de 39Gb, una Windows de 28Gb formatejada amb NTFS i una FAT32 de 29Gb que uso per guardar els fitxers. Bàsicament aquesta partició és per temes històrics de quan el suport NTFS des de linux es limitava a lectura. Avui en dia el suport NTFS des de linux ja és en lectura i escriptura, per tant es podria convertir a NTFS. Malgrat això la recomanació és que no ho feu, sobretot perquè en cas de desastre si haguéssim d’usar eines per recuperar el contingut de la partició aquestes eines per NTFS sempre són més limitades, o simplement hi ha menys eines al mercat que soportin la recuperació de dades per NTFS.

Pel que fa a la CPU i la RAM són 1.2GHz i de 1Gb respectivament. He de reconeixer que el sistema li costa lo seu arrencar, sobretot perquè a la màquina virtual d’VMWare (o sigui, el WinXP) li assigno 512Mb de RAM. Si a això li sumem, que jo sempre tinc la mania de tenir mil programes oberts a la vegada: FF2 amb mil finestres, evolution, openoffice, zend studio, etc. Obviament tot el sistema es torna molt pesat. Així doncs ja tinc un bon motiu per comprar-me un nou portàtil amb una bona CPU i moltíssima RAM.

Creant la màquina virtual d’VMWare

He creat un directori nou just on tinc la resta de màquines virtuals que uso per treballar a la partició de dades, o sigui, que partir d’ara tots els fitxers dels que parli per mi estan situats a /mnt/fitxers/vmware/winxp-mini2. Al directori hi copiem aquests dos fitxers: windows.vmdk i windows.vmx. El que ara ens cal és una eina com el parted per tal de coneixer algunes dades de les nostres particions i el disc dur:

Informació que hem de recollir del parted:

parted.png

Ara hem d’editar el windows.vmdk i hem de modificar les 4 dades que hi ha seleccionades a continuació:

vmdk.png

On posa # Extend description dues linies per sorta fixeu-vos que teniu el número de sectors que té el vostre disc, subratllats de color vermell doncs bé aquí heu de posar la dada que us dona el parted en el meu cas: 195371567s i abans de copiar-la li restem 63 que és el que ocupa l’MBR del disc, així doncs jo hi he de posar 195371504:

195371567 - 63 = 195371504

Les altres tres dades marcades en vermell en el fitxer windows.vmdk són els cilindres, capçals i sectors del vostre disc (cylinder,head,sector geometry) aquestes dades les podeu veure en el segon bloc de dades que li hem demanat al parted, en el meu cas: 12161,255,63.

Així doncs en el meu cas el fitxer windows.vmdk queda així:

# Disk DescriptorFile
version=1
CID=5aa3c828
parentCID=ffffffff
createType="fullDevice"
# Extent description
RW 63 FLAT "windowsxp.mbr" 0
RW 195371504 FLAT "/dev/hda" 63
# The Disk Data Base
#DDB
ddb.toolsVersion = "0"
ddb.adapterType = "ide"
ddb.virtualHWVersion = "4"
ddb.geometry.sectors = "63"
ddb.geometry.heads = "255"
ddb.geometry.cylinders = "12161"

Ja tenim llest l’VMWare perquè arrenqui la nostre altre partició amb el windows. Ara qui no esta preparat és el windows, ja que penseu que l’VMWare és una màquina virtual que lògicament no té el mateix hard que la vostre màquina. Per exemple, no usa la mateixa targeta gràfica, controladora de ratolí, controladores USB, contraladores de disc, etc. Per tal de deixar intacte la nostre partició de windows una bona idea és crear un nou perfil i en aquest nou perfil hi podem configurar el hard d’aquesta màquina virtual. A més li podem dir al windows que cada cop que intenti arrencar ens pregunti en quin perfil ho volem fer així segons si ho fem des del PC o des de la màquina virtual sempre es reconeixerà el hard automàticament.

Configurant el Windows perquè treballi amb dos perfils de hardware diferents

Dins del control panel cliquem sobre la incona system després anem a la pestanya hardware i cliquem en el botó hardware profiles:

perfils-01.png

Aquí copiem el perfil actual i seleccionem el segon radio button per poder escollir el perfil que ens interessi a l’hora d’arrencar el windows. Un cop fet això reiniciem la màquina i arrenquem seleccionant el nou perfil, en la meva captura podeu veure que aquest perfil l’he anomenat vmware també he fet una còpia de seguretat del perfil per defecte Perfil 1 i alguns altres perfils que uso per fer proves.

Un cop s’ha iniciat la màquina amb el perfil vmware un bon consell és que deshabiliteu tots els drivers de hard que creieu que puguin causar conflictes al iniciar-se amb la màquina virtual: controlador del disc dur, ratolí (driver synaptics a mi no em funciona), targeta gràfica, targeta de so, bluetooth, pcmcia, etc.

Com ja sabreu per fer això heu d’anar al control panel, cliqueu a la icona system, a la pestanya hardware i finalment al botó administrador de dispositivos. També és bona idea descarregar les VMWare Tools ja que inclouen alguns drivers que ja podeu actualitzar directament des d’aquí, fent el típic d’actualitzar el controlador i anant al direcotori on hi ha el driver de l’VMWare perquè així quan arrenquem amb la màquina virtual el dispositiu ja funcionarà correctament, ús recomano que feu això especialment amb el controlador del disc dur. Jo vaig tenir problemes i la solució la vaig trobar a Running a Windows 2000, Windows XP or Windows Server 2003 Virtual Machine from an Existing Multiple-Boot Installation i a Error INACCESSIBLE_BOOT_DEVICE (Raw Disk).

A mi personalment el que més problemes em va donar va ser el controlador synaptics de Dell que em provocava un pantallazo blau (BSOD) l’error no el vaig guardar, però deia algo d’IRQs. Si el trobo ja l’afegiré. Finalment vaig haver de desintal·lar el driver per Add/Remove software i ara treballo amb el touch pad com si fos un ratolí PS/2.

Sobretot recordeu que heu de deshabilitar els controladors no eliminar-los, ja que sinó després quan entreu en el vostre perfil per defecte aquests s’hauràn de reinstal·lar. Arribats en aquest punt ja podeu sortir del windows i tornar al linux per iniciar la nova màquina virtual. Si surten pantalles blaves al iniciar no ús preocupeu, això només afecta al nou perfil que heu creat i heu d’intentar entrar com sigui, via safe mode, tornant a repetir els passos anteriors, etc. Un cop a dintre repasseu si teniu algún problema amb el hard tornant a la gestió de dispositius.

Experiencia

Fa una setmana que estic treballant amb el sistema i n’estic molt content, com comentava només trobo que vaig curt de RAM i de CPU però per la resta és realment genial disposar de tots els aplicatius de windows de forma tan ràpida des de linux. Sempre puc veure quins són els efectes que estan tenint els clients quan tenen un problema amb alguns dels meus aplicatius, sistemes o demes. A més no tinc els típics problemes del wine quan emula windows perquè pugui llençar aplicatius. A vegades calen clients que només existeixen per windows i d’altres sistemes propietaris que sempre obliguen a perdre molt de temps reiniciant la màquina i a més, almenys a mi, em fan perdre tota la meva forma de treballar ja que no tinc accés a les aplicacions que m’acompanyen usualment a l’escriptori.

Com a nota negativa comentar, que no sé si és culpa del invent o si no hi té res a veure però la partició de dades la vaig haver de reparar quan mai ho havia hagut de fer. Jo diria que és culpa de que tinc la mania de deixar la màquina virtual suspesa i continuar treballant amb la paritició de dades des de linux. Així doncs, els fitxers que tenia oberts des de windows i que no s’han alliberat correctament perquè el sistema s’ha suspès no pas apagat ha creat algún tipus de conflicte amb els canvis que he fet al sistema de fitxers des de linux. Així doncs, a partir d’ara apagaré sempre la màquina virtual a veure si no tinc aquests problemes d’incosistència amb la partició de dades. Jo diria que el raonament té molta lògica ara només cal que sigui cert.

Resumint doncs, estic contentíssim d’aquest enginy i animo a tothom que tingui aquesta necessitat a usar-lo. Això si recordeu que cal molta RAM i una CPU ràpida. Sinó la SWAP anirà de cul i tot plegat es farà molt lent i pesat d’usar.

Nov 19

VMWare Converter

Reading time: 1 – 2 minutes

Coneixo l’VMWare des de fa molt de temps. Però d’un temps ençà quan he de fer un desenvolupament en una màquina nova ja no ho faig en un ordinador nou. Sinó que aprofito el VMWare Workstation del meu portàtil per crear-me una nova màquina virtual i iniciar el desenvolupmaent del nou producte sobre aquesta màquina virtual.

De fet, el que vull fer en aquest post és referenciar una nova eina que encara esta en versió beta de la gent d’VMWare. No explicaré què fa em limitaré a explicar-ho amb un gràfic que jo diria que junt amb el nom (VMWare Converter) ho diuen tot:

converter.gif
Apr 22

VMWare ESX Server i Ubuntu Breezy sobre una Gentoo

Reading time: 4 – 7 minutes

He de reconeixer que malgrat portar molt de temps usant linux i haver provant moltes distribucions no sóc gaire amant d’anar provant continuament quina distribució esta millor, de fet, sempre he pensat que és millor coneixer una distribució a fons. Encara que no diguin que és la millor, però la qüestió és que jo diria que això serveix més per la vida que anar provant quina és la més xula, còmode, etc.

Fruit d’això podriem dir que només he treballat amb dues ditribucions amb tots aquests anys, l’Slackware i els últims 5 anys (apròximadament) la Gentoo. Però per certes necessitats de la vida aquestes últimes dues setmanes he instal·lat el VMWare Workstation a la Gentoo del portàtil i després m’he creat una màquina virtual on he instal·lat l’Ubuntu 5.1 Breezy Bedger.

vmware-ubuntu.png

Doncs bé amb els típics problemes que suposa el que us explico: no trobar fitxers on estas acostumats que estiguin, no saber com es llencen els dimonis, on es posen les configuracions d’inici i el més greu de tot, això del apt-get és un suplici, ràpid de collons, però un suplici….buf!!! on és el meu emerge.

Cal reconeixer que l’entorn gràfic és molt senzill d’usar amb totes les seves eines i floritures, però jo m’he centrat amb l’instal·lació de tipus “server”, o sigui, sense entorn gràfic ja que havia de montar-la com a servidor i no pas com a workstation. Així que m’ha tocat patir.

També us volia comunicar la meva primera experiència amb el VMWare ESX Server. Quina passada nanos! això si que és una bona idea, ja sé que ara em sortiràn els amics del Xen dient que hi ha una bona versió lliure que fa algo semblant. Però realment jo diria que de moment les funcionalitats no es poden comparar.

La gràcia de la versió ESX esta en que instal·la un Linux amb uns mòduls pel kernel propietaris. Després a través d’una pàgina web pots montar-te les teves màquines virtuals que les pots tenir funcionant, parades, suspeses, en alta disponibilitat, com vulguis. A més aquestes màquines poden compartir el disc dur, o sigui, l’storage. Normalment connectat per fibra i amb una bona quantitat de gigues perquè la cosa no s’acabi.

Les màquines virtuals creades es poden arrancar a través de l’apicació consola, que esta disponible per força sistems operatius, fins hi tot el portage de Gentoo. Amb la consola podem usar una ISO d’un CD, DVD o el que volguem per bootar la màquina per primera vegada i instal·lar el sistema operatiu que volguem. Concretament al servidor que jo vaig instal·lar l’Ubuntu hi havia diversos Windows 2000 i 2003 funcionant. Quan acabes de montar-te l’SSH ja pots parar la consola i començar a treballar amb remot a través de la xarxa.

Aquesta forma de treballar en el futur crec que es tornarà a imposar. Dic es tornarà perquè aquesta idea ja fa molts anys que esta inventada i aplicada, pels famosos main frames el problema que teniem fins ara és que no hi podiem correr sistemes operatius de PC dintre d’aquests sistemes i amb aplicatius com aquest i d’altres similars tot això ja és una realitat.

Segur que a mesura que aquests sistemes tan interessants arribin al gran mercat, moltíssimes empreses canviaran la seva filosofia de montatge de servidors. Ja que és molt comode això de poder-se crear màquines sota demanda amb les característiques que volguem i a més modificar-los les característiques quan es queden petites (RAM, disc, etc). A més com que es tracten de màquines virtuals si la màquina mare es queda petita podem posar-ne de més potents i l’únic que hem de fer és arrossegar la màquina virtual de l’una a l’altre i amb breus segons la podem tornar a arrancar.

Amb el complicada que és sempre una migració de hardware i el senzill que es torna en sistemes d’aquests tipus. Tan que no és cap problema, només un pur tràmit. A més us puc assegurar que funciona tal com dic, que no és la típica funcionalitat que després mai funciona. Penseu que el fet de compartir l’storage fa que no haguem de migrar cap dada només el perfil i si l’storage es fa petit podem afegir discos i fins hi tot afegir un altre backplane al que ja tinguem perquè hi puguin cabre més discos, ja serà el RAID el que s’encarregarà de fer-los visibles al sistema.

Ja teniu un altre gusanillo provar el VMWare ESX o el Xen, tot i que pel que tinc entès el segon només funciona amb màquins virtuals que corrin linux. Així que no podrem tenir una xarxa de servidores heterogènia dintre de la nostre màquina mare. Però temps al temps, de ben segur que aviat podrà fer això i més.