Mikrotik: usar disco SSD en RB5009
Hoy os vamos a explicar como aprovechar un disco SSD en el puerto de vuestro router Mikrotik, en mi caso lo voy a hacer bajo un RB5009.
Tenía un disco SSD de 1TB sin utilizar, y le he colocado una carcasa USB 3.0.
Os dejo el detalle de la carcasa que voy a utilizar:
Entre las posibilidades de uso que vamos a revisar están el almacenamiento de backups, el caché para un servidor Proxy, almacenamiento de datos de monitorización o logs…Os dejo una tabla:
¿Qué usos le puedes dar a un disco SSD externo en MikroTik?
Funcionalidad | Descripción |
---|---|
Almacenamiento de Logs | Utilizar el SSD para almacenar logs del sistema y de tráfico, mejorando la capacidad y el acceso a logs. |
Backups | Almacenar copias de seguridad del sistema y configuraciones en el SSD para una recuperación rápida. |
Caché para Navegación | Utilizar el SSD como caché para almacenar datos frecuentemente accedidos y mejorar la velocidad de carga. |
Containers | Ejecutar servicios o aplicaciones dentro de containers alojados en el SSD. |
Monitorización | Almacenar datos de monitorización de largo plazo, como estadísticas de tráfico y rendimiento. |
Montar disco USB externo en Mikrotik
Para poder darle una función a nuestro disco USB externo, deberemos primero saber cómo conectarlo y de qué forma se queda mapeado en el sistema, lo podemos hacer vía comando:
1 2 3 4 5 6 7 8 9 10 11 12 |
[ELBLOGDENEGU@MikroTik] /disk> /disk print detail Flags: X - disabled, E - empty, B - block-device; M - mounted, F - formatting; f - raid-member-failed; r - raid-member, c - encrypted; g - guid-partition-table, p - partition; t - nvme-tcp-export, i - iscsi-export, s - smb-sharing; n - nfs-sharing; m - media-sharing; O - tcg-opal-self-encryption-enabled, o - tcg-opal-self-encryption-supported 0 B o type=hardware slot="usb1" slot-default="usb1" parent=none model="Realtek RTL9201" serial="012345678999" fw-version="M3CR043" size=1 000 204 886 016 interface="USB 3.20 5000Mbps" interface-speed=5.0Gbps smb-sharing=no 1 B p type=partition slot="usb1-part1" slot-default="usb1-part1" parent=usb1 serial="@1'048'576-1'000'204'140'544" size=1 000 203 091 968 partition-number=1 partition-offset=1 048 576 partition-size=1 000 203 091 968 smb-sharing=no |
Formateamos le disco para poder usarlo:
1 |
[ELBLOGDENEGU@MikroTik] > /disk format-drive 0 file-system=ext4 label=usb1 |
Volvemos a comprobar:
1 2 3 4 5 |
[ELBLOGDENEGU@MikroTik] > /disk print Flags: B - BLOCK-DEVICE; M - MOUNTED; o - TCG-OPAL-SELF-ENCRYPTION-SUPPORTED Columns: SLOT, MODEL, SERIAL, INTERFACE, SIZE # SLOT MODEL SERIAL INTERFACE SIZE 0 BMo usb1 Realtek RTL9201 012345678999 USB 3.20 5000Mbps 1 000 204 886 016 |
Si queréis forzar el montado del disco:
1 |
[ELBLOGDENEGU@MikroTik] > /disk mount add disk=usb1 |
También lo podréis hacer vía interfaz web:
Comandos básicos de gestión disco USB en Mikrotik
Os dejo unos comandos para listar, copiar o mover ficheros. Listar:
1 |
/file print where type="disk" disk="usb1" |
Copiar:
1 |
/file copy source="usb1/example.txt" destination="/example.txt" |
Mover:
1 |
/file move source="usb1/example.txt" destination="/example.txt" |
Eliminar:
1 |
/file remove "usb1/example.txt" |
Crear directorios:
1 |
/file mkdir "usb1/new_folder" |
Monitorización de espacio en disco y detección de disponibilidad
Adicionalmente, porque estos discos pueden fallar si están mucho tiempo usándose, puedes montar un script para monitorizar si está disponible o se queda sin espacio:
Os dejo el script:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
:local diskName "usb1"; :local minFreeSpace 104857600; # 100MB en bytes :if ([:len [/disk find name=$diskName]] > 0) do={ :local diskInfo [/disk get [find name=$diskName] free-space]; :if ($diskInfo < $minFreeSpace) do={ :local messageContent ("Advertencia: El espacio libre en el disco '" . $diskName . "' es muy bajo: " . $diskInfo . " bytes restantes."); /tool e-mail send to="admin@example.com" subject="Alerta de Espacio en Disco MikroTik" body=$messageContent tls=yes; /log info "Correo de alerta enviado debido a bajo espacio en disco."; } } else={ /log error "El disco especificado '$diskName' no está presente en el sistema."; :local messageContent ("El disco especificado '$diskName' no está presente en el sistema."); /tool e-mail send to="admin@example.com" subject="Alerta de Espacio en Disco MikroTik" body=$messageContent tls=yes; /log info "Correo de alerta enviado debido a que el disco no está presente en el sistema."; } |
Y creamos una programación:
1 2 3 |
[ELBLOGDENEGU@MikroTik] /system/script> /system scheduler [ELBLOGDENEGU@MikroTik] /system/scheduler> add name="MonitorizarEspacioDisco" interval=1h on-event="CheckDiscoUSB" start-ti me=startup comment="Monitoriza el espacio en el disco USB usb1 cada hora" |
Almacenamiento de logs router Mikrotik
Si queremos usarlo para almacenar logs:
1 2 3 4 5 |
/system logging action set memory-lines=0 add name="log-to-ssd" target=disk disk-file-name="/usb1/logs" disk-lines-per-file=10000 disk-stop-on-full=no /system logging add action=log-to-ssd topics=info |
Configurar backups a SSD externo en Mikrotik
Una función interesante es llevar el backup de tu router al disco externo (mejor si hay réplicas fuera del router también):
1 2 |
/system scheduler add name="daily-backup" start-time=00:00:00 interval=24h on-event="/system backup save name=\"/usb1/mikrotik-backup.backup\"" |
Usar el SSD externo de Mikrotik para Caché de Navegación
Si queréis configurar un proxy y caché para éste dentro de los roles que pueden funcionar en un router de este tipo:
1 |
/ip proxy set enabled=yes cache-path="/usb1/web-proxy-cache" max-cache-size=unlimited cache-administrative-limit=none cache-on-disk=yes |
Configurar Contenedores en el SSD externo de Mikrotik
Yo es la función que más voy a usar, ya que acelerará los contenedores:
1 2 3 |
/container add name="container1" remote-image=nginx:latest root-dir="/usb1/containers/container1" interface=veth1 /container start number=0 |
Almacenar datos de monitorización en disco externo Mikrotik
Os dejo otra función que podéis usar:
1 |
/tool graphing set store-on-disk=yes db-path="/usb1/graphing-db" |
Espero que os parezca interesante como a mí…
Te ha gustado la entrada SGUENOS EN TWITTER O INVITANOS A UN CAFE?