Контекст
Компания продает доступ к своего рода веб-приложению кассового аппарата. Доступ к приложению предоставляется через VPN. Точкой входа VPN для клиентов является плата Soekris под управлением Voyage Linux (урезанная версия Debian). Эти платы уже 3 года работают с MySQL с репликацией и стеком приложений RoR.
Поддержкой хранилища для этих плат является карта Compact Flash емкостью 4 ГБ.
Эта проблема
Мы регулярно получаем ошибки и случайные сбои приложений на этих досках. Наиболее частые ошибки следующие:
24 августа, 14:54:44 box45 puppetd [3669]: не удалось запустить Puppet :: Network :: Client :: Master: устаревший дескриптор файла NFS - /var/lib/puppet/state/state.yaml
24 августа 13:37:01 Ядро box76: [2091.575622] Ошибка EXT2-fs (устройство hda1): read_block_bitmap: не удается прочитать битовую карту блока - block_group = 30, block_bitmap = 983040
Если бы они были на основе жестких дисков, я бы запустил инструменты мониторинга SMART, чтобы проверить наличие сбойных секторов и общее состояние диска. За исключением того, что они являются CF-картами, я в темноте и с трудом могу оценить, насколько плохая (или хорошая!) Ситуация.
Что я могу сделать, чтобы следить за состоянием этих карт и измерять их состояние? Я настаиваю на «измерении», поскольку мне нужно привести некоторые неопровержимые факты, которые в конечном итоге будут мотивировать замену всех CF-карт.
И чтобы немного усложнить ситуацию, у меня нет физического доступа к платам Soekris, поэтому все это должно быть удалено.
Ошибка, кажется, довольно убедительно указывает на проблему с частью носителя CF-карты. Если он какое-то время работал без проблем, а теперь дает эти проблемы, я бы подумал, что карта начала портиться. Самый простой способ проверить - отправить специалиста с новой картой и поменять ее, особенно если вы видите это в ограниченном количестве систем. У всех СМИ есть продолжительность жизни и процент отказов; чем больше циклов чтения / записи у вас будет для карт, тем скорее они умрут.
Еще одна вещь, на которую стоит обратить внимание: ошибки чтения каждый раз находятся рядом с одним и тем же местом (точками)? Это могло бы сказать мне, что это, вероятно, плохая ячейка в определенной части карты.
Я не знаю, будет ли fsck работать так же на этих картах или нет. Мое первое желание увидеть эту ошибку - заменить ее.
С какой стати вы запускаете вещи с CF-карт? Используйте твердотельные носители (предназначенные для этой цели), если вам нужна флеш-память. CF-карты не соответствуют техническим стандартам, включающим мониторинг. Максимум, что вы можете сделать, это проверить диск на наличие битых секторов.