2012-07-23 6 views
5

Tengo una base de datos postgresql en Amazon EC2 y necesito determinar la mejor manera de mantener esta información respaldada. Estoy considerando dos opciones:Copias de seguridad de postgresql de Amazon EC2: ¿realiza una instantánea del directorio de datos o pg_dump en un volumen de EBS que se toma una instantánea de forma coherente?

(1) Monte un volumen EBS en un directorio como/pgsqldata y use este directorio como el directorio de datos postgresql (en Amazon Linux el valor predeterminado es/var/lib/pgsql/data /). Entonces este volumen obtendría instantáneas frecuentes.

o

(2) Mantener el directorio de datos PostgreSQL en su ubicación predeterminada. Luego use pg_dump para volcar copias de seguridad con frecuencia a una ubicación como/pgsqldumps y ese volumen obtendrá una instantánea después de cada pg_dump.

Una tercera opción sería simplemente tomar una instantánea del volumen del dispositivo raíz (estoy usando una instancia respaldada por EBS) ya que es un servidor web y una base de datos en mi caso. Sin embargo, me gusta la idea de tener un volumen dedicado para copias de seguridad de datos.

Finalmente, si tomo instantáneas directas del directorio de datos postgresql en vivo, ¿debo preocuparme por posibles cambios en la base de datos durante el proceso de instantánea?

Gracias

+0

Véase también http://www.postgresql.org/docs/9.1/interactive/continuous-archiving.html (si no lo ha hecho) – derobert

Respuesta

4

debe mover el volumen a su propio volumen EBS todos modos, esto ayuda con la afirmación de escritura en los volúmenes de EBS, así como otros beneficios. Además, tengo los registros escribiendo en su propio volumen y los respaldo también.

Para responder a la pregunta, hago ambas cosas. Tener el volumen de EBS en una instantánea y hacer un volcado de la base de datos. De esta forma, si desea sincronizar sus datos en vivo con un cuadro dev (dependiendo de la PII en la base de datos) es fácil con un volcado y restauración, pero también puede restaurar una nueva instancia y adjuntar una instantánea también. Si su el volcado de la base de datos es inferior a 5gb, puede sincronizarlo con S3 y olvidarse de tener que almacenar las copias de seguridad en su propio volumen, pero si no lo tiene, deberá almacenarlo en su propio volumen EBS que también se tomará de forma instantánea en un base.

Here es un script que escribí para hacer esto, podría estar desactualizado, pero debería funcionar.

Cuestiones relacionadas