2012-07-23 12 views
5

Mam bazę danych PostgreSQL na Amazon EC2 i muszę określić najlepszy sposób przechowywania tych danych. Rozważam dwie opcje:Kopie zapasowe Postgresql Amazon EC2: migawka katalogu danych lub pg_dump na wolumin EBS, który jest snapshotted konsekwentnie?

(1) Zamontuj wolumin EBS do jakiegoś katalogu takiego jak/pgsqldata i użyj tego katalogu jako katalogu danych postgresql (domyślnie w Amazon Linuksie jest/var/lib/pgsql/data /). Wtedy ten tom dostałby częste migawki.

lub

(2) Należy katalog danych PostgreSQL w to domyślna lokalizacja. Następnie użyj pg_dump, aby często zrzucać kopie zapasowe do lokalizacji takiej jak/pgsqldumps, a wolumin ten będzie mieć migawkę po każdym pg_dump.

Trzecią opcją byłoby po prostu zrzutowanie woluminu urządzenia root (korzystam z instancji wspieranej przez EBS), ponieważ w moim przypadku jest to zarówno serwer WWW, jak i baza danych. Podoba mi się pomysł posiadania dedykowanego woluminu dla kopii zapasowych danych.

Wreszcie, jeśli biorę bezpośrednie migawki z katalogu danych Live Postgresql, czy muszę się martwić o ewentualne zmiany w bazie danych podczas procesu migawki?

Dzięki

+0

Zobacz także http://www.postgresql.org/docs/9.1/interactive/continuous-archiving.html (jeśli jeszcze nie masz) – derobert

Odpowiedz

4

należy przenieść objętość do własnej objętości EBS tak, to pomaga z zapisu niezgody na tomach EBS, jak również inne korzyści. Ponadto mam dzienniki piszące do własnego woluminu i również je wspomniałem.

Aby odpowiedzieć na pytanie, robię jedno i drugie. Po zarchiwizowaniu woluminu EBS i wykonaniu zrzutu bazy danych. W ten sposób, jeśli chcesz zsynchronizować dane na żywo z polem dev (w zależności od PII w bazie danych), łatwo jest zrzutu i przywracania, ale możesz również przywrócić nowe wystąpienie i załączyć migawkę również. Jeśli twój Zrzut bazy danych jest mniejszy niż 5 GB, możesz zsynchronizować go z S3 i zapomnieć o konieczności przechowywania kopii zapasowych na własnym woluminie, ale jeśli tak nie jest, będziesz musiał przechowywać go we własnym woluminie EBS, który następnie jest snapshotowany podstawa.

to skrypt, który napisałem, aby to zrobić, może być nieaktualny, ale powinien działać.

Powiązane problemy