Diagnóstico preventivo del almacenamiento en Linux
Garantizar la integridad física de las unidades de almacenamiento es crucial para eludir desastres imprevistos y pérdidas irreversibles de información. En esta guía práctica abordaremos a fondo la utilidad badblocks, una herramienta esencial para localizar bloques degradados o defectuosos en el disco. Configuraremos un entorno virtual de pruebas totalmente seguro mediante dispositivos loop y exploraremos sus parámetros más destacados: escaneo pasivo de solo lectura, monitorización del progreso en vivo, generación de reportes externos y el modo no destructivo de lectura y escritura.
1. Configuración del laboratorio virtual y análisis inicial en solo lectura (-v)
Antes de comenzar la evaluación, es indispensable verificar que la suite de utilidades de bajo nivel para sistemas de ficheros esté disponible ejecutando sudo apt-get update -qq && sudo apt-get install -y e2fsprogs.

A fin de experimentar sin poner en riesgo ningún disco físico en producción, generamos un archivo de imagen ficticio de 50MB mediante dd if=/dev/zero of=/tmp/disk_test.img bs=1M count=50 status=none.

Para que el núcleo de Linux trate dicho archivo binario como si fuera una unidad de almacenamiento convencional, lo asociamos al primer dispositivo de bucle libre mediante sudo losetup -f /tmp/disk_test.img.

Almacenamos la ruta asignada en una variable de entorno y comprobamos que el enlace se haya establecido correctamente ejecutando LOOP_DEV=$(losetup -j /tmp/disk_test.img | cut -d: -f1) && echo "테스트 디바이스: $LOOP_DEV".

El comando badblocks rastrea la superficie de los bloques en busca de anomalías de hardware o zonas dañadas.
Iniciamos la revisión aplicando el modo predeterminado de solo lectura junto al modificador -v, el cual reporta el avance detallado sin alterar los datos existentes.
Si la herramienta finaliza su ciclo sin imprimir identificadores de bloque, significa que el medio se encuentra completamente sano.
⚙️ [Parámetros fundamentales]
-v : Habilita el modo detallado (verbose), imprimiendo en la terminal las etapas del análisis y las incidencias detectadas.-w : Activa la comprobación destructiva mediante patrones de escritura intensivos (sobrescribe por completo el contenido original, eliminando los datos).-n : Emplea un mecanismo no destructivo de lectura y escritura; resguarda temporalmente cada bloque en memoria, evalúa la superficie y restaura la información intacta.-s : Despliega una barra de progreso continua indicando la cuota porcentual (%) y el volumen de bloques procesados en tiempo real.-b : Define la dimensión del bloque en bytes (por defecto opera con bloques de 1024 bytes).-o : Exporta la relación de sectores dañados directamente hacia un fichero de texto en vez de saturar la salida estándar.-p : Determina el número de pasadas consecutivas sobre el medio, ideal para detectar fallos intermitentes o sectores al borde del colapso.

2. Monitorización del progreso en tiempo real (-s, -v)
Para supervisar la tarea de principio a fin con métricas visuales instantáneas, combinamos los modificadores -s y -v mediante la instrucción sudo badblocks -s -v $LOOP_DEV.
El flag -s actualiza continuamente la proporción completada en porcentaje (%) junto a la cuenta de bloques verificados, mientras que -v añade explicaciones pormenorizadas durante cada fase de la inspección.
Esta combinación resulta de gran utilidad en discos de gran tamaño para evitar la incertidumbre sobre el estado del proceso; la culminación sin avisos numéricos ratifica que la unidad opera de forma óptima.

3. Ajuste del tamaño de bloque y almacenamiento de registros (-b, -o)
Con el fin de emular el tamaño de asignación estándar empleado por los sistemas de archivos contemporáneos (4096 bytes) y volcar los resultados en un reporte, lanzamos LOOP_DEV=$(losetup -j /tmp/disk_test.img | cut -d: -f1) && sudo badblocks -b 4096 -v -o /tmp/badblocks_report.txt $LOOP_DEV.
La opción -b 4096 sustituye los 1024 bytes por omisión para ajustarse con precisión a la geometría lógica del volumen analizado.
Por otro lado, -o redirige la lista de bloques corruptos descubiertos hacia un archivo específico, dejando preparado el insumo necesario para futuras rutinas de aislamiento o reparación.

Procedemos a examinar el fichero generado mediante cat /tmp/badblocks_report.txt para constatar los hallazgos.
Tratándose de una unidad libre de defectos físicos, el comando mostrará un documento enteramente vacío, ratificando la ausencia de sectores anómalos.

4. Análisis exhaustivo no destructivo de lectura/escritura y limpieza (-n)
Para poner a prueba la capacidad de escritura de los sectores sin arriesgar ni corromper los archivos almacenados, ejecutamos LOOP_DEV=$(losetup -j /tmp/disk_test.img | cut -d: -f1) && sudo badblocks -n -v $LOOP_DEV.
La bandera -n opera de manera segura: copia provisionalmente el bloque en memoria volátil, inyecta patrones de comprobación para certificar la respuesta del soporte físico y restituye los datos originales de inmediato.
La finalización del proceso sin arrojar números de bloque dañados confirma plenamente la fiabilidad del medio de almacenamiento.

Una vez completadas las validaciones prácticas, procedemos a desmantelar el entorno de pruebas, desacoplando el dispositivo loop y suprimiendo tanto la imagen como el reporte mediante LOOP_DEV=$(losetup -j /tmp/disk_test.img | cut -d: -f1) && sudo losetup -d $LOOP_DEV && rm -f /tmp/disk_test.img /tmp/badblocks_report.txt.

Hemos revisado los parámetros clave de badblocks para el diagnóstico riguroso de soportes de almacenamiento en Ubuntu.
Integrar este tipo de auditorías periódicas dentro del plan de mantenimiento de sistemas previene incidentes graves y garantiza la longevidad de su infraestructura de datos.