recommandations pour une solution de sauvegarde à distance efficace hors site des VM


15

Je suis à la recherche de recommandations pour sauvegarder mes 6 vm actuels (et bientôt jusqu'à 20). Actuellement, j'exécute un cluster proxmox à deux nœuds (qui est une base Debian utilisant kvm pour la virtualisation avec un frontal Web personnalisé à administrer). J'ai deux boîtiers presque identiques avec des cartes mères AMD Phenom II x4 et Asus. Chacun a 4 500 disques durs sata2, 1 pour le système d'exploitation et d'autres données pour l'installation de proxmox, et 3 utilisant mdadm + drbd + lvm pour partager les 1,5 To de stockage entre les deux machines. Je monte des images lvm sur kvm pour toutes les machines virtuelles. J'ai actuellement la possibilité de faire un transfert en direct d'une machine à l'autre, généralement en quelques secondes (cela prend environ 2 minutes sur le plus grand vm exécutant win2008 avec m $ sql server). J'utilise l'utilitaire vzdump intégré de proxmox pour prendre des instantanés du vm ' s et les stocker sur un disque dur externe sur le réseau. J'ai ensuite un service jungledisk (en utilisant rackspace) pour synchroniser le dossier vzdump pour une sauvegarde hors site à distance.

C'est très bien et dandy, mais ce n'est pas très évolutif. D'une part, les sauvegardes elles-mêmes peuvent prendre jusqu'à quelques heures chaque nuit. Avec les transferts incrémentiels de niveau bloc de jungledisk, la synchronisation ne transfère qu'une petite partie des données hors site, mais cela prend encore au moins une demi-heure.

La meilleure solution serait bien sûr quelque chose qui me permette de prendre instantanément la différence de deux points dans le temps (disons ce qui a été écrit de 6h à 7h), de le compresser, puis d'envoyer ce fichier de différence au serveur de sauvegarde qui serait instantanément transféré vers le stockage à distance sur rack. J'ai regardé un peu dans zfs et sa capacité à envoyer / recevoir. Cela couplé avec un tuyau des données en bzip ou quelque chose semble parfait. Cependant, il semble que l'implémentation d'un serveur nexenta avec zfs nécessiterait essentiellement au moins un ou deux serveurs de stockage dédiés supplémentaires pour servir des volumes de bloc iSCSI (via zvol's ???) aux serveurs proxmox. Je préfère garder la configuration aussi minimale que possible (c'est-à-dire NE PAS avoir de serveurs de stockage séparés) si possible.

J'ai également lu brièvement sur le zumastor. On dirait qu'il pourrait aussi faire ce que je veux, mais il semble avoir stoppé le développement en 2008.

Alors, zfs, zumastor ou autre?

Réponses:


3

Cela pourrait ne pas être possible dans votre situation, donc j'espère que je ne serai pas rejeté dans ce cas, mais il pourrait être plus efficace de changer votre stratégie de sauvegarde. Si vous sauvegardez des données spécifiques au lieu des instantanés de machine virtuelle, vos sauvegardes s'exécuteraient beaucoup plus rapidement et il serait plus facile de capturer les modifications.

En fonction de vos machines virtuelles et de leur utilisation, vous pouvez simplement les faire sauvegarder les données à l'endroit où vous stockez les instantanés maintenant quotidiennement (ou selon le calendrier approprié), puis JungleDisk peut sauvegarder uniquement les données. Cela permettrait de transférer plus efficacement les fichiers modifiés, et l'espace requis pour les sauvegardes ainsi que le temps nécessaire seraient réduits. De plus, vous pouvez toujours prendre des instantanés à conserver, et le faire beaucoup moins souvent (chaque semaine, par exemple).

Dans ce cas, vous pouvez toujours simplement afficher une nouvelle machine virtuelle et restaurer les données, ou utiliser un instantané plus ancien pour restaurer la machine virtuelle, puis utiliser la sauvegarde des données pour restaurer au point le plus récent.


1
J'avais déjà pensé à quelque chose comme ça. Le problème est qu'au moins l'un des VM principaux exécute un logiciel de base de données personnalisé spécialement adapté à l'industrie HVAC et n'a pas de fonction de vidage comme vous le verriez dans une base de données SQL. Nous exportons certaines de ces données vers M $ SQL, mais pas toutes, et seulement une fois par jour. Malheureusement, le simple fait d'être administrateur réseau ne me permet pas de prendre de telles décisions de conception dans ce qui fonctionne dans les vm ... seulement comment exécuter les vm et les sauvegarder.
senorsmile

1

Si je faisais des sauvegardes hors site, je choisirais les options suivantes:

(a) script shell qui copie SCP sur un serveur distant, de cette façon, vous pouvez ajouter un travail cron qui exécute automatiquement le script qui crée la sauvegarde. De plus, vous pouvez faire en sorte qu'il crée un fichier d'archive temporaire avant de réellement transférer les fichiers, économisant ainsi la bande passante en ne transférant pas pendant le gzipage.

ou

(b) Installez un outil de gestion de serveur comme Webmin et obtenez-le pour effectuer des sauvegardes automatisées. Je chante actuellement cela sur mes serveurs de production en ce moment sans aucun problème, cela fonctionne parfaitement. Je recommanderais également cloudmin (payant) pour gérer de nombreux vm car il fournit une solution tout en un.

quelques liens supplémentaires:

http://www.debianhelp.co.uk/backup.htm

http://ubuntuforums.org/showthread.php?t=35087

Espérons que cela aide, RayQuang


Merci! Ces liens contiennent de nombreuses bonnes informations. Le fait est que j'ai besoin de quelque chose qui peut fonctionner sur des machines virtuelles en cours d'exécution et ne pas avoir à fonctionner pendant des heures pour calculer les différences. La machine unique ultime serait une installation nexenta qui pourrait exécuter xen, kvm (évidemment dans le noyau linux) ou quelque chose de similaire. De cette façon, j'ai une solution de virtualisation hautement performante pour les installations de serveurs Windows et Linux sur des fichiers image ou lvm (ou zvol), et un moyen de prendre des instantanés illimités et de ne transférer rapidement que les différences de la dernière sauvegarde!
senorsmile

1

vous voudrez peut-être jeter un œil à backuppc.

backuppc peut fonctionner en plus de rsync qui effectue une copie incrémentielle.

de plus, vous pouvez facilement écrire une liste noire de dossiers qui n'ont pas besoin d'être sauvegardés. Par exemple: temp / / tmp .garbages / ...

http://backuppc.sourceforge.net/

backuppc possède une interface Web propre vous permettant de télécharger certaines parties d'une sauvegarde directement sous forme de fichier zip. Il peut être contrôlé par nagios à l'aide de check_backuppc.


Je pense que backuppc sera parfait pour un projet complètement différent! Merci beaucoup. Il peut également être un bon remplacement pour exécuter des sauvegardes à distance sur un site différent, pour ajouter ou remplacer jungledisk pour les sauvegardes hors site.
senorsmile

1

Je ne sais pas combien de changements architecturaux vous envisagiez d'apporter pour augmenter votre évolutivité. Cependant, si vous êtes disposé à changer de plate-forme VM, vous pouvez regarder VMWare.

Il existe de nombreuses bonnes solutions de sauvegarde VMWare, j'ai personnellement utilisé VzionCore. Vous pouvez ensuite effectuer des tâches lisses avec des instantanés et une récupération ponctuelle. Il est même possible de basculer vers un site distant.


Malheureusement, je recherche quelque chose d'assez similaire à ce que je lance actuellement; il doit surtout être open source et évolutif. J'ai passé en revue les solutions VMWare, et le coût d'un cluster virt même à deux nœuds avec une bonne solution de sauvegarde tierce près de CDP est très cher.
senorsmile

Je pense que vous voulez dire VizionCore, pas VzionCore.
Sean Reifschneider

0

zfs le fait très bien, vous l'avez déjà mentionné en sachant cela et l'inconvénient de ne pas fonctionner très bien à l'échelle du serveur 2. Cela ne vous donnera pas non plus le basculement DRDB, c'est-à-dire que Nexenta sera un point de défaillance unique.

Vous pouvez envisager d'essayer d'obtenir VirtualBox sur OpenSolaris ou NexentaCore mais pas aussi simple que ProxMox + DRDB afin de pouvoir réutiliser vos machines existantes.

Si vous mesurez vos changements et les trouvez suffisamment bas, vous pouvez essayer DRDB avec un troisième miroir hors site - Cela ne fonctionnera que si le nombre d'écritures est extrêmement faible sur vos machines virtuelles.

Steve Radich - Hébergement Windows et performances SQL depuis 1995 - http://www.BitShop.com/Blogs.aspx


0

Je gère un grand cluster proxmox et je dois vous suggérer de changer votre stratégie de sauvegarde loin des sauvegardes de style instantané vzdump intégrées, qui prennent du temps, sont toujours complètes donc de grande taille et rendent la restauration de fichiers individuels extrêmement longue.

Envisagez une solution de sauvegarde de fichiers «en invité», dont il existe de nombreux. Backuppc, Urbackup, bacula, amanda etc ...

Il sera beaucoup plus rapide, consommera beaucoup moins d'espace et sera beaucoup plus facile à restaurer des fichiers spécifiques.


0

Je pense que j'ai peut-être trouvé la réponse ultime à ma question:

BUP https://github.com/bup/bup

Fonctionnalités:

  • Il utilise un algorithme de total de contrôle tournant (similaire à rsync) pour diviser les gros fichiers en morceaux. Le résultat le plus utile est que vous pouvez sauvegarder de manière incrémentielle d'énormes images de disque de machine virtuelle (VM), des bases de données et des fichiers XML, même s'ils sont généralement tous dans un seul fichier énorme, et ne pas utiliser des tonnes d'espace disque pour plusieurs versions.

    Il utilise le format packfile de git (le système de contrôle de version open source), vous pouvez donc accéder aux données stockées même si vous n'aimez pas l'interface utilisateur de bup.

    Contrairement à git, il écrit directement les fichiers de paquets (au lieu d'avoir une étape séparée de collecte / reconditionnement des ordures), donc c'est rapide même avec d'énormes quantités de données gratuites. Les formats d'index améliorés de bup vous permettent également de suivre bien plus de noms de fichiers que git (millions) et de suivre bien plus d'objets (des centaines ou des milliers de gigaoctets).

    Les données sont «automagiquement» partagées entre les sauvegardes incrémentielles sans avoir à savoir quelle sauvegarde est basée sur quelle autre - même si les sauvegardes sont effectuées à partir de deux ordinateurs différents qui ne se connaissent même pas. Il vous suffit de demander à bup de sauvegarder les données et il n'enregistre que le minimum de données nécessaires.

    Vous pouvez sauvegarder directement sur un serveur bup distant, sans avoir besoin de tonnes d'espace disque temporaire sur l'ordinateur en cours de sauvegarde. Et si votre sauvegarde est interrompue à mi-parcours, la prochaine exécution reprendra là où vous vous étiez arrêté. Et il est facile de configurer un serveur bup: installez simplement bup sur n'importe quelle machine où vous avez un accès ssh.

    Bup peut utiliser la redondance "par2" pour récupérer des sauvegardes corrompues même si votre disque a des secteurs défectueux non détectés.

    Même lorsqu'une sauvegarde est incrémentielle, vous n'avez pas à vous soucier de restaurer la sauvegarde complète, puis chacune des incrémentales à son tour; une sauvegarde incrémentielle agit comme s'il s'agissait d'une sauvegarde complète, elle prend juste moins d'espace disque.

    Vous pouvez monter votre référentiel bup en tant que système de fichiers FUSE et accéder au contenu de cette façon, et même l'exporter via Samba.

Edit: (19 août 2015) Et encore une autre excellente solution qui est encore meilleure: https://github.com/datto/dattobd

Il permet des instantanés en direct, donnant essentiellement des fonctionnalités de type COW à tout ancien système de fichiers classique sous Linux.

Edit: (15 juil. 2016) Et même une autre excellente solution qui fait exploser le bup hors de l'eau: https://github.com/borgbackup/borg

C'est particulièrement mieux que bup à l'élagage. Il semble avoir un grand support pour la compression, le chiffrement et la déduplication efficace. dattobd + borg ftw !!!

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.