![повреждение файла при чтении/записи 2.6.32-22-server (происходит во многих ядрах)](https://rvso.com/image/515048/%D0%BF%D0%BE%D0%B2%D1%80%D0%B5%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5%20%D1%84%D0%B0%D0%B9%D0%BB%D0%B0%20%D0%BF%D1%80%D0%B8%20%D1%87%D1%82%D0%B5%D0%BD%D0%B8%D0%B8%2F%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D0%B8%202.6.32-22-server%20(%D0%BF%D1%80%D0%BE%D0%B8%D1%81%D1%85%D0%BE%D0%B4%D0%B8%D1%82%20%D0%B2%D0%BE%20%D0%BC%D0%BD%D0%BE%D0%B3%D0%B8%D1%85%20%D1%8F%D0%B4%D1%80%D0%B0%D1%85).png)
У меня возникла проблема, когда после того, как сервер проработал некоторое время (~неделя/несколько дней), сервер начинает считывать поврежденные данные. Например, когда я запускаю sha1sum файла после новой загрузки, он остается прежним. Однако через некоторое время я начинаю получать segfaults, и с тех пор всякий раз, когда я читаю этот файл, я получаю другой sha1sum.
Я проверил SMART с помощью длинных тестов и запустил расширенный memtest86+ (12 проходов)
Мой lspci выглядит следующим образом:
00:00.0 Хост-мост: Advanced Micro Devices [AMD] RS780 Хост-мост 00:01.0 Мост PCI: Advanced Micro Devices [AMD] RS780 PCI-PCI мост (int gfx) 00:06.0 Мост PCI: Advanced Micro Devices [AMD] RS780 PCI-PCI мост (PCIE порт 2) 00:07.0 Мост PCI: Advanced Micro Devices [AMD] RS780 PCI-PCI мост (PCIE порт 3) 00:11.0 Контроллер SATA: Контроллер SATA ATI Technologies Inc SB700/SB800 [режим AHCI] 00:12.0 USB-контроллер: ATI Technologies Inc SB700/SB800 USB OHCI0-контроллер 00:12.1 USB-контроллер: ATI Technologies Inc SB700 USB OHCI1-контроллер 00:12.2 USB-контроллер: ATI Technologies Inc SB700/SB800 USB EHCI-контроллер 00:13.0 USB-контроллер: ATI Technologies Inc SB700/SB800 USB OHCI0-контроллер 00:13.1 USB-контроллер: ATI Technologies Inc SB700 USB OHCI1-контроллер 00:13.2 USB-контроллер: ATI Technologies Inc SB700/SB800 USB EHCI-контроллер 00:14.0 SMBus: Контроллер SMBus ATI Technologies Inc SBx00 (рев. 3c) 00:14.1 Интерфейс IDE: Контроллер IDE ATI Technologies Inc SB700/SB800 00:14.3 Мост ISA: хост-контроллер LPC ATI Technologies Inc SB700/SB800 00:14.4 Мост PCI: ATI Technologies Inc SBx00 PCI-PCI Bridge 00:14.5 USB-контроллер: ATI Technologies Inc SB700/SB800 USB OHCI2-контроллер 00:18.0 Хост-мост: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Конфигурация HyperTransport 00:18.1 Хост-мост: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Карта адресов 00:18.2 Хост-мост: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Контроллер DRAM 00:18.3 Хост-мост: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Разное Управление 00:18.4 Хост-мост: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Управление связью 01:05.0 Контроллер, совместимый с VGA: ATI Technologies Inc Radeon HD 3300 Graphics 01:05.1 Аудиоустройство: Контроллер ATI Technologies Inc RS780 Azalia 02:00.0 Контроллер Ethernet: Atheros Communications Atheros AR8121/AR8113/AR8114 PCI-E Ethernet Controller (rev b0) 03:00.0 FireWire (IEEE 1394): VIA Technologies, Inc. Устройство 3403
Мне действительно нужна помощь, можете ли вы подсказать, что может быть причиной? Это действительно расстраивает меня, так как это, кажется, срабатывает совершенно случайно и не исчезнет, пока я не перезагружу. Я также использую KVM для виртуализации, а также MD для программного RAID на этом сервере, а процессор - Phenom II X4 965. Я не верю, что это программный RAID, однако, поскольку это влияет на файлы, размещенные также на разделах, не являющихся RAID, поэтому я не знаю.
Обновлять21 июня 10 г. Хорошо, только что заменил материнскую плату. Все та же ошибка. Ошибок ЦП я не нашел; все диски показывают нормальное состояние при тестировании Smart Test. Есть ли у кого-нибудь идеи, что это может быть? Я тут волосы на голове рву.
Обновлять22 июня 10 г. Итак, я проверил логи и попробовал другую файловую систему, все то же самое. Кстати, это все на хостовой виртуальной машине.
решение1
Моя интуиция подсказывает мне, что это проблема с оборудованием, возможно, связанная с температурой (так как она проявляется после некоторого времени работы). Скорее всего, у вас проблема с южным мостом или связанным с ним оборудованием.
Рассмотрите возможность проведения расширенных тестов транзакций на южном мосту или просто замените материнскую плату.
То, что ваша ОС остается стабильной, но у вас есть случайные ошибки ввода-вывода, обычно исключает ЦП/память, поскольку ошибки в них, как правило, приводят к сбою ОС и ее сгоранию вместе с другим программным обеспечением. Но большая часть ядра считывается с диска при загрузке и никогда не выгружается, поэтому система Linux может быть на удивление стабильной, даже если она не может правильно считывать данные с диска.
решение2
Повреждение происходит на самом хосте или на гостевых машинах? В qemu-kvm есть известная ошибка, которая приводит к повреждению данных на больших виртуальных дисках (см.https://bugs.launchpad.net/ubuntu/+source/qemu-kvm/+bug/574665например)
решение3
Я согласен с @pehrs, что стоит рассмотреть тепловой аспект этого, поскольку проблема со временем усиливается. Какой у вас сервер? Большинство стоечных устройств в наши дни поставляются с большим количеством датчиков, которые можно использовать для мониторинга состояния оборудования. Посмотритеlm-датчики. Если это сервер Dell, то DellОМСАpackage может быть полезен. Я уверен, что и другие крупные игроки имеют свои собственные фирменные пакеты.
Я мог бы также подкинуть несколько других идей — они не совсем соответствуют описанному вами сценарию, когда проблема появляется только через некоторое время, но они не повредят.
Что касается журналов ошибок, вы получаете какие-либо сообщения об ошибках в журналах с диска или RAID-подсистемы? Или в dmesg? LinuxПрограммное обеспечение-RAID HOTWOсодержит некоторую информацию о типах ошибок, которые вы будете искать. Что-то вроде плохого кабеля может не отображаться в самотестировании SMART привода, но вы определенно увидите некоторые сообщения об ошибках в журнале.
Какая конфигурация RAID? Что-нибудь в /proc/mdstat? Если (например) на сервере был RAID 5 из 3 дисков и один из дисков был неисправен, это могло вызвать проблемы.
Также проверьте версию прошивки вашей материнской платы/карты SCSI и т. д. и посмотрите, обновлена ли она или есть ли какие-либо ошибки, связанные с дисковым вводом-выводом, которые были исправлены.