Refonte du système de sauvegarde

  • Initiateur de la discussion
  • Administration
  • #1
Snk

Snk

El Dictator
Membre du Staff
Messages
4 391
Score réaction
2 934
Points
790
Pour mieux assurer les évolutions à venir de notre parc de machines, nous avons entrepris de gros travaux cet été pour améliorer considérablement notre système de sauvegarde.
Retour sur 2 mois de travaux !

Pour l'occasion, je vous fais un petit retour d'expérience qui, je l'espère, vous intéressera :)

Si vous voulez en savoir davantage sur certains points, n'hésitez pas !


Les sauvegardes d'avant

Initialement, le système de sauvegarde maison était découpé en 2 parties :
- des sauvegardes sur disque dur local sur chaque machine
- des sauvegardes sur serveurs de fichiers distants pour la sauvegarde du matin (entre 8h et 10h)

N'était poussé vers nos 2 serveurs de fichiers distants "que" 800Go / jour environ.

L'évolution matérielle allant vers une démocratisation totale des SSD, nous avions désormais des machines de serveurs de jeux intégralement SSD qui elles avaient besoin d'être sauvegardées à distance seulement (faute de place en local).

On se retrouvait dans une situation particulière avec 2 modes de sauvegardes :
- machines SSD + DD = sauvegardes en local et à distance
- machines SSD seulement = sauvegardes distantes seulement

Les technologies de sauvegardes distantes mises en place il y a plusieurs années présentaient également plusieurs défauts avec un manque de redondance (sauf bien entendu du stockage RAID pour supporter un disque dur cassé) et surtout une impossibilité de faire grandir l'infrastructure de manière linéaire en mode "on a besoin de + de place, on rajoute des serveurs".

Aussi gérer les cas particuliers était parfois compliqué et un serveur unique qui prenait 1To de sauvegardes pouvait poser problème aux serveurs voisins.


Qui dit "été" dit optimisations !

Durant l'été, nous avons du revoir un grand nombre de mécanismes en rapport +/- directs avec les sauvegardes et préparer l'avenir de machines uniquement SSD (ce qui est déjà le cas pour + de la moitié d'entre elles avec les machines FPS et GMOD).

La première étape a été de revoir la volumétrie des données.

Sur nos machines, 3 groupes se distinguent :
- les serveurs de jeux, tous sur SSD bien entendu :)
- les rendus Minelive, sur DD uniquement pour les machines sandbox
- les sauvegardes locales, sur DD uniquement pour les machines sandbox

Note : les machines sandbox concernent celles qui hébergent les serveurs de jeux type ARK, BungeeCord, Minecraft, Rust, Starbound & StarMade.

Nous avons donc tout d'abord optimisé les rendus Minelive pour obtenir un rendu plus rapide et surtout un volume de données divisé par pratiquement 3 (avec notamment un passage de PNG à JPEG), nous permettant ainsi d'envisager sereinement de garder ceux-ci en local mais sur SSD à l'avenir.

Ensuite notre attention s'est portée sur la taille des sauvegardes des serveurs de jeux. Nous avions pris le parti de ne pas compresser celles-ci pour éviter une consommation processeur excessive/inutile sur nos machines mais de nombreuses optimisations au fil des années nous permettent aujourd'hui d'avoir une puissance CPU disponible très importante et ainsi envisager à nouveau la compression :)

Couplée à diverses optimisations sur les fichiers à ne pas sauvegarder, le volume de données à sauvegarder s'est retrouvé divisé par un ratio de x2 à x3 (selon les jeux).

La partie "optimisations" était terminée, dès lors il s'agissait de laisser agir 2-3 semaines pour mesurer l'évolution, faire des ajustements et pouvoir prévoir la migration vers le futur système de sauvegarde.


Étude de technologies de stockage, tests puis ultimes réglages avant migration

La nouvelle infrastructure de sauvegarde devait répondre à plusieurs critères :
- redondance totale des serveurs (= 1 serveur entier plante, le service continue comme si de rien n'était)
- performances accrues avec une répartition uniforme des sauvegardes sur les différents serveurs
- évolutivité sans limite avec la possibilité de rajouter des serveurs / disques au fur et à mesure

Plusieurs technologies de stockage ont émergé ces dernières années afin de permettre de réaliser des "clusters de stockage" avec des serveurs standards là où il fallait autrefois des baies spécifiques de stockage très coûteuses pour parvenir au même résultat.

Après étude, notre choix s'est porté sur l'une d'elle et les tests ont pu commencer. 2 semaines plus tard, les réglages étant finalisés, il était temps de mettre en place ce qui deviendra le nouveau cluster de sauvegarde composé de 4 serveurs (2 couples de 2 serveurs) pour une volumétrie utilisable totale d'environ 56To.

Afin de valider définitivement ce nouveau système, nous avons migré quelques machines seulement et observé durant 1 semaine le déroulement des sauvegardes.

Certaines performances n'étant pas complètement satisfaisantes, nous avons repris intégralement la façon dont sont programmées les sauvegardes dans le temps (= ordonnancement des sauvegardes).
Ceci permet notamment d'éviter tout risque de surcharge réseau durant les périodes de sauvegardes.

Les dernières optimisations étaient finalisées, place à la migration géante !


Migration finale

Cette migration s'est faite sur 1 semaine entière car migrer plus de 40To de données ne se fait évidemment pas instantanément :)
Durant cette période, aucun dysfonctionnement n'a été constaté et toute la migration s'est déroulée de manière totalement transparente pour tous les clients !

Cette migration finale s'est achevée le 24 septembre dernier, marquant l'apogée de 2 mois de travaux :)


Pour vous, cela change quoi ?

Au cours du temps nous avons vu que vos besoins en matière de sauvegarde changent et disposer d'une infrastructure plus robuste et évolutive nous permet de toujours mieux coller à vos besoins.

Globaliser la sauvegarde et l'optimiser comme nous l'avons fait nous a notamment permis de :
- mettre au point un système d'archivage des serveurs expirés (sur 1 an !)
- sauvegarder 4 fois par jour (+ à chaque arrêt pour les serveurs sandbox) tous les serveurs de jeux
- assurer une sécurité/disponibilité maximale des sauvegardes avec une technologie moderne de redondance
- ne plus gérer de cas particuliers, les serveurs très lourds sont sauvegardés aussi longtemps que tous les autres ! (même si par exemple il s'agit d'1To)

Reste le sujet de la rétention ou le temps que l'on garde ces données de côté. Pour le moment, nous avons décidé et mis en place la stratégie suivante :
- rétention des 4 sauvegardes par jour pour les 30 derniers jours
- au-delà de 30 jours et sur plusieurs mois (3 ou 6 mois, à déterminer dans le temps) on garde la 1ère sauvegarde du lundi

Votre avis nous intéresse, si vous avez eu un jour une expérience malencontreuse ou autre à ce niveau et qu'un tel système aurait pu vous sauver, n'hésitez pas à nous l'expliquer :)
 
  • J'aime
Réactions: Seb
Taink

Taink

El Magnifico
Messages
5 919
Score réaction
3 205
Points
965
Snk à dit:
Pour info vous pouvez maintenant restaurer des sauvegardes depuis le panel pour tous les jeux qu'on propose ;-)
On l'attendait, ça ! Merci ;)
 
Zerka123

Zerka123

Geek
Messages
325
Score réaction
34
Points
80
Snk à dit:
Pour info vous pouvez maintenant restaurer des sauvegardes depuis le panel pour tous les jeux qu'on propose ;-)
Comment ??
 
Zerka123

Zerka123

Geek
Messages
325
Score réaction
34
Points
80
Ah je vien de la voir pour info c'est dans le panel bien-sûr dans configurer puis sauvgardes
 
  • Initiateur de la discussion
  • Administration
  • #8
Snk

Snk

El Dictator
Membre du Staff
Messages
4 391
Score réaction
2 934
Points
790
Pour ceux qui l'ont utilisé, ça vous plait ? :)
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
15 577
Score réaction
10 037
Points
1 840
Snk à dit:
Pour ceux qui l'ont utilisé, ça vous plait ? :)
j'ai l'impression d'avoir un outil de gestion supplémentaire selon mes goûts donc perso je suis satisfait ^p^
 
Taink

Taink

El Magnifico
Messages
5 919
Score réaction
3 205
Points
965
Snk à dit:
Pour ceux qui l'ont utilisé, ça vous plait ? :)
Je l'ai pas utilisé personnellement, mais j'ai eu de bons retours ^^
 
Haut