Archive for the ‘Cosas tecnicas’ Category

Como montar una particion RAID-LVM por USB

Tuesday, May 31st, 2011

Normalmente instalo Debian en todo mis servidores, y normalmente uso RAID por software y gestor de volúmenes lógicos LVM, hasta hoy no había necesitado montar uno de estos discos de manera externa, es un poco lioso y por ello he decidido escribir este post para que sirva como receta, a otros que que necesiten hacer lo mismo.

Básicamente hay dos pasos uno montar el RAID, y el otro montar el LVM.
Suponemos que tenemos el disco pinchado por USB.

Lo primero es hacer un cfdisk para ver las particiones:

# cfdisk

sdg5 Lógica Linux raid autodetect 3997,46 *
sdg2 Primaria Linux raid autodetect 1003,49
sdg3 Primaria Linux raid autodetect 395101,33
sdg4 Primaria NTFS [] 100002,96

De acuerdo la partición que queremos es la /dev/sdg3.

Entonces ejecutamos:

# mdadm --examine --scan /dev/sdg3

ARRAY /dev/md2 level=raid1 num-devices=2 UUID=10e9ab2b:97f55678:84e7df75:fb5ca897

Entonces editamos el fichero /etc/mdadm/mdadm.conf y añadimos la linea anterior a la lista, y luego hacemos

/etc/init.d/mdadm-raid stop
/etc/init.d/mdadm-raid start
Assembling MD array md2...done (degraded [1/2]).
Generating udev events for MD arrays...done.

Primer paso conseguido ya tenemos el RAID operativo.
# cat /proc/mdstat
Personalities : [raid1]
md2 : active (auto-read-only) raid1 sdg3[0]
385841024 blocks [2/1] [U_]

Ahora viene la parte del LVM

# pvscan

[...]
PV /dev/md2 VG rootmd lvm2 [367,96 GB / 188,00 MB free]
[...]

# lvscan
[....]
inactive '/dev/rootmd/rootvg' [18,00 GB] inherit
inactive '/dev/rootmd/homevg' [349,78 GB] inherit

[...]

Para activarla, usamos:

#lvchange -ay rootmd/homevg
#lvchange -ay rootmd/rootvg
#lvscan

ACTIVE '/dev/rootmd/rootvg' [18,00 GB] inherit
ACTIVE '/dev/rootmd/homevg' [349,78 GB] inherit

Ahora ya tenemos los volúmenes disponibles:

Solo queda montar la partición
# mount /dev/rootmd/homevg /mnt1

¡Y ya esta!

Receta: Como hacer el “rescate” de una instancia Linux en Amazon Ec2

Tuesday, May 31st, 2011

Imaginate que tienes una máquina en Amazon Ec2, y por lo que sea pierdes tus claves ssh, o passwords, o la dejas inaccesible. Como puedes hacer un password recovery? Es facil, te creas otra máquina montas el disco. Veamos cuales son los pasos:

  • Paras la máquina
  • Desconectas el disco de la máquina (Detach)
  • Crea una nueva maquina en la misma zona de disponibilidad, por ejemplo una instancion Micro de fedora, y la arrancas.
  • Conectas el volumen a tu nueva máquina (Attach). Por ejemplo /dev/sdh. No uses elasticFox para hacer esto, al menos a mi no me funcionó. Usa en su lugar la propia web de AWS de Amazon.
  • Monta el disco, cambia passwordfs, añade clave ssh, recupera datos o cualquier otra acción de rescate que necesites.
  • Desmonta la partición
  • Ahora ya puedes “Terminar” la instancia temporal, ya no la necesitas mas.
  • Conecta la partición a la misma máquina donde estaba, no uses elasticFox (a mi no me funciona), usa la web de Amazon, IMPORTATE conectalo como /dev/sda1
  • Inicia la instancia.
  • ¡Esto es todo!

    Como montar un disco externo con RAID y LVM: receta

    Wednesday, August 18th, 2010

    Habitualmente instalo maquinas Debian con RAID software y LVM, hasta hoy no habia necesitado acceder al disco desde fuera del sistema, hoy he necesitado montar uno de esos discos por usb para leer la información, dado que es un poco lioso lo dejo documentado en esta receta/post, para mi uso futuro o para el uso de otros que lo necesiten.

    Basicamente hay dos pasos, montar el RAID y montar el LVM

    Primero que nada vamos a ver cfdisk las particiones:


    #cfdisk /dev/sdg

    sdg5 Lógica Linux raid autodetect 3997,46 *
    sdg2 Primaria Linux raid autodetect 1003,49
    sdg3 Primaria Linux raid autodetect 395101,33
    sdg4 Primaria NTFS [] 100002,96

    De acuerdo, en la que estamos interesados es la /dev/sdg3

    Entonces ejecutamos:

    # mdadm --examine --scan /dev/sdg3
    ARRAY /dev/md2 level=raid1 num-devices=2 UUID=10e9ab2b:97f55678:84e7df75:fb5ca897

    Editamos el fichero /etc/mdadm/mdadm.conf y le añadimos la linea que nos ha dado el comando anterior en la lista de ARRAY.
    Y hacemos:

    /etc/init.d/mdadm-raid stop
    /etc/init.d/mdadm-raid start
    Assembling MD array md2...done (degraded [1/2]).
    Generating udev events for MD arrays...done.

    ¡Ya esta ya tenemos el RAID montado!

    # cat /proc/mdstat
    Personalities : [raid1]
    md2 : active (auto-read-only) raid1 sdg3[0]
    385841024 blocks [2/1] [U_]

    Ahora vamos a por la parte de LVM

    # pvscan

    [...]
    PV /dev/md2 VG rootmd lvm2 [367,96 GB / 188,00 MB free]
    [...]

    # lvscan
    [....]
    inactive '/dev/rootmd/rootvg' [18,00 GB] inherit
    inactive '/dev/rootmd/homevg' [349,78 GB] inherit
    [...]

    Para activar las particiones hacemos:


    #lvchange -ay rootmd/homevg
    #lvchange -ay rootmd/rootvg
    #lvscan

    ACTIVE '/dev/rootmd/rootvg' [18,00 GB] inherit
    ACTIVE '/dev/rootmd/homevg' [349,78 GB] inherit

    Ahora ya tenemos los volumentes disponibles:

    Ok, now we have All the volumes available:


    # mount /dev/rootmd/homevg /mnt1

    ¡Esto es todo!

    Reproductor multimedia con Linux: emtec n200

    Wednesday, July 22nd, 2009

    Recientemente he adquirido un reproductor multimedia para ver todo tipo de ficheros en la Television, el cacharro ha sido un Emtec n200, el cacharro es como un disaco duro multimedia, pero sin tener disco duro incorporado, por lo que puede leer discos usb conectados, o lo que es mas interesante montado recursos compartidos de otro ordenador. Pues bien urgando un poco mas resulta que esta montado con Linux y Emtec ha liberado la modificaciones opensource que han realizado MovieCube_SourceCode. Por ahora no se han desarrollado firmware alternativos, pero todo hace pensar que iran apareciendo cosas, mientras tanto le he pasado un nmap al cacharro y me he encontrado con el puerto 80 y el 23 abiertos:

    n200


    nmap 192.168.1.100

    Starting Nmap 4.62 ( http://nmap.org ) at 2009-07-22 17:09 CEST
    Interesting ports on 192.168.1.100:
    Not shown: 1713 closed ports
    PORT STATE SERVICE
    23/tcp open telnet
    80/tcp open http

    Nmap done: 1 IP address (1 host up) scanned in 8.995 seconds

    Accediendo por web aparece un cgi que suma de ejemplo, ¡Que cutre! Como sacan eso en el producto definitivo, pero esperen no se vayan todavia, si hacemos un telnet….


    telnet 192.168.1.100
    Trying 192.168.1.100...
    Connected to 192.168.1.100.
    Escape character is '^]'.
    Venus login: root
    warning: cannot change to home directory

    BusyBox v1.1.3 (2009.05.11-02:44+0000) Built-in shell (ash)
    Enter 'help' for a list of built-in commands.

    / #

    Si ponemos root, y no ponemos password, estamos dentro…. y podemos ver un poco las cosas por dentro


    # uname -a
    Linux Venus 2.6.12.6-VENUS #1 Mon May 11 10:42:33 CST 2009 mips unknown

    # ps ax
    PID Uid VmSize Stat Command
    1 root 364 S init
    2 root SWN [ksoftirqd/0]
    3 root SW< [events/0]
    4 root SW< [khelper]
    5 root SW< [kthread]
    6 root SW< [kblockd/0]
    7 root SW [khubd]
    8 root SW [pdflush]
    9 root SW [pdflush]
    11 root SW< [aio/0]
    12 root SW< [cifsoplockd]
    13 root SW< [cifsdnotifyd]
    10 root SW [kswapd0]
    14 root SW [eth0]
    15 root SW [mtdblockd]
    27 root 368 S init
    28 root 368 S init
    31 root 368 S init
    34 root 368 S init
    55 root SW< [sata_eh/0]
    60 root 404 S inetd
    65 root SW [scsi_eh_0]
    66 root SW [scsi_eh_1]
    82 root 168 S ./RootApp DvdPlayer
    83 root 168 S ./RootApp DvdPlayer
    86 root 8764 S < DvdPlayer
    87 root 168 S ./RootApp DvdPlayer
    94 root 8764 S DvdPlayer
    [...]
    146 root 8764 S DvdPlayer
    147 root 8764 S DvdPlayer
    148 root 8764 S DvdPlayer
    149 root 8764 S DvdPlayer
    156 root SW [scsi_eh_2]
    157 root SW [usb-storage]
    173 root 360 S /sbin/udhcpc -p /var/lock/udhcpc_eth0.pid -t 15 -b -s
    1197 root SW [cifsd]
    1207 root 8764 S DvdPlayer
    1208 root 8764 S DvdPlayer
    1211 root 8764 S DvdPlayer
    1259 root 8764 S DvdPlayer
    1285 root 308 S telnetd
    1286 root 488 S -sh
    1301 root 352 R ps ax

    # mount
    /dev/root on / type yaffs2 (ro,noatime)
    none on /dev type devfs (rw)
    none on /proc type proc (rw,nodiratime)
    devpts on /dev/pts type devpts (rw)
    none on /sys type sysfs (rw)
    /dev/mtdblock/2 on /usr/local/etc type yaffs2 (rw,noatime)
    none on /tmp type ramfs (rw)
    /dev/rd/0 on /mnt/rd type vfat (rw,nodiratime,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1)
    //192.168.1.22/OPT2 on /tmp/netb/mnt/My_Shortcuts/SAMPLESERVER:damia/OPT2 type cifs (rw,nodiratime,recovery,unc=\\192.168.1.22\OPT2,username=sample,domain=SAMPLE.NET,rsize=32768,wsize=57344)

    # cat /proc/cpuinfo
    system type : Realtek Venus
    processor : 0
    cpu model : MIPS 24K V7.8
    BogoMIPS : 269.51
    wait instruction : yes
    microsecond timers : yes
    tlb_entries : 32
    extra interrupt vector : yes
    hardware watchpoint : yes
    ASEs implemented : mips16
    VCED exceptions : not available
    VCEI exceptions : not available

    # cat /proc/meminfo
    MemTotal: 121856 kB
    MemFree: 29672 kB
    Buffers: 60 kB
    Cached: 6800 kB
    SwapCached: 0 kB
    Active: 10788 kB
    Inactive: 1448 kB
    HighTotal: 0 kB
    HighFree: 0 kB
    LowTotal: 121856 kB
    LowFree: 29672 kB
    SwapTotal: 32 kB
    SwapFree: 32 kB
    Dirty: 0 kB
    Writeback: 0 kB
    Mapped: 10028 kB
    Slab: 4392 kB
    CommitLimit: 60960 kB
    Committed_AS: 10640 kB
    PageTables: 388 kB
    VmallocTotal: 1048548 kB
    VmallocUsed: 1012 kB
    VmallocChunk: 1047176 kB

    Mirando el /etc


    # ls -l /etc
    -rw-r--r-- 1 1010 1013 341 May 11 2009 fstab
    lrwxrwxrwx 1 1010 1013 22 Jun 4 2009 group -> ../usr/local/etc/group
    -rw-r--r-- 1 1010 1013 6 May 11 2009 hostname
    -rw-r--r-- 1 1010 1013 20 May 11 2009 hosts
    -rw-r--r-- 1 1010 1013 385 May 11 2009 httpd.conf
    -rw-r--r-- 1 1010 1013 460 May 11 2009 inetd.conf
    drwxr-xr-x 1 1010 1013 2048 May 11 2009 init.d
    lrwxrwxrwx 1 1010 1013 28 Jun 4 2009 ld.so.cache -> ../usr/local/etc/ld.so.cache
    lrwxrwxrwx 1 1010 1013 27 Jun 4 2009 ld.so.conf -> ../usr/local/etc/ld.so.conf
    lrwxrwxrwx 1 1010 1013 14 Jun 4 2009 mtab -> ../proc/mounts
    lrwxrwxrwx 1 1010 1013 23 Jun 4 2009 passwd -> ../usr/local/etc/passwd
    lrwxrwxrwx 1 1010 1013 24 Jun 4 2009 passwd- -> ../usr/local/etc/passwd-
    lrwxrwxrwx 1 1010 1013 24 Jun 4 2009 profile -> ../usr/local/etc/profile
    drwxr-xr-x 1 1010 1013 2048 May 11 2009 reexec_init
    lrwxrwxrwx 1 1010 1013 26 Jun 4 2009 resolv.conf -> /usr/local/etc/resolv.conf
    -rw-r--r-- 1 1010 1013 20373 May 11 2009 services
    -rw-r--r-- 1 1010 1013 7 May 11 2009 system_svn_version
    -rwxr-xr-x 1 1010 1013 1893 May 11 2009 udhcpc.script

    Seguro que alguien mas como yo ya lo esta mirando para hackearlo, y hacer cosas nuevas con el.

    PD: Por lo visto no es tan facil meterle mano, ya que lo que es el core que reproducr, accede al video, etc.. esta metido en un binario que no es GPL. Mas info aqui

    What is my DNS?

    Thursday, December 11th, 2008

    Famosa y conocida es la página a la que te conectas y te dice cual es la IP desde la que te conectas (What is my ip?), en realidad es mucha la información que se puede obtener de un usuario, su IP, el navegador el sistema operativo y muchas otras cosas, tambien se puede conocer cual el DNS que tiene configurado el cliente.

    He desarrollado una pequeña pagina que lo muestra en pantalla, lo podeis probar en el siguiente enlace,

    What is my DNS?

    Instalar Samba en voyage Linux

    Friday, July 4th, 2008

    Hace ya varios meses que no meto nada en el blog, tal vez porque no tenia nada que decir, bueno, os cuento mis ultimo avances del pequeño Linux empotrado con microplaca Alix.

    Como sabreis, el sistema no lleva disco duro sino que utiliza en su lugar una tarjeta Compact flash, que hace las funciones de disco duro, en mi caso he adquirido una de 8Gb, donde tengo espacio de sobra para poner todo lo que quiera :-)
    La principla desventaja de las memeria flash es que no puede rescribirse de manera indefinida, sino que “solo” pueden sobreescribirse unos miles de veces, segun dicen desde 300.000 hasta varios millones de veces, es por ello que el el sistema, la voyage Linux, monta el disco en modo solo lectura, si bien permite con la simple orden “remountrw” montar con permisos de escritura, y con “remountro” volver a montar solo lectura.

    Por ello debemos de pensar que si las apliaciones necesitan escribir en disco vamos a tener que tenerlo en cuenta.

    Directorio escribibles en RAM

    Como muchas aplicaciones necesitan escribir para funcionar, la voyage Linux, monta un partición en memoria, donde si que se pude escribir, si bien esta limitada por la RAM a unos pocos megas, y ademas no es persistente ya que cuando se reinicie el aparato se perdera toda la información.
    El truco que hace es el siguiente, existe una directorio llamado /ro donde esta la información que se copiara en el arranque al directorio “volatil” y escribible el /rw, el scritpt que copia dicho directorio es /etc/init.d/mountall la ultima linea hace la copia mediante tar , en concreto tar -C /ro -cf - . | tar -C /rw -xf - > /dev/null 2>&1

    Y luego desde el sistema de fichero cuando se requiere que un fichero o directorio sea escribible, lo que se hace es un link simbolico al directorio /rw, lo podemos ver por ejemplo en el directorio /var


    /var# ls -l
    total 28
    drwxr-xr-x 2 root root 4096 Jul 3 06:25 backups
    drwxr-xr-x 6 root root 4096 Jun 26 16:34 cache
    drwxr-xr-x 2 root root 4096 Jun 26 23:20 ccxstream
    drwxr-xr-x 14 root root 4096 Jun 28 18:57 lib
    drwxrwsr-x 2 root staff 4096 Oct 28 2006 local
    lrwxrwxrwx 1 root root 12 Apr 15 00:28 lock -> /rw/var/lock
    lrwxrwxrwx 1 root root 11 Apr 15 00:28 log -> /rw/var/log
    lrwxrwxrwx 1 root root 12 Apr 15 00:28 mail -> /rw/var/mail
    drwxr-xr-x 2 root root 4096 Feb 17 01:22 opt
    lrwxrwxrwx 1 root root 11 Apr 15 00:28 run -> /rw/var/run
    lrwxrwxrwx 1 root root 13 Apr 15 00:28 spool -> /rw/var/spool
    lrwxrwxrwx 1 root root 11 Apr 15 00:28 tmp -> /rw/var/tmp
    drwxr-xr-x 3 root root 4096 Jun 30 23:27 www

    Como instalar SAMBA

    Una de la funciones interesantes que puede desempeñar nuestro pequeño linux empotrado es el de compartir ficheros en la red, así puede compartir directorios de la memoria compact flash, y de dispositivos conectado por USB.

    El camino que segui para hacerlo funcionar fue el siguiente:


    #remountrw
    #apt-get install samba
    #remountro

    Vale hasta aqui seria todo perfecto, pero el problema es que cuando tiras a arrancar el samba se queja que no puede escribir (o abrir en modo escritura) los fichero que se encuentran en /var/lib/samba, sin embargo si que funciona perfectamente si ejecutas remountrw, así pues debemos de convertir esos fichero en escribibles.

    INSTRUCCIONES para hacer un directorio escribible y que funcione samba

    0.- Habilitamos la escritura e instalamos samba
    #remountrw
    apt-get install samba

    1.- Copiar el directorio /var/lib/samba a /ro/var/lib/samba
    tar -C /var/lib/samba -cf - . | tar -C /ro/var/lib/samba -xf -
    2.- Hacer un link de /rw/var/lib/samba a /var/lib/samba

    mv /var/lib/samba /var/lib/samba.ori
    ln -s /rw/var/lib/samba a /var/lib/samba

    3.- Crear un script para reescribir los ficheros si modificamos algo que queremos que persista.

    echo "tar -C /rw/var/lib/samba -cf - . | tar -C /ro/var/lib/samba -xf -" >/usr/local/bin/recopysambafiles
    chmod +x /usr/local/bin/recopysambafile

    4.- Reiniciamos el servidor
    reboot
    5.-Creamos un usuario para acceder

    adduser nasuser
    smbpasswd -a nasuser
    remountrw
    /usr/local/bin/recopysambafile
    remountro
    /etc/init.d/samba restart

    Y probamos, deberia de funcionar :-) La proxima entrada será como hacer funcionar el amule, el lector avanzado podra intuir que es basicamente lo mismo pero con los directorio que necesite escribir, y así efectivamente es.

    Efectos con software de fotos panoramicas

    Friday, January 4th, 2008

    Hace ya algún tiempo que descubrí el como hacer las fotos panoramicas, el concepto es sencillo, simplemente es hacer fotos de un escenario que no te cbae en un foto, de manera que haya parte solapada y posteriormente el software se encargara de unir todas las fotos creando una foto “mas grande”. Recuerdo que hace tiempo con las camaras analogicas ya habia quien tomaba fotos “solapando” para posteriormente pegar de manera artesanal, disponiendo de una foto mas grande.

    El software que utilizo para realziar las fotos panoramicas es el autostich, tiene las siguientes caracteristicas:

  • Es automático no hay que configurar nada.
  • Solapa tanto horizontal como verticalmente.
  • Funciona bastante bien, incluso con fotos poco planas (no hace esfericas pero se las apaña bien).
  • Es freeware. Tengo pendiente buscar alguno opensource.
  • Es para Windows, per funciona bien con wine.

    Así pues os pongo algún ejemplo:

    Efecto normal

    Foto panoramica de NY.
    Estas son las fotos originales:
    p1 p2 p3 p4
    Y esta la foto compuesta.

    pano-ny

    Fotos originales de Mestalla

    mes1 mes2 mes3 mes4 mes5 mes4 mes4 mes4 mes4

    Y este es el resultado

    Tifo mestalla dia Chelsea
    (Pinchad en la imagen para verla mas grande)

    Foto 360º

    Fotos originales
    fososimple fososimple fososimple fososimple fososimple fososimple fososimple fososimple fososimple fososimple fososimple fososimple fososimple fososimple fososimple fososimple

    Y el resultado este:

    panoramica Arboleda

    Efecto fantasma

    Que pasa si le pones dos fotos iguales al software, pues lo que hace es simplemente en la parte solapada, hace una transparencia, en este caso tome una foto de la oficina vacia, y desde el mismo sitio una foto en la que aparecia yo. En las camaras analogicas antiguas este efecto se consegui sobreexponiendo dos veces haciendo fotos con tripode.

    Quedando el siguiente efecto:

    yo-ghost

    Fotos estilo Matrix

    El secreto esta en colocar un mismo objeto en todas la fotos (en la parte no solapada), de manera que en la foto final aparece ese mismo objeto como si existiera varias veces.

    Fotos originales

    toni1 toni2 toni3 toni4

    Y tras procesarla, parece el señor Smith de Matrix:

    toni-smith
    Plaza de Maria Pita A Coruña