Equipos y materiales > Openwrt & LEDE
[Tutorial] Matriz de discos USB
(1/2) > >>
raphik:
Objetivo: conectar varias memorias USB al router mediante un hub y que Samba las presente como un único dispositivo compartido de capacidad igual a la suma de todas las memorias.

PARTIMOS DE UNA INSTALACIÓN LIMPIA.
Para lo cual he instalado el último firmware OpenWRT estable en un hg553. Le he conectado un hub USB con cuatro pendrives de 16 GB. Lamentablemente, mi hub no es 2.0.

ACTUALIZAR LA LISTA DE PAQUETES E INSTALACIÓN DE PAQUETES NECESARIOS.
Hay que actualizar la lista de paquetes instalables y dar soporte USB, almacenamiento, sistema de archivos ext4, particionado de discos, herramienta para dar formato, soporte para multidisco lineal y utilidad para la gestión multidisco y Samba. También he tenido que dar soporte al hub 1.1.


--- Código: ---opkg update
opkg install kmod-usb2 kmod-usb-storage kmod-fs-ext4 cfdisk e2fsprogs kmod-md-linear mdadm luci-app-samba kmod-usb-ohci
--- Fin del código ---

DETECTAR LOS DISCOS. Echamos un vistazo a los pendrives para ver que están todos:

--- Código: ---ls /dev/sd*
--- Fin del código ---

PARTICIONAR LOS DISCOS. Con la utilidad cfdisk creamos una partición principal en cada disco.


--- Código: ---cfdisk /dev/sdx
--- Fin del código ---

CREAR EL ARRAY MULTIDISCOS. Creamos el dispositivo /dev/md0 formado por los cuatro pendrives.


--- Código: ---mdadm --create --verbose /dev/md0 --level=linear --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
--- Fin del código ---

FORMATEAR EL ARRAY MULTIDISCOS (ext4 sin journal). OpenWRT trata /dev/md0 como ¡un único disco!


--- Código: ---mke2fs -t ext4 -O ^has_journal /dev/md0
--- Fin del código ---

CREAR PUNTO DE MONTAJE.


--- Código: ---mkdir /mnt/multidisk
--- Fin del código ---

MONTAR EL ARRAY MULTIDISCO.


--- Código: ---mount -t ext4 /dev/md0 /mnt/multidisk -o rw,sync,data=ordered,barrier=1
--- Fin del código ---

Nota: para crear y montar automáticamente el array al arrancar el router, añadir estas dos líneas al fichero /etc/rc.local,


--- Código: ---echo y | mdadm --create --verbose /dev/md0 --level=linear --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
mount -t ext4 /dev/md0 /mnt/multidisk -o rw,sync,data=ordered,barrier=1
--- Fin del código ---

SI EL MONTAJE HA IDO BIEN SE VISUALIZARÁ LA CAPACIDAD DEL ARRAY.


--- Código: ---df /mnt/multidisk
--- Fin del código ---

CAMBIAR PERMISOS Y PROPIETARIO, para no tener que crear usuarios extra ni contraseña para Samba.

--- Código: ---chmod -R 777 /mnt/multidisk
chown -R nobody /mnt/multidisk
--- Fin del código ---

HABILITAR E INICIAR SAMBA


--- Código: ---/etc/init.d/samba enable
/etc/init.d/samba start

--- Fin del código ---

CONFIGURAR SAMBA DESDE LuCI. Y al conectarnos desde el PC veremos un dispositivo compartido único que suma las capacidades de todos los pendrives.

-----
Nada impide que el array sea redundante (RAID0, RAID1, RAID5...), siempre que instalemos el paquete correspondiente (kmod-md-raid0, kmod-md-raid1, kmod-md-raid456...)
Yo he probado el RAID5 y funciona. Eso sí, como mi hub es 1.1, la velocidad es de pena.
Pteridium:
¡MOLA!  >:( >:( >:( >:( >:(

Chincheta durante una semana.  ;)

Lo que se aprende en este foro...
raphik:
Estaría bien poder probarlo en un hub de 49 puertos 2.0 a 480Mbps.
jar229:
 >:( >:( >:(

Añadido al [Índice] Hilos relevantes de OpenWrt

Te he editado un poco el post para añadir las etiquetas de 'code'. Así queda más claro y vistoso  ;)
raphik:
INSPECCIONAR DETALLES DEL ARRAY MULTIDISCOS. Da detalles relevantes del "estado de salud" de nuestra matriz de discos.

--- Código: ---mdadm -D /dev/md0
--- Fin del código ---



El conjunto /dev/md0 es de 60GB. Está formado por cuatro pendrives (de 16GB) y su estado actual es "clean".


--- Cita de: Pteridium en 11-07-2013, 22:52 (Jueves) ---¡MOLA!  >:( >:( >:( >:( >:(

Chincheta durante una semana.  ;)

Lo que se aprende en este foro...

--- Fin de la cita ---

¡Gracias! Esto es Linux.


--- Cita de: jar229 en 12-07-2013, 08:32 (Viernes) --- >:( >:( >:(

Añadido al [Índice] Hilos relevantes de OpenWrt

Te he editado un poco el post para añadir las etiquetas de 'code'. Así queda más claro y vistoso  ;)

--- Fin de la cita ---

¡Gracias! Sí que queda más claro.
Navegación
Índice de Mensajes
Página Siguiente

Ir a la versión completa