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

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

У меня проблема, когда после того, как сервер проработал какое-то время (~ неделя / несколько дней), сервер начнет считывать поврежденные данные. Например, когда я запускаю sha1sum файла после новой загрузки, он остается прежним. Однако через некоторое время я начну получать ошибки сегментации, и с тех пор всякий раз, когда я читаю этот файл, я получаю другой sha1sum.

Я проверил S.M.A.R.T длинными тестами и выполнил расширенный memtest86 + (12 проходов)

Мой lspci выглядит следующим образом:

00:00.0 Host bridge: Advanced Micro Devices [AMD] RS780 Host Bridge
00:01.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (int gfx)
00:06.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (PCIE port 2)
00:07.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (PCIE port 3)
00:11.0 SATA controller: ATI Technologies Inc SB700/SB800 SATA Controller [AHCI mode]
00:12.0 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI0 Controller
00:12.1 USB Controller: ATI Technologies Inc SB700 USB OHCI1 Controller
00:12.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI Controller
00:13.0 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI0 Controller
00:13.1 USB Controller: ATI Technologies Inc SB700 USB OHCI1 Controller
00:13.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI Controller
00:14.0 SMBus: ATI Technologies Inc SBx00 SMBus Controller (rev 3c)
00:14.1 IDE interface: ATI Technologies Inc SB700/SB800 IDE Controller
00:14.3 ISA bridge: ATI Technologies Inc SB700/SB800 LPC host controller
00:14.4 PCI bridge: ATI Technologies Inc SBx00 PCI to PCI Bridge
00:14.5 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI2 Controller
00:18.0 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] HyperTransport Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Miscellaneous Control
00:18.4 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Link Control
01:05.0 VGA compatible controller: ATI Technologies Inc Radeon HD 3300 Graphics
01:05.1 Audio device: ATI Technologies Inc RS780 Azalia controller
02:00.0 Ethernet controller: Atheros Communications Atheros AR8121/AR8113/AR8114 PCI-E Ethernet Controller (rev b0)
03:00.0 FireWire (IEEE 1394): VIA Technologies, Inc. Device 3403

Мне действительно нужна помощь в этом, вы знаете, что могло вызвать это? Это действительно расстраивает меня, поскольку кажется, что он срабатывает совершенно случайно и не исчезнет, ​​пока я не перезагружусь. Я также использую KVM для виртуализации, а также MD для программного RAID на этом сервере, а процессор - Phenom II X4 965. Я не верю, что это программный рейд, однако это влияет на файлы, также размещенные на разделах, не связанных с рейдом, поэтому Я не знаю.

Обновить 21 июня 10 Хорошо, только что заменили материнскую плату. Все еще та же ошибка. Ошибок ЦП я не обнаружил; все диски сообщают нормально со смарт-тестом. Кто-нибудь вообще знает, что это может быть? Я вырываю свои волосы здесь.

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

Мои инстинкты подсказывают мне, что это аппаратная проблема, возможно, связанная с температурой (поскольку она проявляется после некоторого времени работы). Скорее всего, у вас проблема с южным мостом или сопутствующим оборудованием.

Подумайте о проведении обширных тестов транзакций на южном мосту или просто замените материнскую плату.

То, что ваша ОС остается стабильной, но у вас есть случайные ошибки ввода-вывода, как правило, исключает использование ЦП / памяти, поскольку ошибки в них, как правило, приводят к сбою ОС и сгоранию вместе с другим программным обеспечением. Но большая часть ядра читается с диска при загрузке и никогда не выгружается, поэтому система Linux может быть на удивление стабильной, даже если она не может правильно читать с диска.

Я согласен с @pehrs в том, что стоит изучить тепловой аспект этого, поскольку со временем проблема накапливается. Какой у вас сервер? В наши дни большинство стоечных систем оснащено большим количеством датчиков, которые можно использовать для мониторинга состояния оборудования. Проверять, выписываться lm-сенсоры. Если это сервер Dell, Dell OMSA пакет может быть полезным. Я уверен, что и у других крупных игроков есть свои собственные пакеты.

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

Что касается журналов ошибок, получаете ли вы какие-либо сообщения об ошибках в журналах с диска или подсистемы RAID? Или в dmesg? Linux Программный RAID HOTWO содержит информацию о типах ошибок, которые вы можете найти. Что-то вроде неисправного кабеля может не отображаться при самотестировании накопителя SMART, но вы обязательно увидите в журнале сообщения об ошибках.

Какая конфигурация RAID? Что-нибудь в / proc / mdstat? Если (например) на сервере было 3 диска RAID 5 и один из дисков был неисправен, это могло вызвать проблемы.

Кроме того, проверьте версию прошивки для вашей материнской платы / карты SCSI и т. Д. И посмотрите, обновлена ​​ли она и есть ли какие-либо ошибки, связанные с дисковым вводом-выводом, которые были исправлены.

Повреждение происходит на самом хосте или на гостевых машинах? В qemu-kvm есть известная ошибка, которая приводит к повреждению данных на больших виртуальных дисках (см. https://bugs.launchpad.net/ubuntu/+source/qemu-kvm/+bug/574665 например)