Доброго времени суток!Я пользуюсь FreeBSD 4.10-RELEASE-p8 #8. До недавнего времени был безгранично счастлив, однако недавно начался "Цирк". Уровень моих познаний лишь позволят мне сказать "так не бывает"...
Проблема появилась при попытке скопировать на другой диск один файл (видеофильм): вместо удачного копирования получил сообщение
Input/output error
а в dmesg-е появились сообщения типа
ad4s1g: hard error reading fsbn 534805471 of 266370016-266370271 (ad4s1 bn 534805471; cn 33290 tn 25 sn 46) trying PIO mode
ad4s1g: hard error reading fsbn 534805471 of 266370016-266370271 (ad4s1 bn 534805471; cn 33290 tn 25 sn 46) status=59 error=10Одновременно резко "замедлился" компьютер - явно следствие PIO mode.
Небольшой поиск по интернету привёл меня к мысли, что жёсткому диску наступает каюк - что несколько странно для всего лишь полугодовалого Сигейта на 200 гиг. Профилактичекая замена кабелей (и подключение диска к другому контроллеру) картины не поменяли - никаких проблем при работе не возникало (многократная компиляция системы, например, без проблем) до тех пор пока не было попытки полностью прочитать "заколдованный" файл, хоть MD5 его посчитать, хоть
cat File > /dev/null
сделать - после чего немедленно наступала вышеописанная картина.Накопил денег, купил точно такой же жесткий диск, стартовал систему с Live-CD (www.freesbie.org) и сделал 1:1 копию при помощи
dd if=/dev/ad0 of=/dev/ad6 conv=noerror,syncПри копировании не возникло никаких проблем (что меня несколько удивило, всё таки битые сектора предполагались!)
Система благополучно поднялась с диска-копии (на ней и сейчас печатаю) и никаких проблем пока не замечено, ну кроме......
При попытке прочесть "файл преткновения" на КОПИИ получил всё тот же Input/output error и сообщения в dmesg (с соответствующим именем диска).
То есть получилось что я "отзеркалил" ошибку, которую квалифицировал как ошибку "железа" (битые сектора на диске)!! Чего естественно не может быть....
немедленно проведённая проверка старого диска показала что битых секторв на нём нет (чего я уже почти ожидал, иначе не скопировалась бы ошибка).
Понемногу пришёл к мнению что у меня что-то с файловой системой. Но прогон FSCK не нашел никаких ошибок на диске и проблему не ликвидировал:
в смонтированном состоянии:
kofemolka# fsck /dev/ad4s1g
** /dev/ad4s1g (NO WRITE)
** Last Mounted on /mnt/ad8s1g
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
594017 files, 84230812 used, 11412619 free (122611 frags, 1411251 blocks, 0.1% fragmentation)в отмонтированном состоянии:
kofemolka# umount /mnt/ad8s1g/
kofemolka# fsck /dev/ad4s1g
** /dev/ad4s1g
** Last Mounted on /mnt/ad8s1g
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
594017 files, 84230812 used, 11412619 free (122611 frags, 1411251 blocks, 0.1% fragmentation)И что же это за такая ошибка, видимо в файловой системе, которую не находит FSCK, которая копируется DD, и которая заставляет кернель думать что имеетмя проблема с железом?
контроллер IDE/мать какая?
есть предположение, что плохо с этим винтом просто работает.
>контроллер IDE/мать какая?
>есть предположение, что плохо с этим винтом просто работает.
Материнка старая EPOX с VIA-вским контроллером. Дополнительно воткнут (дешевый) контроллер с Силиконовским чипом. (См. логи). Пробовал на обоих контроллерах и на обоих каналах контроллеров, с неизменным результатом. Помимо названных двух сигейтовских 200к подключал 3ю такую же и еще несколько разных (больших и новых) винтиков, и по нескольку раз заполнял/затирал данными, без проблем.atapci0: <VIA 82C686 ATA100 controller> port 0x9000-0x900f at device 7.1 on pci0
atapci0: Correcting VIA config for southbridge data corruption bugatapci1: <SiI 0680 ATA133 controller> port 0xb800-0xb80f,0xb400-0xb403,0xb000-0xb007,0xac00-0xac03,0xa800-0xa807 mem 0xd9000000-0xd90000ff irq 10 at device 9.0 on pci0
поскольку пробовал 2 разных контроллера, а еще один такой же диск ошибок не давал, думаю дело не в контроллере
поскипано все нафик :)там нигде не приводилось что РОВНО в том же месте и тот же fsbn.
# atacontrol list (затем mode посмотреть режим UDMA)
после чего посмотреть какой режим диск поддерживает.
Ну не может контроллер в UDMA режиме прочитать указанный блок и понижает режим до PIO чтобы прочитать и скорей всего диск так сделан, чтобы не прокалываться с дисками - модели нужно брать из рекомендованных производителями рейд контроллеров: 3ware и Promise
на их сайтах.В архивах форума про это можно много найти, я целые поэмы отписывал.
Ну и еще есть IDE контроллеры хавеные и материнки...
>И что же это за такая ошибка, видимо в файловой системе, которую
>не находит FSCK, которая копируется DD, и которая заставляет кернель думать
>что имеетмя проблема с железом?А не может файловая система немного вылазить за границы диска? Слайс последний?
>А не может файловая система немного вылазить за границы диска? Слайс последний?Слайс - последний. А как можно проверить, насчёт "файловая система немного вылазить за границы диска?"
доп. информация:
при команде
kofemolka# cat /dev/ad4 > /dev/nullвсё читается без проблем, никаких записей в лог.
а вот при
kofemolka# cat /dev/ad4s1g > /dev/null
cat: /dev/ad4s1g: Input/output error- получаем всё ту же ошибку ввода-вывода и лог
ad4s1g: hard error reading fsbn 534805471 of 266370016-266370023 (ad4s1 bn 534805471; cn 33290 tn 25 sn 46) trying PIO mode
ad4s1g: hard error reading fsbn 534805471 of 266370016-266370023 (ad4s1 bn 534805471; cn 33290 tn 25 sn 46) status=59 error=10ad4s1g - искомый слайс с "тем самым файлом".
ad4 - весь диск.
paukap@kofemolka> dmesg
...
FreeBSD 4.10-RELEASE-p8 #8: Fri Apr 15 22:39:46 CEST 2005
paukap@kofemolka:/usr/obj/usr/src/sys/KOFEMOLKA
Timecounter "i8254" frequency 1193182 Hz
CPU: AMD Duron(tm) processor (751.71-MHz 686-class CPU)
Origin = "AuthenticAMD" Id = 0x630 Stepping = 0
Features=0x183f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR>
AMD Features=0xc0440000<RSVD,AMIE,DSP,3DNow!>
...
isab0: <VIA 82C686 PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <VIA 82C686 ATA100 controller> port 0x9000-0x900f at device 7.1 on pci0
atapci0: Correcting VIA config for southbridge data corruption bug
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
...
atapci1: <SiI 0680 ATA133 controller> port 0xb800-0xb80f,0xb400-0xb403,0xb000-0xb007,0xac00-0xac03,0xa800-0xa807 mem 0xd9000000-0xd90000ff irq 10 at device 9.0 on pci0
ata2: at 0xa800 on atapci1
ata3: at 0xb000 on atapci1
...
ad0: 190782MB <ST3200822A> [387621/16/63] at ata0-master UDMA100
ad1: 190782MB <ST3200822A> [387621/16/63] at ata0-slave UDMA100
ad2: 114498MB <SAMSUNG SV1204H> [232632/16/63] at ata1-master UDMA100
ad3: 114498MB <SAMSUNG SV1204H> [232632/16/63] at ata1-slave UDMA100
ad4: 190782MB <ST3200822A> [387621/16/63] at ata2-master UDMA100
ad5: 78533MB <IC35L080AVVA07-0> [159560/16/63] at ata2-slave UDMA100
>
>Слайс - последний. А как можно проверить, насчёт "файловая система немного вылазить
>за границы диска?"Можно глянуть на размеры слайсов через disklabel и сравнить это с размером диска.
>
>доп. информация:
>
>при команде
>kofemolka# cat /dev/ad4 > /dev/null
>
>всё читается без проблем, никаких записей в лог.
>
>а вот при
>
>kofemolka# cat /dev/ad4s1g > /dev/null
>cat: /dev/ad4s1g: Input/output error
>
>- получаем всё ту же ошибку ввода-вывода и лог
>ad4s1g: hard error reading fsbn 534805471 of 266370016-266370023 (ad4s1 bn 534805471; cn
>33290 tn 25 sn 46) trying PIO mode
>ad4s1g: hard error reading fsbn 534805471 of 266370016-266370023 (ad4s1 bn 534805471; cn
>33290 tn 25 sn 46) status=59 error=10
>
>ad4s1g - искомый слайс с "тем самым файлом".
>ad4 - весь диск.
>Вроде подтверждает догадку. Непонятно откуда берется такое дикое число 534805471
534805471 / 2 / 1024 = 261135MB ???
>ad4: 190782MB <ST3200822A> [387621/16/63] at ata2-master UDMA100
>Можно глянуть на размеры слайсов через disklabel и сравнить это с размером
>диска.
kofemolka# disklabel /dev/ad4s1g
# /dev/ad4s1g:
type: ESDI
disk: ad0s1
label:
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 255
sectors/cylinder: 16065
cylinders: 24320
sectors/unit: 390716802
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0 # milliseconds
track-to-track seek: 0 # milliseconds
drivedata: 08 partitions:
# size offset fstype [fsize bsize bps/cpg]
a: 262144 0 4.2BSD 2048 16384 94 # (Cyl. 0 - 16*)
b: 754656 262144 swap # (Cyl. 16*- 63*)
c: 390716802 0 unused 0 0 # (Cyl. 0 - 24320*)
e: 524288 1016800 4.2BSD 2048 16384 94 # (Cyl. 63*- 95*)
f: 524288 1541088 4.2BSD 2048 16384 94 # (Cyl. 95*- 128*)
g: 388651426 2065376 4.2BSD 2048 16384 89 # (Cyl. 128*- 24320*)Размер сходится с физическим размером....
>Вроде подтверждает догадку. Непонятно откуда берется такое дикое число 534805471
>
>534805471 / 2 / 1024 = 261135MB ???
>
>>ad4: 190782MB <ST3200822A> [387621/16/63] at ata2-master UDMA100
Да уж, непонятки как 200 гб. винтик стал 250 гб :-(
>>Вроде подтверждает догадку. Непонятно откуда берется такое дикое число 534805471
>>
>>534805471 / 2 / 1024 = 261135MB ???
>>
>>>ad4: 190782MB <ST3200822A> [387621/16/63] at ata2-master UDMA100
>
>
>Да уж, непонятки как 200 гб. винтик стал 250 гб :-(Кстати, в FreeBSD есть механизм замены сбойных секторов в слайсах (BAD144). Может тут что-то сломано? Правда я о нём ничего не знаю :(
А может с памятью что-то?
Мало ли что бывает...
>А может с памятью что-то?
>Мало ли что бывает...
Да с памятью вроде всё нормально.... Ни одной вешалки за последние пару лет, ни одного сбоя при компиляции, полгода назад мемтест гонял "на всякий случай" - никаких проблем..К тому же ошибка востпроизводима и копируется с диска на диск что опять же на память не похоже.
>>А может с памятью что-то?
>>Мало ли что бывает...
>
>
>Да с памятью вроде всё нормально.... Ни одной вешалки за последние пару
>лет, ни одного сбоя при компиляции, полгода назад мемтест гонял "на
>всякий случай" - никаких проблем..
>
>К тому же ошибка востпроизводима и копируется с диска на диск что
>опять же на память не похоже.ST3200822A - точно такие же но SATA == ST3200822AS, дерьмовые диски, у меня
такой за неделю ласты склеил, не думаю что PATA сильно отличаются, а значит
тоже гавно. Но дело в другом, пересчет возможно неверно работает, лучше
руками геометрию задавать.