Cómo protegerse contra la pérdida de servidor en un presupuesto


22

Soy una empresa pequeña con poco presupuesto que proporciona sitios web y bases de datos para clientes benéficos y sin fines de lucro.

Tengo algunos servidores Debian Linux VPS y me aseguro de tener copias de seguridad diarias en un VPS diferente al que está alojado el servicio.

Recientemente, una de mis empresas de alojamiento me dijo que dos unidades fallaron simultáneamente y que los datos se perdieron para siempre. Las cosas suceden, dijeron perdón, ¿qué más podrían hacer? Pero me hizo preguntarme sobre formas rentables de volver a poner en funcionamiento un VPS en caso de falla de hardware u otra falla relacionada con el host.

Actualmente tendría que

  1. Gira un nuevo VPS
  2. Obtenga la copia de seguridad del último día (que incluye bases de datos, raíz web y configuración específica del sitio web) en el VPS, y configúrela como la última, etc.
  3. Actualice DNS y espere a que se propague.

Probablemente llevaría un día más o menos lograr esto, ya que la propagación de DNS es una gran incógnita, aunque tengo el TTL configurado bastante bajo (aproximadamente una hora).

Algunos hosts proporcionan instantáneas que se pueden usar para replicar una configuración a un nuevo VPS, pero aún existe la IP y esto no ayuda en el caso de que la empresa anfitriona cancele / suspenda una cuenta directamente (he estado leyendo sobre esto comportamiento de ciertos proveedores de hosting y me da miedo! No estoy haciendo nada spam / dudoso y vigilo de cerca la seguridad, pero me doy cuenta de que literalmente tienen el poder de hacer esto y estoy bastante reacio al riesgo).

¿Es esto, combinado con la elección de hosts de buena reputación, lo mejor que puedo hacer sin buscar una solución increíblemente costosa?


1
Muy escéptico ante una afirmación de que 2 unidades fallaron simultáneamente, particularmente en un vps
symcbean

Aparentemente, uno falló y luego otro mientras se reconstruía el nuevo.
artfulrobot

eche un vistazo a drbd.linbit.com , esto podría ajustarse a sus requisitos ..
The Unix Janitor

2
@symcbean: El problema es que una reconstrucción RAID-5 requiere leer todos los datos de todos los discos restantes. Esa es una operación bastante larga (horas si no días). Un sistema RAID-5 barato puede tener una configuración 9 + 1 utilizando unidades de escritorio. Todos esos 9 discos se estresarán más allá de los límites de diseño en una reconstrucción RAID. El fracaso es de esperarse, de hecho.
MSalters

1
Bueno, en realidad tienen agrupaciones de almacenamiento y agrupaciones de procesador + memoria como entidades separadas, pero la pregunta no es sobre qué sucedió o no en un proveedor en particular; es más general que una implementación específica.
artfulrobot

Respuestas:


28

Para mí, elegir hosts acreditados y hacer copias de seguridad periódicas, lo que parece que ya está haciendo, es lo mejor que puede hacer sin comenzar a pensar en la planificación de la continuidad del negocio, las configuraciones de alta disponibilidad, los SLA, etc.

Le digo a la gente que obtienes un 99% de tiempo de actividad gratis (es decir, sin gastar nada extra en alta disponibilidad). Eso es aproximadamente tres días y medio de inactividad al año. Cada 9 extra en ese tiempo de actividad aumenta el costo en algún lugar entre tres y diez veces.

Si las personas no están listas para pagar ese tipo de dinero, en mi opinión es un error engañarlas para que piensen que pueden obtener una protección adicional de cualquier importancia.


3
Esta es una respuesta genial. Tengo una configuración y un tipo de clientes muy similares a @artfulrobot (incluso utilizamos la misma empresa de hosting), y su pregunta y su respuesta me han hecho darme cuenta de que es mi responsabilidad comunicar a mis clientes las limitaciones y los riesgos, en inglés muy sencillo, para asegurarse de que tengan expectativas realistas. La mayoría de ellos son muy poco técnicos, por lo que hay una probabilidad muy real de que piensen que todo de alguna manera funcionará mágicamente, sin parar y hasta el infinito. No quiero gestionar sus expectativas durante / después de una falla importante, ¡tengo que hacerlo antes!
Simon Blackbourn

No digo que las fallas no estén totalmente correlacionadas, pero la redundancia 1 + 1 en teoría debería darle dos nueves adicionales por el doble del costo. Sugiere que el costo de dos nueves adicionales es entre 9 y 100 veces. 2x versus ~ 30x es una gran diferencia.
MSalters

2
@MSalters es cierto, contra ciertos tipos de falla (falla del servidor). Contra, por ejemplo, la falla del sitio, no hace nada, a menos que los dos servidores estén en sitios diferentes, y eso se vuelve extremadamente complejo en términos de administración de red. También considera solo los costos de capital y pasa por alto el aumento de los costos de funcionamiento: mantener dos servidores perfectamente sincronizados no es trivial, dependiendo de qué tipo de cosas estén haciendo, y existe el costo administrativo de los equilibradores de carga. Creo que los servidores redundantes en un solo sitio, que comparten la carga de LB, le dan otros nueve a cambio de 3-4 veces el costo.
MadHatter apoya a Monica

Buena y fácil forma de presentarlo. (Pero ... simplemente agregaría algún precio en alguna parte, ya que 3 a 10 veces "gratis" sigue siendo gratis;). ¿O, por supuesto, te refieres al costo total del servicio en sí? )
Olivier Dulac

@OlivierDulac precisamente así!
MadHatter apoya a Monica

8

Las pequeñas empresas con presupuestos pequeños, especialmente las organizaciones sin fines de lucro, generalmente no podrán permitirse una alta disponibilidad. La pregunta es, si prácticamente no tiene presupuesto, como suele ser el caso en situaciones como esta, ¿cuál es su estrategia de restauración?

Tengo algunos clientes como este, y esto es lo que hago:

Primero, para algunos de ellos tengo una copia de seguridad incremental y un volcado de base de datos completo cada seis horas. Un cliente ya estaba usando CrashPlan Pro, así que solo lo usé. Hagas lo que hagas, debes asegurarte de tener una copia de seguridad restaurable.

Tengo un libro de jugadas ansible simple que armé en aproximadamente una hora (sin haber trabajado previamente con ansible) que instala nginx, php-fpm y MariaDB y los prepara para alojar un sitio o sitios web. La ejecución de este libro de jugadas da como resultado un servidor (o servidores) que están listos para alojar una aplicación web típica, y simplemente puedo restaurar el host virtual nginx, los archivos de aplicación y la base de datos.

El resultado de esto es que puedo abrir un sitio web de este tipo de copia de seguridad en solo unos minutos, a diferencia de la forma manual, que podría tomar una hora o más.


Oye, eso suena perfecto. Lo investigaré. Gracias.
artfulrobot

La alta disponibilidad está disponible incluso para clientes pequeños de buenos proveedores. Consiguen economía de escala.
JamesRyan

@JamesRyan Sí, pero no obtienes economía de ... economía. ¿Dime si tiene sentido ejecutar dos instancias de Amazon y un equilibrador de carga elástico para un sitio web que recibe 300 visitas al mes?
Michael Hampton

@MichaelHampton que ni siquiera es remotamente lo que estaba sugiriendo. Una empresa que aloja VPS para cientos de clientes puede distribuirlos entre hardware redundante en lugar de simplemente poner un montón de ellos en un único servidor físico y cruzar los dedos.
JamesRyan

4

La complejidad de la implementación depende de la pila de aplicaciones, pero lo ideal es que desee configurar un "hot standby" (en un proveedor diferente), con datos que se replican en tiempo real (o lo más cerca posible).

Hacer el caso comercial para tener 2 servidores "en vivo" es tan simple como comparar la pérdida potencial de ingresos durante un período de "recuperación de imágenes" con el gasto de otro servidor.


Gracias. Estoy usando una pila LAMP. Supongo que el tiempo real sería algo así como la replicación MySQL, aunque eso puede ser bastante difícil de administrar. Y está duplicando los servidores que tengo que administrar. Tal vez tendría sentido tener un cuadro de baja especificación que tuviera una copia en vivo de todos los demás servidores, por lo que era solo la propagación de DNS. Entonces podría clonar eso a un nuevo VPS y cambiar el DNS (hmmm.).
artfulrobot

La replicación de MySQL suele ser bastante simple de configurar y configurar, aparte del tiempo dedicado a transferir el conjunto de datos inicial. En cuanto al DNS, la mayoría de los que resuelven respetan los TTL bajos en estos días, y establecer un TTL de registro tan bajo como 60 segundos generalmente funciona bien.
Mark R.

La replicación de MySQL es más compleja cuando necesita agregar nuevas bases de datos adicionales y creo que todavía es difícil tener un servidor esclavo para más de un maestro (replicando varios dbs en un servidor en espera). También, por supuesto, debe asegurar el acceso entre servidores, por ejemplo, stunnel, por lo que es una PKI para mantener, etc. a menos que tenga un lan privado, pero eso se descarta por la necesidad de que esto sea con una empresa de alojamiento independiente.
artfulrobot

Siempre hay túneles replicate-do-db y SSH con claves.
Mark R.

Se usaba para ejecutar el túnel SSH estándar pero no era confiable. Sin embargo, Stunnel es brillante una vez que lo tienes en funcionamiento.
artfulrobot

2

Recuerde que el tiempo de actividad no es lo mismo que la integridad de los datos. Puede tener un tiempo de actividad del 99.99% y haber perdido todos sus datos dos veces en un año, siempre que el servidor se reinicie "lo suficientemente pronto". La mayoría de los proveedores de VPS garantizan que su servidor se está ejecutando, NO que sus datos estén seguros. Sus datos son su problema :(.

Lo que está buscando es algo que almacenará sus copias de seguridad en un servidor separado y (en mi humilde opinión) ni siquiera en el mismo proveedor. Dependiendo del tamaño de datos del que esté hablando, un disco duro portátil podría usarse como una tercera línea de defensa fuera de línea. Haga una copia de seguridad de sus datos como lo ha estado haciendo y luego cópielos regularmente (o solo los cambios, si es posible) en el disco duro portátil o incluso en una computadora local. También hay opciones razonablemente baratas como Backblaze para soluciones de respaldo, pero el precio dependerá de la cantidad de datos de la que esté hablando. Si puede hacer copias de seguridad incrementales, será mucho más barato que las copias de seguridad completas, pero las copias de seguridad incrementales pueden ser muy difíciles dependiendo de dónde se almacenan los datos (archivos planos = fácil, base de datos = no tan fácil).


Sí, hago eso :-) Y sí, a las empresas de hosting no les importan los datos, ¡también he tratado con corrupción de disco antes!
artfulrobot

0

La respuesta depende totalmente de su arquitectura y requisitos. Hace algún tiempo, 3 discos fallaron en un servidor mío, derribando más de 20 vm cuando falló un Raid 6.

Escribí sobre eso en

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

Pero: como esto es crítico, teníamos copias de seguridad, diariamente para cosas no importantes, 15 minutos para bases de datos y correos electrónicos. Diablos, ahora agregué un servidor que se replica a otra máquina cada 30 segundos.

No dice nada sobre la pila, nada sobre ningún presupuesto, por lo que el mejor y único consejo aquí es ir a algún proveedor de la nube y comenzar a usar sus mecanismos de respaldo. Pero comience a definir lo que realmente necesita.

Además, el presupuesto para esta copia de seguridad debe estar en su precio. Necesita ser pagado. Y cualquier infraestructura que necesite ... la necesita. No es "ridículo caro" entonces.


TomTom: aoe + openfiler y un par de cajas y puedes construir un micro-san de muy alta disponibilidad
symcbean
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.