Debian y zfs – instalación y configuración.

Hace poco en la empresa el administrador de bases de datos estaba necesitando una máquina virtual que fuera estable y que su sistema de archivos funcionara sin sobresaltos y adicional no tuviera corrupción de datos en caso de una perdida de corriente eléctrica (si, a veces falla la luz y no sube la planta eléctrica del edificio…)

Desde hace algún tiempo estaba intentando vender en la oficina la idea de utilizar Solaris (o algún derivado free) en pro de zfs… y esta fue la oportunidad.
Para no complicarle la vida aprendiendo demasiadas cosas al admin de bases de datos le ofrecí la oportunidad de probar Debian con kernel Bsd (llamado KfreeBsd) y el cual incluye zfs en los sistemas de archivos utilizados.

La instalación es similar a los sistemas Debian estándar, preguntas típicas para la instalación y configuración estándar.
En la parte de “Particionado de Discos” realicé los cambios necesarios para tipo de sistema de archivos zfs (por defecto viene con ufs).

Luego de la instalación procedí a realizar los siguientes pasos para la seguridad del sistema:

  • Instalar las aplicaciones que utilizo comúnmente:

# apt-get install build-essential rsync dkms vim rcconf

  • des-instalar las apps que no utilizo (cuestiones de seguridad…)

# apt-get remove –purge telnet ftp exim4 debian-faq exim4-config exim4-daemon-light exim4-base

  • Eliminar los usuarios innecesarios

Por lo general Debian viene con algunos usuarios que en servidores por lo general no son necesarios. En muchas guías en la red aconsejan dejar unos o eliminar otros, sin embargo para esta máquina (y otras similares) realicé lo siguiente:
Los siguientes usuarios no son necesarios y procedí a eliminarlos permanentemente con el comando userdel.

# userdel games
# userdel news
# userdel irc
# userdel list

Los siguientes usuarios pueden ser necesarios luego pero por ahora no, así que comento los mismos… sería casi como eliminar los usuarios.
Para hacer esto se comentan las entradas en /etc/passwd y en /etc/shadowadow:

* Se coloca un “#” antes de los siguientes usuarios:
bin, sys, sync, lp, proxy, backup, gnats, Debian-exim

* Los siguientes usuarios son necesarios (por lo general) para la operación normal, pero no necesitan shell (herramienta para acceder) así que modifico su shell a /bin/false. Esto significa que no se pueden logear. Únicamente root y usuarios normales tienen acceso al login bash.

* Coloca /bin/false a los siguientes usuarios en el archivo /etc/passwd
daemon, man, mail, uucp, www-data, nobody, libuuid

Si tienes preguntas, comentarios o felicitaciones te invito a plantearlas en mi cuenta de twitter

Equipo Amd Phenom Quad-core

Esta máquina llamada “FEROZ” y que está en servicio desde el 16 de Octubre de 2008 tiene un procesador Amd Phenom Quad-core 9660 con 4 Gb en Ram, una tarjeta de video Nvidia (al fin) GeForce 7300 GT con 256 mb. La vieja unidad quemadora de dvds, un disco duro ide de 320 Gb (donde instalo el sistema operativo), dos discos SATA de 1 Tb montados en un sistema LVM dando un total de 1.82 Tb en LVM.

La versión mas reciente de Debian reconoce la tarjeta de red onboard que es una nvidia y la tarjeta de sonido es una Encore con chip VIA (maneja 5.1)

Actualmente está con multi boot instalado Windows Xp SP3 (un mal necesario) y mi confiable y amigable Gnu/Linux Debian.

La información técnica de dicha máquina es:

# cat /proc/cpuinfo (esto por 4 procesadores)
processor	: 0
vendor_id	: AuthenticAMD
cpu family	: 16
model		: 2
model name	: AMD Phenom(tm) 9600 Quad-Core Processor
stepping	: 2
cpu MHz		: 2299.977
cache size	: 512 KB
physical id	: 0
siblings	: 4
core id		: 0
cpu cores	: 4
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 5
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr 
sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc 
extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 
3dnowprefetch osvw ibs
bogomips	: 4599.94
TLB size	: 1024 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate
# cat /proc/meminfo
MemTotal:        4060756 kB
MemFree:          100344 kB
Buffers:         1188852 kB
Cached:          2435840 kB
SwapCached:            0 kB
Active:           268112 kB
Inactive:        3543264 kB
Active(anon):     114956 kB
Inactive(anon):    76504 kB
Active(file):     153156 kB
Inactive(file):  3466760 kB
Unevictable:           4 kB
Mlocked:               4 kB
SwapTotal:       7928824 kB
SwapFree:        7928824 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:        186768 kB
Mapped:            63384 kB
Shmem:              4700 kB
Slab:              78368 kB
SReclaimable:      58672 kB
SUnreclaim:        19696 kB
KernelStack:        2120 kB
PageTables:        14684 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     9959200 kB
Committed_AS:     458088 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      122720 kB
VmallocChunk:   34359609048 kB
HardwareCorrupted:     0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:        7040 kB
DirectMap2M:     2088960 kB
DirectMap1G:     2097152 kB

Luego les contaré como se va comportando y cambios que realizo.

Debian en Sun Blade 100.

Imagen de la maquinaMáquina con alias Gandalf “el gris”

Nota: Entrada actualizada ya que cambié el chip de NVRAM que presentaba problemas y le instale 512mb adicionales de RAM.

En Julio del 2010 adquirí una máquina de estas para realizar pruebas y aprendizaje sobre empaquetamiento de la distribución Gnu/Linux Debian. 

Es una máquina muy bien construida y diseñada; para obtener acceso a alguna parte interna es relativamente sencillo y todo esta bien organizado. Se nota que se esforzaban en construirlas y diseñarlas para durar.

Luego de un poco de lectura, descargar el cd de Debian para arquitectura SPARC (si, no es intel o amd… el chip es SPARC) y cambiar la unidad de cd (la original a veces no leía el cdrom) realicé la instalación del S.O.

Cabe mencionar que no difiere en mucho de las versiones “normales” al momento de instalar. La mayor diferencia es que el gestor de arranque se llama SILO y maneja algunas cosas diferentes pero nada de que preocuparse.

Información técnica

# cat /proc/cpuinfo
cpu        : TI UltraSparc IIe (Hummingbird)
fpu        : UltraSparc IIe integrated FPU
prom        : OBP 4.3.2 2001/08/29 15:43
type        : sun4u
ncpus probed    : 1
ncpus active    : 1
D$ parity tl1    : 0
I$ parity tl1    : 0
Cpu0ClkTck    : 000000001debe980
MMU Type    : Spitfire

# cat /proc/meminfo
MemTotal:       639480 kB
MemFree:        590624 kB
Buffers:          5440 kB
Cached:          19176 kB
SwapCached:          0 kB
Active:          25928 kB
Inactive:         8920 kB
SwapTotal:      337344 kB
SwapFree:       337344 kB
Dirty:              88 kB
Writeback:           0 kB
AnonPages:       10256 kB
Mapped:           6032 kB
Slab:             7888 kB
SReclaimable:     3360 kB
SUnreclaim:       4528 kB
PageTables:        712 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
WritebackTmp:        0 kB
CommitLimit:    657080 kB
Committed_AS:    90936 kB
VmallocTotal:  4194304 kB
VmallocUsed:        96 kB
VmallocChunk:  4194208 kB
HugePages_Total:     0
HugePages_Free:      0
HugePages_Rsvd:      0
HugePages_Surp:      0
Hugepagesize:     4096 kB

Bueno, eso es todo por ahora… luego iré documentando paso a paso las pruebas y aprendizajes en este nuevo juguete.

Solucionando “out of range”en tty’s bajo Debian en Sunblade 100

Luego de realizar la instalación de Debian 5.0.5 en la máquina SunBlade 100 “gandalf” la pantalla CRT que tenía conectada mostraba un mensaje de “out of range”.
Lo extraño de esto es que la máquina había sido instalada sin la opción de interfaz gráfica.
En resumen: solamente tty’s así que en teoría no debería marcar un “out of range” en una pantalla de tty.

Si recordamos SILO es el administrador de arranque (equivalente a grub) así que allí es donde se deben pasar los valores que modifican la carga del kernel.

Si se edita el archivo /boot/silo.conf el sistema no arranca, al no arrancar es necesario pasar parámetros para el arranque de forma manual (tal como se arranca el sistema cuando GRUB falla).

Lo que se debe hacer es editar el archivo /etc/silo.conf y agregar la línea para dar la resolución adecuada: “video=atyfb:1024×768@60″ ; así, el archivo queda en parte:

image=/vmlinuz
label=Linux
append=”video=atyfb:1024×768@60″
initrd=/initrd.img

Despues de editar el archivo es necesario verificar que la estructura este correcta con el comando

# /sbin/silo
/etc/silo.conf appears to be valid

Al modificar el archivo en /etc/silo.conf el sistema modifica el archivo en /boot/silo.conf sin embargo es bueno verificar que quede bien…

# /sbin/silo -C /boot/silo.conf
/boot/silo.conf appears to be valid

Después de esto en la siguiente carga del SILO (entiendase luego de reiniciar) ya funciona perfectamente la resolución en la pantalla CRT.

Si te sirve la info un comentario de agradecimiento me sube el animo ;)