История такая: имеется у нас БД с данными, которые клиент периодически поллит через некий веб-сервис (хотя вообще не важно как). В принципе не так важно как выглядит кластер MySQL серверов, но примерно так: в одном датацентре актив-пассив 2 сервера. Данные реплицируются между ними вроде бы внутренними средствами NetApp (хотя не так принципиально как наверное). Оба сервера виртуальные. Помимо этого есть ещё один пассив инстанс в другом датацентре. Данные также реплицируются средствами NetApp. Фейловер в другой датацентр происходит вручную (но опять же это несущественно). Движок кстати InnoDB.
А суть проблемы в следующем: ПМ на звонке с клиентом ляпнул фразу data corruption и теперь клиент с нас требует в случае повреждения БД слать им имейл. Я сам с повреждением БД ни разу в жизни не сталкивался и понятия не имею как такое определять. На ум приходит пара сценариев когда данные могут повредиться: проблемы с диском или при репликации (она происходит на файловом уровне).
Кто-нибудь сталкивался с повреждением данных в MySQL? Я хочу найти ответ на пару вопросов:
1. Как вскрывается повреждение данных в InnoDB? Есть подозрение что только при чтении поврежденного сектора и стало быть о повреждении можно узнать только на уровне приложения, которое вытаскивает данные;
2. А можно ли как-то сделать иначе? Ну может быть есть какие-то уже готовые решения чтобы мониторить состояние файлов БД.