empezamos creando los volumenes necesarios...
# lvcreate -L 1G -n nas_root vg1
# lvcreate -L 256m -n nas_swap vg1
vamos a crear varios volumenes para usar como si fueran discos reales...
# lvcreate -L 1G -n nas_root vg1
# lvcreate -L 256m -n nas_swap vg1
# lvcreate -L 256m -n nas_pv1 vg1
# lvcreate -L 256m -n nas_pv2 vg1
# lvcreate -L 256m -n nas_pv3 vg1
# lvcreate -L 256m -n nas_pv4 vg1
# lvcreate -L 256m -n nas_pv5 vg1
# lvcreate -L 256m -n nas_pv6 vg1
# lvcreate -L 256m -n nas_pv7 vg1
# lvcreate -L 256m -n nas_pv8 vg1
preparamos el filesystem root y swap...
# dd if=/dev/vg1/intrepid_root of=/dev/vg1/nas_root
# mkswap /dev/vg1/nas_swap
configuramos la xm...
# cp /etc/xen/intrepid /etc/xen/nas
# vi /etc/xen/nas
# -*- mode: python; -*-
kernel = "/boot/vmlinuz-2.6.24-22-xen"
ramdisk = "/boot/initrd.img-2.6.24-22-xen"
memory = 128
name = "nas"
vif = ['']
disk = ['phy:vg1/nas_root,hda1,w','phy:vg1/nas_swap,hda2,w','phy:vg1/nas_pv1,sda,w','phy:vg1/nas_pv2,sdb,w','phy:vg1/nas_pv3,sdc,w','phy:vg1/nas_pv4,sdd,w','phy:vg1/nas_pv5,sde,w','phy:vg1/nas_pv6,sdf,w','phy:vg1/nas_pv7,sdg,w','phy:vg1/nas_pv8,sdh,w']
root = "/dev/hda1 ro"
extra = "xencons=tty 4"
configuramos el server...
# mount /dev/vg1/nas_root /mnt
# vi /mnt/etc/hosts
127.0.1.1 localhost nas
# vi /mnt/etc/hostname
nas
# vi /mnt/etc/network/interfaces
# /usr/share/doc/ifupdown/examples for more information.
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.7.31
netmask 255.255.255.0
gateway 192.168.7.1
NOTA: De gateway usamos la ip del dom0
IMPORTANTE:en el dom0 hacemos fowarding y nat a la subred virtual... esto significa que el dom0 funciona como gateway entre las dos redes...
# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -A FORWARD -i eth0 -s 192.168.7.1 -o eth0 -j ACCEPT
# iptables -t nat -A POSTROUTING -s 192.168.7/24 -d 0.0.0.0/0 -j MASQUERADE
NOTA: el nateo puede no ser necesario... pero me evita complicaciones por si el verdadero gw que me conecta a internet tiene una politica solo para su lan...
copiamos unos modulos para reiser file system...
# mkdir /mnt/lib/modules/2.6.24-22-xen/kernel/fs
# cp -r /lib/modules/2.6.24-22-xen/kernel/fs/reiserfs /mnt/lib/modules/2.6.24-22-xen/kernel/fs
NOTA: es importante recordadr de correr "# depmod" en la maquina virtual para que se actualice la lista de modulos despues que los agregamos...
desmontamos el filesystem y arrancamos la maquina virtual...
# umount /mnt
# xm create nas -c
ahora instalamos lvm2... y las utilidades del filesystem reiser
# apt-get install lvm2 reiserfsprogs
NOTA: reiser tiene de ventaja que permite agrandarlo sin desmontar a diferencia de ext3.
inicializamos en lvm todos nuestros discos...
# pvcreate /dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg /dev/sdh
creo vg1 con todos los pv...
# vgcreate vg1 /dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg /dev/sdh
creo un volumen para profesores (252M por que son discos de 256M y 4M los reserva el lvm) y uno para alumnos... usando dos discos en raid1 por volumen y el tercero en ambos (sdc) para guardar los logs.
# lvcreate -m1 -n profesores -L 252M vg1 /dev/sda /dev/sdb /dev/sdc
# lvcreate -m1 -n alumnos -L 252M vg1 /dev/sdd /dev/sde /dev/sdc
NOTA: si tenemos problemas para crear los volumenes es por que debemos activar el vg1 antes de usarlo "# vgchange -a y vg1", esto se hace por default con el primer reboot despues de instalado lvm.
formateamos los dos volumenes para crear el filesystem... usando reiser...
# mkfs.reiserfs /dev/vg1/profesores
# mkfs.reiserfs /dev/vg1/alumnos
creamos los puntos de montaje...
# mkdir /compartido
# mkdir /compartido/profesores
# mkdir /compartido/alumnos
agregamos nuestros dos nuevos filesystems al "/etc/fstab" para que se monten al arranque...
# vi /etc/fstab
/dev/vg1/profesores /compartido/profesores reiserfs defaults 0 1
/dev/vg1/alumnos /compartido/alumnos reiserfs defaults 0 1
montamos los nuevos directorios...
# mount /dev/vg1/profesores
# mount /dev/vg1/alumnos
confirmamos...
# df -k /compartido/profesores /compartido/alumno
instalamos los componentes de un servidor samba...
# apt-get install samba samba-common smbclient swat samba-doc smbfs libpam-smbpass libsmbclient libwbclient0 winbind
arrancamos el server inet que controla swat...
# /etc/init.d/openbsd-inetd start
seteamos el password de root a "usuario0" en la xm para poder loguearnos con el swat..
# passwd
ahora podemos accder a la interface de configuracion y monitore mediante http... logueandonos como root... dese compu1 con interface grafica...
# links2 -g http://192.168.7.31:901
NOTA: links2 es un browser liviano que funciona bien para esto. "apt-get install links2" en compu1.
dentro del swat podemos operar todo samba... solo vamos a hacer una tarea facil...
SHARES -> [Create Share] profesores
comment: Profesores
path: /compartido/profesores
valid user: profesor
read only: no
available: yes
[Commit Changes]
o lo podemos hacer editando la configuracion de samba... agregando las lineas debajo...
# vi /etc/samba/smb.conf
[alumnos]
comment = Alumnos
path = /compartido/alumnos
valid users = alumno
read only = No
y restarteando el servicio...
# /etc/init.d/samba restart
Creamos los usuarios profesor y alumno localmente sin permitirle login en el sistema... y les seteamos las password mediante y para samba...
# useradd -s /bin/false profesor
# smbpasswd -La profesor
# useradd -s /bin/false alumno
# smbpasswd -La alumno
Les damos los permisos a sus respectivos direcorios...
# chown -R profesor:profesor /compartido/profesores/
# chown -R alumno:alumno /compartido/alumnos/
ahora estamos listos para probar si anda... nuevamente en la compu1 instalamos las aplicaciones de cliente...
# apt-get install smbclient smbfs
y probamos montar el filesystem remoto...
# smbmount //192.168.7.31/alumnos /mnt -o user=alumno,password=alumno
deberiamos poder verlo bien...
# df -k /mnt