Archives for 

montar

Elastix: Una forma facil de instalar y configurar un servidor Asterisk

Hace poco debia realizar una “exposicion” sobre asterisk en la universidad, para ser sincero, nunca me habia puesto en la tarea de instalar un servidor Asterisk el cual quedara completamente funcional y operativo. Sin embargo,  investigando un poco  en el mundo de la VozIP me encontre con elastix una de las tantas distribuciones que traen todo listo para  tener toda una suite de colaboracion completamente funcional.

Antes una deficion breve sobre asterisk:

Asterisk es una central software (PBX) de código abierto. Al ser una central PBX permite interconectar teléfonos IP, análogos, etc., y conectar dichos teléfonos a la red telefónica convencional

Ahora definamos elastix:

Elastix es una distribución de “Software Libre” de Servidor de Comunicaciones Unificadas que integra en un solo paquete algunas tecnologías claves como:

  • VoIP PBX
  • Fax
  • Mensajería Instantánea
  • Email
  • Colaboración

Elastix implementa gran parte de su funcionalidad sobre 4 programas de software muy importantes como son Asterisk, Hylafax, Openfire y Postfix

Para descargar la ISO, lo puedes hacer en este enlace

La instalacion es muy sencilla, y por lo tanto no es necesario hablar de ella, si alguna vez has instalado alguna distribucion de GNU/Linux  muy seguramente no tendras ningun inconveniente para completar con exito la instalacion.

Despues de 15 minutos de instalacion tendras un servidor asterisk listo para configurar,  la administracion y configuracion se hace via WEB lo cual hace aun mas facil el manejo y administracion del servidor.

Como pueden ver elastix facilita mucho las cosas,  es ideal para aquellas personas que tengan poco tiempo para montar un servidor asterisk. Sin embargo debido a que no soy un experto en el tema, no se  si elastix cumple con todas las caracteristicas de un servidor asterisk convencional.. ¿Ustedes expertos en vozIP que piensan?

EL NUEVO SISTEMA DE FICHEROS EXT4 EN LINUX

Con el rápido crecimiento de la tecnología, todos los días vamos acumulando más y más información en nuestros discos duros (HD) y se va haciendo necesario que esta transferencia de datos ya sea desde internet o desde un disco a otro, sea cada vez más rápida y confiable.

Cuando hablamos de transferencias de datos a través de una red, se hace necesario que esta me garantice cierto nivel de calidad de servicio (QoS) para que mis datos no se vayan a ver corrompidos o que simplemente se vayan a perder en la transferencia. Ahora cuando hablamos de transferencias de datos por ejemplo de un disco duro a otro, también se necesita que haya cierto grado de confiabilidad, pero esto nos lleva a otro punto interesante, y es que cuando empezamos a llenar nuestro HD, este guarda nuestros datos de una forma no consecutiva, provocando el fenómeno de la fragmentación, este fenómeno produce que cuando se quiera acceder a ciertos archivos le tome mucho tiempo cuando el HD se encuentra muy lleno, porque los datos se encuentran dispersos por todo el HD, el fenómeno de la fragmentación ocurre en cualquier tipo de sistema de fichero sea NTFS, FAT, ext2, ext3, etc. Pero lo que diferencia el problema de un sistema a otro es la regularidad con la que sucede.

Ahora hablando más explícitamente del sistema de ficheros de Linux ext3 utiliza un esquema de mapeado de bloques. Un fichero de 100 MB será mapeado en 25.600 bloques de 4 KB cada uno. Cuanto más grande sea el fichero, más bloques serán mapeados, algo que hará el manejo cada vez más lento. Ext4 introduce el concepto de Extent. Un extent es básicamente un conjunto de bloques. En nuestro ejemplo para un fichero de 100 MB, se dirá básicamente «escribe los datos en los próximos n bloques». En lugar de mapear cada bloque individual por separado, Ext4 soportará extents de hasta 128 MB, de forma que para un fichero de un 1 GB, se mapearán 10 extents en lugar de 256.000 bloques. Esto mejora el rendimiento y reduce la fragmentación.

Explicación: En nuestro ejemplo de 100 MB, Ext3 utiliza un alojador de bloques que decide qué bloques libres van a ser utilizados para escribir los datos. Pero el alojador puede trabajar sólo de bloque en bloque, lo que significa que nuestro fichero de 100 MB necesitará 25.600 llamadas al alojador. Ineficiente, ¿no? Resulta aún peor darse cuenta de que el alojador no puede optimizar sus políticas porque en realidad no sabe cuántas veces va a ser llamado. No sabe el tamaño del fichero para el que se le está pidiendo que aloje bloques. 

Algunas de las mejoras que podrás encontrar en este nuevo sistema de ficheros serán relacionadas en la siguiente tabla.

Mejora

Descripción

Sistema de archivos de gran tamaño

El sistema de archivos ext4 es capaz de trabajar con volúmenes de hasta 1 exbibyte y archivos de tamaño de hasta 16 TiB.
Extents Un extent es un conjunto de bloques físicos contiguos, mejorando el rendimiento al trabajar con ficheros de gran tamaño y reduciendo la fragmentación.
Compatibilidad hacia atrás El ext4 es compatible hacia atrás con ext3 y ext2, siendo posible montar sistemas de archivos ext3 y ext2 como ext4.
Asignación persistente de espacio El espacio reservado para estos archivos está garantizado y con mucha probabilidad será contiguo. El llenado con ceros está obsoleto.
Asignación retrasada de espacio El sistema de archivos ext4 retrasa la reserva de bloques de memoria hasta que la información esté a punto de ser escrita en el disco, mejorando el rendimiento y reduciendo la fragmentación al hacer las decisiones de reserva de memoria basada en el tamaño real del archivo.
Límite de subdirectorios superado El número de subdirectorios que un directorio puede contener fue elevado a 64.000.
Journal checksumming Se usa suma de comprobación para el journal de forma que se aumente la confiabilidad, dado que este es el archivo más usado en el disco.
Chequeo del sistema de archivos más rápido En ext4, los grupos de bloques no asignados y secciones de la tabla de inodos están marcados como tales. Esto permite a e2fsck saltárselos completamente en los chequeos y en gran medida reduce el tiempo requerido para chequear un sistema de archivos del tamaño para el que ext4 está preparado.
Asignador multibloque El sistema de archivos ext4 asigna múltiples bloques para un fichero en una sola operación, lo cual reduce la fragmentación al intentar elegir bloques contiguos en el disco.

El popular blog sobre hardware y Linux Phoronix ha ejecutado unas pruebas extensivas sobre el rendimiento de Ext4 contra otros sistemas de ficheros populares como Ext3, XFS, JFS o ReiserFS. El resultado más impresionante se produjo durante la escritura de un fichero de 4 GB, donde Ext4 literalmente borró al resto de sistemas del mapa.

Bueno esto es todo por el momento, en las próximas entradas se hablara de cómo pasarse de ext3 a ext4 sin necesidad de perder los datos, espero y les haya servido y hasta un próximo artículo.

 Fuente

Usando una imagen ISO como repositorio en Debian

Es una pregunta que ya me había hecho hace tiempo, si era posible usar una imagen iso como repositorio y no tener que estar usando los CD’s/DVD’s  (Algo muchas veces molesto, más si se trata de CD’s).

Pues bueno las ventajas que presenta usar las imágenes iso son bastante claras, ya que no tendremos la necesidad de estar insertando y sacando los CD’s/DVD’s de la unidad, a demás de ahorrarnos unos cuantos CD’s/DVD’s.

Preparando lo necesario

– Necesitamos un directorio por cada CD’s/DVD’s. Podríamos crear una directorio llamado ‘repositorio‘ en /media que contenga a los demás.

# mkdir  /media/repositorio

Ahora dentro de ‘repositorio’ creamos el resto de carpetas donde serán montadas las imágenes iso.

# mkdir  /media/repositorio/[CD1 o DVD1]

# mkdir  /media/repositorio/[CD2 o DVD2]

# mkdir  /media/repositorio/[CDn o DVDn]

En mi caso los directorios quedarían así:

# ls  /media/repositorio

cd1 cd2  cd3  cd4  cd5  cd6  cd7  cd8

– Debemos conocer la ubicación de las imágenes iso (La ubicación realmente no importa).

En mi caso: /media/repositorio-isos

Modificando el archivo fstab

#vim  /etc/fstab

Al final del archivo añadimos los siguiente:

/media/RUTA/IMAGEN1.iso  /media/repositorio/[CD1 o DVD1]  iso9660  loop,user,auto  0  0

Para cada imagen debe haber una línea como esta indicando respectivamente la imagen iso y el directorio donde será montada.

Ejemplo:

#Repositorio imagenes-iso
/media/repositorio-isos/debian-testing-i386-CD-1.iso  /media/repositorio/cd1  iso9660 loop,user,auto  0  0
/media/repositorio-isos/debian-testing-i386-CD-2.iso  /media/repositorio/cd2  iso9660 loop,user,auto  0  0
/media/repositorio-isos/debian-testing-i386-CD-3.iso  /media/repositorio/cd3  iso9660 loop,user,auto  0  0
/media/repositorio-isos/debian-testing-i386-CD-4.iso  /media/repositorio/cd4  iso9660 loop,user,auto  0  0
/media/repositorio-isos/debian-testing-i386-CD-5.iso  /media/repositorio/cd5  iso9660 loop,user,auto  0  0
/media/repositorio-isos/debian-testing-i386-CD-6.iso  /media/repositorio/cd6  iso9660 loop,user,auto  0  0
/media/repositorio-isos/debian-testing-i386-CD-7.iso  /media/repositorio/cd7  iso9660 loop,user,auto  0  0
/media/repositorio-isos/debian-testing-i386-CD-8.iso  /media/repositorio/cd8  iso9660 loop,user,auto  0  0

Modificando el archivo sources.list

Ahora para que apt use las imágenes como repositorio debemos indicar en este archivo donde esta montado cada CD’s/DVD’s de nuestro repositorio.

# vim  /etc/apt/sources.list

Agregamos lo siguiente:

deb file:///media/repositorio/[CD1 o DVD1] squeeze main contrib

Cambia ‘squeeze’ por la versión de Debian que uses.

Ejemplo:

#Repositorio imagenes-iso
deb file:///media/repositorio/cd1 squeeze main contrib
deb file:///media/repositorio/cd2 squeeze main contrib
deb file:///media/repositorio/cd3 squeeze main contrib
deb file:///media/repositorio/cd4 squeeze main contrib
deb file:///media/repositorio/cd5 squeeze main contrib
deb file:///media/repositorio/cd6 squeeze main contrib
deb file:///media/repositorio/cd7 squeeze main contrib
deb file:///media/repositorio/cd8 squeeze main contrib
##END

Si no lo has hecho debes montar las imágenes:

# mount  -a

Y por último:

# aptitude  update

A mí me han aparecido varios errores como este, después de actualizar los repositorios:

Err file: squeeze/contrib Packages
Fichero no encontrado

Pero esto no perjudica el funcionamiento correcto de el repositorio.

Compartir este repositorio para toda la red local

Este punto ofrece una utilidad enorme, imagínate actualizar todos los computadores de una red local a través de un solo computador que actúe como servidor del repositorio. Pues es muy sencillo:

Supongamos que con los pasos de arriba configuramos el repositorio y que ese computador será el servidor.

Ip: 192.168.1.1

Nota: Debemos tener configurado un servidor Apache.

En el servidor

Aquí crearemos enlaces simbólicos a cada uno de los directorios en donde se encuentran montadas las imágenes iso. Esto lo hacemos en el directorio /var/www de Apache.

#cd  /var/www

Cambias si es necesario la ruta del directorio por la tuya.

/var/www# ln  -s  /media/repositorio/cd1

/var/www# ln  -s  /media/repositorio/cd2

Recuerda un enlace por cada directorio.

En los clientes

En cada uno de los clientes debemos modificar el archivo /etc/fstab

#vim  /etc/fstab

Agregamos por cada enlace simbólico una línea como esta:

deb http://192.168.1.1/[NOMBRE_ENLACE] squeeze main contrib

Como puedes ver accedemos al repositorio con la ip del servidor y el nombre del enlace simbólico que apunta a cada una de los directorios donde montamos las imágenes.

Ejemplo

deb http://192.168.1.1/cd1 squeeze main contrib
deb http://192.168.1.1/cd2 squeeze main contrib
deb http://192.168.1.1/cd3 squeeze main contrib

Actualizamos repositorios y listo ;). Hasta la próxima!!

La muerte de MYSQL esta cerca, pero podemos evitarlo

Lo  que se sospecho desde un principio puede hacerse realidad,  desde la compra de Sun por parte de Oracle todos los usuarios de mysql ( me incluyo) temíamos que tarde que temprano este gran proyecto fuera a morir para que Oracle montara su monopolio  e imperio de las  bases de datos.

Por esta razón el creador de Mysql “Monty Widenius” esta pidiendo la ayuda de todos los defensores del software libre, para tratar de  salvar a este gran gestor de bases de datos.  Sin mas que decir dejo el enlace donde Monty explica claramente que podemos hacer para salvar a Mysql. Recuerden la unión hace la fuerza!!

Blog personal de Monty Widenius creador de Mysql

Como exportar e importar una base de datos MYSQL desde consola

Hace poco necesitaba  exportar una base de datos MYSQL que tengo en mi servidor localhost,  Sin embargo no queria instalar phpmyadmin para hacerlo de manera grafica, asi que me puse a la tarea de leer y muy rapidamente encontre la solucion y en realidad muy sencilla, se trata del comando mysqldump y su sintaxis es:

mysqldump -h ip_servidor -u usuario_bd -p basededatos>archivo.sql

Y eso es todo, como resultado tendremos un archivo .sql en el cual se encontrara toda la informacion de la base de datos, con este archivo podremos montar nuestra base de datos en otro servidor.

Importando la base de datos

Si por el contrario ya tenemos nuestro archivo .sql y lo que queremos es importar nuestra base de datos, debemos hacer lo siguiente:

#Nos conectamos al servidor:

mysql -h ip_servidor -u usuario -p

#Creamos la base de datos:

create database prueba;

#Le decimos al motor cual BD usaremos:

use  prueba;

#Ahora le damos la ubicacion de nuestro archivo .sql

source /home/usuario/Desktop/archivo.sql

Con esto habremos importado con exito nuestra base de datos a otro servidor, cabe aclarar que hay aplicaciones que hacen mucho mas facil el proceso como (phpmyadmin), pero no esta de mas saberlo hacer a mano.