Работала у нас сервером матплата ASUS P4C800 2-й ревизии. В серверном корпусе, на трех внешних SATA-контроллерах шесть винчестеров держала. Набортный во избежание... пришлось отключить.
Хорошо работала, три года без единого глюка отпахала. Тут появилась возможность, прикупили нормальный честный сервер и файл-сервер, стали заводить эту платку как бэкапный сервер.
Прикупили для всего этого дела нехилый 750-ваттный БП от Thermaltake, навесили аж 10 винчестеров... заводится. Даже 2003 сервер живет. Но - как-то странно.
1. В первый момент при включении, если на питании висят все 10 винчестеров - БП вырубается через ~5 секунд после включения. Если же оставить 6 штук, загрузка проходит нормально. Со старым, родным от этого корпуса БП (Powerman HPC420), однако, все стартует сразу, под полной нагрузкой. Но при этом, если все винчестеры подключены - Биос последнего по счету в PCI-слоте контроллера не виден, а если отключить все SATA-винчестеры (общим числом 9) - видны все контроллеры.
Самое удивительное начинается после того, как 2003-й сервер уже загрузился и опознал все вокруг. И с тем, и с другим БП после подключения более 6 SATA-винчестеров, через недолгий промежуток времени (около 2-х минут) мать-плата начинает своим динамиком наигрывать первые две ноты Чижика-Пыжика, и задом наперед: то есть, сначала недолгий звук низкого тона, потом, примерно через 1/2 секунды - такой же продолжительности звук высокого тона. Через 1/2 секунды - низкий, и так - до бесконечности.
Сервер при этом работает, никаких ошибок Винда не видит, все диски видны, конфликтов нет, все системы прекрасно работают...ботают...ботают... ну, оторвали мы динамик. И все равно: что это, граждАне ? Почему оно так себя ведет и можно ли это побороть, и стОит ли вообще это бороть ?
____________________________________________________
Подробнее о конфигурации:
Серверный корпус большой, пятиюнитовый. Плата в нем - как уже сказано, P4C800.
Набортный SATA не используется, система установлена на IDE-винчестере. У этой платы один IDE-разъем, но для системы этого достаточно.
Видеокарточка - самая неприхотливая, Geforce 400. Оперативы (пока, на период экспериментов) 500 МВ. SATA-контроллеры стоят в трех PCI-слотах, имена у них следующие:
1. SI 3112A, с двумя разъемами, задействован один.
2. FastTrak S150 SX4M с 64 мозгами на борту (без них жить отказывается), с четырьмя разъемами, на всех четырех висит по винчестеру в раздельно-одиночном режиме каждый.
3. FastTrak TX4310 с четырьмя же разъемами, четыре винчестера.
Все 9 SATA-винчестеров - Seagate по 400 GB, и все - из одной партии.
О БП все сказано. Просадки питания, даже под полной нагрузкой - не наблюдается.
Сколько ни искал в Инете описания БИП-кодов этого АМИБИОС-а... никто ничего похожего не рассказывает. Обращаюсь к опытным сервероводам и биосоковырятелям.
Другой вариант поставить три одинаковых контроллера и на двух отключить биос.
Абсолютно не факт, что один BIOS согласится обслуживать 3 контроллера, даже одинаковых. Думается, он обслужит того, кого ему первым отдаст энумерация PCI-девайсов.
А кому счас легко...
Тот что был у меня (на ядре AMI MEGARAID) мог обслуживать до 4 контроллеров. Но конечно, прежде чем покупать нужно почитать мануал.
серьезные контроллеры вроде Адаптеков, AMI и Mylex разруливают ситуацию нескольких однотипных адаптеров, причем даже если на них стоят разные БИОСы. И все ОК.
Так в случае с моей P2B-DS на ней одновременно стояли:
SiI3112, Adaptec 19160, Adaptec 2100S и Adaptec 7890-AB (встроенный в мать).
И ничего - никаких писков не было.
см. выше - не обязательно. А привязки контроллера к своему БИОСу нету? Потому что если в машинку пихать несколько SiI3112 вызывает столько БИОСов, сколько контроллеров вставлено. Откуда они узнают какой "свой"?
логично. Мне эта идея нравится. Т.е. получается - не хватает адресного пространства под все add-on БИОСы? Тогда идея:
поотключать всякие встроенные контроллеры на матери нафиг, отключить PXE-Bootrom сетевушки и т.д. и посмотреть, что получится.
Аццкий ромбовод {:€
Я пока не волшебник - я только учусь! :-P
Бутром сетевушки в ЧМОС-е, конечно, отключен. Набортный SATA... из предположения Savely следует, что коль к нему ничего не подключено... другое дело, что в процессе загрузки, пока идет последовательный опрос всего этого хозяйства, каждый из Add-On контроллеров поначалу может захватить себе какой-то сегмент, а вот когда окажется, что делать ему в данной конфигурации нечего, не сразу отдаст этот сегмент обратно (следующий уже грузиться начал, или процесс освобождения кривой...). И получаем мы адресное пространство с дырками, которые маловаты, чтобы загрузить туда Биос карточки целиком, но достаточны, чтобы по сумме места не хватило. Хорошо, с понедельника (или как по времени получится) потыкаюсь с Диск-Едитором в различные варианты, как БЕЗ контроллеров, так и в разных их комбинациях, посмотрю дампы адресного пространства. Мне общая идея от Savely кажется очень близкой к правде. Хорошо бы еще успеть до понедельника вкурить даташит на современные (PnP) правила распределения Биосом адресного пространства для add-on контроллеров, особо затягиваясь при этом обработкой ошибочных ситуаций. Чует мое сердце, засада где-то в этих дурацких PCI VEN... и т.д., а вот как забороть этот чересчур "умный" PLUG-AND-PRAY...
У вас прекрасные дети ! Но все, что вы делаете РУКАМИ - никуда, никуда не годится !
Господа, извините за возможно наивный вопрос, а нельзя ли БИОСы PCI контроллеров, которые при загрузке начинают
толкаться мешая друг другу в адресном пространстве, позашивать в виде модулей в БИОС мат. платы, а БИОСы на контроллерах
отключить? Причем зашивать в порядке опроса их при старте системы.
толкаться мешая друг другу в адресном пространстве, позашивать в виде модулей в БИОС мат. платы, а БИОСы на контроллерах
отключить? Причем зашивать в порядке опроса их при старте системы.
в случае Промиса - нет, такой вариант не прокатит. По крайней мере, с тем, у которого есть своя память.
В свое время, когда я боролся с Mylex'ом у меня была такая идея. Только вот засада получается - там именно фирмварь, а не просто БИОС. И нужна она чипу i960, который стоит на моем контроллер, а не только PC в целом, чтобы искать жесткие диски.
И есть подозрение, что в случае запихивания модуля в БИОС, то он все равно оттуда вытаскивается и кидается на адреса D0000-F0000.
Аццкий ромбовод {:€
Я пока не волшебник - я только учусь! :-P
Ну, Промис-то кидается сразу на адреса от С800 начиная - и далее. И грузится (по крайней мере, часть его) в ЛЮБОМ случае. Соотношение загруженных объемов в случаях подключенных и неподключенных винтов, да еще и зависимость от того, СКОЛЬКО их подключено - будем ловить по ходу дела, пока, как обычно, не до того. Даже на вопрос, загружается ли набортный SATA-Биос, или просто резервирует под себя место, которое никому не отдает... пока ответа нет: слишком много вариантов прокрутить придется, пока не до того.
Могу только сказать, что - да, похоже, что адресное пространство получается с какими-то непонятными дырками, довольно большими, и в срарших адресах чей-то последний блок явно грузится не весь.
Насчет же зашивки Биоса контроллера во флэшку платы... была там какая-то засада: помнится, мы с Root-ом мучали таким образом красный контроллер SI 3112, оторвавши его Биос - и с весьма загадочными результатами.
У вас прекрасные дети ! Но все, что вы делаете РУКАМИ - никуда, никуда не годится !
Произошел забавный случай с такой же платой. Подключали к ней одно PCI-устройство, а на нем стоит модуль контроля питания, который сигнализирует о выходе некоторых питающих напряжений за 10% пределы от номиналов. Так вот, эта схема контроля срабатывала на питание 3.3 В. Померяли напряжение - 3.0В. На разъеме БП со стороны БП - 3.3В, со стороны материнки - 3.15В. Осмотрели внимательно разъем - подгоревшие контакты, зачистили, но все равно по пути от разъема до PCI терялось около 0,1 В. В итоге махнули блок питания на Tt 480Вт (тот на разъеме МП выдавал 3.37 В) и бросили провод от ATX-разъема до соответствующего полигона возле AGP (там напряжение было еще меньше, чем на PCI) теперь напряжения в норме. Еще замерялось напряжение на PCI +3.3 такой же мамы - там было 3,2 (на разъеме 3,3). Может, у Вас тоже подобная фигня творится.
Второй закон Вышковского: Все можно наладить, если вертеть в руках достаточно долго.
Root: А привязки контроллера к своему БИОСу нету? Потому что если в машинку пихать несколько SiI3112 вызывает столько БИОСов, сколько контроллеров вставлено. Откуда они узнают какой "свой"?
Им номер шины, устройства, функции передается BIOS'ом как параметр при вызове, вот выдержка из спецификации PCI:
On entry, the INIT function is passed three parameters: the bus number, device number, and function number of the device that supplied the expansion ROM. These parameters can be used to access the device being initialized. They are passed in x86 registers, [AH] contains the bus number, the upper five bits of [AL] contain the device number, and the lower three bits of [AL] contain the function number.
Блин, никак не допру, как цитаты правильно вставлять!!!
Второй закон Вышковского: Все можно наладить, если вертеть в руках достаточно долго.
Отправить комментарий