1 votes

Sauvegardes nocturnes et performances du serveur

À un certain moment, nous exécutons quelques scripts de sauvegarde pour sauvegarder :

  • code/fichiers
  • bases de données
  • autres fichiers importants sur le serveur

Pendant ce temps, les sites web sur le serveur ralentissent, entraînant des déconnexions et des problèmes de connexion à la base de données.

Alors, j'imagine que je fais quelque chose de mal. Quel est le meilleur moyen de réaliser des sauvegardes nocturnes sans affecter les performances des sites sur le serveur ?

OS : Centos applications : MySQL, Rsync

Les sauvegardes sont effectuées sur un serveur distant.

2voto

Hagai L Points 362

En raison de l'opération de sauvegarde, il y a une contention pour le disque et le CPU et peut-être aussi pour les ressources réseau, donc votre site n'est pas réactif. Pour éviter cela, vous devrez réduire les priorités io et CPU des opérations de sauvegarde afin que votre site puisse fonctionner normalement.

Vous pouvez utiliser ceci avant d'appeler votre script de sauvegarde.

root@x:~# bash
root@x:~# echo $BASHPID
6576

La variable BASHID est le PID de la session bash actuelle.

root@x:~# ionice -c 2 -n 7 -p $BASHPID

Cela réduira la priorité io disque de votre shell actuel.

-c = classe (0 aucun, 1 temps réel, 2 meilleur-effort, 3 inactif)

-n = priorité (0-7, 0 est la priorité la plus élevée)

root@x:~# renice +10 -p $BASHPID

Cela réduira la priorité de planification CPU de votre shell actuel (-19 est la priorité maximale et 20 est la priorité minimale)

root@x:~# ./script-de-sauvegarde

Maintenant, à partir de là, vous pouvez appeler votre script de sauvegarde. Comme les processus enfants héritent des priorités CPU et IO du parent, votre(s) processus(s) de script de sauvegarde s'exécuteront avec des priorités io et CPU plus basses et donc vos processus serveur auront priorité sur la sauvegarde.

Si vous utilisez une tâche cron, vous pouvez mettre toutes les commandes ci-dessus dans un fichier, lui attribuer des autorisations x et ajouter ce fichier à cron.

En cas de congestion réseau, vous devrez peut-être utiliser "tc" pour classer le trafic de sauvegarde et limiter le débit. Vous pouvez en savoir plus sur le contrôle du débit ici. http://wiki.openvz.org/Traffic_shaping_with_tc

1voto

adaptr Points 16431

Difficile de répondre sans savoir quels sont le système d'exploitation, les applications, les systèmes de fichiers et les supports de sauvegarde impliqués.

Sans aucune de ces informations, ma réponse est: rsync

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X