повреждение файла при чтении/записи 2.6.32-22-server (происходит во многих ядрах)

повреждение файла при чтении/записи 2.6.32-22-server (происходит во многих ядрах)

У меня возникла проблема, когда после того, как сервер проработал некоторое время (~неделя/несколько дней), сервер начинает считывать поврежденные данные. Например, когда я запускаю 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 и т. д. и посмотрите, обновлена ​​ли она или есть ли какие-либо ошибки, связанные с дисковым вводом-выводом, которые были исправлены.

Связанный контент