Archivos Mensuales: septiembre 2012

Server, Desktop o Workstation: El punto de no-retorno de Linux

El día de ayer me encontraba actualizando mi equipo, quitando y poniendo cosas en su sitio, limpiando de cosas que no uso, aplicaciones instaladas “por prueba” o por trabajos anteriores y pensé ¿por qué no de una vez, separar mis dos actividades, trabajo y ocio, en entornos distintos?, aún cuando eso es del común de muchos, en mi caso el “dual boot” no era mi estilo.-

Hasta ayer.

Sobre Escritorios y Servidores

Los sistemas de escritorio suelen ser equipos de gama alta, donde la gente desea el mayor nivel de respuesta de las cosas que ha comprado (tarjetas de video de gama alta, microprocesadores Intel con sandybridge o AMD opteron, etc) y otra serie de cambios que describiremos brevemente.

En cambio, los servidores suelen ser equipos de diferente estructura, con más CPUS, mucho mayor poder de cómputo, donde la mayoría de la latencia del núcleo debe ser dedicada a servicios en segundo plano y a aplicaciones que mantienen una actividad constante sobre el equipo; donde rara vez habrá una interfaz de usuario y mucho menos una aplicación corriendo en el espacio de memoria de usuario.

En cambio, una estación de trabajo (Workstation) es una combinación de ambas cosas, es una computadora de escritorio donde tendremos entornos de programación, ambientes para probar modelos de virtualización (KVM, Virtualbox), donde el equilibrio entre servicios y aplicaciones es más que necesario.

El procesador:

A menos que estés en algún ambiente hostil (como la pista de maiquetía, que está hoy a 47 grados centígrados), el procesador debería mantener un CPUfreq en “performance”, para extraer el máximo a nuestro CPU, o en su defecto en “ondemand” pero con una tasa baja de actualizaciones de velocidad (para disminuir las subidas y bajadas de la frecuencia del CPU).

En el caso del CPUfreq “on demand”, el sampling factor (el factor con el que cambia la frecuencia del CPU) puede ser disminuida a un factor de 10:

echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor

Esto hace que el reloj sea evaluado menos veces, haciendo que el CPU se mantenga complementa arriba en caso de estar ocupado y no bajará y subirá constantemente (como cuando el sampling_down_factor = 1).

(sleep 10 && echo -n 25 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold) &

En otro lado está el threshold, el nivel de carga de CPU necesaria para que la velocidad de reloj sea “elevada”, por defecto es 95 (95% de carga en el CPU), si disminuimos esto (ejemplo: 25%) con sólo un 25% de carga ya estará subiendo el CPU de velocidad.

NOTA: tomen en cuenta que aplicarle más carga al CPU consume más rápido la batería de los equipos portátiles.

Discos y Elevadores:

Linux es un núcleo que puede ser utilizado para diferentes cosas, desde televisores smartTV hasta enrutadores y access points, pasando por servidores y clusters, los “elevadores” es la forma como el kernel Linux gestiona la entrada/salida (I/O) de los datos y desde los discos.

El desarrollador Paolo Valente diseñó un I/O scheduler optimizado de manera agresiva para el trabajo intensivo de escritura en disci de las aplicaciones de escritorio; BFQ (Budget Fair Queueing) I/O scheduler, dicho trabajo no fué aceptado en el árbol general del núcleo Linux pues el código afectaba el desempeño del núcleo en otras áreas críticas como por ejemplo, su uso en servidores.

Pero dicho scheduler puede ser encontrado a manera de “parche” en algunas versiones de Linux, como por ejemplo Liquorix, Liquorix es una versión para Debian del Kernel Zen, un kernel con los parches y optimizaciones más importantes para su uso en desktops, equipos multimedia y alto desempeño para aplicaciones multimedia y juegos.

Luego de instalado el kernel Liquorix, podemos habilitar el scheduler BFQ agregando en el grub:

archivo: /etc/default/grub

GRUB_CMDLINE_LINUX=”numa=on acpi=force acpi_osi=linux apic lapic elevator=bfq”

Agregando “elevator=bfq” en la línea del núcleo, y generando de nuevo el arranque GRUB:

update-grub2

Podemos contar con un scheduler digno de un equipo de escritorio para juegos y multimedia.

Por el contrario, en equipos con hardware especializado para servidores, podemos encontrar el caso contrario, NO NECESITAMOS que el kernel gestione la organización, ordenamiento y agrupamiento de los datos que van a disco, esto es porque contamos con hardware especializado (controladoras SAS, SATA-RAID o SCSI) que puede gestionar correctamente los datos que son entregados “RAW” por el Sistema Operativo; en este caso, el elevador es completamente distinto:

elevator=noop

Con “elevator=noop” el núcleo delega en el hardware subyacente la gestión de almacenamiento en disco (imaginen un RAID-5 y el sistema operativo organiza la data que luego la controladora SAS vuelve a organizar para almacenarla en los stripes del RAID).

Núcleo Liquorix

El núcleo Liquorix es una variante para Debian del fuente del núcleo Zen, una versión del kernel Linux con la mayoría de los parches y optimizaciones para escritorios, sistemas multimedia y para juegos.

Aunque mucha gente lo desconoce, estos núcleos modificados suelen ayudar mucho a las portátiles al ahorro energético, puesto que el CPU “descansa” de procesar todo al delegar correctamente operaciones de video al GPU (debe estar habilitada la aceleración de video en el Xorg) o la gestión de dispositivos al northbridge.

Los servidores no están configurados para pensar en cosas como “ahorro de energía de la batería”, “aceleración de video”, “anti-flicker de la reproducción multimedia” o aceleración de audio con dolby 7.1; pero este tipo de núcleos para escritorio lo están, hay algunos RT (para aplicaciones multimedia, video y sonido).

Para instalar el kernel Liquorix (en la actualidad va por la versión 3.5) simplemente agregamos a nuestros repositorios:

#archivo: /etc/apt/sources.list.d/liquorix.list
deb http://liquorix.net/debian sid main

E instalamos:

aptitude install linux-headers-3.5.0-4.dmz.1-liquorix-amd64 linux-modules-3.5.0-4.dmz.1-liquorix-amd64 linux-headers-liquorix-amd64

La respuesta del CPU

Con Kolivas diseñó un CPU scheduler (gestor del trabajo de los CPU) completamente diferente y más sencillo que la heurística del CFS (Completely Fair Scheduler), este Scheduler es muy óptimo para aplicaciones que requieren acceso directo y multi-hilado al CPU, pero solo es eficiente cuando la cantidad de CPUS sea menor que 16 (¿han visto una portatil con 32 CPUs?); en este caso, el scheduler provee una extremadamente baja latencia y un algoritmo distribuido alrededor de un número fijo de CPUS (o Cores) y no alrededor de un algoritmo heurístico más complejo para determinar la carga de los CPUs.

Tal como BFQ, BFS (Brain-Fuck Scheduler: sugerente nombre, ¿no?) rompe con muchisimas cosas dentro del kernel Linux en su uso para servidores, así que no forma parte del mainline del Kernel, para poder utilizarlo hay que contar con un núcleo que contenga el parche BFS (como el kernel Liquorix).

Grandes bloques de memoria

La memoria de un sistema es gestionada en bloques, en términos generales (y en muchos sistemas operativos), cada bloque de memoria mide 4096bytes, en 1MB de memoria caben 256 bloques; cada bloque es conocido como una página de memoria; cada CPU tiene un “mapa” de páginas de memoria para saber dónde está almacenado qué cosa en cada momento.

Para que un sistema operativo pueda gestionar una gran cantidad de RAM (por encima de 2GB), se pueden hacer 2 cosas: o aumentar el número de páginas que puede almacenar un CPU (algo costoso, implica modificar el comportamiento del hardware) ó hacer las páginas más grandes; cuándo el CPU llena sus “mapas de páginas”, el Sistema Operativo (en este caso el kernel Linux) termina gestionando la memoria vía algoritmos de software, lo que pone a TODO el sistema en un estado “más lento”.

Transparent Huge Pages (THP) permite incrementar el tamaño de las páginas desde 2MB hasta 1GB y permite que las aplicaciones accedan más rápidamente a bloques grandes de memoria, que siguen gestionados por los mapas de memoria del CPU, logrando una mejora notable en el rendimiento general del sistema.

Para habilitar las THP simplemente agregamos al /etc/default/grub y generamos:

GRUB_CMDLINE_LINUX="numa=on acpi=force acpi_osi=linux apic lapic transparent_hugepages=always elevator=bfq

Modos de aceleración exclusivos

En el caso de dispositivos Sandybridge e IvyBridge (como los presentes con algunos CPUs iCore de Intel), hay configuraciones en el video que son exclusivas y que permiten aceleración por hardware, en el caso de Intel se pueden usar el modo UXA (el más nativo) o el más moderno SNA, para contar con aceleración SNA agregamos este archivo al Xorg (/usr/share/X11/xorg.conf.d/):

archivo: 20-device.conf
Section "Device"
    Identifier "Configured Video Device"
    Driver "intel"
    Option "AccelMethod" "SNA"
    Option "BackingStore" "True"
    Option "MonitorLayout" "CRT,LFP"
    Option "XvMC" "on"
    #intel
    Option "SwapbuffersWait" "false"
    Option "TearFree" "true"
EndSection

En algunos casos, la mejora del rendimiento (de contar con el chip requerido) es del 20%.

Conclusiones

Este es solo un conjunto simple de acciones que, aplicadas a un núcleo, podrían mejorar notablemente el performance general del equipo, con el “penalty” que no tendrías “vuelta atrás” para usar tu equipo como un “servidor” o una “estación de trabajo para programadores” (a menos que sean programadores que les guste mucho ver videos en youtube y jugar UrbanTerror); una de las características que ha hecho popular MacOSX está en tomar un núcleo BSD y reducirlo, optimizarlo y compilarlo para el hardware que ESPECIFICAMENTE han diseñado para dicho Sistema Operativo; considero que la cantidad de optimizaciones mayores para escritorio que hay en Linux hoy en día la hacen el blanco ideal para un conjunto de nuevas versiones de GNU/Linux optimizadas y personalizadas “por versión de hardware” y no solo por arquitectura, como se hace ahora.

¿Por qué no tomar un equipo como este, ejemplo, un Thinkpad E420 o uno X1, Sandybridge, Multi-core y reduces y optimizas el kernel para únicamente esta gama de equipos?, sé que es una inversión que empresa alguna realizaría en estos momentos, pero muchos proyectos podrían comenzar a hablar ya de “versiones por hardware”, Canaima podría tener versiones específicas para los equipos de Canaima Educativo.

Espero prontamente reducir y optimizar el kernel liquorix para una versión de hardware específica, pero eso ya será una próxima entrega.

Happy Hacking!

Musicbrainz Picard: La forma útil de ordenar tu colección musical

¿Eres melómano?, ¿fanático de la música o de un artista?, ¿tienes una increíble cantidad de canciones con nombre “unknown artist – track 1” y no sabes ni cómo se llama? …

Bueno, ¡MusicBrainz Picard es tú solución!.

La aplicación

Musicbrainz picard es una aplicación muy sencilla, diseñada por la gente de la página web de Musicbrainz, que no es más que una herramienta que se conecta a las colecciones musicales cargadas por los miles de usuarios contribuyentes (me incluyo) y permite re-etiquetar y re-nombrar nuestros archivos de música (ogg, mp3, flac, wma, etc) para mantenerlos ordenados.

Es una aplicación diseñada en QT4 y es compatible con Linux, Windows y macOSX.

Para instalarla en Debian (y derivados) simplemente ejecuten:

aptitude install picard

Obtendrán una interfaz como esta:

 

Luego de instalado y ejecutado, realizaremos nuestra primera mejora a un disco.

Utilizando Musicbrainz Picard

Utilizar Musicbrainz es bastante sencillo, basta con presionar el botón de la barra de herramientas “agregar archivo” ó “agregar carpeta” para permitir buscar el conjunto de archivos que deseamos corregir:

 

Hemos cargado un disco como ven, de Astor Piazzolla y Gary Burton (Libertango).

Veremos 2 opciones, “analizar” y “Buscar”, la diferencia entre “Analizar” y “Buscar” es clara:

* Analizar: buscará a partir del identificador único de canción (PUID) registrado en MusicBrainz, para ver si la canción está originalmente extraída de alguno de los albumes oficiales.

* Buscar: Extrae los metadatos (nombre de canción, artista, album y otra serie de metadatos) y hace una búsqueda directa en MusicBrainz, útil si tus canciones no fueron generadas a partir de un disco oficial.

Al terminar de buscar, MusicBrainz cuadrará las canciones con sus respectivos albumes:

Si en algún caso, queda alguna canción en el album que no es, o simplemente queda desagrupada (sin clasificar), podemos “arrastrar” la canción hacia la canción coincidente en el album que corresponde.

Arrastrando la canción “Jugband Blues” del disco “Echoes” de Pink Floyd para hacerla coincidir en el disco

 

Cuando presionamos “GUARDAR” este registrará la metadata de cada canción correctamente, además guardará un archivo llamado “cover.jpg” con el arte gráfico del disco (portada).

 

Vemos que además, luego de guardar, nuestras canciones han sido renombradas y re-ordenadas en la carpeta del disco, colocando un archivo “cover.jpg” en la raíz del mismo:

 

Ordenando a Pink Floyd

A veces ocurre, que al ser los umbrales de “coincidencia” muy altos, podría encontrar las mismas canciones en diferentes discos (o diferentes versiones del mismo disco); ejemplo, de Pink Floyd hay diversas versiones de “The Wall”, lo que debemos hacer es verificar la versión “exacta” (disquera, año de emisión y versión de emisión -* UK, US, DE, versión internacional, etc -*) y quedarnos con “esa versión” y pasar manualmente (arrastrando cada una) el resto de las canciones.

 

En este caso, hacemos la selección manual del disco, presionamos botón derecho del ratón sobre el disco con más coincidencias (el primero, “The Wall (7/26)”) y seleccionamos manualmente el disco:

En mi caso, las canciones son extraídas de la versión CD de 1994 (versión del disco original de 1979 “The Wall”) en su versión inglesa (GB: 2 discos CD de 13 canciones cada una editado por Harvest EMI Records);  al seleccionar este disco y volver a presionar “buscar”, y luego de hacer coincidir las canciones faltantes manualmente, guardamos y listo!, tenemos el disco correctamente etiquetado y hasta con su carátula original.

Música: cosas de mi generación

He realizado una segunda carga, esta vez del disco “The Ultimate Collection” del grupo “The Who”, tenemos igualmente que escoger la versión del disco:

 

Mi disco es la versión 2002 americana (US) con 21+14 canciones en dos CDs, cuando los discos vienen en colecciones de múltiples discos (cd1, cd2, etc) debemos cargar un plugin de MusicBrainz para mantener esta “separación” en discos:

 

Esto permite entre otras cosas “quitar” la palabra “disco 1” o “disc 1” de los títulos de las canciones, moviéndolas a una etiqueta separada (disc number); asi la canción se llamará “My Generation” y no “My Generation (disc 1)”.

Lo bueno de seleccionar el disco correcto, es que si quedaron canciones “sin encontrar coincidencia”, es muy probable que al seleccionar esas canciones “sin coincidencia” y volvemos a presionar “Buscar”, Picard podrá mejorar la coincidencia al saber a qué disco van:

Al hacer una segunda búsqueda, la mayoría (salvo 9) canciones pudieron ser identificadas y etiquetadas correctamente, corregimos las 9 canciones manualmente, guardamos y listo!.

Organizando discos con MusicBrainz Picard

Con MusicBrainz Picard no solamente podemos etiquetar y renombrar a partir de la información contenida en MusicBrainz y en cada archivo, tambien podremos realizar tareas como organizar y renombrar a partir de los nombres de fichero: de la forma %artista%/%album%/%tracknumber% %titulo% (claro, que esta expresión es personalizable).

Veamos un ejemplo:

Así está nuestro disco “El alma al aire” del cantante español “Alejandro Sanz”, es el típico “artist – track 1”; está mal etiquetado, así no se llama el álbum, las canciones no tienen nombre; veamos cómo podemos, primero, renombrar los archivos según el artista y el nombre de la carpeta como álbum:

Cargamos la carpeta “ALMA AL AIRE” que no se encuentra etiquetada, veámos como no se encuentran etiquetados los archivos:

Al cargar, seleccionamos el menú “Herramientas > Etiquetar desde de nombres de ficheros” y al presionar “Previsualización” veremos que nos queda de esta manera:

Y presionamos “Guardar” para que guarde estos simples cambios.

Luego, hacemos una búsqueda en la página web de MusicBrainz, para hacer coincidir la mayor cantidad de metadatos (discID, disquera, etc) con nuestro disco:

Hacemos clic en el disco “El alma al aire CD 10 tracks” para ver toda su información:

Luego, seleccionamos todas las 10 canciones, presionamos botón derecho del ratón y en el menú, seleccionamos “Detalles”, le agregamos todos los metadatos coincidentes a nuestro disco:

Ventana de metadatos del disco

Al presionar “Guardar”, le modificamos los metadatos al disco, si volvemos a presionar “Buscar” luego de esto, veremos como rápidamente nuestro disco queda asociado al disco “El alma al aire” de Alejandro Sanz, y veremos como en nuestro disco duro, los archivos han sido “renombrados” y perfectamente etiquetados.

En otro ejemplo, pasamos de esto (un disco mal ordenado de “Los Amigos Invisibles”):

A esto:

El disco “The New Sound of the Venezuelan Gozadera” de 1998, perfectamente etiquetado y con su carátula, con sólo organizar correctamente las etiquetas y luego buscar el disco con Picard.

Conclusiones

MusicBrainz Picard es la herramienta que todo melómano, fan de la música y coleccionista debe tener, permite organizar en carpetas y mover los archivos para mejorar las colecciones, incorporar etiquetas a discos y carátulas, es una herramienta que hace muy bien la tarea para la que fué diseñada, permitirnos tener una colección musical perfectamente etiquetada y ordenada.

Disfruten de su música ordenada con MusicBrainz Picard, ¡Adios a Unknown artist – Track 1!

 

 

 

 

Misericordia …

Misere Corda (Misere: miseria, necesidad, Corda/Cordis: corazón) la capacidad de llenarse el corazón de las miserias humanas y compacederse de ellas; es una palabra acuñada especificamente para representar la capacidad que pueden tener algunos seres humanos de compadecerse del trabajo y penuria que pueden pasar almas ajenas.

No sé si sea la misericordia lo que mueve a uno a ayudar a los demás, escribir este blog para que los demás aprendan fácilmente lo que a mí me ha costado años de lectura y experiencia, no sé si la misericordia es un atributo <<divino>> y a diferencia de la lástima (qué siempre es más pasajera y depende de “sentirla por alguien”) la misericordia siempre es algo que se ejerce y considero firmemente que se ha perdido entre la mayoría de los venezolanos.

Me ha tocado ir al banco, a *intentar* entregar una carpeta para un cupo CADIVI que jamás me han otorgado (ahora es que debo llevar el boleto electrónico con sello húmedo de la agencia de viajes emisora o en su defecto, el boleto físico ya cambiado en la aerolínea emisora, algo no muy fácil si eres “invitado” de un congreso internacional y vives en Guanare, muy lejos de Maiquetía); pero en fin, mientras me encontraba en el banco; una señora muy amablemente y sin que nadie se lo pidiera, se acerca a la chica que tengo a un lado y le entrega un número de la secuencia; “tome hija!”  le dice la señora con una hermosa sonrisa de abuela. Le entrega el número 841, la secuencia en el banco va por la 839. La chica, desplegando su mano tenía algo más de 5 papelitos, con números como 851, 853, 858 y otros más; yo miro mi número, cuidando ya no tanto de despertar su misericordia como sí su lástima y se puede leer fácilmente “865”, aún faltaba mucho para que yo pasara; la miro de frente y directo a los ojos y con una sonrisa en la cara; la chica mira a la anciana que se va retirando, mira su mano, ni vuelve a voltear hacia mí y mientras llaman a su número nuevo “841”, esta se levanta, toma TODOS sus papelitos, los arruga y los arroja a la papelera; esto suscita algo poco común en mí, un sonoro “PERRA” sale de mis labios y la señora sentada 2 puestos más allá en las sillas de espera se asusta y se molesta y luego de explicarle lo que la joven acaba de hacer, la señora también replica “si, ¡es una perra!”.

Luego de una amena conversa con la señora (y una larga espera), por fin llaman al 865, como yo siempre pido dos números al llegar, le pregunto a la señora ¿qué número tiene?, viendo que tenía poco rato esperando le paso el “866” y ella muy emocionada me dice “¡gracias!”, luego piensa un segundo, toma su número y se lo pasa a un chico que acaba de llegar y que está parado detrás de ella …

Al final, no sé si la cadena de “pasarse números” habrá continuado a mi salida, pero creo que varios allí se pudieron contagiar del sentimiento inicial de la abuelita, de compadecerse de la espera y el tiempo perdido de los demás …

Todos, menos la “perra” de la chica que rompió sus números, ¿se han dado cuenta que en este país es cada vez menos frecuente encontrar gente que se compadezca de tus problemas y te ayude? …

En vez de sentir misericordia, nuestros corazones simplemente se han llenado de miseria …

¿algún día cambiará esto? …

 

Desde la enfermedad, y de vuelta a la escritura!

De esas cosas por las que tengo sentimientos encontrados, vivir en un país donde las enfermedades tropicales son el pan de cada día, donde nuestras defensas, leucocitos, monocitos y células T aprenden todos los días a lidiar con estos monstruos modernos salidos de nuestra propia insalubridad, fallidos intentos de servicios públicos, los continuos lagos de basura llenos de mosquitos de todas las variedades (aunque proliferan con demasía los Culex Pipipens y los Aedes Aegypti) y las continuas explosiones de las cloacas mal hechas de mi urbanización; simplemente no sé si alegrarme de tener un sistema inmunológico capaz de triplicar su defensa en cuestión de horas o entristecerme por no saber qué me pasa …

Estas cosas me pasaron estas semanas …

Comencé a sentirme mal luego de un viaje para Guatemala (por eso muchos sospecharon que era algo “importado”) pero luego también de un viaje de 8 horas entre Caracas y Barquisimeto luego de lluvias, puentes colapsando, colas interminables, el túnel de la cabrera que tiene cola las 24 horas del día y estar encerrado en ese vehículo por 8 horas con dos personas “con virosis” (como suele llamar el venezolano a toda enfermedad que simplemente desconoce).

Los síntomas incluían: dolor de cabeza, fiebre muy alta incluso con escalofríos, dolores musculares, malestar general, dolores intestinales, dolor renal, oscurecimiento de la orina, nauseas, vómitos, mal sabor de boca e inapetencia; la “paleta” de exámenes que me hicieron pasaron desde 5 hematologías completas, serologías de dengue, paludismo, mal de chagas, tuberculosis, malaria, antígenos febriles, enfermedades infantiles y una que otra zoonosis (enfermedad contraída desde animales); luego de descubrir con perturbación que sangre, orina y demás fluídos estaban “limpios” y que los valores estaban normales (hemoglobina, plaquetas, monocitos y glicemia) y lo único contrastante era unos leucocitos elevadamente altos (16 mil unidades la última vez), la doctora sentenció “es un virus”, vaya a su casa, tome muchos líquidos, tome vitaminas, vitamina C, ácido fólico y espere con paciencia a que sus síntomas rebajen …

Y ciertamente, mis síntomas rebajaron, aún tengo los leucocitos levemente altos y aun sigo sin saber, ¿qué rayos tengo?, casi todos mis vecinos en Guanare tuvieron la misma “virosis quiebra-huesos” y conocidos de sus conocidos, parece ser que es una especie de “pandemia” nacional de una “virosis de la temporada de lluvias” de la cual NADIE le sabe el nombre al virus, ni familia, ni siquiera el Phylum!.

Me recuerda aquella penosa enfermedad que salió en un pueblo en Monagas donde dijeron “bueno, la gente murió horriblemente desangrada, fue una familia entera más algunos otros casos aislados, pero ya fué contenida la enfermedad, no sabemos y nunca se sabrá que fué pero gracias a Dios ya se detuvo” …

Bueno; en fin, vuelvo a la escritura, con una duda más en mi mente que a menos que me entregue de conejillo de indias al CDC de Atlanta, nunca lograré saber qué me enfermó …

¿Parece ser qué ese dicho de “se vive mejor y más feliz en la más completa ignorancia” cómo que es verdad?, ¿cierto?.

Saludos a todos mis lectores!

Linux KVM: La forma más rápida de montar una imagen de disco

En alguna oportunidad, necesitamos montar una imagen de disco (formato qcow) de KVM o de HVM (Xen) para poder acceder a los archivos contenidos allí dentro, pero la cosa no era tarea fácil (calcular el offset del sector de la geometría de la partición, hacer el losetup, etc); la forma más rápida es usando kpartx.

Kpartx es una aplicación cónsola (parte de los multipath-tools por cierto) que permite crear automáticamente los device mappings (dispositivos en /dev) de cualquier dispositivo de bloque.

Instalando kpartx

Aunque lo podemos instalar junto con los multipath-tools, lo podemos instalar de manera independiente:

aptitude install kpartx

Usando kpartx con KVM/HVM

Hemos creado una máquina virtual con KVM/HVM, la misma está en un archivo de imagen ó en un dispositvo LVM, para mapear todas las particiones de dicha imagen KVM como dispositivos de bloque, simplemente ejecutamos:

kpartx -a /dev/mapper/vgVM-maquina1

Siendo /dev/mapper/vgVM-maquina1 el volumen lógico donde está la máquina virtual, si está en un archivo en disco, sería:

kpartx -a /srv/kvm/maquina1/disk1.img

Esto nos agregará una serie de dispositivos de bloque llamados igual qué el volumen original pero agregando las particiones lógicas, ejemplo:

/dev/mapper/vgVM-maquina1p1 (primera partición)

/dev/mapper/vgVM-maquina1p2 (segunda partición)

/dev/mapper/vgVM-maquina1p3 (tercera partición)

Y así suscesivamente.

Montando la partición

Para montar simplemente utilizamos el comando mount:

mount -o rw /dev/mapper/vgVM-maquina1p1 /mnt

En nuestro caso, hicimos el montaje en /mnt.

Borrando el mapa de particiones de la imagen

Si ya hicimos uso de la partición y deseamos eliminar el “mapa” de dichas particiones en nuestra lista de dispositivos de bloque, simplemente ejecutamos:

kpartx -d /dev/mapper/vgVM-maquina1

Y se eliminarán todas las referencias (mapping) de particiones de la imagen (NOTA: no se borrarán las particiones).

Otros usos de Kpartx

Si queremos ver qué particiones posee una imagen KVM/HVM (solo listarlas, no las agrega al listado de particiones disponibles):

kpart -l /dev/mapper/vgVM-maquina1

Si durante el proceso de una imagen KVM ya agregada con *-a* decidimos crear una nueva partición, podemos ejecutar simplemente:

kpartx -u

Y se actualizarán todos los identificadores de dispositivos de bloque de todas las imagenes listadas.

A %d blogueros les gusta esto: