Практикум по сохранности данных

Запись подтверждена: кэш контроллера, SSD и потеря питания

Разберите момент подтверждения write-back и write-through, отдельные кэши контроллера и накопителя и план проверки после потери питания. Материал связывает определения SNIA с требованиями PostgreSQL 18 к тракту хранения.

База → пресейл и приёмка30 минут3 модуля6 вопросов
После курса

Что вы сможете сделать

  1. Различать подтверждение в кэше и устойчивую запись на носитель.
  2. Проверять защиту кэша контроллера и накопителя по отдельности.
  3. Отделять запуск базы после аварии от сохранности подтверждённых операций.
Модуль 1 из 3

Что означает подтверждение записи

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

  • При write-back данные сначала попадают в кэш, и запрос получает подтверждение. Перенос на энергонезависимый носитель происходит позже. Значит, до переноса нужно понимать, какой отказ переживёт единственная актуальная копия.

  • По определению SNIA режим write-through не подтверждает запрос до безопасного сохранения на энергонезависимом носителе. Сравнивайте именно это условие, а не одинаково написанное слово «успех» на разных уровнях.

  • Сквозная запись не требует забывать записанные данные в кэше. Если копия остаётся, она может обслужить последующие чтения. Поэтому «write-through» и «вообще без кэша» — разные описания.

Модуль 2 из 3

Контроллер и SSD защищают по отдельности

Кэш может находиться не в одном месте.

  • PostgreSQL отдельно рассматривает кэш RAID-контроллера и кэш накопителя. Защита кэша карты не является доказательством защищённости SSD. Для каждого уровня нужны его режим и документы точной модели.

  • BBU — батарейный блок защиты кэша контроллера. В описанном PostgreSQL механизме он поддерживает питание кэша, а после возврата системного питания данные переносятся на диски. Из этого описания нельзя вывести срок удержания или исправность конкретной батареи.

  • Надёжный write-back сохраняет кэш при отказе и затем переносит данные на носитель. Одной строки с защитным модулем в смете мало: проверьте поддержку, исправность и порядок восстановления.

Модуль 3 из 3

Проверка сохранности, а не только запуска

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

  • Учебный снимок: A — на энергонезависимом носителе; B — в кэше, питание которого BBU удерживает всё время опыта; C — в незащищённом кэше SSD. Других копий нет. При отключении системного питания в этой модели сохраняются A и B, но не C. Это заданные условия, не результат испытания оборудования.

  • Успешное завершение обычного запроса к кэшу не подменяет подтверждение долговечной фиксации приложения. PostgreSQL требует, чтобы весь тракт выполнял запросы устойчивой записи. Название write-through на одном контроллере не доказывает работу остальных звеньев.

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

Финишная прямая

Проверьте инженерное мышление

Вопросы проверяют не память на аббревиатуры, а умение не делать лишних выводов.

01Запрос завершён после попадания данных в кэш, до их переноса на энергонезависимый носитель. Какой режим описан?
02Контроллер работает в режиме write-through. Как это связано с использованием кэша для последующих чтений?
03В смете подтверждена защита кэша RAID-контроллера, но свойства кэша SSD не указаны. Какой вывод обоснован?
04Единственная копия A — на энергонезависимом носителе; B — в кэше с BBU, который удерживает его питание всё время опыта; C — в кэше SSD без защиты. Что теряется при отключении системного питания в этой учебной модели?
05После согласованного аварийного опыта база снова запускается. Как дополнительно проверяют сохранность подтверждённых приложением операций?
06На контроллере включили write-through. Кэш накопителя и выполнение запросов устойчивой записи не проверялись. Что это доказывает для всей цепочки?

Следующий шаг

Сформулируйте задачу и уточните требования к своей системе.

Подготовить состав проекта

Откроется черновик вопроса. Отправьте его, когда будете готовы.

Проверяемая база

Источники курса

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

  • Официальная документация

    SNIA Dictionary — write back cache

    SNIA · SNIA Online Dictionary; номер редакции не указан

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

    Открыть первоисточник
  • Официальная документация

    SNIA Dictionary — write through cache

    SNIA · SNIA Online Dictionary; номер редакции не указан

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

    Открыть первоисточник
  • Официальная документация

    PostgreSQL 18 Documentation: Reliability

    PostgreSQL Global Development Group · документация PostgreSQL 18, страница открыта 7 сентября 2026 года

    Открыт редактором 7 сентября 2026 года, заголовок документа сверен. Проверить выполнение сброса всем трактом хранения, энергозависимые кэши накопителя и контроллера и границы гарантии при потере питания.

    Открыть первоисточник
Сообщить об ошибке

Опишите проблему — постараемся исправить как можно скорее.

Спасибо!

Получили ваше сообщение.
Подтвердите действие