Voy a explicaros cómo lo hice para instalar un sistema Openfiler en un disco USB. No es difícil, y siempre es recomendable que tengáis una copia de ese USB por si pasa algo, además de un backup de la configuración por si tenéis que restaurar. Podéis hacer el backup de la configuración desde el acceso web para la administración. Guardadlo como oro en paño!
Lo primero de todo es tener un USB (a ser posible dos, iguales, de la misma capacidad y hasta de la misma marca, pero para empezar con uno ya hacemos), un CD con la última versiòn de Openfiler (yo lo he hecho con openfiler-2.3-x86_64-disc1) y el backup del último openfiler que tuvísteis, si es que vais a volver a configurarlo igual. Una vez tengáis esto, vamos a por faena.
* Conecta el disco USB y deshabilita todos los discos duros o volúmenes RAID si es posible (es posible que no; ve con cuidado durante la instalación)
* Arranca el sistema desde el CD de instalación Openfiler.
* En el prompt de inicio, escribe "expert", e Intro.
* Tendrás que configurar las particiones manualmente. Yo he utilizado un USB de 4Gb (que al montarlo ha quedado como sda), y hemos definido tres particiones:
/ → 2.9 Gb
/boot → 100 Mb
swap → 1Gb
En alguna ocasión hemos tenido algún tipo de problema con el número de heads y cilinders, lo que al final se ha traducido como un error del propio USB que se ha resuelto cambiándolo, por más seguridad (aunque tras instalar el SO, lo hemos dejado de backup)
* Continua con la instalación. Configura la IP, la máscara, DNS y PE, mejor no dejarlo por DHCP.
Llegarás al punto en que el sistema empieza con la instalación. Tómatelo con calma, tarda bastante para lo que es. Antes de llegar a este puto "de no retorno", navega hacia atrás y comprueba que los datos (sobre todo los discos que se van a formatear) son los correctos.
Cuando acabe, reinica. Te devolverá un error tipo
Kernel Panic, pero no pasa nada.
* Reinicia de nuevo y arranca con el CD de Openfiler, y teclea "linux rescue" en el prompt. Cuando te pregunte si quieres arrancar el sistema de red, di que no (no hace falta), y cuando llegues al siguiente menú, selecciona "Skip". Esto te devuelve al prompt del sistema.
* Vamos a montar el sistema de archivos en /mnt/source (si no existe, crea el directorio antes)
mount /dev/sda1 /mnt/source
(donde sda1 es el sistema de archivos que contienen la / del sistema que acabamos de instalar)
Después montamos el directorio donde van los archivos de arranque (/boot) de manera que tenemos todo el sistema del pendrive montado
mount /dev/sda2 /mnt/source/boot
(donde sda2 es el sistema de archivos que contienen el /boot)
chroot /mnt/source
Vamos a crear el nuevo initrd.gz para poder arrancar desde USB
cp /boot/initrd2.x.x.img /tmp/initrd.gz
gunzip /tmp/initrd.gz
mkdir /tmp/a
cd /tmp/a
cpio i < /tmp/initrd
Editamos el archivo init vi init y lo modificamos de la siguiente manera: buscamos '
insmod/lib/sd_mod.ko' y debajo, añandimos
insmod /lib/ehcihcd.ko insmod
/lib/uhcihcd.ko
sleep 5
echo “Loading USB Storage Drivers”
insmod /lib/usbstorage.ko
sleep 8
y guardamos.
* Continuamos, vamos a mover los drivers necesarios a la carpeta
/lib de nuestro
initrd.
cd /lib/modules/`uname r`/kernel/drivers
cp usb/storage/usbstorage.ko /tmp/a/lib/
cp usb/host/ehcihcd.ko /tmp/a/lib/
cp usb/host/uhcihcd.ko /tmp/a/lib/
cp scsi/sr_mod.ko /tmp/a/lib/
* Y ahora vamos a crear el
initrd para arrancar nuestro sistema
cd /tmp/a
find . | cpio c o | gzip 9 > /boot/usbinitrd.img
* Ya lo tenemos. Reconfiguramos nuestro grub, y editamos
vi /boot/grub/grub.conf
y buscamos la línea que hace referencia al antiguo initr y lo cambiamos por el nuestro (copia la línea y coméntala, y en la que queda descomentada cambia)
/initrdx.x.x.x.x.img
por
/usbinitrd.img
Guardamos, salimos y reiniciamos. El Openfiler ya está instalado y funcionando desde USB.
* Ahora vamos a configurar las unidades iSCSI; para ello copiamos el siguiente script en
cd /tmp
vi volumes.sh
y copiamos dentro el script
(Nota: No es válido para sistemas de archivos XFS))
[[
Fuente: https://forums.openfiler.com/viewtopic.php?pid=16587 ]]
#!/bin/bash
# strip the /mnt lines from fstab as we will be rebuilding them
grep /mnt /etc/fstab v > _fstab
# create the new volumes.xml file
echo e "\n" > _volumes.xml
# find all logical volumes and loop
for i in `lvdisplay | grep "LV Name" | sed 's/[^\/]*//'`; do
fstype=`vol_id $i t 2> /dev/null`;
mntpoint=`echo $i | sed 's/\/dev\//\/mnt\//'`/
vgname=`echo $i | cut d '/' f3`
volid=`echo $i | cut d '/' f4`
args="";
if [ "$fstype" == "" ]; then
# assume iscsi since filesystem is unknown
fstype="iscsi"
mntpoint=""
fi
if [ $fstype == ext3 ] ; then
args=",acl,user_xattr"
fi
if [ $fstype == reiserfs ] ; then
args=",acl"
fi
if [ $fstype == xfs ] ; then
args=""
fi
if [ $fstype != "iscsi" ]; then
echo "$i $mntpoint $fstype defaults,usrquota,grpquota$args 0 0" >> _fstab
echo " " >> _volumes.xml
echo "Mounting $mntpoint"
mkdir p $mntpoint > /dev/null 2> /dev/null
umount $mntpoint 2> /dev/null
mount $mntpoint
else
echo "$i assuming iSCSI"
echo " " >> _volumes.xml
fi
done;
echo "" >> _volumes.xml
mv f _fstab /etc/fstab
mv f _volumes.xml /opt/openfiler/etc/volumes.xml
chown openfiler.openfiler /opt/openfiler/etc/volumes.xml
Cambiamos los permisos de ejecución al nuevo script
chmod 744 volumes.sh
y lo ejecutamos
/tmp/volumes.sh
y comprobamos que nos ha localizado los volúmenes iSCSI
* Y por último, vamos a restaurar el backup de configuración del Openfiler.
Para hacerlo, entra en la URL de administración del openfiler:
https://openfiler:446
y vamos a la pestaña
System y seleccionamos
Backup/Restore del menú de la derecha.
Desde "
Restore Configuration" navegamos y subimos el archivo de configuración del backup