Почему восстановленная виртуальная машина из снимка облака Google не содержит данных в базе данных? - PullRequest
0 голосов
/ 07 января 2020

Я запускаю веб-приложение в Google Compute Engine и запланировал снимок для виртуальной машины [Ubuntu 16.04].

Я попытался восстановить виртуальную машину из последнего доступного снимка. Я могу вызвать веб-приложение с восстановленной виртуальной машины. Но проблема в том, что в базе данных [mongodb] нет никаких данных. Все коллекции, созданные приложением, и данные по умолчанию [данные, просеянные во время развертывания], присутствуют в mongodb в восстановленной ВМ, но кроме этого данных нет.

Так ли работают снимки Google? Разве новая восстановленная виртуальная машина не должна иметь все данные до момента создания снимка?

1 Ответ

0 голосов
/ 07 января 2020

Создание снимка во время работы всех приложений может оказаться не точным на 100%, поскольку некоторые данные находятся в буферах / кэшах и т. Д. c.

Возможно, ваши отсутствующие данные еще не были записаны на диск, когда моментальный снимок был создан.

Google документация о создании моментальных снимков совершенно ясно об этом:

Вы можете создать моментальный снимок постоянного диска, даже когда ваши приложения записать данные на диск. Однако вы можете улучшить согласованность моментальных снимков, если перед созданием моментального снимка выполните sh буферы диска и синхронизируете c файловую систему.

Приостановка приложений или процессов операционной системы, которые записывают данные на этот постоянный диск. Затем выполните flu sh буферизацию диска перед созданием снимка.

Попробуйте выполнить следующие инструкции и проверьте результаты.

Если по какой-либо причине вы не можете полностью остановить базу данных, попробуйте чтобы просто загрузить sh буфер на диск, заморозить файловую систему (если возможно), а затем создать снимок.

Вы можете заморозить файловую систему, войдя в экземпляр и набрав sudo fsfreeze -f [example-disk_location] и разморозить sudo fsfreeze -u [example-disk_location].

Идеальный способ (с гарантированной целостностью данных) - это остановить ВМ или размонтировать диск.

...