Практикум по сохранности данных
Запись подтверждена: кэш контроллера, SSD и потеря питания
Разберите момент подтверждения write-back и write-through, отдельные кэши контроллера и накопителя и план проверки после потери питания. Материал связывает определения SNIA с требованиями PostgreSQL 18 к тракту хранения.
Что вы сможете сделать
- Различать подтверждение в кэше и устойчивую запись на носитель.
- Проверять защиту кэша контроллера и накопителя по отдельности.
- Отделять запуск базы после аварии от сохранности подтверждённых операций.
Что означает подтверждение записи
Сначала выясните, когда приходит подтверждение, затем сравнивайте скорость.
При write-back данные сначала попадают в кэш, и запрос получает подтверждение. Перенос на энергонезависимый носитель происходит позже. Значит, до переноса нужно понимать, какой отказ переживёт единственная актуальная копия.
По определению SNIA режим write-through не подтверждает запрос до безопасного сохранения на энергонезависимом носителе. Сравнивайте именно это условие, а не одинаково написанное слово «успех» на разных уровнях.
Сквозная запись не требует забывать записанные данные в кэше. Если копия остаётся, она может обслужить последующие чтения. Поэтому «write-through» и «вообще без кэша» — разные описания.
Контроллер и SSD защищают по отдельности
Кэш может находиться не в одном месте.
PostgreSQL отдельно рассматривает кэш RAID-контроллера и кэш накопителя. Защита кэша карты не является доказательством защищённости SSD. Для каждого уровня нужны его режим и документы точной модели.
BBU — батарейный блок защиты кэша контроллера. В описанном PostgreSQL механизме он поддерживает питание кэша, а после возврата системного питания данные переносятся на диски. Из этого описания нельзя вывести срок удержания или исправность конкретной батареи.
Надёжный write-back сохраняет кэш при отказе и затем переносит данные на носитель. Одной строки с защитным модулем в смете мало: проверьте поддержку, исправность и порядок восстановления.
Проверка сохранности, а не только запуска
Учебная модель показывает, какую информацию нужно запросить для реальной приёмки.
Учебный снимок: A — на энергонезависимом носителе; B — в кэше, питание которого BBU удерживает всё время опыта; C — в незащищённом кэше SSD. Других копий нет. При отключении системного питания в этой модели сохраняются A и B, но не C. Это заданные условия, не результат испытания оборудования.
Успешное завершение обычного запроса к кэшу не подменяет подтверждение долговечной фиксации приложения. PostgreSQL требует, чтобы весь тракт выполнял запросы устойчивой записи. Название 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 года, заголовок документа сверен. Проверить выполнение сброса всем трактом хранения, энергозависимые кэши накопителя и контроллера и границы гарантии при потере питания.
Открыть первоисточник