|

Tormenta, Nas4free, UFS y USB

Escenario

Desde hace más de diez años uso un servidor para almacenar mi música, copias de seguridad, películas, fotos y vídeos. Tiene instalado Nas4free, un software para gestionar los recursos de la NAS que corre sobre el sistema operativo FreeBSD. Desde el 2018 el software empezó a publicarse bajo el nombre XigmaNas. Esto último me he enterado hoy después de que estallará un tormenta que ha provocado un apagón de menos de un segudo, el tiempo suficiente para que el servidor NAS deje de funcionar.

Problema I

Cuando arranca se queda pillado en la instrucción: pcib0: acpi host-pci bridge port 0xcf8-0xcff on acpi0 pcib0 Lo apago y arranco tres veces, pero invariablemente el sistema operativo deja de cargarse en esa instrucción. Tras buscar en internet, leo en varios foros que se puede solucionar estableciendo la siguiente variable cuando arranca el ordenador, y luego reiniciando: set hw.pci.realloc_bars=1boot Para poder establecer la variable, en vez de dejar que Nas4free arranque normalmente, tengo que usar la opción para que inicie en modo consola. Una vez en modo consola, lanzo los dos comandos, pero sigue deteniéndose en el mismo sitio. Me huelo que algún componente del hardware ha muerto o la BIOS ha dejado de reconocerlo. Decido desmontar el disco duro para por lo menos rescatar el contenido del disco de arranque. Una de las particiones tiene una base de datos sqlite de la que hace tiempo no hago una copia de seguridad. Es un disco viejo de tipo IDE. Lo monto en una carcasa USB y enchufo a un ordenador con Ubuntu 18.04. Para montar un disco formateado en UFS hay que usar el siguiente comando: $ sudo mount -t ufs -o ro,ufstype=ufs2 /dev/sdc5 /media/std

Problema II

Al menos que se compile el kernel con la opción explícita, Ubuntu no permite escribir en un disco con el sistema de ficheros UFS, solo leer. He decidido que voy a modificar el fichero /boot/loader.conf para añadir la variable de la que hablé arriba. Lo mismo así consigo rescatar el sistema. Vuelvo a buscar en internet y resulta que hay un tipo que ha publicado en Github una herramienta para montar particiones UFS para lectura y escritura. Las instrucciones del README no son muy claras. Así es como he conseguido que . Antes de compilar el código hay que instalar tres paquetes de Ubuntu: $ sudo apt install libfuse$ sudo apt install e2fslibs-dev$ sudo apt install libfuse-dev A continuación hacemos un pull del código, compilamos e instalamos: $ git clone git@github.com:mkatiyar/fuse-ufs2.git$ cd fuse-ufs2$ ./autogen.sh$ ./configure$ make$ sudo make install Ahora sí que puede montar la partición con el comando $ sudo fuse-ufs /dev/sdc5 /media/st3 -o rw+ Y modificar el fichero de configuración. Vuelvo a montar el disco duro en la máquina de origen, pero el arranque sigue atascándose en el mismo punto. Me digo que tengo que comprarme un nueva máquina. Pero antes, arranco el Nas4free en modo verboso por si se me hubiera escapado algo. Veo que se para en: ohci early: SMM active, request owner change Tras una búsqueda rápida caigo en un foro de FreeBSD donde apuntan que ohci es un término usado en el ámbito de las conexiones USB. Reinicio la máquina para entrar en la BIOS, deshabilito los dispositivos de USB y —quién me lo iba a decir después de tres horas de lucha desesperada— ¡mi vieja máquina vuelve a arrancar!

Solución

Mucho me temo que, tarde o temprano, la solución definitiva pase por comprar otra máquina.

Publicaciones Similares

  • Tablas con nombre reservado en entidades en Spring Boot

    Escenario Tenemos una aplicación corriendo sobre Spring Boot que usa Hibernate como ORM. Una de las tablas se llama Group, se utiliza para almacenar los distintos grupos a los que puede pertenecer un usuario. Problema La entidad de java que representa la tabla de grupos tiene esta pinta:

    Sabía que group es una palabra…

  • Usuarios sftp enjaulados con logs para registro de eventos

    Escenario Un cliente nos pide que montemos un servidor FTP para que nos pueda hacer llegar periódimante ficheros con datos. La máquina en la que vamos a configurarlo corre en un ubuntu server 18.04. y tiene instalado un openssh-server. Requisitos Debe utilizar el protocolo SFTP, que ofrece las funcionalidades de FTP sobre el protocolo SSH….

  • |

    Gestión de imágenes corruptas

    Escenario Nos encontramos ante una biblioteca de decenas de miles de archivos fotográficos, de los cuales un porcentaje considerable está corrupto. Objetivo Depurar las imágenes corruptas a fin de organizar como es debido nuestra biblioteca. Solución Nota: sólo aplicable a sistemas linux Vamos a necesitar la aplicación ImageMagick: $sudo apt-get install imagemagick y rsync, que debería venir instalado…

  • Control de portapapeles en Guacamole + VNC

    Escenario Tenemos montado un acceso remoto al escritorio de una máquina de la oficina usando el protocolo VNC y el cliente web Guacamole. Queremos permitir que los usuarios puedan pegar contenido en el portapapeles del escritorio remoto, pero no puedan llevarse el contenido del portapapeles remoto a su propia máquina. O, dicho de otra manera,…

  • Hibernate no puede resolver la propiedad…

    Escenario En una aplicación Spring Boot v2.3.4 hay dos entidades Balance y Shop. Una tienda (shop) puede tener varios saldos y un saldo (Balance) ha de estar relacionado con una tienda. Además existen panaderías (Bakery) y sastrerías (TailorShop) que extienden la clase Shop:

    Y necesito saber cuál es la fecha del…

  • |

    Como (no) cambiar la batería de un Sennheiser mm100

    Aviso a navegantes: es la primera vez que manipulo un componente electrónico tan pequeño y delicado. Si comparto mi experiencia es por dejar documentado mi apaño, seguro que alguien más experimentado en estos menesteres lo haría de otra manera, o sea, bien. A mi favor tengo que decir que me ha valido y, bueno, me…

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *