twitter
    Sigueme en el Twitter :-)
Mostrando las entradas con la etiqueta bsd. Mostrar todas las entradas
Mostrando las entradas con la etiqueta bsd. Mostrar todas las entradas

06 setiembre 2010

ZFS en FreeBSD

Hace poco leía sobre las bondades de EXT4, que era mejor en cuanto a rapidez,rendimientos, etc etc, aun no he tenido el tiempo como para afirmar o agregar alguna caracteristica que pueda aseverar la funcionalidad de EXT4.
Bueno, pasemos al punto, ZFS... desde la semana pasada venía escuchando en el trabajo hablar de ese filesystem, asi que empecé a investigar más, y grata fue mi sorpresa al enterarme de todas las bondades que ofrece.
No les voy a comentar que se puede o no hacer con ZFS, lo que les comentaré será el proceso de instalación y algunos tips, de como instalarlo en FreeBSD.
Así es que empecemos:


La instalación será bajo FreeBSD 8.1 AMD64(FreeBSD 64 bits)

1.- Bootea el CD/DVD de FreeBSD.
2.- Escoge el país de origen.
3.- En la siguiente pantalla escogeremos la opción; Fixit
4.- Luego de esto nos deseará "buena suerte" y nos dará el promt: fixit#
5.- Ahora, listaremos los discos duros que han sido reconocidos, para esto, nos dirigimos a:
fixit#cd /dev/

6.- Luego hacemos un "ls" para visualizar como está visualizado los discos duros:
Tip:Si es un disco SCSI/S-ATA será reconocido como "daX", si es IDE, sera reconocido como "adX".
7.- Asumiendo que nuestro Hard Disk, haya sido reconocido como "da0", procedemos a particionarlo bajo el formato para ZFS de la siguiente manera:
fixit#gpart create -s GPT da0

8.- Ahora procedemos a particionar:
fixit#gpart add -s 64K -t freebsd-boot da0

fixit#gpart add -s 512M -t freebsd-swap -1 swap0 da0

fixit#gpart add -t freebsd-zfs -1 disk0 da0


9.- Ahora instalamosMBR protegido (pmbr) e instalamos el cargador gptzfsboot
fixit#gpart bootcode -b /mnt2/boot/pmbr -p /mnt2/boot/gptzfsboot -i 1 da0


10.- Cargamos los modulos ZFS en el Kernel de FreeBSD:
fixit#kldload /mnt2/boot/kernel/opensolaris.ko

fixit#kldload /mnt2/boot/kernel/zfs.ko


11.- Creamos la raíz/zpool
fixit#mkdir /boot/zfs

fixit#zpool create castle /dev/da03a

Obs.-
"castle" es el nombre del pool para mi ZFS

fixit#zpool set bootfs=castle castle


12.- Instalamos fletcher4 para el checksum
fixit#zfs set checksum=fletcher4 castle


13.- Creamos la jerarquía para los directorios:
fixit#zfs create -o compression=on -o exec=on -o setuid=off castle/tmp


zfs create rpool/usr


zfs create rpool/home


zfs create -o compression=lzjb -o setuid=off rpool/usr/ports


zfs create -o compression=off -o exec=off -o setuid=off rpool/usr/ports/distfiles


zfs create -o compression=off -o exec=off -o setuid=off rpool/usr/ports/packages


zfs create -o compression=lzjb -o exec=off -o setuid=off rpool/usr/src


zfs create rpool/var


zfs create -o compression=lzjb -o exec=off -o setuid=off rpool/var/crash


zfs create -o exec=off -o setuid=off rpool/var/db


zfs create -o compression=lzjb -o exec=on -o setuid=off rpool/var/db/pkg


zfs create -o exec=off -o setuid=off rpool/var/empty


zfs create -o compression=lzjb -o exec=off -o setuid=off rpool/var/log


zfs create -o compression=gzip -o exec=off -o setuid=off rpool/var/mail


zfs create -o exec=off -o setuid=off rpool/var/run


zfs create -o exec=lzjb -o exec=on -o setuid=off rpool/var/tmp


chmod 1777 /rpool/var/tmp


14.- Ahora instalamos FreeBSD en castle:
fixit#cd /dist/8.1-RELEASE


fixit#export DESTDIR=/castle


fixit#for dir in base catpages dict doc info amd64 manpages ports;do (cd $dir;./install.sh);done


fixit#cd src; ./install.sh generic


fixit#cd /castle/boor; cp -Rlp GENERIC/* /castle/boot/kernel/


15.- Empty solo de lectura y chroot al file castle:
fixit#zfs set readonly=on castle/var/empty

fixit#chroot /castle


16.- Habilitando ZFS para la configuracion de hostname, ip, modulos. Para lo cual nos dirigimos a /etc, y con "ee" o "vi" editamos el archivo: rc.conf, a lo cual añadimos:
zfs_enable="YES"
hostname="mi_Server"
ifconfig_em0="DHCP" #para saber como se llama la interfaz de red, hacer "ifconfig"
Guardamos el fichero...

17.- Ahora realizamos lo mismo para le archivo loader.conf ubicado en /boot
zfs_load="YES"
vfs.root.mountfrom="zfs:castle"
Guardamos el fichero...

18.- Cambiamos el password de root:
fixit#passwd

Obs.-
Las opciones de 'time zone', 'mouse/keyboard' las pueden configurar post-install.

19.- Salimos del chroot
fixit#exit


20.- Copiamos la cache de ZFS
fixit#cp /boot/zfs/zpool.cache /castle/boot/zfs/zpool.cache


21.- Creamos el fichero fstab

fixit# vi /castle/etc/fstab
#Device Mountpoint FStype Options Dump Passfixit#
/dev/swap0 none swap sw 0 0


22.- Exportamos librerias:
fixit#export LD_LIBRARY_PATH=/mnt2/lib


23.- Desmontamos:
fixit#zfs unmount -a


24.- Cambiamos puntos de montaje:
zfs set mountpoint=legacy rpool

zfs set mountpoint=/home rpool/home

zfs set mountpoint=/tmp rpool/tmp

zfs set mountpoint=/usr rpool/usr

zfs set mountpoint=/var rpool/var


25.- Rebooteamos: reboot

26.- Y luego esperamos a que termine de cargar, para comprobar que tenemos ZFS instalado, tienen que pasar 2 cosas:
a) Si no termina de bootar y nos menciona algún error, tenemos que entrar nuevamente a fixit y corregirlo
b) Si terminó de bootear, hacemos login como root y en la consola tipeamos: zfs list, que nos mostrará nuestro pool, castle

Espero que les sirva este pequeño recopilatorio, el cual ha sido mi experiencia instalando ZFS en FreeBSD.
Sls

P.D
La presente, lo hice en base a este How-To


Sigue Leyendo...

27 agosto 2010

Usando BASH en Freebsd

Luego de mucho, regreso al mundo de la familia UNIX, y para los que somos linuxeros estamos acostumbrados a trabajar con BASH, cosa que FreeBSD no trae (FreeBSD usa SH)
Bueno no es dificil usar bash por default, asi que aqui empieza el tutorial:


Esto es para cualquier version de FreeBSD, en mi caso estoy usando FreeBSD 8.1 y tengo acceso a ROOT.
1.- Nos dirigimos a
#cd /usr/share/ports/shells/bash

2.- Luego procedemos a compilar
#make install clean

3.- Esperamos el que termine de compilar

4.- Una vez que lo terminó la compilación, ejecutamos:
#whereis bash
#/usr/local/bin/bash

5.- Ahora procedemos al "switcheo" para cambiar SH por BASH
#chsh -s /usr/local/bin/bash kde_tony
(OJO! deben cambiar "kde_tony", por el usuario que tendra acceso a BASH)

6.- Lo pueden usar tambien para ROOT, reinician el sistema y ya tendrán BASH

Espero que les sirva, sls

P.D
Pueden compilar otras opciones para bash, si gustan

Sigue Leyendo...

28 noviembre 2008

Hotmail sobre FreeBSD

Pues asi fue los servidores que mantenian los servicios de correo electronico de Hotmail corrian bajo el sistema operativo UNIX FreeBSD, dicha compañia fue creada por Jack Smith y Sabeer Bhatia, en Julio de 1996, posiblemente eligieron FreeBSD, gracias asu gran rendimiento en cuestiones de escalabilidad, manejo de memoria y seguridad.

Posteriormente en 1997 Hotmail fue adquirida por la Microsoft corp. Quien es hasta Julio del 2000 lograron convertir los servidores de Hotmail de FreeBSD y Apache como servidor Web a Microsoft Windows 2000 Server y como servidorWeb Microsoft Internet Information Services 5.0.

Es curioso ver una compañia como Microsoft que apuesta ferreamente al uso de patentes de Software y que ha de mostrado estar totalmente en contra del Software Libre , adquiera una compañia que hace uso del mismo...
Seguramente todo fue por las amplias y jugosas perspectivas comerciales que a futuro implicaba adquirir uno de los sistemas de correo electronico de mayor auge y repunte del momento. Aun asi es morboso ver como el software libre estuvo (nada nos dice que aun no lo este) a disposiciin y uso de una compañia como Microsoft.

Tomando en cuenta las amplias referencias a favor expres das por muchos conocedores de la materia sobre la experiencia de utilizar software como FreeBSD y Apache puede dar a pensar que dicha migracion fue por cuestiones de orgullo e imagen “Microsoft usando software Libre en un sistema de su propiedad” y el cual le genera enorme en ganancias y popularidad entre los consumidores , la popularidad es una ganancia encierto sentido.

Abra quienes opinen vamos solo fueron aproximadamente dos años , cierto fue un tiempo relativamente corto pero fue un momento en donde la cantidad de usuarios de Hotmail se triplico de pasar de tener una taza de usuarios de aproximadamente 9 millones al momento de la compra a pasar a 30 millones en 1999 un año antes de iniciar la migracion. Tiempo en el que talvez ninguno de los sistemas de red o servidores propiedad de Microsoft, estaban preparados para soportar tal marejada de usuarios que empezaron a abarrotar sus bases de datos . Cabe mencionar que para dichas fechas Microsoft ya disponía de sistemas supuestamente capaces como los de la familia NT asi como versiones anteriores del IIS, lo que nos lleva a entender que talvez la idea de que solo fue orgullo e imagen no es tan descabellada cortando asi algo posible motivo en contra relacionado con el rendimiento de FreeBSD y Apache .

Curioso no? Software Libre al servicio de Microsoft

Sigue Leyendo...

30 julio 2008

Apache+Php+Mysql en FreeBSD


Bien, este es el primer How To OFICIAL, de FreeBSD, en el cual haré un pequeño resumen de como instalar correctamente FAMP, y dice asi:

INSTALANDO APACHE 1.3

Vamos a compilar apache, tambien se puede instalar usando pkg_add -r apache1.3, pero, prefiero hacerlo de este modo:

cd /usr/ports/www/apache13/ && make install clean


Para que Apache inicie con el sistema modificamos un par de lineas en /etc/rc.conf

agregamos esta línea: apache_enable=”YES

Para empezar a probar algunas cosas, debo de mencionar que FreeBSD maneja la carpeta

/usr/local/www/data

Para publicar las páginas web y cosas por el estilo. El archivo de configuracion http.conf, se encuentra en /usr/local/etc/apache/http.conf


INSTALANDO PHP 5


Primero debemos de ubicarnos en la carpeta de los ports para compilar php, entonces:

1.- cd /usr/ports/lang/php5

2.- make config

3.- make install

Dependiendo de su memoria RAM el tiempo de espera puede ser de 5-10-15-60 minutos...

Adicionalmente compilamos php-GD y php-mysql

/usr/ports/databases/php5-mysql
/usr/ports/graphics/php5-gd

Bien, hasta aquí ya tenemos nuestro PHP 5 casi casi instalado, un momento jugador, antes de realizar cualquier prueba
debes de realizar estos pasos en http.conf (si aún no tienes apache, espera un momento, si ya lo tiens continua)

Para Apache 1.3.X
# Apache 1.3.x
LoadModule php5_module libexec/apache/libphp5.so
AddModule mod_php5.c

Para Apache 2.x
LoadModule php5_module libexec/apache/libphp5.so

Ahora ubica este segmento en http.conf IfModule mod_dir.c y agrega las siguientes líneas de código:


DirectoryIndex index.php index.php3 index.html
DirectoryIndex index.php3 index.html

DirectoryIndex index.php index.html index.htm
DirectoryIndex index.html

Nuevamente en http.conf, ubica el segmento:DirectoryIndex y agrega esto:

DirectoryIndex index.php index.html index.htm

Busca el segmento AddType application/x y agrega:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php .htm .html

Copianos el archivo php.ini:
cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini

Y ahora realizamos un test para ver si todo esta Ok:

echo "" >> /usr/local/www/data/test.php



INSTALANDO MYSQL5.0
Ejecutamos (copy/paste): cd /usr/ports/mysql51-server && make install clean

Estableciendo el directorio inicial: usr/local/bin/mysql_install_db

Creamos nuestro archivo de configuración para Msqyl:
cp /usr/local/share/mysql/my-medium.cnf /var/db/mysql/my.cnf

Hay que tener en cuenta nuestro hardware para aprovechar al máximo nuestras base de datos:

my-small.cnf - Para sistemas de bajos recursos con 64MB de RAM o menos.
my-medium.cnf - Para sistemas hasta con 128MB de RAM, ideal para servidor web
my-large.cnf - Para sistemas con 512MB de RAM, ideal para servidor MySQL dedicados
my-huge.cnf - Para sistemas con 1GB o 2GB de RAM, ideal para datacenters.


Ahora cambiamos los permisos al usuario mysql:

chown -R mysql:mysql /var/db/mysql

Arrancamos nuestro Mysql para el user mysql:
/usr/local/bin/mysqld_safe --user=mysql &

Le asigamos una contraseña a root para Mysql:
/usr/local/bin/mysqladmin -u root password 'contraseña_root'

Ahora haremos que Mysql inicie con el sistema, para ellos nos dirigimos a: /etc/rc.conf
y agregammos esta línea: mysql_enable=”YES”

Si se desea desactivar el acceso externo al servidor de bases de datos se deberá realizar la siguiente modificación. Esto es útil cuando sólo nos interesa permitir conexiones desde el servidor de páginas que se encuentra ubicado en el mismo equipo y no desde el exterior.

# vi /var/db/mysql/my.cnf

(quitar el comentario)

skip-networking

Reiniciar el servicio de MySQL.

# /usr/local/etc/rc.d/mysql-server restart Revise el archivo de registro por mensajes de error o de advertencia que le permitan depurar cualquier problema existente en el motor de base de datos. El archivo de registro se encuentra ubicado en /var/db/mysql

Espero que le sea de ayuda este How To.... y espero los comentarios y criticas también...

Saludos
Sigue Leyendo...

20 junio 2008

Instalando FreeBSD


Pues viendo que todos los geeks, en mi entorno hablaban de FreeBSD que esto que lo otro, pues me aventuré a instalarlo, luego de sufrir un poco, y leer arto, pude hacerlo :D, en si, me parece un excelente S.O orientado netamente a la seguridad, este fin de semana le daré el tiempo suficiente para seguir leyendo y postear algunos How-Tos, sobre lo que todos conocemos: Squid, Samba, etc etc .... Sigue Leyendo...