2016-02-19 14 views
2

Я читал документ в файловой системе Google и не знаю, как он справляется с ошибками записи (а не с атомной записью) в репликах. Если он вернет успех, он будет ждать следующего момента, когда мастер получит обновленное состояние мира и обнаружит версию коррупции/устаревших блоков и удалит кусок. Я предполагаю, что мастер может проверить достоверность всех реплик всякий раз, когда клиенты запрашивают места реплики, чтобы клиент никогда не получал устаревшие/поврежденные данные. Это как это связано с ошибкой записи реплики?Как файловая система Google справляется с ошибками записи в репликах?

ответ

0

Недействительные куски можно разделить на две категории: устаревшая и поврежденная контрольная сумма. Они проверяются двумя разными способами.

Stale chunk. Версия chunk не обновляется. Мастер проверяет устаревшие куски во время регулярного пульса с помощью серверных блоков.

Поврежденная контрольная сумма. Поскольку расходящиеся реплики могут быть законными, реплики по GFS не гарантируются одинаковыми. Кроме того, для проверки производительности контрольная сумма выполняется независимо на самих серверах, а не на главном сервере.

Контрольная сумма может быть проверена в два этапа:

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

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

На ваш вопрос, как GFS справляется с ошибкой записи реплики?

Если во время репликации возникла какая-либо ошибка, сообщение об ошибке мутации сообщается клиенту. Клиент должен обработать ошибку и повторить мутацию. Несогласованными кусками будет сбор мусора во время обычного сканирования на серверных серверах.

 Смежные вопросы

  • Нет связанных вопросов^_^