Назад | Перейти на главную страницу

Согласованность данных с RAID 5 и BBWC

У меня есть несколько вопросов о RAID 5, BBWC (кэш записи с резервным питанием от батареи), файловой системе (ext3) и, возможно, mysql.

У меня есть гипотеза, и я прошу сообщество Server Fault подтвердить или нет эту:

В этом решении, когда ОС получает ACK записи, данные, возможно, находятся в кэше RAID-контроллера, а не в постоянной памяти (мои диски RAID).

Если происходит сбой питания и данные находятся в кэше RAID-контроллера, BBWC сохраняет данные вместе с аккумулятором. А пока все хорошо.

Но у батареи есть определенная емкость, и она не бесконечна. Если сбой питания длится более двух или трех дней, кэш RAID теряется.

Для меня это драматический и вероятный сценарий.

Мои вопросы:

Оборудование: HP DL380 G7

Операционные системы: Centos 5 с ext3

Да, это ограничение кеша записи с резервным питанием от батареи: если батарея разрядится, ваши незаписанные данные будут всплывать. Вот почему я предпочитаю более новые RAID-контроллеры на базе NVRAM. Файловые системы не могут вам помочь, потому что они думают, что данные записаны - в лучшем случае они могут обеспечить согласованное представление данных, а не гарантировать, что они актуальны.

Насколько вы ожидаете перебоя в подаче электроэнергии? Срок службы батарей составляет несколько дней. Однако, начиная с серверов G7 ProLiant, использование кэш-памяти с флэш-памятью (FBWC) стало более популярным. Это прямая модернизация, если ваш Контроллер Smart Array P410 его еще нет. В подробнее технология описана здесь. Назначение суперконденсатора в блоке FBWC - обеспечить достаточную мощность для записи содержимого кэша записи во флеш-память, где оно будет сохраняться до восстановления питания системы. Еще одно преимущество - отсутствие батарей, которые нужно утилизировать. Таким образом, с точки зрения производителя, выгоднее продвигать использование вспышки по сравнению с батареями старой школы.

Я думаю, что перебои в подаче электроэнергии, достаточные для того, чтобы время автономной работы стало проблемой, также означает, что есть другие проблемы с инфраструктурой, о которых нужно беспокоиться. То же самое, если кто-то недоступен на месте в течение этого периода времени, чтобы обеспечить сброс электроэнергии. Разумная рекомендация - защитить свои системы надежным ИБП.

Что касается объема данных, содержащихся в кеше в любой момент, он обычно невелик. В вашем случае размер кеша, вероятно, составляет 512 МБ или 1024 МБ. Случайная и потоковая запись должны существовать там достаточно долго, пока они не будут сброшены на диск. В любой момент вы, вероятно, просматриваете несколько мегабайт данных. У меня не было серьезных повреждений после внезапного сбоя, когда данные кеша были потеряны (отказ батареи RAID). Это, вероятно, не будет проблемой для вас, если только схема записи вашей системы не будет чрезмерно тяжелой, и вы одновременно потеряете питание неожиданным образом ... (например, при ударе молнии). Однако ext3 довольно устойчив.

Вы должны получить ИБП, чтобы сервер мог корректно завершиться, и BBWC не нужно было использовать вообще. Даже относительно небольшой ИБП может обеспечить отключение в течение нескольких минут, чего обычно достаточно, чтобы эти кеши были сброшены на диск.

Кеши записи с флэш-поддержкой могут помочь, хотя я думаю, что большинство согласятся, что ИБП - лучшая идея.

Более дорогостоящий вариант: вы можете подумать о приобретении генератора, если вы часто испытываете отключение электроэнергии на 3+ дня. Я обнаружил, что такие случаи очень редки, но я вижу, что вы находитесь за прудом.

Спасибо за ответ. Я знаю альтернативы, такие как FBWC, но мои вопросы основаны на моем сценарии:

В моей работе мы уже внедрили эти решения, и я должен предвидеть проблемы.

Вы думали, что mysql может быть поврежден, и отказываетесь запускать мой сценарий?