¿Cuánto tiempo lleva fsck un volumen?


9

Estamos ejecutando un sitio web que actualmente ofrece entre 3 y 5 millones de visitas. Nuestro sitio es un sitio para compartir archivos, por lo que contiene 250,000 archivos y algunos miles de enlaces simbólicos.

El disco duro es un disco SATA de 1500 GB.

Utilizando hdparm, llegamos a saber que la velocidad de nuestro disco duro se ha reducido a 15-20 MB / s, que era 80 MB / s.

Así que ahora queremos ejecutar fsckpara solucionar el problema del disco.

  1. ¿ fsckResolverá este problema?
  2. ¿Cuánto tiempo fsckllevará completar (solo queremos calcular el tiempo de inactividad que vamos a tener)?

¿Qué sistema de archivos estás usando? ¿Es esta una matriz RAID o un simple disco SATA?
Kyle Smith

disco simple SATA y sistema de archivos ext3
khizar ansari

11
¿Por qué está ejecutando un servidor web de producción en un solo disco? Los servidores con discos individuales no son servidores, son bombas de tiempo.
Evan Anderson

3
Parece que ese disco se está muriendo. Migre sus datos (a una matriz RAID real con un controlador respaldado por batería de hardware) inmediatamente.
Joel E Salas

Respuestas:


8

Es de esperar la degradación de la velocidad a medida que aumenta el número de archivos a los que se accede simultáneamente. A las unidades de disco duro no les gusta acceder en paralelo: cada vez que el cabezal de lectura / escritura necesita cambiar los cilindros, pierde varios milisegundos. Incluso si dos archivos están en el mismo cilindro, o incluso en la misma pista, es posible que deba esperar una rotación para moverse de uno a otro. Si mide el rendimiento de la unidad en megabits por segundo, espere que disminuya exponencialmente a medida que aumenta el acceso paralelo.

fsck no ayudará con esto: solo repara los daños a la estructura del directorio, no realiza ninguna optimización.

La solución ideal sería cambiar al almacenamiento de estado sólido ya que no tiene ninguna de las limitaciones físicas de los platos giratorios. Pero eso es probablemente un costo prohibitivo.

El siguiente mejor sería utilizar un RAID optimizado para acceso paralelo. Tenga en cuenta que los RAID se pueden configurar para muchos perfiles de rendimiento diferentes, por lo que deberá tomarse un tiempo para aprender la configuración de cualquier hardware y controladores RAID.

Es posible que pueda reducir el problema utilizando el almacenamiento en caché agresivo del sistema de archivos. Si su sistema tiene suficiente RAM, Linux ya debería estar haciendo esto bastante bien. Ejecute un programa toppara ver cuánta RAM libre hay. Pero si los archivos más utilizados no caben en la RAM (o cualquier RAM que pueda adquirir), esto realmente no ayudará.

Una solución para un pobre sería dividir sus archivos en varios discos duros físicos diferentes (no solo en diferentes particiones en el mismo disco). Esa no es realmente una solución escalable a largo plazo y terminaría costándole más que un RAID decente. Pero podría ser una solución rápida si tiene unidades por ahí.

Para cualquier solución que involucre unidades de disco duro, asegúrese de que tengan una velocidad de rotación rápida y una baja latencia de búsqueda.

He escrito un artículo con algunos antecedentes generales sobre el rendimiento del disco duro aquí:

Consejos UNIX - Sistemas de archivos


No veo que su hdparmpunto de referencia tenga mucho que ver con el "acceso paralelo". A mí me parece más como si tuviera un disco defectuoso. Fue más rápido en el pasado y ahora no lo es. Probablemente porque está reubicando sectores.
Evan Anderson

Ciertamente es una posibilidad, aunque creo que la reubicación en esa escala produciría algunos errores de E / S. Basado en la línea de base muy lenta de 80 megabits por segundo, estaba asumiendo que la prueba se ejecutó en un sistema activo. Entonces ... ¿hay errores de E / S en el registro del sistema, cómo se realizaron las hdparmpruebas y los resultados en "megabits" o "megabytes" por segundo?
Seth Noble

3

Esperaría 5 horas para completar el fsck.

En cambio, consideraría (eso significa: probar, probar y probar) una migración a reiserfs.


2
  1. No (fsck puede reparar metadatos del sistema de archivos corruptos, no un disco roto, ni es una herramienta de desfragmentación).
  2. Depende del sistema de archivos. Con ext3, insoportablemente largo, reservaría varias horas. Los sistemas de archivos más modernos como ext4 o xfs pueden ser fácilmente un orden de magnitud más rápido.

1

hdparm hace una lectura secuencial. Su disco del servidor de archivos debería estar buscando mucho, como dijeron los otros chicos.

Si recibe errores de HD, deberían aparecer en su / var / log / en algún lugar.

¿Por qué no prueba "smartctl -t short / dev / sda" y luego "smartctl -t long / dev / sda" ?? ... Con la mayoría de los nuevos discos duros, puede emitir este comando incluso cuando usa HD . Smart te dará algunos resultados. Puede leer el estado de su HDD usando "smartctl --all / dev / sda".

Si está enviando un hdparm a HDD que está montado con acceso concurrente, esa podría ser la respuesta por qué sus resultados son mucho menores que antes.

Debería mover sus datos a una configuración RAID lo antes posible.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.