GCP: Реплицируются ли записи регионального диска по зонам до fsync ОС?

https://cloud.google.com/compute/docs/disks#repds

Региональные постоянные диски обеспечивают синхронную репликацию для рабочих нагрузок, которые могут не иметь репликации на уровне приложений.

Если виртуальная машина выходит из строя после записи на диск, но до fsync, потеряны ли эти данные?

Когда запись на диск реплицируется на диск-реплику в другой зоне?

Примечание. ОС VM - это Ubuntu по умолчанию с файловой системой по умолчанию.


person zino    schedule 06.09.2020    source источник
comment
Точный ответ зависит от того, как вы (приложение) настроили запись (сквозная или обратная запись). Обычно Linux кэширует записи в память и периодически сбрасывает кеш на диск (fsync - один из способов). Все, что хранится в памяти, будет потеряно. Другими словами, ответ зависит от того, как разработано приложение. Некоторые приложения кэшируют данные в памяти приложения, затем записывают в ОС, которая затем записывает на диск. Каждый из этих шагов является асинхронным и может привести к потере данных.   -  person John Hanley    schedule 07.09.2020
comment
Насколько я понимаю, есть 3 места для данных: (A. Сохраняется на диске, B. В буферах ОС, C. В памяти приложения перед вызовом write fn). Вопрос в том, происходит ли региональная репликация диска для состояния на шаге A или шаге B? Я предполагаю шаг A, но документации нет, и мое понимание ограничено   -  person zino    schedule 07.09.2020
comment
После того, как данные записаны на диск, они копируются Google. У вас вопрос, когда приложения и ОС записывают на диск. Эта ссылка может вам помочь: cloud.google.com/ вычислить / документы / диски /   -  person John Hanley    schedule 07.09.2020
comment
Спасибо @JohnHanley за полезную ссылку   -  person zino    schedule 08.09.2020


Ответы (1)


Данные, записанные на региональный постоянный диск, реплицируются в другую зону.

Отвечая на ваш вопрос - после fsync.

Все, что остается в ОС или в буфере вашего приложения, не реплицируется - следовательно, в случае сбоя в работе зоны эти данные будут потеряны, поэтому вы должны учитывать это при разработке приложения.

Цитата @John Hanley:

Точный ответ зависит от того, как вы (приложение) настроили запись (сквозная или обратная запись). Обычно Linux кэширует запись в память и периодически сбрасывает кеш на диск (fsync - один из способов)

person Wojtek_B    schedule 07.09.2020