Comment se protéger contre la perte de serveur sur un budget

22

Je suis une petite entreprise dont le budget est limité et qui fournit des sites Web et des bases de données à des organisations caritatives et à but non lucratif.

J'ai quelques serveurs Debian Linux VPS et je m'assure d'avoir des sauvegardes quotidiennes sur un autre VPS que celui sur lequel le service est hébergé.

Récemment, une de mes sociétés d'hébergement m'a dit que deux disques étaient tombés en panne simultanément et que les données étaient donc perdues à jamais. Des trucs arrivent, ils ont dit désolé, que pouvaient-ils faire d'autre? Mais cela m'a amené à m'interroger sur les moyens rentables de récupérer un VPS en cas de défaillance matérielle ou autre liée à l'hôte.

Actuellement, je devrais

  1. Faites tourner un nouveau VPS
  2. Obtenez la sauvegarde du dernier jour (qui comprend les bases de données, la racine Web et la configuration spécifique au site Web) sur le VPS, et configurez-la comme la dernière, etc.
  3. Mettez à jour DNS et attendez qu'il se propage.

Cela prendrait probablement un jour ou deux pour y parvenir, la propagation DNS étant une grande inconnue, bien que le TTL soit assez bas (environ une heure).

Certains hôtes fournissent des instantanés qui peuvent être utilisés pour répliquer une configuration vers un nouveau VPS, mais il y a toujours l'IP et cela n'aide pas dans le cas où la société hôte annule / suspend un compte purement et simplement (j'ai lu à ce sujet comportement de certains hébergeurs et ça me fait peur! Je ne fais rien de spammeur / douteux et je surveille de près la sécurité, mais je me rends compte qu'ils ont littéralement le pouvoir de le faire et je suis assez réticent au risque).

Est-ce que cela, combiné avec le choix d'hôtes de bonne réputation, est le mieux que je puisse faire sans opter pour une solution incroyablement chère?

artfulrobot
la source
1
Très sceptique quant à l'affirmation selon laquelle 2 lecteurs ont échoué simultanément, en particulier sur un vps
symcbean
Apparemment, l'un a échoué puis un autre pendant que le nouveau était en cours de reconstruction.
artfulrobot
jetez un oeil à drbd.linbit.com , cela pourrait répondre à vos besoins ..
The Unix Janitor
2
@symcbean: Le problème est qu'une reconstruction RAID-5 nécessite la lecture de toutes les données de tous les disques restants. C'est une opération assez longue (heures sinon jours). Un système RAID-5 bon marché peut avoir une configuration 9 + 1 utilisant des disques de bureau. Tous ces 9 disques seront stressés au-delà des limites de conception dans une reconstruction RAID. L'échec est donc à prévoir, en fait.
MSalters
1
Eh bien, en fait, ils ont des pools de stockage et des pools de processeur + mémoire en tant qu'entités distinctes, mais la question n'est pas de savoir ce qui s'est passé ou non sur un fournisseur particulier; son plus général qu'une mise en œuvre spécifique.
artfulrobot

Réponses:

28

Pour moi, choisir des hôtes de bonne réputation et faire des sauvegardes régulières - que vous semblez déjà faire - est aussi bien que vous pouvez le faire sans commencer à penser à la planification de la continuité des activités, aux configurations à haute disponibilité, aux SLA, etc.

Je dis aux gens que vous bénéficiez d'une disponibilité de 99% gratuitement (c'est-à-dire sans dépenser rien de plus pour la haute disponibilité). Cela représente environ trois jours et demi d'indisponibilité par an. Chaque 9 supplémentaire sur ce temps de disponibilité augmente le coût de trois à dix fois.

Si les gens ne sont pas prêts à payer ce genre d'argent, c'est à mon avis une erreur de les induire en erreur en leur faisant croire qu'ils peuvent obtenir une protection supplémentaire de quelque importance.

MadHatter soutient Monica
la source
3
C'est une excellente réponse. J'ai une configuration et un type de clients très similaires à @artfulrobot (nous utilisons même la même société d'hébergement), et sa question et votre réponse m'ont fait comprendre qu'il est de ma responsabilité de communiquer à mes clients les limites et les risques, dans un anglais très simple, pour s'assurer qu'ils ont des attentes réalistes. La plupart d'entre eux sont très non-teccie, il est donc très probable qu'ils pensent que tout fonctionnera comme par magie, sans arrêt et à l'infini. Je ne veux pas gérer leurs attentes pendant / après un échec majeur, je dois le faire avant!
Simon Blackbourn
Je ne dis pas que les échecs ne sont pas entièrement corrélés, mais la redondance 1 + 1 en théorie devrait vous donner deux neuf supplémentaires pour le double du coût. Vous suggérez que le coût de deux neuf supplémentaires se situe entre 9 et 100 fois. 2x contre ~ 30x est une énorme différence.
MSalters
2
@MSalters c'est vrai, contre certains types de pannes (panne de serveur). Par exemple contre une panne de site, cela ne fait rien, à moins que les deux serveurs ne soient sur des sites différents, et cela devient extrêmement complexe en termes d'administration réseau. Vous ne considérez également que les coûts en capital et ignorez les coûts de fonctionnement accrus - garder deux serveurs parfaitement synchronisés n'est pas anodin, selon le genre de chose qu'ils font, et il y a le coût administratif des équilibreurs de charge. Mon sentiment est que les serveurs redondants sur un seul site, partageant la charge LB, vous donnent neuf autres en échange de 3-4 fois le coût.
MadHatter prend en charge Monica le
Bon et facile moyen de le présenter. (Mais ... je voudrais juste ajouter un prix quelque part, car 3 à 10 fois "gratuit" est toujours gratuit;). Ou bien sûr, vous voulez dire le coût global du service lui-même? )
Olivier Dulac
@OlivierDulac précisément ainsi!
MadHatter prend en charge Monica le
8

Les petites entreprises avec de petits budgets, en particulier les organisations à but non lucratif, ne pourront généralement pas se permettre une haute disponibilité. La question est, si vous n'avez pratiquement pas de budget, comme c'est généralement le cas dans des situations comme celle-ci, quelle est votre stratégie de restauration?

J'ai des clients comme ça, et voici ce que je fais:

Tout d'abord, pour certains d'entre eux, j'ai une sauvegarde incrémentielle et un vidage complet de la base de données toutes les six heures. Un client utilisait déjà CrashPlan Pro, donc je viens de l'utiliser. Quoi que vous fassiez, vous devez vous assurer d'avoir une sauvegarde restaurable.

J'ai un playbook simple ansible que j'ai mis en place en environ une heure (n'ayant pas travaillé auparavant avec ansible) qui installe nginx, php-fpm et MariaDB et les prépare à héberger un ou plusieurs sites Web. L'exécution de ce manuel crée un serveur (ou des serveurs) prêt à héberger une application Web classique, et je peux simplement lui restaurer l'hôte virtuel nginx, les fichiers d'application et la base de données.

Le résultat de cela est que je peux faire apparaître un tel site Web à partir d'une sauvegarde en quelques minutes, contrairement à la méthode manuelle qui pourrait prendre une heure ou plus.

Michael Hampton
la source
Hé, ça sonne parfaitement. J'examinerai cela. Merci.
artfulrobot
La haute disponibilité est facilement disponible même pour les petits clients de bons fournisseurs. Ils réalisent des économies d'échelle.
JamesRyan
@JamesRyan Oui, mais vous n'obtenez pas d'économie de ... économie. Dites-moi s'il est logique d'exécuter deux instances Amazon et un équilibreur de charge élastique pour un site Web qui voit 300 visites par mois?
Michael Hampton
@MichaelHampton ce n'est même pas à distance ce que je proposais. Une entreprise hébergeant des VPS pour des centaines de clients peut les répartir sur du matériel redondant plutôt que de simplement en mettre un tas sur un seul serveur physique et croiser les doigts.
JamesRyan
4

La complexité de l'implémentation dépend de la pile d'applications, mais dans l'idéal, vous voudriez configurer une «redondance d'UC» (chez un autre fournisseur), avec des données répliquées en temps réel (ou aussi près du temps réel) que possible.

Faire l'analyse de rentabilisation pour avoir 2 serveurs "en direct" est aussi simple que de comparer la perte potentielle de revenus pendant une période de "récupération à partir d'images" aux dépenses d'un autre serveur.

Mark R.
la source
Merci. J'utilise une pile LAMP. Je suppose que le temps réel serait quelque chose comme la réplication MySQL, bien que cela puisse devenir assez difficile à gérer. Et cela double les serveurs que je dois gérer. Peut-être que cela aurait du sens d'avoir une boîte de faible spécification qui avait une copie en direct de tous les autres serveurs, donc c'était juste la propagation DNS. Ensuite, je pouvais cloner cela vers un nouveau VPS et changer le DNS (hmmm.).
artfulrobot
La réplication MySQL est généralement assez simple à installer et à configurer, à part le temps passé à transférer le jeu de données initial. En ce qui concerne le DNS, la plupart des résolveurs respectent les TTL bas ces jours-ci, et régler le TTL d'un enregistrement à 60 secondes fonctionne généralement bien.
Mark R.
La réplication MySQL est plus complexe lorsque vous devez ajouter de nouvelles bases de données supplémentaires et je pense qu'il est toujours difficile d'avoir un serveur esclave pour plus d'un maître (réplication de plusieurs dbs sur un serveur de secours). Bien sûr, vous devez également sécuriser l'accès entre les serveurs, par exemple Stunnel, c'est donc une PKI à maintenir, etc., sauf si vous avez un réseau privé, mais cela est exclu par la nécessité que cela soit avec une société d'hébergement distincte.
artfulrobot
Il y a toujours des tunnels de réplication-do-db et SSH avec des clés.
Mark R.
Utilisé pour exécuter le tunnel SSH standard mais il n'était pas fiable. Stunnel est brillant une fois que vous l'avez mis en service.
artfulrobot
2

N'oubliez pas que la disponibilité n'est pas la même chose que l'intégrité des données. Vous pouvez avoir une disponibilité de 99,99% et avoir perdu toutes vos données deux fois en un an tant que le serveur a été redémarré "assez tôt". La plupart des fournisseurs VPS garantissent que votre serveur fonctionne, PAS que vos données sont en sécurité. Vos données sont votre problème :(.

Ce que vous recherchez est quelque chose qui stockera vos sauvegardes sur un serveur séparé et (à mon humble avis) pas même dans le même fournisseur. Selon la taille des données dont vous parlez, un disque dur portable peut être utilisé comme troisième ligne de défense hors ligne. Sauvegardez vos données comme vous l'avez fait, puis copiez-les régulièrement (ou simplement les modifications si possible) sur le disque dur portable ou même sur un ordinateur local. Il existe également des options raisonnablement bon marché comme Backblaze pour les solutions de sauvegarde, mais le prix dépendra de la quantité de données dont vous parlez. Si vous pouvez faire des sauvegardes incrémentielles, cela coûtera beaucoup moins cher que les sauvegardes complètes, mais les sauvegardes incrémentielles peuvent être très difficiles selon l'endroit où les données sont stockées (fichiers plats = faciles, base de données = pas si faciles).

millebi
la source
Ouais, je fais ça :-) Et oui, les sociétés d'hébergement ne se soucient pas des données, j'ai déjà fait face à une corruption de disque!
artfulrobot
0

La réponse dépend totalement de votre architecture et de vos besoins. Il y a quelque temps, 3 disques sont tombés en panne sur l'un de mes serveurs, supprimant plus de 20 vidéos en cas d'échec d'un Raid 6.

J'ai écrit à ce sujet sur

https://www.linkedin.com/pulse/20140827173324-2064263-how-i-nearly-lost-my-business-to-3-hard-discs

Mais: Parce que c'est critique, nous avons eu des sauvegardes - quotidiennement pour les choses non importantes, 15 minutes pour les bases de données et les e-mails. Heck, maintenant j'ai ajouté un serveur qui est répliqué sur une autre machine toutes les 30 secondes.

Vous ne dites rien sur la pile, rien sur aucun budget - donc le meilleur et le seul conseil ici est d'aller chez un fournisseur de cloud et de commencer à utiliser leurs mécanismes de sauvegarde. Mais commencez à définir ce dont vous avez réellement besoin.

De plus, le budget de cette sauvegarde doit être dans votre prix. Il faut le payer. Et quelle que soit l'infrastructure dont vous avez besoin ... vous en avez besoin. Ce n'est donc pas "ridicule cher".

TomTom
la source
TomTom: aoe + openfiler et quelques boîtes et vous pouvez construire un micro-san à très haute disponibilité
symcbean