30 de junio de 2012

Arreglar el MBR de un disco que no arranca, usando boot-repair

Project LogoUna de las cuestions mas problemáticas y tediosas de solucionas es el manejo del mbr para el arranque de los sistemas opertivos.
En algunos casos es un auténtico suplicio el hacer que vuelva a arrancar el sistema con normalidad.

La solucion mejor es arrancar el ordenador desde un sistema live en un cd o mejor en un usb e intentar repara el sector de arranque del disco duro.

Una herramienta que me ha sido especilamente util es boot-repair

La he usado para repara el mbr de sistemas clonados a diferentes discos y en problemas con el arranque de origen desconocido.

Protocolo:

1) Arrancar el sistema desde un live USB, yo he usado xubuntu 12.04.
2) Tener acceso a internet.
3) Abrir una consola.
4) Ejecutar:

       sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
       sudo apt-get install -y boot-repair && boot-repair

5) Reapara el MBR del disco :

http://pix.toile-libre.org/upload/img/1335263156.png


6) Reboot desde el disco duro.

7) Cruzar todos los deditos.


Ref.:
http://sourceforge.net/p/boot-repair/home/Home/
https://help.ubuntu.com/community/Boot-Repair

22 de junio de 2012

Optimización de Hadware para grandes bases de datos MySQL


MySQLUna obsesión de los que trasteamos con grandes bases de datos es la alta accesibilidad, reducir el tiempo de busquedas, updates, inserts y la configuración óptima de hardware que optimize el rendimiento.

En www.pedeefes.com he encontrado varios documentos muy interesantes sobre este tema, que ademasme serviran para optimizar la base de datos de www.pedeefes.com que ya va por 220.000 documentos indexados con un índice de palabras con 120.000.000 de tuplas.


   





Ref.:
www.pedeefes.com

búsqueda: raid mysql 


15 de junio de 2012

Montar discos NTFS con permisos de escritura

Un problema que ocurre es que los discos de windows NTFS los monta debian sin permisos de escritura.
Para montar estos discos NTFS con permisos de escritura lo podemos hacer:

Por ejemplo:
Disco a montar:               /dev/sda1
Directorio de montaje:    /mnt/ntfs

1)  Desmontar /dev/sda1
          # umount /dev/sda1

2) Instalar ntfs-3g 
          # aptitude install ntfs-3g

3) Montar del disco ntfs
          # mount -t ntfs-3g /dev/sda1  /mnt/ntfs

Y ya tenemos el disco NTFS /dev/sda1 montado en /mnt/ntfs con permisos de escritura.

http://www.taringa.net/posts/linux/1659083/Montar-NTFS-en-Debian-Linux.html
http://en.wikipedia.org/wiki/NTFS-3G

Clonar una discoduro a un archivo vdi compactado

Una alternativa a la hora de hacer una copia de seguridad de un sistemas que queremos dar de baja es hacer una máquina virtual, de este modo tendremos un caopia de seguridad opertaiva, que podremos ejecutar en cualquier máquiba con VirtualBox instalada.

Ademas podemos hacer que la copia se en un discoduro virtual .vdi comprimido y extensible para ahorranos gigas de espacio en blanco.

Linux Protocol:

1) Arrancamos desde la máquina a clonar.

2) Borramos todo lo que no necesitemos o no queramos conservar.


3) Instalamos zerofree
     # aptitude install zerofree


3) Seguimos liberando espacio del disco:
    # aptittude purge
    # aptitude clean


4) Remontamos el disco duro en modo read only
    # telinit 1
    # mount -n -o remount,ro /dev/[sda1] /


5) llenamos el espacio no usado con ceros
    # zerofree /dev/sda1

6) Iniciamos otro sistema Linux desde un live usb que tengamos acceso al disco a clonar


7) Clonamos el disco
    # dd if=/dev/sda of=/rutade backup/hd.img

8) Convertimos el fichero .img en .vdi
    # VBoxManage convertfromraw -format VDI hd.img hd.vdi

9) Compactamos el disco virtual .vdi
    # VBoxManage modifyhd hd.vdi --compact

Ya solo falta crear una máquina virtual con VirtualBoxManager y usar este disco virtual como soporte.

Ref.:
Reducir el tamaño de los discos de las máquinas virtuales (vdi vmdk)
Como clonar una máquina ejecutable en VirtualBox en un USB

9 de mayo de 2012

Copia de bases de datos MySQL con scp

Cuando se quiere hacer una copia de una base de datos MySQL de un servidor a otro la forma mas sencilla es copiar el directorio de la base de datos que se encuentra en /var/lib/mysql/

En caso de querer enviar la bddacopiar a otra máquina en red se puede usar scp:

server1# scp -rC /var/lib/mysql/bdd_acopiar  root@server2:/var/lib/mysql/ 
server2# chown -R mysql:mysql /var/lib/mysql/bdd_acopiar                  
server2# /etc/init.d/mysql restart                                        


... y ya tenemos un clon de bbd_acopiar en server2.

La opción -C de scp comprime los datos antes de enviarlos y en la máquina receptora ya  aparece descomprimido. Esto es especialmente recomendable con conexiones lentas de internet y ya que las bases MySQL suelen tener unos niveles de compresión muy buenos lo que acelera la trasferencia.

5 de mayo de 2012

Comparativa de Virtual Private Severs

Está de moda eso de tener algo en la nube. La mayoria de los que alardean de esto ya tenian gran arte de su información en la nube desde hace años, ...y ellos sin saberlo.

El caso es que tenía ganas de probar un Virtual Private Server (VPS) para ver como funcionaba y testearlo con una base de datos grande y el indexador de mi buscador de documentos pdf  - www.pedeefes.com.

He revisado las ofertas de los proveedores de cloud VPS mejor posicionados en Google, con las ofertas vigentes y su precio al mes IVA incluido.

Proveedor PACK RAM_gb HD_gb LimiteTranf Oferta Alta EUROS/mes Permanencia
1and1 L 0,5 20 ilimitado

23,59 € 12 meses
1and1 XL 1,0 40 ilimitado

35,39 € 12 meses
1and1 XXL 2,0 80 ilimitado

47,19 € 12 meses
gigas nova 1,0 25 200gb 2 meses 0€ 8 € 22,42 € 1 mes
gigas pro 2,0 40 300GB 2 meses 0€ 8 € 34,22 € 1 mes
gigas elite 3,0 50 600GB 2m a 0€ de 12m 57,82 € 1 meses ?
webfusion inicio 2,0 100 ilimitado 2m a 0€ de 12m 20,05 € 12 meses
webfusion proyectos 3,0 150 ilimitado 1m a 0€ de 12m 35,39 € 3, 12meses
hostalia base 1,0 25 1000GB 2m a 0€ de 12m 17,70 € 24 meses
hostalia avanzado 2,0 50 1000GB

22,08 € 24 meses
strato A 0,5/1 20 100GB
0 8,14 € 6 meses
strato M 1/2 30 1000GB 6m a 8,14€/m 0 19,94 € 6 meses
strato L 2/4 50 1000GB
0 31,74 € 6 meses
arsys basico 0,25/1 10 100GB

34,22 € 6 meses

Nota bene: Estos precios son los inidicados en la web de los proveedores correspondientes en abril-2012, revisar la web de los proveedores ya que seguro que ya han cambiado !!!.

Hay ofertas interesantes con precios razonables, y sin largos compromisos de permanencia; ideal  para probar el servicio.

Me llama la atención la escasa de capacidad de disco duro de algunos proveedores.

He contratado uno para ver como funciona esto de los VPS.

La contratación y disponibilidad del VPS ha sido muy rápida e inmediata, una vez pagado el servicio. Hay varias alternativas de Sistemas Operativos, yo me he instalado Debian, por supuesto.

Tengo mi ip fija, 50Megas de velocidad de descarga y acceso ssh muy rápido; yuuuhu!!.

La disponibilidad del servico tecnico ha sido muy buena, por chat,email, incluso me llamó un humano por teléfono!!. Pero he de decir que al primer problema realmente técnico que tuve con el servidor, no me lo supieron resolver y tuve que buscarme la solución yo solito. Asi que es conveniente tener nociones de administración de sistemas o contratar un servidor administrado.

Lo peor de los VPS es que te acostumbras a ellos y no hay oferta ni capacidad de disco duro que 100 años dure. ;)))

3 de mayo de 2012

Proceso completo para crear un usuario linux


Como crear un nuevo usuario en linux:
 
      Crear usuario newuser:
# useradd newuser
      Asignarle password:
# passwd newuser
      Crear su directorio:
# mkdir /home/newuser
      Copiar archivos de configuracion en su directorio, por ejemplo:

# cp .bashrc /home/newuser  
      Asignar el directorio al nuevo usuario:
# chmod -d /home/newuser
       Dar permisos y propiedad del directorio del newuser:
# chown newuser:newuser -R /home/newuser
# chmod 755 -R /home/newuser

       Asignar el bash para el newuser:
# nano /etc/paswwd ---> que la linea de newuser tenga /bin/bash


Bibliografia:
http://www.taringa.net/posts/linux/13352904/Crear-un-usuario-nuevo-y-todo-lo-que-ello-implica.html

2 de mayo de 2012

Como clonar una máquina ejecutable en VirtualBox en un USB

Los sistemas virtualizados estan de moda y por un precio razonable se puede terner un Virtual Private Server decentito. Yo sin ir mas lejos, tengo mi buscador de archivos pdf en un VPS con Debian 6.0 .

Es muy recomendable hacer copias de seguridad de los servidores de rendimiento ante posibles desastres y para tener el sistema base instalado y configurado listo para copiarlo en un disco duro y no tener que volver a instalar y configurar todo el sistema.

Una forma de hacer estas copias de seguridad es clonar el disco completo:

# dd if=[origen] of=[destino]

como el fichero resultante es una copia exacta, bit a bit, del disco duro ...
¿se podria usar como disco duro virtual y ejecutarlo en VirtualBox?
De este modo tendríamos una copia funcional del servidor ademas de una cópia de seguridad.

Pues la respuesta es ... SI:


1) Hacer una imagen del disco duro
Importante: Hay que acceder a la máquina con una distribución live y no montar el disco a clonar.

# dd if=/dev/sda of=/ruta del fichero/newMicra.img

La imagen la grabé en un disco duro USB. Esta imagen tiene el tamaño completo del disco duro aunque el sistema base ocupe menos.
Para reducir el tamaño podemos comprimir el archivo imagen con tar o bzip2.

Para probar si podia arrancar la imagen .img en un sistema virtualizado conecté el disco duro usb en un portatil con Xubuntu 11.04 y VirtualBox 4.1.2 instalado.

3) Convertir la imagen del disco duro en un disco virtual .vdi
VirtualBox no reconcoce el fichero generado por dd, hay que tranformar la imagen en un fichero .vdi

#  VBoxManage convertfromraw -format VDI newMicra.img new.Micra.vdi


4) Dar permisos de lectura y escritura al disco virtual
Para poder activar el discoduro virtual en VirtualBox debe tener permisos de lectura y escritura.


 # chmod a+rw newMicra.vdi

5) Crear la máquina virtual en VirtualBox:

y asignar el disco duro al fichero creado en el dispositivo usb.


6) Ejecutar la máquina virtual y ...



... ya tenemos un clon de nuestro servidor, portable, en un USB, ejecutable en cualquier máquina con VirtualBox y donde poder experimentar sin peligro como si fuera el sistema original.

Otra aplicación de esto sería hacer cópias de seguridad funcionales, potables y ejecutables en cualquier máquina con VirtualBox instalado.

27 de abril de 2012

Como optimizar el servidor MySQL

Una vez que tienes diseñada y funcionando tu base de datos MySQL la siguiente tarea es mejorar su rendimiento para que el tiempo de búsqueda se el menor posible.
La configuración del fichero /etc/mysql/my.cnf que viene por defecto al instalar MySQL  funciona bien para bases de datos pequeñas y sin muchas exigencias, pero no es óptimo para basesde datos grandes y de alto rendimiento.

Pero ¿Como modificar el fichero my.cnf de configuracion del servidor MySQL?

He encontrado estas herramientas de diagnóstico del funcionameinto de MySQL, evaluando la configuracion actual, recomendando modicifaciones en el /etc/mysql/my.cnf que podemos ir pobando y ver si mejoran el rendiemiento del servidor.

1) MySQL Tuning Primer Script
Se trata de un script escrito en Bash, que revisa la actividad del servidor MySQL y lo compara con la configuración actual.
Lo descargamos de
https://launchpad.net/mysql-tuning-primer/trunk/1.6-r1/+download/tuning-primer.sh
le damos permisos de ejecución, lo ejecutamos, ...y vemos el resultado:


En este caso se trata de una base de datos muy grande y ya me gustaria disponer de mas de 4,7GB de RAM para MySQL !!!

Es una muy buena herramienta y que me ha ayudado muchoa a optimizar mis voluminosas bases de datos.


2) Otra herramienta de diagnótico para optimizar MySQL es mysqltuner, escrita en Perl.

Es complementaria a la anterior y presenta los datos de forma mas compacta, con las recomendaciones al final.



Y ademas coincide en el diagnóstico con la anterior!!!.
Esta visto que tendré que aumentar el key_buffer_size de mi mysqld y la memoria RAM.


Teneis mas informacion sobre el tema en mi buscador de documentos pdf
www.pedeefes.com, buscando con las palabras: mysql optimization.

8 de abril de 2012

MySQL: Mostrar toda la información de las tablas

Para mostrar toda la información de las tabals de la base de datos activa:

mysql> SHOW TABLE STATUS;

y de una tabla en particular:

 mysql> SHOW TABLE STATUS LIKE 'tablename';