Tengo un cron que básicamente hace un simple "tar zcf" en la noche.
El servidor tiene:
- 8 núcleos - Intel (R) Xeon (R) CPU E5606 @ 2.13GHz
- 25 GB de RAM
- Ubuntu 12.04.2 LTS
- RAID de hardware 1 (LSI Logic / Symbios Logic MegaRAID SAS SMC2108) con dos discos duros de 2.728 TB
Como puede ver en la pantalla de monitoreo:
Durante casi todo el tiempo del alquitrán, la E / S del disco llega a> 90% y hace que todas las demás aplicaciones (mysql, apache) se ralenticen mucho.
2 preguntas:
- ¿Es normal tener una E / S de disco tan alta durante la copia de seguridad?
- ¿Hay alguna forma de limitar la E / S del disco para que otra aplicación pueda continuar funcionando correctamente?
¡Gracias!
ubuntu
backup
performance
io
hard-drive
acemtp
fuente
fuente
find
sin-perm
embargo (sin) no accederá al archivo inode. Pero eso permite que la optimización use dosfind
llamadas. Si realiza la mismafind
llamada dos veces (con poco tiempo en el medio), la segunda generalmente terminará en segundos (o menos). Dependiendo de la cantidad de memoria libre y la cantidad de datos almacenados en caché en un determinado punto, los datos se expulsan de la memoria caché. Por lo tanto, leer demasiado puede ralentizar la operación. Si puede alimentar el programa de copia de seguridad con nombres de archivos a través de stdin, puede evitar esto leyendo bloques de, por ejemplo, 100 archivos.Se espera que vea E / S altas durante las copias de seguridad porque generalmente se realizan sobre árboles de archivos grandes con archivos grandes. Puede usar
ionice
para priorizar trabajos de E / S en Linux con clases y niveles. IIRC, clase 2, nivel 7 es el nivel más bajo, sin hambre, lo que lo hará prácticamente invisible para otras cargas y usuarios de E / S. Verman ionice
para uso y detalles.fuente
Recomendaría deshacerse del alquitrán e ir con rsync (como lo mencionó Dogsbody). Utilizo BackupPC para hacer copias de seguridad de archivos en mis sistemas Windows y Linux y admite el uso de tar y rsync y automáticamente se encarga de los enlaces duros para usted, además de proporcionar una interfaz web agradable.
http://backuppc.sourceforge.net/
fuente
Como han respondido otros, sí, esto es normal y
ionice
es una buena forma genérica de no dejar que afecte a su sistema.Sin
tar
embargo, varias veces he visto cosas de la gente cuando no es necesario. Si algún porcentaje de los datos que está copiando no ha cambiado desde la última copia, le sugiero que lorsync
intente.Esto reducirá la E / S al copiar solo los archivos que han cambiado desde la última copia. no podrá reducir el IO en más de la mitad, ya que todos los datos aún tendrían que leerse, pero reducirá significativamente la cantidad de datos escritos (lo que, dependiendo de su hardware, también puede ser una operación más lenta).
Si desea copias / copias de seguridad separadas cada vez que se ejecuta, la opción más potente es –link-dest, que le permite vincular archivos sin cambios a una copia de seguridad anterior. Esto ahorra ENORMES cantidades de espacio en el servidor de respaldo. por ejemplo, hago una copia de seguridad de una máquina (Fred), Fred tiene un disco duro de 20 GB y hago una copia de seguridad / copia de toda la unidad, excepto / proc y / dev. Ahora tengo un directorio de 20GB en mi servidor de respaldo. Al día siguiente vuelvo a respaldar a Fred y –link-dest a la copia de seguridad de ayer. Rsync compara los archivos remotos con la copia local y, si es exactamente lo mismo, no se molestará en transferirlos, pero vinculará el nuevo archivo al archivo de ayer. Todos los archivos que han cambiado se copian de nuevo (o se copian parcialmente usando la copia de seguridad de ayer si es posible). Si solo se modificaron 100 MB de archivos desde ayer, ahora tengo dos directorios, ambos con 20 GB de archivos, pero solo ocupan 20.
Espero que eso ayude y aún responda tu pregunta.
fuente