Acceder a LVM en .img

Continuando con la entrada anterior, ahora surge la necesidad de de acceder a dispositivos LVM en un fichero .img

Primero y antes de nada necesitamos tener instalada la aplicación ‘kpartx’ para ello:

[root@server ~]# yum install kpartx
Loaded plugins: rhnplugin
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package kpartx.x86_64 0:0.4.9-46.el6 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package      Arch         Version             Repository                  Size
================================================================================
Updating:
 kpartx       x86_64       0.4.9-46.el6        rhel-x86_64-server-6        46 k

Transaction Summary
================================================================================
Install       0 Package(s)
Upgrade       1 Package(s)

Total download size: 46 k
Is this ok [y/N]: y
Downloading Packages:
kpartx-0.4.9-46.el6.x86_64.rpm                           |  46 kB     00:00     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating       : kpartx-0.4.9-46.el6.x86_64                               1/2 
  Cleanup        : kpartx-0.4.9-31.el6.x86_64                               2/2 
rpm -ql kpart
Updated:
  kpartx.x86_64 0:0.4.9-46.el6                                                  

Complete!

Tras esto podemos analizar los grupos de volúmenes que hay en el fichero .img, en mi caso produjo la siguiente salida:

[root@server ~]# kpartx -av /targets/client2.img 
add map loop0p1 (253:3): 0 204800 linear /dev/loop0 2048
add map loop0p2 (253:4): 0 307200 linear /dev/loop0 206848
add map loop0p3 (253:5): 0 100352 linear /dev/loop0 514048

Ahora escaneamos los grupos de volumenes de nuestro sistema:

[root@server ~]# vgscan 
  Reading all physical volumes.  This may take a while...
  Found volume group "vg_prueba" using metadata type lvm2
  Found volume group "vg_iscsi" using metadata type lvm2
  Found volume group "vg_server" using metadata type lvm2

Una vez identificado activamos el grupo de volumenes;

[root@server ~]# vgchange -ay vg_prueba
  1 logical volume(s) in volume group "vg_prueba" now active

Como ya lo tenemos activo ahora buscaremos el volumen lógico a montar:

[root@server ~]# lvscan
  ACTIVE            '/dev/vg_prueba/lv_prueba' [72,00 MiB] inherit
  ACTIVE            '/dev/vg_iscsi/lv_iscsi' [3,00 GiB] inherit
  ACTIVE            '/dev/vg_server/lv_root' [13,18 GiB] inherit
  ACTIVE            '/dev/vg_server/lv_swap' [1,46 GiB] inherit

Y por último sólo nos queda montarlo:

[root@server /]# mount /dev/vg_prueba/lv_prueba /mnt/
[root@server /]# ls /mnt/
10-autohint.conf      10-sub-pixel-bgr.conf  lost+found
10-no-sub-pixel.conf  10-sub-pixel-rgb.conf

Listo, ya hemos accedido a LVM en un fichero .img

 

 

 

Acceder a partición en .img

He estado montando 3 VM con RHEL6 para realizar diversas pruebas con ellas. Un ejemplo es el montar un PORTAL de TARGETS ISCSI con los dispositivos en ficheros img en vez de particiones físicas o volúmenes lógicos.
Hace poco un alumno me preguntó acerca de los datos en los dispositivos ISCSI, que si sería posible verlos dentro del servidor, a lo que respondí que sí pero que buscaría información al respecto.
Bueno pues ahí va:

[root@server ~]# fdisk -cul /targets/client1.img
  Debe establecer cilindros.
  Puede efectuar esta operación desde el menú de funciones adicionales.
Disco /targets/client1.img: 0 MB, 0 bytes
  7 heads, 4 sectors/track, 0 cylinders, 0 sectores en total
  Units = sectores of 1 * 512 = 512 bytes
  Sector size (logical/physical): 512 bytes / 512 bytes
  I/O size (minimum/optimal): 512 bytes / 512 bytes
  Disk identifier: 0x57dbb67b
Disposit. Inicio               Comienzo      Fin             Bloques        Id       Sistema
/targets/client1.img1       2048             409599       203776         83      Linux

Con esto lo que hacemos es identificar la tabla de particiones del fichero de imagen para continuar seleccionando la partición que deseemos, que en mi caso sólo hay una.

Cogemos el sector de comienzo de la partición para realizar el montaje, pero como el comando mount va a esperar los datos en bytes, tendremos que multiplicar los sectores por los bytes que lo conforman. En mi caso estos datos son “Sector de comienzo: 2048” “Bytes por sector: 512”

[root@server ~]# mount -o loop,offset=$((2048*512)) /targets/client1.img /mnt/
[root@server ~]# ls -l /mnt/
total 16
drwx------. 2 root root 12288 dic 10 10:02 lost+found
-rw-r--r--. 1 root root     5 dic 10 10:03 try
-rw-r--r--. 1 root root     5 dic 10 10:07 try1

Y listo, aí podemos acceder a los datos de un TARGET ISCSI ofrecido por nuestro , PORTAL a un cliente quien ha particionado, formateado, montado y ha guardado datos en el dispostivo .img que le hemos ofrecido.

Resetear Terminal

¿Has intentado alguna vez visualizar un archivo binario o examinar el contenido de un jpg?
Cuando realizas alguna tarea similar a la anterior, la terminal se quedará con otro juego de caracteres y sueles cerrarla y volver a abrir para que se restaure.
Si te ha pasado esto varias veces, habrás descubierto el comando reset.
Pues por aquí tienes un truquito, si presionas ctrl+v ctrl+o obtendrás el mismo resultado.
Pero ¿y si a tu variable de prompt PS1 le integras la secuencia de comandos?
Es decir PS1=”[\u@\h \W]\\$ ^O
De este modo jamás se te volverá a quedar la terminal “rota”.

Commentarios

Como usuario Linux, sabrás que para crear una línea de comentarios en un script debes comenzar con #

Pero, ¿sabías que también lo puedes hacer en la línea de comandos, y que además queda almacenado en el histórico de comandos?

¡Anda, mola! Y esto, ¿a mí de que me sirve?

Con la combinación ctrl-r iniciamos una búsqueda recursiva en el histórico de comandos; pues si en la línea de comandos al final añadimos #etiqueta, podremos buscar nuestro comando simplemente escribiendo en la búsqueda recursiva la etiqueta.

$ dd if=/dev/zero of=/tmp/fichero bs=1k count=1M #relleno

(reverse-i-search)`relleno’: dd if=/dev/zero of=/tmp/fichero bs=1k count=1M #relleno

Replace

De estas veces que estás empecinado escribiendo una línea de código enorme y sólo al pulsar la tecla intro te das cuenta que hay algo mal escrito, entonces pulsas flecha arriba para retomar el último comando del historial y despues te vas moviendo caracter a caracter hasta cambiar el código. Pero, ¿y si son varias palabras( vease el nombre de un archivo/directorio)? Pues aquí va el truquillo:

# cp /home/user/tips/ficero.txt /var/ftp/pub

> Error: no se encuentra ficero.txt

# ^ficero^fichero

Con el comando en negrita cambiamos en la ejecución del comando anterior la cadena ficero por la cadena fichero

 

# cp /home/user/tips/ficero1 /home/user/tips/ficero2 /home/user/tips/ficero3 /home/user/tips/ficero4 /home/user/tips/ficero5 /var/ftp/pub

En este caso el truco anterior sólo cambiaría ficero1 por fichero1, mientras que el resto permanecerían como ficeroX. Para ello debemos emplear otra técnica:

# !!:gs/ficero/fichero

Con esto conseguimos en el último comando ejecutado, sustituir todas las concordancias de la cadena ficero por la cadena fichero.

Nota Importante: Sustituye cadenas enteras, pueden tener espacios o caracteres especiales, pero no acepta expresiones regulares.

Certificaciones RHEL

Información general sobre el Examen RHCE/RHCSA

  • Es total y absolutamente práctico, no hay ninguna parte de teoria.
  • Consiste en la configuración de un servidor completo. Se corrige cuando todo el mundo haya acabado y NO se dice la nota en el momento. Cuando se acaba, la gente se puede ir directamente. El resultado se empaqueta, se cifra y se manda a Red Hat. Oficialmente el resultado se recibe dentro de 3 días laborables, aunque normalmente se recibe antes.
  • A diferencia de lo que pasaba con el examen en la versión RHEL5, están separados el RHCSA y el RHCE.
  • Para el examen solo se permite llevar un bolígrafo. Se proporcionará a los alumnos papel para que puedan escribir todo lo que quieran en él, pero luego ese papel se lo queda el examinador. No se permite nada más.
  • Hay que llevar DNI o Pasaporte, se recolectará al iniciar el examen, junto con móviles y PDAs. Todo ello se devolverá al terminar el examen.
  • El DVD de instalación oficial de Red Hat Enterprise Linux estará en todo momento accesible a través de la red. Se podrá acceder a los RPMs siempre que se quiera (a menos que la máquina no tenga red en ese momento).
  • La red se monitoriza para evitar conexiones no autorizadas.

 

Para pasar el examen se necesita lo siguiente

  • RHCSA: Conseguir un 70% en 2 horas y media.
  • RHCE: Conseguir un 70% en 2 horas.

 

Duración total del examen

  • RHCSA:
    • Empezar, rellenar formulario online, comprobar identidades: 30 minutos
    • Examen: 2 horas y media
    • Tiempo total: 3:00h. Si se empieza a las 10:00h, a las 13:00h normalmente se ha acabado
  • RHCE:
    • Empezar, rellenar formulario online, comprobar identidades: 30 minutos
    • Examen: 2 horas
    • Tiempo total: 2:30h. Si se empieza a las 10:00h, a las 12:30h normalmente se ha acabado

 

Consejos generales acerca del examen

  • El examen no es difícil en sí, pero si que hay que hacer muchas cosas en relativamente poco tiempo. Es absolutamente vital tener soltura con el sistema, sobre todo con la Ayuda del sistema. Si se da un día para hacer el examen, prácticamente todo el mundo lo pasaría, pero si se pierde demasiado tiempo buscando las cosas no se aprobará.
  • Repito: el examen es más una prueba de estrés, que de conocimientos, hay que hacer muchas cosas en poco tiempo.
  • Otra recomendación importante es dominar RPM, YUM y los repositorios. Con ello podemos ahorrar mucho tiempo durante la realización del examen.
  • El examen RHCSA es relativamente fácil, pero el RHCE es bastante difícil. Suelen aprobar un 85% y un 33% de la gente respectivamente, siempre que hayan asistido al curso asociado a cada examen. Si no se ha asistido a ningún curso, el porcentaje cae.
  • Dominar las herramientas de Ayuda del sistema de Red Hat Enterprise Linux es VITAL.
  • No pararse demasiado en las partes en las que tenemos dificultades es muy importante. Seguid con el examen, y cuando terminéis la primera vuelta, volved a esta parte con más calma.

 

http://www.es.redhat.com/training/course/guide/EX200 – Página de Red Hat acerca del examen RHCSA

http://www.es.redhat.com/training/course/guide/EX300 – Página de Red Hat acerca del examen RHCE

Fuente: ruiz-tapiador.com

Zenity

Podemos utilizar Zenity, que es el gestor de mensajes en GNOME, para crear listas de selección.

Seleccionar un elemento y guardarlo en una variable

VARIABLE=$(zenity –list –radiolist –height=325 –width=325 –title=”¿Qué opción eliges?” –column=”Selecciona uno” –column=”Valores” FALSE “Valor1” FALSE “Valor2” FALSE “Valor3” etc… )

#!/bin/bash

until [ “$VARIABLE” == “Valor1″ ]
do

VARIABLE=$(zenity –list –radiolist –height=325 –width=325 –title=”¿Qué opción eliges?” –column=”Selecciona uno” –column=”Valores” FALSE “Valor1” FALSE “Valor2” FALSE “Valor3”)

done