О сборке малошумного сервера начального уровня из общедоступных комплектующих


http://www.imach.uran.ru/rns

Введение
1. О серверах и не только о них
2. Бренд или не бренд?
3. Соберем сервер по собственному проекту
3.1. Корпус
3.2. Блок питания
3.3. Дисковая подсистема
3.3.1. Контроллер RAID
3.4. Оперативная память
3.5. Процессор
3.6. Чипсет
3.7. Системная плата
3.8. Комплектация сервера и его тестирование
3.9. Температурный режим
Заключение
Сведения об изменениях
Копирайт
Таблица 1. Одночиповые контроллеры с поддержкой Serial ATA RAID
Таблица 2. Чипсеты Intel с поддержкой памяти ECC для процессоров Xeon DP, Pentium 4 и Pentium M
Таблица 3. Поддержка модулей памяти с ECC в десктоповых материнских платах

Посвящается моей двоюродной сестренке Кате.

Введение

В сознании многих пользователей сервер ассоциируется с высоченным шкафом или хотя бы с корпусом типа Big Tower. Один вид этой конструкции вызывает уважительные мысли о мощи и надежности информационных технологий. Но внешность бывает обманчивой. Случается так, что вся эта махина выполняет функции, которые вполне под силу маленькой китайской коробочке с встроенным Linux-ом, Web-интерфейсом и ценой от 1500 до 6000 рублей за штуку. А если открыть корпус сервера, то иногда обнаруживается... пустота - как в старом шкафе, из которого забрали одежду. Так бывает тогда, когда сервер выполняет в основном представительские функции.

Эта статья не о том, как произвести впечатление на доверчивого пользователя. Разговор пойдет о том, как собрать надежный сервер, достаточный для обслуживания файлового архива и веб-служб в 100-мегабитной сети класса С из 50-200 компьютеров. Такие функции могут выполнять серверы уровня подразделения, которые занимают ценовой диапазон от 45000 до 75000 рублей - за счет применения нескольких процессоров, дисков SCSI с возможностью горячей замены и т.п. На целесообразность применения столь мощных и дорогих серверов зависит от величины рабочей нагрузки, которая в нашем академическом институте невелика. Поэтому мы применяем сервер начального уровня, главная задача которого состоит в надежном хранении данных объемом от 100 гигабайт и выше. Бонус заключается в том, что для сборки сервера начального уровня можно использовать недорогие десктоповые комплектующие и попасть в ценовой диапазон от 30000 до 45000 рублей, а также получить малошумную машину, которую можно поставить в одну комнату с сотрудниками. Такой сервер подойдет не только для офисной сети с небольшой рабочей нагрузкой, но и для отдельной рабочей группы, а при необходимости может выполнять роль рабочей станции с повышенной надежностью хранения данных.

Основное внимание будет уделяться вопросам надежности и стоимости, а также подбору комплектующих для достижения оптимальной производительности; впрочем, обсуждение последнего вопроса не следует рассматривать, как исчерпывающее. В отличие от многих статей, посвященных серверам - здесь не будет тестов на скорость выполнения запросов. Для сервера начального уровня это не столь актуально, потому что к его производительности никакие особенные требования не предъявляются. Т.е. речь идет о задачах, с которыми справляется любой более или менее современный компьютер - такие, как NAT, электронная почта и файловый архив, а также корпоративные Web-сервер и база данных на движке с эпизодической рабочей нагрузкой. А если нагрузка в сети такова, что сервер начального уровня не справляется с поставленными задачами - то нужен полноценный сервер уровня подразделения или организации со всеми вытекающими из этого финансовыми последствиями.

Начнем с небольшой обзорной экскурсии.

1. О серверах и не только о них

Серверы бывают очень разные. На выставках и в преуспевающих фирмах иногда приходится видеть высоченные шкафы, набитые суперсовременной (на момент их изготовления) аппаратурой. Кластеры из многопроцессорных одноплатных серверов, дисковые массивы Fiber Channel, коммутаторы Gigabit Ethernet, самые дорогие процессоры - вот неполный перечень того, что ставит производитель в эти памятники вычислительной технике. Администратор при таком сервере - это полубог, обладающий недоступными простым смертным сертификатами и получающий нереально большую зарплату.

На более скромном уровне стоят серверы в вертикальных корпусах типа "Pedestal". Такой оборудование можно встретить даже в бюджетной организации. Моим первым сервером был Acer Altos 9000 (на рисунке справа), который продали нашему директору по чьему-то совету за немалые деньги. Не шкаф, кончено - но настоящий брендовый Big Tower с блоком питания от Дельты, восемью слотами для горячей установки SCSI дисков и множеством вентиляторов для их обдува. Для расширения предусмотрены восемь слотов ISA и PCI. Память была из четырех SIMM c ECC по 32 мегабайта каждая (а всего слотов - восемь). В качестве интеллекта стоят два Пентиума-200, мощности которых по нынешним временам уже недостаточно: сервер честно тянет разделяемый диск на 20 компьютеров, электронную почту с прикрученным к ней антивирусом и примитивный Web-сайт, но впадает в задумчивость от движка PostNuke.

При желании, Big Tower можно купить в магазине и попытаться собрать сервер самостоятельно. Одна бюджетная организация так и поступила - но бюджетных денег хватило только на корпус, а дальше пришлось экономить. Поэтому в корпус поставили маленькую такую плату micro-ATX на K6-2 и периферию IDE. Нет, сервер до сих пор жив - но за время службы на нем от перегрузки отказали два жестких диска. Но это еще тот анекдот. Здесь компьютер хотя бы пытается выглядеть сервером. А ведь бывает так, что даже этот романтический флер безжалостно отбрасывается!

На другом конце шкалы жизненного преуспевания стоит старый системный блок на первом Пентиуме или втором Селероне, который в силу его полной непригодности для компьютерных игр списали на роль файлового, почтового, модемного, прокси и Web сервера, маршрутизатора, брандмауэра, а также рабочего места администратора, который сидит возле него в дырявых башмаках. К такому серверу обычно прикручивают локальную сеть, построенную на антикварных 10-мегабитных хабах по топологии "очень длинная цепочка". Только не говорите мне, что такая сеть работать не будет. Я и сам знаю, что по теории это работать не может. Но как-то работает...

2. Бренд или не бренд?

Вопрос актуален потому, что многие бренды предлагают совсем дешевые серверы начального уровня. Возьмем, к примеру, сервер Compaq ML330. Эту машину, оборудованную процессором Pentium III/900, 256 мегабайтами памяти ECC SDRAM и 9-гигабайтным диском SCSI мне собрали в 2002 году всего за 33500 рублей. Модель ML330e c IDE была еще дешевле - но это не вариант, если принять во внимание ненадежность IDE дисков.

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

На сиcтемной плате есть два 64-битных и четыре 32-битных разъема PCI. Один из 32-битных разъемов занят платой с видеоадаптером и одноканальным контроллером SCSI. Блок питания на 250 ватт, но от Дельты, что как раз достаточно для сервера на Pentium III. Вентилятор на блоке питания шумит умеренно, но ему помогает оборотистый и шумный вентилятор на задней стенке корпуса.

Подготовка сервера к работе автоматизирована до предела. Если забудешь подключить клавиатуру или что-то еще - BIOS выдает подробные разъяснения на английском. Для форматирования диска и установки операционной системы применяется диск SmartStart. Загружаешься с него, вводишь тип операционной системы и серийный номер, ставишь ее CD - и теперь можно отдыхать - через пару часов сервер будет готов к работе.

Через два часа полета возвращаемся в обыденную действительность. Диск SmartStart годится только для первой установки т.к. он стирает винчестер целиком. Поэтому повторную установку (она потребовалась через месяц экспериментов с новой операционной системой) я делал как обычно. И тут система благополучно вылетела в синеву. Оказывается, диск SmartStart при установке незаметно подкладывает ей специфичный драйвер SCSI. Драйвер пришлось искать на сайте Compaq. Мне до сих пор непонятно - почему не предупредили?

Другое разочарование наступило, когда я принялся искать на сервере порт USB. Его там не было. Ну это не беда, можно добавить. А когда потребовалось установить еще один диск SCSI, пришлось лезть в маленькую корзину, где два места из трех уже были заняты. Никакого вентилятора рядом с корзиной нет, что (парадокс!) не мешает дискам оставаться почти совершенно холодными. Надо отдать должное инженерам Compaq - корпус устроен так, что значительная часть воздуха втягивается в него через корзину с винчестерами. Но вряд охлаждение будет столь же эффективным, если убавить обороты шумного вентилятора на задней стенке системного блока. Еще одно лыко в строку - никаких фильтров нет, поэтому через несколько месяцев платы покрываются густой серой пылью.

3. Соберем сервер по собственному проекту

Иногда случается так, что сервер стоит не в закрытом помещении, как это принято по соображениям безопасности, а прямо на рабочем месте администратора. В этом случае имеет значение уровень шума, на который производители серверов вплоть до самого недавнего времени не обращали никакого внимания. Посмотрим, можно ли избавиться от этого недостатка при сборке сервера по собственному проекту.

3.1. Корпус

Классические серверные корпуса имеют высокий уровень шума. К примеру, для корпусов Intel SC5200 и SC5250-E он доходит до 55 dB. Можно, кончено, взять шумный корпус и заняться его тюнингом, но еще лучше выбрать корпус, который изначально рассчитан на работу в малошумном режиме, и при этом обеспечивает хорошую вентиляцию процессорной зоны и жестких дисков. Таких корпусов довольно много - почти у каждого производителя есть недорогие модели потребительского класса, которые хорошо подходят для сборки небольшого файлового сервера.

В качестве примера рассмотрим корпус 3R System R101. Сталь 0.8 мм, два корпусных вентилятора на 120 мм каждый, один из которых продувает пять установочных мест для винчестеров внизу корпуса. Три термопары, шестиступенчатая регулировка вентиляторов вручную или на автомате, настраиваемое отключение при перегреве в диапазоне 50-85 градусов с шагом 5. И полная бесшумность при работе корпусных вентиляторов на минимальной скорости. Что еще нужно для сервера? Разве что иметь еще один вентилятор на боковой стенке около процессора :).

Обратите внимание на то, что установочные места для винчестеров находятся за вентилятором. Это очевидное, но почему-то не слишком распространенное решение позволяет отказаться от установки дополнительных кулеров на каждом винчестере.

При более близком знакомстве становятся заметны недостатки. Увы, их довольно много, поэтому R101 нельзя назвать лучшим выбором для сервера:

Инструкцию по установке корпуса и настройке автоматики можно найти на сайте 3R System. Там же есть описания альтернатив R101, которые выглядят не столь эффектно, но зато лучше продуманы с конструктивной точки зрения. Интересна модель с фильтром от пыли 3R AIR, а также более дешевая 3R NEON Light, у которой спереди есть дополнительные вентиляционные отверстия и нет столь большой и бестолковой платы автоматики. Среди продукции других производителей можно отметить недорогой, но качественный ASUS Ascot 6AR/300, а также разнообразную продукцию Chieftec и малошумные серверные корпуса Yeong Yang.

3.2. Блок питания

Корпуса 3R поставляются без блока питания или в комплектации с блоком питания RPS, который снабжен абсолютно бесшумным боковым вентилятором размером 120 мм. Это идеальное решение как для обдува платы блока питания, так и для вентиляции процессорной зоны. Номинал блоков питания RPS - 300, 350 или 400 ватт; мне достался блок RPS300:

Со всеми проводами блок весит примерно 1.5 килограмма. Помимо стандартного, 12-вольтового и AUX-разъема имеются два разъема FDD, шесть разъемов Molex и переходник на два разъема Serial ATA. Провода AWG18. Заявление нагрузочные характеристики соответствуют фактическим, выходные напряжения отвечают стандарту ATX. Все хорошо, кроме одного - блок слабоват по линии +12V.

Основные потребители +12V - это процессор и внешние накопители. С учетом КПД регулятора напряжения на системной плате, для Pentium-2400С резервируется 8A (96 ватт), каждый внешний накопитель берет до 1A. У меня 3 диска и 1 CD-RW. Еще пара ампер уходит на питание вентиляторов, платы автоматики и разной мелочи на системной плате и видеокарте. В сумме получается 14A, в то время как блок питания дает до 12A. Его спасает от перегрузки только то, что процессор и накопители не берут свой максимальный ток одновременно.

В отличие от бытовой техники, серверы принято собирать с запасом по мощности - поэтому вместо 300-ваттного блока питания нужен, как минимум, 350-ваттный (на всякий случай оговорюсь, что речь идет о нормальном 350-ваттном блоке питания, а не о дешевых имитациях). Чтобы не изменять схему вентиляции в корпусe, я выбрал на замену блок питания FSP350-60PN:

3.3. Дисковая подсистема

Основное назначение файлового сервера - это хранение данных, которые надо защитить от утраты в случае аппаратной неисправности. Другое требование состоит в оперативной выдаче данных по запросам с клиентских рабочих мест. В нашем конкретном случае основная рабочая нагрузка приходится на файловый архив с документами, программами, презентациями и другими относительно редко востребуемыми файлами. Поэтому нас будет интересовать прежде всего надежность хранения данных, после этого - затратность и в самую последнюю очередь - производительность.

Диски SCSI быстры и надежны, но стоят дорого. Бытовые диски с интерфейсом ATA дешевы, но в файловом сервере живут недолго. Заверения производителей про диски Serial ATA самые радужные - MTBF у них вдвое выше, чем у ATA (1,000,000 часов против 500,000) и производительность приближается к производительности дисков SCSI. Но данные заверения надо воспринимать с поправкой на то, что предполагается применение дисков в бытовых условиях, а не круглосуточная эксплуатация на сервере под интенсивной нагрузкой. Среди немногих исключений - серверные диски Seagate NL35 и Barracuda ES (7200 RPM, 200-750G), Maxtor MaxLine II Plus (5400 RPM) и Western Digital Caviar RE (RAID Edition, 7200 RPM, 120-500G), которые рассчитаны на непрерывную работу в режиме 24*7.

Характеристики малошумных жестких дисков с объемом до 160-200 гигабайт собраны здесь: Винчестеры с пониженным шумом и тепловыделением. Многие производители предлагают диски большего объема - вплоть до 400 гигабайт; такие диски обычно шумят на 2-3 dB сильнее, чем соответствующие модели небольшого объема.

Самая последняя новость в мире Serial ATA - это поддержка очереди команд для оптимизации перемещения головок. По оценкам Intel и Seagate, очередь команд дает 30% рост производительности и сокращает нагрузку на привод головок накопителя. В версии SCSI эта технология называется TCQ (Tagged Command Queuing) и реализуется аппаратно; Serial ATA диски WD Raptor реализуют TCQ на микропрограммном уровне. Для недорогих дисков Serial ATA разработана облегченная версия NCQ (Native Command Queuing).

Очередь команд нуждается в соответствующей поддержке со стороны контроллера Serial ATA, с которой дело пока обстоит не густо - она имеется только на некоторых самых современных системных платах и внешних контроллерах для шины PCI. В частности, Intel обеспечила поддержку NCQ в чипсетах для Socket 775 с южным мостом ICH6R, NVidia - в чипсетах nForce4 Ultra/SLI для Athlon 64 и nForce4 IE для Pentium 4. Определенные надежды могут быть связаны и с имеющимися системными платами и контроллерами, на которых установлены чипы Silicon Image Sil3512 и Sil3114, т.к. для этих чипов производитель обещает выпуск драйверов с программной поддержкой NCQ.

Чтобы собрать надежную дисковую систему, берем два недорогих диска Serial ATA (в нашем случае это будет Seagate Barracuda 7200.7) и создаем на них отказоустойчивый массив по технологии RAID 1. Это значит, что информация продублирована на обоих дисках и выход из строя одного из дисков не приводит к потере данных. Такое решение дешевле, чем установка одного соответствующего по объему диска SCSI, хотя и будет уступать ему по производительности. Кроме того, выбранные нами диски не рассчитаны на круглосуточную работу - поэтому можно ожидать, что срок их службы будет ограничен и диски придется периодически менять. Процедура замены выглядит таким образом: достаем отказавший диск, ставим новый и запускаем встроенную в контроллер RAID процедуру копирования для восстановления массива RAID 1. На время замены диска и восстановления массива сервер выводится из эксплуатации.

Производительность дискового массива RAID 1 будет выше производительности одиночного диска, если контроллер реализует чередование обращений к дискам - примером может служить Архитектура 3Ware TwinStor. Контроллер с чередованием распределяет запросы на чтение данных между дисками, исходя из текущего положения блоков магнитных головок, при этом чтение с двух дисков может выполняться одновременно, т.к. каналы Serial ATA независимы друг от друга.

Но даже с учетом чередования, производительность нашего массива RAID 1 недалеко уходит от уровня дисковой подсистемы обыкновенного бытового компьютера. Это приемлемо только при умеренной рабочей нагрузке; если же предполагается интенсивная работа с промышленными базами данных, системами потокового видео и т.п., тo производительности может элементарно не хватить, не говоря уж о том, что отказавшие от непомерной нагрузки диски придется менять, как перчатки.

Для повышения производительности вместо дисков на 7200 RPM можно использовать диски WD Raptor на 10000 RPM (но это будет дороже, чем один диск SCSI). Более дешевый способ поднять производительность - поставить диски с NCQ и подобрать соответствующий контроллер.

Дисковые массивы RAID 1 отличаются простотой и надежностью, но не рекордно высокой производительностью. Для создания скоростных дисковых массивов применяется технология RAID 0 с чередованием секторов на двух или нескольких дисках. В результате получается один большой логический диск, производительность которого растет почти пропорционально числу физических дисков. Благодаря высокой производительности, технология RAID 0 активно обсуждается в компьютерных журналах. Но для наших целей она неинтересна, т.к. снижает и без того невысокую надежность хранения данных на бытовых дисках. Зато может пригодиться комбинированная технология RAID 0+1 или RAID 10, когда заводится четыре диска и на одной паре делается чередование секторов, а на другой - зеркало первой пары. Эта комбинация сочетает высокую производительность и отказоустойчивость. Более экономичная технология Intel MST (Matrix Storage Technology), поддержанная также RAIDCore/Broadcom, позволяет сочетать технологии RAID 0 и RAID 1 всего на двух дисках. Для этого на каждом диске создаются два раздела - один для массива RAID 0 и другой для массива RAID 1. Резервирование обеспечивается только для раздела RAID 1.

Кроме упомянутых простых вариантов RAID, существует большое количество более сложных, среди которых наиболее известен RAID 5. В массив RAID 5 объединяются несколько дисков c чередованием секторов (от 3 и более), из которых только один содержит избыточную информацию, получаемую путем суммирования секторов с данными по XOR. Эта технология обеспечивает отказоустойчивость при меньших накладных расходах на резервные диски. RAID 5 имеет невысокую производительность при записи, в то время как производительность при чтении примерно соответствует RAID 0.

Массивы RAID 0, 1 и 5 поддерживаютcя программно в некоторых операционных системах, в их числе - Linux и серверные операционные системы Microsoft. Реализация RAID во Windows 2000/2003 несовместима с реализацией RAID во Windows NT, но зато позволяет создавать загрузочные разделы c RAID 1. С формальной точки зрения этого вполне достаточно для построения отказоустойчивых систем, но для достижения большей надежности и производительности предпочтительнее аппаратная реализация RAID.

3.3.1. Контроллер RAID

Многие материнские платы обладают встроенной поддержкой RAID уровней 0, 1 и в некоторых случаях 0+1(10). Данный RAID иногда называют аппаратным, но это не более, чем недоразумение. В популярных решениях от Promise, Intel, SIS и VIA функциональность RAID реализована в драйверах, при этом аппаратура выполняет функции контроллера Serial ATA и плюс к этому имеет регистры для взаимодействия с драйвером RAID. Т.е. речь идет о преимущественно программном RAID-е, при котором специфичные операции выполняются на центральном процессоре. Судя по тому, что загрузка процессора бывает невысокой - по разным тестам от 0.5% до 25%, такой подход можно считать оправданным. Аппаратное ускорение RAID впервые былом заявлено в чипсете NVidia nForce3 250 для Athlon 64, причем без уточнения деталей ("The combination of hardware acceleration and optimized software architectures adds up to superior performance").

Программный RAID на контроллере отличается от программного RAID для Windows тем, что массив строится из физических дисков, а не из их логических разделов. Как следствие, появляются определенные преимущества:

  • Обеспечивается совместимость с различными операционными системами (теми, для которых написаны драйверы).
  • Диски в зеркальном наборе RAID 1 равноправны, в том числе и при загрузке операционной системы (в программном RAID для Windows загрузка выполняется с диска, прописанного в файле boot.ini).
  • Появляется возможность загрузки операционной системы с массивов RAID 0, 0+1, 5 и других, поддерживаемых контроллером.
  • Облегчается спасение данных в случае краха операционной системы.
  • Проводится оптимизация драйверов под конкретный контроллер.

    Наибольший опыт в программном RAID имеет Promise, которая довольно давно применяет его в своих внешних контроллерах серии FastTrak - именно оттуда ее чипы перекочевали на материнские платы. Интересно отметить, что контроллеры FastTrak некогда имели репутацию аппаратных, благо и сам производитель не считал нужным распространяться о деталях реализации.

    Производительности контроллера зависит главным образом от эффективного управления дисками (в это плане упоминались поддержка очереди команд и чередование запросов в RAID 1), а также от скорости обмена данными с оперативной памятью. Скорость обмена зависит от того, где находится контроллер - в чипсете или в отдельном чипе. В последнем случае чип обычно подключается к шине PCI, которая обладает ограниченной пропускной способностью (133 MB/s). Впрочем, пропускной способности PCI вполне хватает для обслуживания двух не слишком быстрых дисков в массиве RAID уровня 0 или 1. Есть только одно но - это гигабитный сетевой контроллер, который обычно тоже сидит на шине PCI и может откусить от нее до 125 MB/s. Если он будет работать при предельной нагрузке, то на долю дискового массива останется всего ничего.

    Производительность увеличится, если хотя бы один контроллер (RAID или гигабитный сетевой) будет подключен в обход PCI на более скоростную шину. На эту тему есть гигабитные сетевые чипы Intel 82547EI для CSA (266 MB/s) и Marvel Yukon 88E8050 для PCI Express X1 (512 MB/s). Из дискретных чипов Serial ATA RAID можно упомянуть JMicron JMB363/366 для PCI Express X1, который часто встречается на современных бюджетных платах для Socket 775 и AM2.

    Пропускная способность PCI становится недостаточной при создании массивов из большого числа дисков, например, по технологии RAID 0+1. Походящий для них уровень производительности могут обеспечить контроллеры, встроенные в чипсет - если они подключаются к скоростным внутренним шинам. Но и здесь можно встретить контроллеры, полученные простым встраиванием в чипсет дискретных решений с интерфейсом PCI. Вот хороший обзор на эту тему: Chipset Serial ATA and RAID performance comparison.

    Теперь о внешних контроллерах. Самый дешевые - Promise FastTrak S150 TX2plus, S150 TX4 и их многочисленные аналоги идеологически ничем не отличаются от интегрированных - то же самое сочетание аппаратного контроллера жестких дисков и программного RAID на драйвере. В пользу данных внешних контроллеров говорит разве что возможность установки на шину PCI/66 с пропускной способностью 266 MB/s, если она поддерживается материнской платой.

    К более продвинутым относятся внешние контроллеры с поддержкой RAID 5, в их числе - Promise FastTrak S150 SX4 и различные платы с применением оптимизированных под RAID 0 чипов Silicon Image Sil3112, Sil3114 и аппаратного XOR-процессора. Здесь речь идет об аппаратно-программном решении, т.к. XOR-процессор берет на себя вычисление контрольных сумм RAID 5. Для ускорения работы на плату устанавливается буферная память и задействуются скоростные расширения шины PCI. Многие контроллеры допускают установку и на десктоповую шину PCI, но их производительность в этом режиме будет не особенно высокой.

    Десктоповая шина PCI (32 bit, 33 MHz, 133 MB/s) не подходит для скоростных контроллеров, т.к. при объединении диcков в массив RAID скорость передачи данных суммируется. К примеру, теоретическая скорость передачи данных с 5 дисков Serial ATA в массиве RAID 5 будет равна 600 (4*150) MB/s, реальная скорость доходит до 220 MB/s: см. Тесты масштабирования RAID 5: от трёх до восьми жёстких дисков.

    Полностью аппаратный RAID встречается в контроллерах с микропроцессорами, применение которых оправдано при наличии большого числа дисков, повышенных требований к готовности и т.п - современными примерами такого решения являются чипы Broadcom BCM 5773 и 8603.

    Как показывает практика, высокой надежностью обладают реализации RAID в специализированных чипах. Чипсетный RAID тоже бывает надежен, но при условии, что производитель чипсета имеет опыт разработки специализированных чипов - в качестве примера можно привести VIA. А вот NVidia RAID имеет свойство "разваливаться" без особых на то причин, из чего можно сделать вывод о том, что NVidia реализовала функции RAID для "галочки", а не для работы. Выбор конкретного решения зависит и от требуемой производительности. Если ограничиться созданием одиночного массива RAID 1 и не задействовать гигабитную сеть, то для этой цели подойдет любая материнская плата со встроенным контроллером - именно это решение будет оптимальным по стоимости. При наличии более высоких требований к производительности надо будет принять во внимание такие технические характеристики, как ширина внешней шины и поддержка протоколов RAID высокого уровня. Вот известные мне чипы Serial ATA RAID, которые применяются (или могут применяться) на материнских платах и недорогих внешних контроллерах.

    ЧипКоличество дисков
    Serial ATA в массиве
    Чередо-
    вание в
    RAID 1
    Очередь
    команд
    Внешняя
    шина
    /
    скорость
    обмена
    RAID
    0
    RAID
    1
    RAID
    0+1
    RAID
    5
    ATI SB400 (южный мост Radeon Xpress 200/200P) 2-4 2 - - н/д - н/д
    ATI SB450 (южный мост Radeon Xpress 200/200P) 2-4 2 2-4 - н/д - н/д
    ATI SB600 (южный мост Radeon Xpress 1200/1150/1100,
                        AMD 690G/580X/480X), Serial ATA II
    2-4 2 2-4 3-4*н/д NCQ н/д
    Broadcom BCM 5770R (RAIDCore BCM4452-H) 2-4* 2* 2-4* 3-4*н/д - PCI-X
    Broadcom BCM 5770 (RAIDCore BCM4852-H) 2-8* 2* 2-8* 3-8*н/д - PCI-X
    Broadcom BCM 5773 RoC (RAID-on-Chip), Serial ATA II 2-8# 2# 2-8# 3-8#н/дTCQ/NCQ PCI-X,
    PCI Express
    Broadcom BCM 8603 RoC (RAID-on-Chip, Serial ATA II, SAS) 2-8# 2# 2-8# 3-8#н/д NCQ
    Intel 6300ESB (южный мост для E7525/7520/7320/7210/855GME) 2* 2* - - н/д - н/д
    Intel ICH5R (южный мост для 875/865/848/E7525/7520/7320) 2* 2* - - + - 266 MB/s
    Intel ICH6R(RW) (южный мост для 925/915/E7221) 2-4* 2* 2* - н/д NCQ н/д
    Intel ICH7R (южный мост для 975/955/945), Serial ATA II 2-4* 2* 2/4* 3-4*н/д NCQ >350 MB/s
    Intel ICH8R/DH/DO (южный мост для 965/963), Serial ATA II 2-6* 2* 2/4/6* 3-6*н/д NCQ >350 MB/s
    JMicron JMB363/366, Serial ATA II 2* 2* - - н/д NCQ PCI Express
    NVidia nForce3 Ultra/250Gb/250 (северный мост) 2*# 2*# - - + - 300 MB/s
    NVidia nForce3 Ultra/250Gb/250 + PHY-контроллер 2-4*# 2*# 4*# - 600 MB/s
    NVidia nForce4, nForce 500 (северный мост) 2-4*# 2*# 4*# - н/д - 600 MB/s
    NVidia nForce4 2xx0/Ultra/SLI, nForce 500 (северный мост), Serial ATA II 2-4*# 2*# 4*# - н/дTCQ/NCQ 1200 MB/s
    NVidia nForce4 3xxx (северный мост), Serial ATA II 2-6*# 2*# 4-6*# 3-6*н/дTCQ/NCQ 1200 MB/s
    NVidia nForce 410 (южный мост GeForce 6100),
    NVidia GeForce 6100/nForce 405 (северный мост), Serial ATA II
    2*# 2*# - - н/дTCQ/NCQ н/д
    NVidia nForce SPP 100 (южный мост nForce4 Intel Edition),
    NVidia nForce 430 (южный мост GeForce 6150/6100),
    NVidia nForce 430B (южный мост Quadro NVS 210S),
    NVidia GeForce 6100/nForce 430 (северный мост), Serial ATA II
    2-4*# 2*# 4*# 3-4*н/дTCQ/NCQ н/д
    NVidia nForce 510/520LE (северный мост), Serial ATA II 2*# 2*# - - н/дTCQ/NCQ н/д
    NVidia nForce 550/520 (северный мост), Serial ATA II 2-4*# 2*# 4*# - н/дTCQ/NCQ н/д
    NVidia nForce 650i (южный мост Intel Edition), Serial ATA II 2-4*# 2*# 4*# 3-4*н/дTCQ/NCQ н/д
    NVidia nForce 590/570 (северный мост),
    NVidia nForce 590/680i (южный мост Intel Edition), Serial ATA II
    2-6*# 2*# 4-6*# 3-6*н/дTCQ/NCQ ~115 MB/s
    NVidia nForce 680a (2 северных моста), Serial ATA II 2-12?*# 2*#4-12?*#3-12?*н/дTCQ/NCQ н/д
    Marvel 88SX5041 (4 порта Serial ATA) Зависит от драйвера RAID TCQ PCI-X
    Marvel 88SX5081 (8 портов Serial ATA) Зависит от драйвера RAID TCQ PCI-X
    Marvel 88SX6041 (4 порта Serial ATA II) Зависит от драйвера RAID TCQ/NCQ PCI-X
    Marvel 88SX6081 (8 портов Serial ATA II) Зависит от драйвера RAID TCQ/NCQ PCI-X
    Promise PDC20371/20376/20378 (FastTrak S150 TX2plus) 2* 2* - - + - PCI/33/66
    Promise PDC20319 (FastTrak S150 TX4) 2-4* 2* 4* - + - PCI/33/66
    SIS 180 2* 2* - - - - PCI/33
    SIS 964/965L (южный мост для 761GL/760/755/741/GX/662/661/655FX/TX) 2* 2* - - 300 MB/s
    SIS 965 (южный мост для 756/656/649) 2-4* 2* 4* - н/д - 600 MB/s
    SIS 966L (южный мост для 771/662/649FX) 2* 2* - - н/д NCQ н/д
    SIS 966 (южный мост для 761GX/656FX) 2-4* 2* 4* - н/д NCQ н/д
    Silicon Image Sil3112 2* 2* - - - - PCI/33/66
    Silicon Image Sil3512 2* 2* - - - - PCI/33/66
    Silicon Image Sil3114 2-4* 2* 4* 3-4* - - PCI/33/66
    Silicon Image Sil3124-1, Sil3124-2 (Serial ATA II) 2-4* 2* 4* 3-4*н/дTCQ/NCQ PCI-X
    Silicon Image Sil3132 (Serial ATA II) 2* 2* - - н/дTCQ/NCQPCI
    Express
    Silicon Image Sil3132 + Sil3726 5-Port Multiplier 2-6* 2* 4* 3-6*
    ULi M1573 (южный мост для Radeon Xpress) 2-4 2 4 - н/д н/д н/д
    ULi M1575 (южный мост для Radeon Xpress, Serial ATA II) 2-4 2 4 3-4 н/д NCQ н/д
    ULi M1689 (северный мост) 2 2 - - н/д н/д н/д
    ULi M1697 (северный мост, Serial ATA II) 4 4 4 3-4 н/д NCQ н/д
    ULi M5281/M5283 2 2 - - н/д н/д PCI/33
    VIA VT6240/6421 2* 2* - - - - PCI/33/66
    VIA VT6240 + PHY-контроллер (SATA Lite) 2-4* 2* 4* -
    VIA VT8237 (южный мост для 890/880/800/600/533/400A) 2* 2* - - 133 MB/s
    VIA VT8237 + PHY-контроллер (SATA Lite) 2-4* 2* 4* -
    VIA VT8251 (южный мост для 900/890), Serial ATA II 2-4 2 4 3-4 н/д NCQ н/д
    Легенда * Программная реализация
    # Аппаратное ускорение
    н/д = нет данных

    Таблица 1: Одночиповые контроллеры с поддержкой Serial ATA RAID

    В колонке Чередование в RAID 1 помечены чипы, которые благодаря чередованию запросов хотя бы в одном тесте работают с массивом RAID 1 быстрее, чем с одиночным диском. Эффективной реализацией RAID 1 и 0+1 обладают чипсеты NVidia: благодаря оптимизации последовательного чтения RAID 0+1 показывает невероятную скорость чтения в Burst Mode - до 320 MB/s по ATTO, а общая производительность RAID 1 и 0+1 в тестах IOMeter аналогична производительности соответствующих по числу дисков массивов RAID 0. Отлично реализован RAID 1 и в чипсетах (точнее - в драйвере) Intel. В драйверах RAID от Promise оптимизирован только случайный доступ, в то время как последовательное чтение идет на одинарной скорости.

    В колонке Внешняя шина/скорость обмена для дискретных решений указан интерфейс обмена данными, а для встроенных в чипсет контроллеров - обычно верхняя граница скорости обмена при максимальном размере дискового массива, посчитанная по формуле: min (s*d, b), где s - число независимых каналов Serial ATA, d - пропускная способность одного канала (150 MB/s для Serial ATA и 300 MB/s для Serial ATA II), b - пропускная способность внешней шины. Понятно, что здесь речь идет о теоретической скорости обмена между памятью и буфером диска; реальная максимальная скорость обмена определяется по результатам испытаний и бывает на 10-50% ниже (другой важный показатель - скорость линейного чтения - зависит от применяемых дисков и потому здесь не обсуждается). Данные о скорости обмена приведены только по тем встроенным контроллерам, для которых теоретический раcчет подтвержден тестами или спецификацией производителя. Если же измеренная скорость обмена оказывается существенно меньше теоретической, то указывается максимальная измеренная скорость обмена со значком ~ или >. Значок > указывает на то, что результат испытаний может быть выше при усовершенствовании их методики.

    Значком * помечены позиции, для которых соответствующие функции RAID реализованы программно, т.е. выполняются драйвером, а не контроллером. Значком # помечены позиции, для которых применяется аппаратное ускорение. Отсутствие значка говорит о том, что способ реализации не выяснен.

    В качестве примера остановимся более подробно на поддержке RAID в чипсетах Intel. Чтобы включить RAID для южных мостов ICH5R и ICH6R(RW), требуется Intel Application Accelerator - поэтому дисковый массив будет работать только под Windows 2000/XP/2003 (имеется также патч для ядра Linux 2.4 с ограниченными возможностями). Это наводит на мысль о том, что RAID от Intel является программным, т.е. все специфичные операции выполняются на центральном процессоре - насколько можно судить по BIOS, для этого используется технология HostRAID от Adaptec. Программный характер RAID подтверждается изучением спецификаций южных мостов, в которых упомянут только один регистр конфигурации RAID, причем его значение не зависит от типа массива RAID (0 или 1). Надо отметить, что многие производители распаивают на топовых платах с чипсетами Intel сторонние контролеры Serial ATA RAID вместо того, чтобы полагаться на южный мост - и это несмотря на то, что тот показывает отличную производительность в массивах RAID 0 и 1. Вот статья, в которой производительность RAID на ICH5R сравнивается с производительностью контроллера Promise PDC20319.

    Аналогичным образом поддерживается RAID в южном мосте 6300ESB. К примеру, для платы Intel SE7210TP1-E ("Torrey Pines") применяются драйверы HostRAID от Adaptec с теми же ограничениями на операционные системы - поддерживается Windows NT и выше, а для Linux есть патчи, которые надо вшивать в ядро системы.

    Обсуждение технологий RAID, а также тесты производительности контроллеров и жестких дисков в массивах RAID можно найти на сайтах www.fcenter.ru, www.thg.ru, www.ixbt.com и www.techreport.com.

    3.4. Оперативная память

    Оперативная память сервера распределяется между операционной системой, приложениями, сессиями терминального доступа и дисковым кэшем, который улучшает производительность системы и продлевает жизнь дисков под нагрузкой. К примеру, для Windows 2003 Server 32-bit Standard Edition надо отвести не меньше 256 мегабайт, а общий объем памяти может составлять до 4 гигабайт. В целом чем больше памяти установлено на сервере - тем лучше :).

    Еще одна отличительная особенность сервера - это применение памяти с коррекцией ошибок (ECC). Память ECC DIMM имеет 72-битный интерфейс и число чипов на каждом модуле памяти, кратное 9 (а не 8, как у модулей без ECC с 64-битным интерфейсом). Такое увеличение числа чипов обеспечивает коррекцию однобитных ошибок и обнаружение двухбитных ошибок, которое происходит в контроллере памяти. Значение коррекции ошибок трудно переоценить, т.к. вероятность сбоя растет с увеличением объема и плотности оперативной памяти. Надо также принять во внимание, что большую часть памяти на сервере занимает дисковый кэш, который должен быть защищен от случайных искажений.

    Память с ECC бывает двух основных видов - регистровая и небуферизованная. Регистровая память ставится в основном на серверные материнские платы, стоит относительно дорого и к тому же имеет несколько повышенную латентность. Небуферизованная память с ECC может устанавливаться на продвинутых платах потребительского класса, например, построенных на чипсете 875P. От обычной памяти без коррекции ошибок она отличается только количеством чипов на модуле, поэтому работает так же быстро, а себестоимость ее лишь ненамного больше (невелика разница в том, чтобы вместо 64 бит хранить 72 бита, а схемы коррекции ошибок располагаются не на модуле памяти, а в контроллере). При этом память с ECC более надежна и к тому же, по идее, должна быть более стабильной при разгоне, чем память без ECC.

    К сожалению, модули небуферизованной памяти с ECC редко встречаются в свободной продаже. Их дефицит можно объяснить тем, что совместимые материнские платы для Pentium 4 слишком дороги для массового рынка. Возможно, что с распространением Athlon 64 ситуация поправится, т.к. этот процессор совершенно бесплатно поддерживает небуферизованные модули с ECC в своем встроенном контроллере памяти.

    3.5. Процессор

    Вплоть до недавнего времени, недорогие серверы почти повсеместно комплектовались процессорами Intel. Среди последних наиболее актуальны процессоры с ядром NetBurst:

  • Для однопроцессорных систем - Pentium 4 на ядре Northwood, Gallatin (0.13m) или Prescott (0.09m).
  • Для двухпроцессорных систем - Xeon на ядре Prestonia, Gallatin (0.13m) или Nocona (0.09m).

    Надо сказать, что ядро NetBurst более ориентировано на потоковую обработку, чем на на характерную для серверов работу с базами данных. Во-первых, это ядро тратит 10 и более тактов на целочисленное умножение, из-за чего тормозит при пересчете адресов LBA в CHS и при адресации записей в безе данных. Во-вторых, из-за большой длины конвейера (20-30 стадий) замедляется поиск по дереву при обращении к базам данных и большим каталогам файловой системы NTFS. В качестве компенсации за эти недостатки предлагается гипертрединг, который удваивает число логических процессоров по сравнению с числом физических - это улучшает работу компьютера в многозадачном режиме. Но что рассуждать о достоинствах и недостатках? Попытка взять вместо Pentium 4 более подходящий процессор - например, Pentium III или более новый Pentium M упирается в отсутствие комплектующих. Поэтому берем то, что предлагают.

    Для сервера важны не гигагерцы, а гипертрединг и объем кэша. Дешевую и малошумную систему можно собрать на любом процессоре Pentium 4 с ядром Northwood, частотой до 2.8 GHz и штатном боксовом кулере. Процессоры с более высокой частотой работают при увеличенном напряжении питания и тепловыделении, поэтому их боксовый кулер имеет регулируемые обороты и под нагрузкой начинает шуметь. Если требуется малошумная работа во всех режимах - то потребуется более качественный кулер, который охладит процессор на оборотах около 3000 RPM или ниже (статья).

    Гипертредингом обладают:

  • Все процессоры Pentium 4 c шиной 800 MHz.
  • Процессор Pentium 4 c шиной 533 MHz и частотой 3.06 GHz.
  • Все процессоры Xeon c шиной 533 MHz и 800 MHz.

    Кэш объемом больше 512K имеется на процессорах с ядрами Gallatin, Prescott и Nocona. Процессоры Gallatin мало кто видел вблизи из-за их высокой стоимости (к их числу относятся Pentium 4 Extreme Edition и старшие модели Xeon с частотой от 3 GHz). Демократичную цену имеет Prescott, но его температурный режим оставляет желать лучшего. Nocona - это серверный вариант Prescott с шиной 800 MHz и поддержкой 64-битной арифметики (EM64T aka AMD64).

    Если не гнаться за физической многопроцессорностью и кэшем больше 512K, то оптимальным выбором будет процессор на ядре Northwood с шиной 800 MHz и частотой до 2.8 GHz. Такие процессоры бывают всего трех модификаций: Pentium 4 2.4С, 2.6С и 2.8C. Если системная плата не поддерживает шину 800 MHz, то при известной доработке системы охлаждения подойдет Pentium 4 3.06/533 Mhz.

    А теперь немного о процессорах Athlon. При обсуждении ограничимся однопроцессорными вариантами, поскольку именно они наиболее интересны для применения в серверах начального уровня.

    Традиционный процессор Athlon XP хорош тем, что при низкой цене он мало в чем уступает процессору Penitum 4 (разве что пиковая скорость обмена данными с памятью в 2-3 раза ниже). Но дешевизна его и подводит - Athlon XP жестко позиционируется для систем low-end, соответственно большинство чипсетов под него не поддерживают память с ECC. Исключение составляют только самые древние чипсеты, как то AMD760 и VIA KT133/266/333. Разработка новых материнских плат под эти чипсеты уже не ведется, а в старых платах отсутствует поддержка Serial ATA RAID. Поэтому дисковый массив надо будет подключить через внешний контроллер PCI или создавать программным путем.

    Гораздо интереснее Athlon 64, который работает с небуферизованной памятью DDR через интегрированный контроллер - минуя чипсет. Схему коррекции ошибок Athlon 64 унаследовал от серверного процессора Opteron, т.е. ECC поддерживается для памяти, а также имеется в кэше L2 и кэше данных L1; кэш команд L1 имеет контроль четности. Аналогичной поддержкой ECC обладают бюджетные процессоры Sempron на ядре K8 c урезанным кэшем L2, благодаря чему их тоже можно использовать в качестве серверных (спасибо!). Таким образом, поддержка памяти ECC в системах на основе линейки AMD K8 не зависит от чипсета. Что касается поддержки Serial ATA RAID, то проще назвать древние чипсеты, где ее нет - это NVidia nForce3 150, SIS 755(963) и ULi M1687. Вce остальные чипсеты - NVidia nForce3 Ultra/250Gb/250, nForce4-6, GeForce 6100/6150, VIA K8M800/K8T800, SIS 771/761/760/756/755(964), ULi M1573/1575/1689/1697 и ATI Radeon Xpress 200/1100, AMD 580X/480X поддерживают, как минимум, Serial ATA RAID уровней 0 и 1 - а в самых новых из них есть поддержка RAID 0+1 и даже RAID 5 (см. Таблицу 1). В дополнение к этому, чипсеты nForce3 Ultra/250Gb, nForce4-6 и GeForce 6150/6100 с южным мостом nForce 430 снабжены гигабитным сетевым интерфейсом.

    Для сборки компактных и дешевых серверов пододят чипсеты со встроенным графическим ядром. Этo NVidia GeForce 6150/6100 (аналог GeForce 6200), ATI Radeon Xpress 200 (аналог Radeon 9600), VIA K8M800 и SIS 771/761/760GX. С точки зрения надежности RAID хорошо зарекомендовал себя чипсет VIA и плохо - чипсеты NVidia.

    Продолжая хвалить Athlon 64, упомянем режимы Cool'n'Quiet с пониженной частотой и напряжением питания (см. Процессоры с низким тепловыделением). Как мы уже отмечали, для файлового сервера высокая частота процессора непринципиальна, а вот экономия электроэнергии при круглосуточной работе будет вполне ощутимой. Для защиты от вирусов пригодится поддержка бита NX (Non Execute), который блокирует исполнение программного кода при ошибках переполнения буфера; в терминах Intel данная возможность называется технологией XD (Execute Disable). Поддержка NX/XD есть во Windows XP SP2, ее также планируется включить во Windows Server 2003 SP1. Что же до 64-битной арифметики - то ее наличие, как минимум, не помешает :). Аналогичные возможности недавно появились в процессорах Intel Penitum 4 с ядром Prescott степпинга E0, и Nocona, а также в процессорах Pentium M с ядром Sonoma.

    Процессоры Athlon 64 выпускаются в двух вариантах - для Socket 754 с одноканальным контроллером памяти и Socket 939 с двухканальным контроллером памяти. Процессоры с одноканальным контроллером памяти дешевле, но они не всегда воспринимает два модуля памяти DDR400 на максимальной частоте - см. Проблемы двух модулей памяти и Socket 754: проверка совместимости. Впрочем, в моей практике этих проблем не было - старый Athlon 2800+ степпинга С0 и два модуля Kingston KVR400X72C3A/512 работают на плате Gigabyte K8NS без потери производительности.

    Среди существенных преимуществ платформы Intel остается гипертрединг, пока не имеющий аналогов в серийных процессорах AMD, а также очень хорошая отработанность процессоров с топологией 0.13m. Благодаря последнему обстоятельству серверная платформа Intel пока выглядит более предпочтительно. Но как бы не были консервативны серверные технологии, смена платформы происходит и здесь. В этом плане соперниками AMD K8 стали процессоры Intel с топологией 0.09m, которые уступают своим предшественникам по таким важным параметрам, как тепловыделение и длина конвейера.

    3.6. Чипсет

    В этом разделе мы ограничимся чипсетами для процессоров Pentium т.к. вопрос о поддержке памяти ECC в системах на основе процессоров Athlon уже рассматривался в разделе 3.5. Основное требование к чипсетам для Pentium заключается в поддержке памяти ECC, т.к. если означенной поддержки нет, то осуществить ее какими-либо другими способами уже не получится. Среди чипсетов для серверов и рабочих станций выделяется продукция Intel и Serverworks. Вот основные возможности чипсетов Intel для одно- и двухпроцессорных плат по материалам сайта Intel (их реализация зависит от конкретной материнской платы). Курсивом помечены неофициальные возможности, реализованные на некоторых материнских платах:

    ЧипсетСеверный мостЮжный мост и концентраторы PCI 32/64bit
    CPUFSBH
    T
    6
    4
    RAMmaxШиныЮжный
    мост
    Par.
    ATA
    Ser.
    ATA
    LANUSBPCI PCI 32/64bit 
     PCI Express 
    E7525 1/2*Xeon 800 ++8*DDR2/400
    6*DDR/333
    ECC registered
    16GPCI
    Express
    X16,X4
    ICH5R
    6300ESB
    4*
    100
    2*
    100
     
    2*
    150
    0/1
    10/
    100
    -
     
    8*
    2.0
    4*
    2.0
    6*
    2.3
    4*
    2.2
    2*PCI/33/66/
    PCI-X/66-133
    (6700PXH)
    E7520 1/2*Xeon 800 ++8*DDR2/400
    6*DDR/333
    8*DDR/266
    ECC registered
    16G
    32G
    PCI
    Express
    2X8,X4
    E7320 1/2*Xeon 800 ++8*DDR2/400
    6*DDR/333
    8*DDR/266
    ECC registered
    16G
    32G
    PCI
    Express
    X4
    E7505 1/2*Xeon 533
    400
    +-6*DDR/266/200
    ECC/nonECC
    registered/unbuffered
    16GAGP
    8X
    ICH4 4*
    100
    - 10/
    100
    6*
    2.0
    6*
    2.2
    6*PCI/33/66/
    PCI-X/66-133
    (3*P64H2)
    E7501 1/2*Xeon 533
    400
    +-8*DDR/266/200
    ECC registered
    16G- ICH3-S 4*
    100
    - 10/
    100
    6*
    1.1
    6*
    2.2
    E7500 1/2*Xeon 400 --8*DDR/200
    ECC registered
    16G-
    860 1/2*Xeon 400 --4*RDRAM PC800
    ECC/nonECC
    4GAGP
    4X
    ICH2 4*
    100
    - 10/
    100
    4*
    1.1
    6*
    2.2
    PCI
    2*33/4*66
    (P64H)
    E7230 Pentium D
    Pentium 4
    LGA775
    1066
    800
    ++4*DDR2/667/533/400
    ECC/non ECC
    unbuffered
    8GPCI
    Express
    X8
    ICH7R 2*
    100
    4*
    300
    0/1/
    10/5
    MST
    NCQ
    10/
    100
    8*
    2.0
    6*
    2.3
    1*PCI/33/66
    PCI-X/66-133
    (6702PXH)
    PCI Express
    1X4,2X1
    975X Core 2
    Pentium D
    Pentium 4
    LGA775
    1066
    800
    ++4*DDR2/667/533
    ECC/non ECC
    unbuffered
    8GPCI
    Express
    2X16
    PCI Express
    6X1
    955X Pentium D
    Pentium 4
    LGA775
    1066
    800
    ++4*DDR2/667/533
    ECC/non ECC
    unbuffered
    8GPCI
    Express
    X16
    E7221 Pentium 4
    mPGA478
    800 ++4*DDR2/533/400
    4*DDR/400/333
    ECC/nonECC
    unbuffered
    4GPCI
    Express
    X8
    IGP
    ICH6R 2*
    100
    4*
    150
    0/1
    MST
    NCQ
    10/
    100
    8*
    2.0
    4*
    2.3
    1*PCI/33/66
    PCI-X/66-133
    (6702PXH)
    PCI Express
    4X1
    925X Pentium 4
    LGA775
    800 ++4*DDR2/533/400
    ECC/nonECC
    unbuffered
    4GPCI
    Express
    X16
    PCI Express
    4X1
    E7210 Pentium 4
    mPGA478
    1/2*Xeon
    800
    533
    +-4*DDR/400/333/266
    ECC/nonECC
    unbuffered
    4GCSA 6300ESB 2*
    100
     
    2*
    150
    0/1
    - 4*
    2.0
    4*
    2.2
    2*PCI/33/66/
    PCI-X/66+2
    PCI-X onbrd
    875P Pentium 4
    mPGA478
    LGA775
    1/2*Xeon
    800
    533
    800
    533
    +-4*DDR/400/333/266
    ECC/nonECC
    unbuffered
    4GAGP
    8X
    CSA
    ICH5R
    6300ESB
    4*
    100
    2*
    100
    2*
    150
    0/1
    10/
    100
    -
     
    8*
    2.0
    4*
    2.0
    6*
    2.3
    4*
    2.2
     
    -
     
    2*PCI/33/66/
    PCI-X/66+2
    PCI-X onbrd
    E7205 Pentium 4
    mPGA478
    533
    400
    +-4*DDR/266/200
    ECC/nonECC
    unbuffered
    4GAGP
    8X
    ICH4 4*
    100
    - 10/
    100
    6*
    2.0
    6*
    2.2
    -
    845E Pentium 4
    mPGA478
    533
    400
    +-2*DDR/266/200
    ECC/nonECC
    unbuffered
    4GAGP
    4X
    ICH4 4*
    100
    - 10/
    100
    6*
    2.0
    6*
    2.2
    -
    845 Pentium 4
    mPGA478
    400 --2*DDR/266/200
    3*SDRAM PC133
    ECC/nonECC
    unbuffered
    2G
    3G
    AGP
    4X
    ICH2 4*
    100
    - 10/
    100
    4*
    1.1
    6*
    2.2
    -
    850E Pentium 4
    mPGA478
    533
    400
    +-4*RDRAM
    PC1066/800
    ECC/nonECC
    1.5/
    2G
    AGP
    4X
    ICH2 4*
    100
    - 10/
    100
    4*
    1.1
    6*
    2.2
    -
    850 Pentium 4
    mPGA478
    400 --4*RDRAM
    PC800/600
    ECC/nonECC
    2GAGP
    4X
    ICH2 4*
    100
    - 10/
    100
    4*
    1.1
    6*
    2.2
    -
    852GME Pentium
    4-M
    Pentium M
    mPGA479
    533
    400
    +-2*DDR/333/266/200
    ECC/nonECC
    unbuffered
    2GAGP
    4X*
    IGP
    ICH4-M
    6300ESB
    4*
    100
    2*
    100
     
    -
     
    2*
    150
    0/1
    10/
    100
    -
     
    6*
    2.0
    4*
    2.0
    6*
    2.2
    4*
    2.2
     
    -
     
    2*PCI/33/66/
    PCI-X/66+2
    PCI-X onbrd
    855GME Pentium M
    mPGA479
    400 --2*DDR/333/266/200
    ECC/nonECC
    unbuffered
    2GAGP
    4X*
    IGP
    ICH4-M
    6300ESB
    4*
    100
    2*
    100
     
    -
     
    2*
    150
    0/1
    10/
    100
    -
     
    6*
    2.0
    4*
    2.0
    6*
    2.2
    4*
    2.2
     
    -
     
    2*PCI/33/66/
    PCI-X/66+2
    PCI-X onbrd
    855GM Pentium M
    mPGA479
    400 --2*DDR/266/200
    ECC/nonECC
    unbuffered
    2GAGP
    4X*
    IGP
    ICH4-M 4*
    100
    - 10/
    100
    6*
    2.0
    6*
    2.2
    -
    852PM Pentium
    4-M
    mPGA479
    533
    400
    +-2*DDR/333/266/200
    ECC/nonECC
    unbuffered
    2GAGP
    4X*
    ICH4-M 4*
    100
    - 10/
    100
    6*
    2.0
    6*
    2.2
    -
    855PM
    rev.B1
    Pentium M
    mPGA479
    400 --2*DDR/333/266/200
    ECC/nonECC
    unbuffered
    2GAGP
    4X*
    ICH4-M 4*
    100
    - 10/
    100
    6*
    2.0
    6*
    2.2
    -
    855PM
    rev.A3
    Pentium M
    mPGA479
    400 --2*DDR/266/200
    ECC/nonECC
    unbuffered
    2GAGP
    4X*
    ICH4-M 4*
    100
    - 10/
    100
    6*
    2.0
    6*
    2.2
    -
    * В чипсетах 852/855 внешняя видеокарта AGP несовместима с памятью ECC.

    Таблица 2: Чипсеты Intel с поддержкой памяти ECC для процессоров Xeon DP, Pentium 4 и Pentium M

    Все чипсеты для Xeon и Pentium 4, за исключением 845 и 845E поддерживают двухканальный режим работы с памятью и обладают сопоставимой производительностью. Поэтому выбор оптимального чипсета для сервера начального уровня зависит главным образом от стоимости и доступности комплектующих; в некоторых специальных случаях выбор будет зависеть от набора интерфейсов и поддержки скоростных шин для подключения периферийных устройств. Чипсеты для Pentium M и Pentium 4-M работают в одноканальном режиме, т.к. они изначально разрабатывались для ноутбуков; десктоповые платы на этих чипсетах пока встречаются редко и стоят дорого. Память с ECC поддерживается мобильными чипсетами только в случае применения интегрированной графики или видеокарты на шине PCI.

    Для разработки сбалансированной системы важно знать, что в чипсетах Intel встроенные интерфейсы Serial ATA всегда подключаются в обход шины PCI, в то время как интерфейсы Parallel ATA и LAN 10/100 находятся на шине PCI. Южные мосты с суффиксом "R" (ICH5R, ICH6R) поддерживают Serial ATA RAID, который реализуется программно с помощью Intel Application Accelerator. Южные мосты без суффикса (ICH5, ICH6) поддержкой RAID не обладают.

    Чипсеты для Xeon поддерживают скоростную шину PCI для подключения высокопроизводительных внешних контроллеров. В частности, все чипсеты поддерживают 32 и 64-битные платы PCI, работающие на частоте 33 или 66 MHz с пропускной способностью 133, 266 или 533 MB/s. Шина PCI-X позволяет поднять частоту до 133 MHz и получить пропускную способность 1066 MB/s. Возможности данных чипсетов подробно освещаются в статьях: Серверы на основе процессоров Intel... и Двухпроцессорная система на Xeon: выгодная альтернатива Intel Pentium 4 EE.

    Ограниченной поддержкой скоростных версий PCI обладают и многие однопроцессорные чипсеты, как то E7230, E7221 и E7210, а также 875P, 855GME и 852GME в сочетании с южным мостом 6300ESB. В дополнение к скоростной PCI, чипсеты E7230 и E7221 поддерживает шину PCI Express, а чипсеты E7210 и 875P позволяют подключить гигабитный сетевой интерфейс к северному мосту (CSA - Communication Streaming Architecture). Остальные однопроцессорные чипсеты поддерживают только стандартные платы PCI (32 bit, 33 MHz, 133 MB/s). В качестве компенсации, новые чипсеты 975X, 955X и 925X поддерживают шину PCI Express X1 с пропускной способностью до 533 MB/s.

    Чипсет 925X выделяется еще и тем, что в варианте с южным мостом ICH6R(RW) и драйвером Intel Application Accelerator у него есть поддержка RAID 0/1/MST и NCQ. Для полного улета не хватало только RAID 10 и RAID 5, поддержка которых появились в чипсетах 955X и 975X с южным мостом ICH7R. По 9-м чипсетам можно судить о том, какое будущее приготовила нам Intel. В существующие платы на этих чипсетах не получится поставить процессор с ядром Northwood, т.к. в корпусе LGA775 выпускаются только процессоры с ядрами Gallatin и Prescott. От памяти DDR придется отказаться в пользу DDR2, которая обеспечивает большую пропускную способность за счет увеличенной латентности. Про видеокарты для AGP тоже предлагается забыть - на смену этой шине пришла PCI Express. Впрочем, при желании можно поставить антикварную карточку для PCI. Промежуточное положение между чипсетами 955X и 925X занимает 925XE, который для наших целей не интересен, т.к. он не поддерживает ECC.

    В нашем случае скоростная внешняя шина не потребуется, т.к. предполагается применение интегрированного контроллера Serial ATA RAID. Поэтому нам хватит штатных возможностей чипсета 875P.

    3.7. Системная плата

    Для сервера начального уровня подойдет плата с поддержкой памяти ECC, дисков Serial ATA и отказоустойчивых массивов RAID 1. Поскольку речь идет о сервере начального уровня, мы не будем здесь останавливаться на дорогих двухпроцессорных платах под Xeon и Opteron, а также на экзотических платах под мобильные процессоры. А из числа относительно недорогих плат (как серверных, так и десктоповых) указанным выше требованиям отвечают:

    Все вышеперечисленные комбинации обладают теоретической совместимостью с модулями памяти ECC, но это не дает гарантию того, что любая соответствующая плата будет поддерживать ECC, т.к. для этого требуется правильная разводка контактов и поддержка со стороны BIOS. Со значительной долей уверенности можно утверждать, что серверные материнские платы Intel (S...) будут работать с ECC памятью Kingston Value RAM (KVR...) или Samsung Original. В других случаях информацию о совместимости можно получить на сайтах производителей материнских плат (не всегда) и модулей памяти, например, на сайте Kingston. Протестированные нами платы и модули памяти перечислены в следующей таблице:

    ПлатаKingston
    KVR400X72C3A
    Примечание
    5121G
    ASUS P4C800 Deluxe (875P, Socket 478)+н/дПоддержка ECC оговорена
    в спецификации
    ASUS A8N-E (nForce4 Ultra, Socket 939)н/д+
    Gigabyte K8NS (nForce3 250, Socket 754)+н/дПоддержка ECC не заявлена,
    но имеется по факту
    (есть опция ECC в BIOS)
    Gigabyte GA-K8VM800M (Rev 2.x) (K8M800, Socket 754)++
    Epox 8NPA7I (Rev 1.0) (nForce4 Ultra, Socket 754)-н/дПамять работает в режиме без ECC

    Таблица 3: Поддержка модулей памяти с ECC в десктоповых материнских платах

    Среди популярных чипсетов Intel для Socket 478 выделяется чипсет 875P, который обладает достаточно высокой производительностью (даже в сравнении с новыми чипсетами Intel для LGA775) и поддерживает небуферизованную память DDRAM с ECC. Если поддержка ECC не требуется, то можно ограничиться более дешевыми платам на родственном чипсете 865PE. Южный мост на платах c 875P и 865PE поддерживает два диска Serial ATA, при этом в варианте ICH5R изначально была заявлена поддержка RAID 0 и несколько позже - RAID 1. Но на самом деле RAID реализован программно через Intel Application Accelerator. Поэтому дисковый массив на чипсете 875P будет работать только под Windows 2000/XP/2003.

    Чипсет 875P применяется как в десктоповых материнских платах, так и в серверных платах начального уровня, примером чего может служить плата Intel S875WP1-E ("Winter Park"). На ней применяется южный мост ICH5R с поддеркой двух дисков Serial ATA в массиве RAID уровня 0 или 1. Дополнительно к чипсету, на плате установлены:

  • Встроенный видеоконтроллер ATI Rage XL на шине PCI.
  • Два сетевых чипа: 100-мегабитный Intel 82562ET на шине PCI и гигабитный Intel 82547EI на шине CSA.
    В комплектации S875WP1LX:
  • Контроллер Promise PDC20379 на шине PCI с поддержкой 4 дисков Serial ATA в массивах RAID уровней 0, 1 и 0+1.
    Интересно сравнить эту серверную плату с десктоповой платой Intel D875PBZ ("Bonanza"). На последней из всего вышеперечисленного хозяйства сохранено главное - южный мост ICH5R и гигабитный чип Intel 82547EI на шине CSA. Все остальное можно без потери производительности добавить через платы расширения, в том числе и контроллер Promise FastTrak S150 TX4, который построен на том же самом чипе PDC20379. Но надо отметить, что плата S875WP1LX стоит меньше, чем аналогичная по функциональности сборка на основе D875PBZ.

    Cравнение S875WP1 и D875PBZ показывает относительность различия между серверными и десктоповыми платами. Серверные платы начального уровня интересны не названием "серверные", а своей большой функциональностью. Если же дополнительные функции серверных плат не востребованы, то может оказаться целесообразным применение менее функциональных, но более дешевых десктоповых плат.

    На момент сборки сервера Intel Application Accelerator не поддерживал Windows Server 2003, поэтому вариант с поддержкой RAID средствами южного моста ICH5R был неприемлем. Плата Intel S875WP1LX обладала достаточной, но избыточной функциональностью, т.к. на момент сборки сервера предполагалось использование только двух дисков Serial ATA. Поэтому для сборки была выбрана более дешевая плата ASUS P4C800 Deluxe, построенная на чипсете 875P с дискретным контроллером Serial ATA RAID Promise PDC20378. Этот контроллер функционально аналогичен плате Promise FastTrak S150 TX2plus, т.е. он реализует программный RAID, но при этом обладает широкой поддержкой различных операционных систем. Контроллер обеспечивает работу 2 дисков Serial ATA и 2 дисков Parallel ATA в массивах RAID уровней 0, 1 и 0+1. Плата P4C800 Deluxe имеет встроенный гигабитный сетевой адаптер 3COM 3С940. Оба устройства (контроллер RAID и сетевой адаптер) сидят на шине PCI. Для меня это приемлемо, т.к. сервер подключается к 100-мегабитной сети и сетевой адаптер даже в дуплексе возьмет не более 20% от пропускной способности шины (25 MB/s от 133 MB/s). В случае гигабитной сети подойдет более новая плата P4C800-E Deluxe, на которой распаян контроллер Intel 82547EI с интерфейсом CSA.

    Среди хороших свойств плат серии P4C800 можно указать встроенный звук, режим Q-Fan для регулировки оборотов кулера из BIOS и функции разгона, которые позволяют провести стресс-тест сервера. Такое тестирование признает даже Intel, которая разрешила 4% разгона в своей плате D875PBZ ("Bonanza").

    Отмеченные мной недостатки платы состояли в отсутствии вентилятора на северном мосте чипсета, а также в недостоверности показаний некоторых датчиков. Напряжения +12V и +5V показываются с погрешностью -2%. Показания +3.3V скачут, хотя на самом деле напряжение стабильно. А датчик фана как-то раз показал 18000 оборотов :).

    3.8. Комплектация сервера и его тестирование

    В итоге, получился компьютер стоимостью около 35000 рублей (без учета операционной системы, которая приобреталась по академической лицензии). Для сравнения приведена комплектация отечественного малошумного сервера Arbyte Alkazar S100, выпущенного в июне 2004 года и обладающего сходными возможностями. Его более высокая стоимость объясняется применением более дорогого корпуса и серверной материнской платы Intel.

    СборкаThis Arbyte Alkazar S100
    CASE 3R R101 Yeong Yang YY-W201 Pedestal Server Chassis
    PSU RPS 300 FSP400-60PN
    MB ASUS P4C800 Deluxe Intel S875WP1 ("Winter Park")
    CPU Pentium 4 2.4C/800/512 Pentium 4 3.0C/800/512
    RAM 2*512 Kingston ValueRAM PC3200 ECC
    KVR400X72C3A/512
    2*512 Kingston ValueRAM PC3200 ECC
    HDDSeagate ATA 120G 31200026A (2*RAID 1) -
    Seagate Serial ATA 120G 31200026AS (2*RAID 1) Seagate Serial ATA 80G ST380013AS (2*RAID 1)
    CDD DVD/CDRW LG CGC-4480B NEC CD-ROM CD-3002A
    GPU Radeon 9200SE ATI Rage XL (onboard)
    OS Windows Server 2003 Standard Edition Windows Server 2003 Standard Edition
    Цена 38000 (w/o OS) 40000 (w/o OS)

    Я намеренно назвал свою машину компьютером, а не сервером - потому что технику в подобной комплектацией можно найти на столе у многих пользователей, и там она выполняет отнюдь не серверные функции. Память ECC применяется в подвинутых рабочих станциях, RAID 1 тоже не может считаться чисто серверным решением - ввиду известной ненадежности дисков такая предосторожность не помешает даже на домашнем компьютере. Тем не менее, многие бренды предлагают похожие конфигурации (и даже более слабые - без поддержки Serial ATA RAID, с минимумом оперативной памяти и т.п.) в качестве дешевых серверов начального уровня.

    Стресс-тест показал следующее: разгон синхронно с памятью сервер терпит в пределах 20% (FSB 240) при напряжении на ядре 1.6V, дальше все упирается в конкретный процессор. Для справки приведу выходные напряжения блока питания RPS300, померенные мультимером (отметим, что речь идет о предельной для данного блока нагрузке, т.к. под нагрузкой ток по линии +12V составлял около 12A):

    ТестPentium 2.4@2.88/800 (1.60V)
    +12V+5V+3.33V
    Idle11.98V5.12V3.34V
    Prime9511.80V5.15V3.34V
    Prime95 + BurnP611.76V5.17V3.34V
    S&M 0.32 alpha11.74V5.18V3.34V

    Выходные напряжения блока питания RPS300

    Дальнейшие эксперименты проводились с более мощным блоком питания FSP350-60PN. На плату был поставлен процессор Prescott 2.8 под кулером ASUS Neptune AH7. Prescott разогнался до 3.5 GHz (FSB 250). По спецификации, на плату P4C800 Deluxe можно ставить процессоры с частотой до 3.2 GHz.

    3.9. Температурный режим

    Температурный режим сервера отслеживается по датчикам процессора, материнской платы и винчестера Seagate 31200026A, который занимает верхний слот в нижней части корпуса. Процессор работает в штатном режиме (2.4 GHz). Боксовый кулер посажен на термопасту КПТ-8; его обороты составляют 2100 RPM при температуре процессора до 56 градусов и 3000 RPM при температуре процессора свыше 59 градусов (регулировка Q-Fan).

    Температура замерялась при оборотах корпусных вентиляторов от 0 (останов) до 5 (максимум) в режиме бездействия и при выполнении следующих тестов:

    1. Прогрев процессора по Prime95 Torture Test (In-place large FFTs).
    2. Экстремальный прогрев процессора по Prime95 Torture Test + BurnP6.
    3. Прогрев винчестера ATA путем копирования на него файлов с массива Serial ATA RAID 1.

    Тест Prime95 дает верхнюю оценку температуры процессора при работе в реальных приложениях. Экстремальный прогрев проводится двумя программами, т.к. процессор имеет гипертрединг. По моим замерам, комбинация Prime95 + BurnP6 греет процессор c гипертредингом на 1-2 градуса сильнее, чем BurnP6 + BurnMMX.

    Все показания датчиков приведены к внешней температуре 25 градусов (т.е. если температуру в комнате была 24 градуса, то к показаниям всех датчиков прибавлялась 1, если 26 градусов, то из показаний вычиталась 1 и т.п.).

    РежимMB TempCPU Temp (2.4GHz)HDD Temp
         Idle      Prime95 P95+BP6      Idle     Copying
    Speed 0364159604548
    Speed 1344057594245
    Speed 2324158603840
    Speed 3304057603537
    Speed 4283956593234
    Speed 5283856603133
    Разброс 8 3 3 11415

    Температура при различных оборотах корпусных вентиляторов

    Из результатов видно, что корпусные вентиляторы слабо влияют на температуру процессора, но зато хорошо охлаждают диски. Я думаю, что этот разнобой связан с особенностями воздушных потоков: если корпусные вентиляторы остановлены, то воздух частично идет по короткому пути через решетку вытяжного вентилятора (см. рис). При такой вентиляции процессор охлаждается хорошо, чего не скажешь об остальных компонентах системы. Нормальный поток воздуха имеет место только при работающих корпусных вентиляторах.


    Основной поток воздуха при отключенных и включенных корпусных вентиляторах

    Заключение

    Сервер работает c начала 2004 года в круглосуточном режиме под операционной системой Windows Server 2003 Standard Edition, обеспечивая работу Web-сайта на движке PostNuke (технологии Apache/PHP/MySQL), Интранет-сервера на IIS, электронной почты, файлового архива и службы удаленного доступа. За это время какие-либо неприятные эффекты (скопление пыли, выход из строя вентиляторов, зависания и т.п.) замечены не были. Уровень шума - минимален. При температуре в комнате 25 градусов и работе корпусных вентиляторов на 3 скорости температура винчестеров не поднимается выше 37 градусов. Температура процессора в простое - 40 градусов, под тестом Prime95 - 57 градусов.

    Изучая различные серверы начального уровня, можно заметить, что они по конструкции мало чем отличаются от обычных домашних или офисных компьютеров. Поэтому последние довольно часто используются в качестве сервера, что оправдывается их низкой ценой и достаточно высокой производительностью. Но здесь важно понимать разницу между дешевым и надежным компьютером. Низкая стоимость самосборных машин достигается в основном за счет применения ненадежных или некачественных комплектующих. А если не экономить на комплектующих - то стоимость самосборного сервера будет приближаться к стоимости брендового.

    Сведения об изменениях

    24 сентября 2004 года - публикация.
    30 сентября 2004 года - поправлена таблица чипсетов.
    26 октября 2004 года - информация про южный мост Intel ICH7 и чипсет NVidia nForce4.
    27 октября 2004 года - информация про чипсет Intel E7221.
    4 ноября 2004 года - информация про чипсеты Intel 855 для Pentium M и чипсеты 845/845E.
    6 ноября 2004 года - дополнен раздел про материнские платы, из списка чипсетов c ECC удален 925XE, добавлен 850.
    10 ноября 2004 года - информация Radeon Xpress 200 и чипы ULi с поддержкой RAID, в их числе северный мост ULi M1689.
    18 декабря 2004 года - редакционные дополнения в разделе 3.3.1.
    27 декабря 2004 года - применение модулей Kingston ValueRAM c ECC, чипсеты Intel 852 для Pentium 4-M и Pentium M.
    20 января 2005 года - поправлены характеристики перспективных южных мостов Intel ICH7 и VIA 8251.
    12 марта 2005 года - дополнения про Socket 754 и 939.
    25 марта 2005 года - дополнения про диски Seagate Barracuda 7200.7 с NCQ.
    17 апреля 2005 года - дополнения про чипсет nForce4 и контроллеры Broadcom BCM 5773/8603.
    21 апреля 2005 года - дополнения про контроллер Sil3132.
    17 мая 2005 года - дополнения про контроллер VIA VT6421.
    27 мая 2005 года - дополнения про чипсет 955X и южный мост ICH7R.
    2 июня 2005 года - дополнения про чипсет ULi M1575.
    12 июля 2005 года - информация про чипсет Intel E7230.
    21 сентября 2005 года - дополнения про поддержку NCQ в контроллерах VIA и ULi.
    30 сентября 2005 года - исправления про поддержку TCQ/NCQ в контроллерах NVidia и Silicon Image.
    19 ноября 2005 года - информация про южные мосты nForce SPP 100/430/410, чипсет 975X, и модули Kingston KVR400X72C3A/1G.
    3 января 2006 года - информация про чипсет ULi M1697.
    27 января 2006 года - расширенная информация про поддержку модулей памяти с ECC в десктоповых материнских платах.
    8 апреля 2006 года - характеристики чипсетов NVidia nForce 5xx и ATI SB600.
    23 мая 2006 года - уточнены характеристики чипсетов NVidia nForce 5xx.
    2 июля 2006 года - информация о новых чипсетах SIS.
    25 августа 2006 года - информация о южных мостах Intel ICH8R/DH/DO и контроллерах JMicron JMB363/366.
    6 октября 2006 года - сведения о серверных дисках Seagate NL35 и Barracuda ES.
    20 декабря 2006 года - чипсеты NVidia nForce 5xx и 6xx.
    6 февраля 2007 года - новые данные о скорости обмена.
    4 апреля 2007 года - правка для NVidia nForce 5xx.

    Особая благодарность специалистам фирмы Sunrise-Екатеринбург за сборку сервера.

    Копирайт

    Разрешено копирование в электронных изданиях при условии указания ссылки на данный авторский вариант статьи.
    Перепечатка на бумажных изданиях может проводиться только по согласованию с автором статьи.

    Причал - портал общения и творчества