Русский
Русский
English
Статистика
Реклама

Сервер

Выше облаков а не построить ли сервер в космосе?

12.04.2021 20:16:10 | Автор: admin

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

Для начала, зачем вообще запускать дата-центры в космос? С одной стороны, это совсем не рентабельно, ведь даже запуск обыкновенной стойки в 700 кг обойдется в несколько миллионов долларов. С другой в космосе имеется безграничный источник энергии солнечный свет, а в тени можно сбрасывать тепло излучением. Впрочем, холод космоса не сравнится с Сибирью или Антарктидой где есть холодный ветер и вода, а солнечным батареям остается только мечтать об эффективности угольной ТЭЦ. Поэтому даже проекты глобального спутникового интернета Starlink и OneWeb обходятся без космических центров обработки данных, и спутники выступают только ретрансляторами.

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

Отсутствие прямого доступа к серверу в космосе повышает защищенность хранящейся и обрабатываемой информации. Разумеется абсолютно неприступной крепости не бывает, но летающей в космосе стойке не грозит ни прорыв водопровода, ни перегрызенный мышами кабель, ни швабра усердной уборщицы, ни внезапный визит сборщиков цветного металла.

Компания Cloud Constellation разрабатывает программу Space Belt размещение низкоорбитальных спутников для хранения, обработки данных и передачи через ретрансляторы на высокой геостационарной орбите. Компания привлекла более $100 млн инвестиций и уже заказала у Virgin Orbit запуск 12 спутников в этом году.

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

Фактически сегодня единственным космическим дата-центром может считаться только Международная космическая станция. Она практически постоянно связана с Землёй через геостационарные спутники NASA TDRS и "Роскосмоса" "Луч".

Несколько лет назад NASA использовало МКС для испытания протокола космической связи DTN, устойчивой к сбоям и задержкам связи.

Структура сети DTN Международной космической станции и его наземного сегмента. Илл.: NASAСтруктура сети DTN Международной космической станции и его наземного сегмента. Илл.: NASA

Возможно будущий межпланетный интернет будет построен именно на основе этого протокола.

Более глобальный взгляд на развитие дата-центров, позволяет поднять тему экологии. Она с каждым годом становится актуальнее, многочисленные твиты о глобальном потеплении, ролики на youtube с пламенными речами экоактивистов, ролики тиктока о раздельном сборе мусора Всё это требует постоянно растущих вычислительных мощностей наземных дата-центров по всему миру. Серверам нужна энергия и охлаждение, для чего сжигается ископаемое топливо, выбрасывается углекислый газ и усиливается нагрев атмосферы. По некоторым оценкам обслуживание интернет-инфраструктуры планеты требует от 1% до 10% всей энергии человечества, и никто не планирует останавливаться.

Впрочем, пока никто не предлагает вынести все серверы Земли в космос т.к. это потребует столько ракет, что сожженное ими топливо превысит все мыслимые пределы. Цена запуска всех вычислительных мощностей Земли будет такой, что, наверно, поможет решить все экологические проблемы планеты. Но это сегодня. В будущем же, экологические проблемы будут усугубляться, а цена запуска в космос снижаться благодаря многоразовым ракетам, а производительность обработки данных расти. Тут-то космос и сможет если не решить все проблемы, то как минимум вынести их часть подальше от Земли.

Одна из таких проблем майнинг криптовалюты. Сегодня уже бесполезно отрицать ценность крипты, но физически она по-прежнему остается результатом вхолостую работающих компьютеров. Эта работа также требует энергию и способствует глобальному потеплению. Надеюсь, когда-нибудь в будущем, эти факторы приведут к возможности возведения майнинговых ферм в темных полярных кратерах Луны. И это, наконец, даст хоть какую-то новую цель полётов на естественный спутник Земли, кроме политических приоритетов.

Карта распределения освещенности и тени в течение полных лунных суток у лунных полюсов. Илл. NASAКарта распределения освещенности и тени в течение полных лунных суток у лунных полюсов. Илл. NASA

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

Кто "мы"? С одной стороны это один из ведущих российских хостинг-провайдеров VPS/VDS серверов, основное направление деятельности которого является оказание услуг IAAS корпоративного класса.

С другой российская частная компания, основанная группой инженеров, ранее работавших в НПО им. С.А. Лавочкина, а позже в компании "Даурия Аэроспейс", и участниками проекта лунного микроспутника. При участии блогера

Суть эксперимента запуск наноспутника класса CubeSat (10х10х30 см), на борту которого будет развернут маленький центр обработки данных. Связь с ним будет поддерживаться по радиоканалу, длительностью около 7 минут в сутки со скоростью 9,6 Кбит/с. Эксперимент планируется проводить три месяца, и, при необходимости он будет продлён, для получения большей информации.

Спутник класса CubeSat размерностью 3U. Фото: СпутниксСпутник класса CubeSat размерностью 3U. Фото: Спутникс

Если запуск получится в короткие сроки, а у конкурентов из Cloud Constellation возникнут задержки, то у нас будет шанс развернуть первый беспилотный спутниковый сервер в мире. Запуск предполагается попутный, на одной из ракет "Роскосмоса".

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

Мы постараемся рассказать и показать читателям весь путь от замысла проведения эксперимента до его результатов. Вас ждут подробности того как создать космический аппарат и разместить на его борту космический ЦОД, как подготовить его к запуску, получить все необходимые согласования, пройти испытания, установить на ракету, отправить в космос, поддерживать связь и получить результаты летных испытаний.

Поехали!

Подробнее..

Странные управленческие решения внутри хостинга

15.06.2021 14:10:21 | Автор: admin
Звонит как-то вендор и говорит, что в возврате бракованного железа не их жёсткий диск.


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

Гарантийный отдел ковыряется с диском, а потом звонят:

А зачем вы подменили диск?

Мы такие:

В смысле подменили?

Мы вам продавали другой. А тут корпус тот, а внутри другой. Какие-то следы от отвёртки.

Дичь полнейшая! Мы начали было ругаться, но потом стали разбираться. Начали смотреть на камеры и увидели, что наш сотрудник очень подозрительно себя вёл, когда работал с этим диском в стойке. Как в плохих комедиях про жуликов: постоянно осматривался по сторонам, отходил в сторону, возвращался. Оказалось, что он подменил диск. Честно, я не знаю зачем. Его финансовая выгода минимальная, скорее всего, даже не окупает время работы по замене корпуса.

У нас было ещё несколько странных ситуаций, и сейчас я о них расскажу.

Форекс-трейдер


VDS часто покупаются для торговли на биржах. Ну, на нормальных биржах: я имею в виду тех, где важно географическое расположение сервера для минимизации задержек. Но есть и биржи уровня Форекса. Вернее их даже биржами назвать нельзя. Это на сленге трейдеров кухня. Напомню, что многие из них попали в список компаний с признаками нелегальной деятельности, который завёл ЦБ. У меня есть глубокое личное убеждение, основанное на здравом смысле и математике, что система работает как качели для вытаскивания денег из не самых разбирающихся в вопросе клиентов. Возможно, это не так, но свою точку зрения я могу аргументировать и обосновать при необходимости. Но в истории важно другое. Звонит мой знакомый, который взял у нас сервер в Швейцарии. И вот он начинает в открытую меня и всех наших сотрудников обвинять в том, что мы залезаем к нему на сервер в процессе торгов и вмешиваемся в его форекс-сделки.

По его словам, он придумал великую стратегию, а убыточные сделки берутся рынком, плюсовые же вовремя не берутся, игнорируются. И в этом виноваты мы. Точнее, сначала он обратился с задачей, что его не устраивает производительность сервера. С его слов, она радикально падала в момент выхода новостей. В 16:30, когда выходит мировая статистика. В этот момент времени все трейдеры, кто работает с помощью автоматических торговых систем, начинают многократно усиливать свою активность. Если, грубо говоря, внутри дня он делает десять сделок, то в эти 16:30 и одну минуту он может сделать сто сделок. Естественно, это создаёт пик нагрузки, причём не локально, а на принимающем сервере. Но трейдер этого не понимает, он думает, что у нас сервер именно в 16:30, когда ему надо выставить заявку или закрыть заявку, тормозит. А это совпадает с самым нужным временем. И не верится, что это просто совпадение.

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

Здесь главная проблема работа со знакомым. Если бы это был просто клиент, то мы бы провели диагностику и не получали оскорблений.

Игровые серверы школьников


Школьники довольно часто размещают у нас игровые серверы. Это, скажем так, сложные клиенты, потому что они выбирают третий по цене тарифный план. Первый это промо за 30 рублей в месяц (по цене IP), второй урезанная версия стандартных конфигураций за 130 рублей и третий уже полноценный сервер от 300 рублей в месяц.

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

Поддержка вежливо объясняет суть проблемы и предлагает подключить защиту от DDOS-атак за 400 рублей (причём первый месяц бесплатно). По нашей практике, потом можно будет играть совершенно спокойно. На что клиент начинает нас обвинять в том, что это мы специально дидосим его, чтобы он нам заплатил ещё. Далее закономерно встаёт вопрос о возврате средств, и обычно мы средства возвращаем и с лёгкостью расстаёмся с таким клиентом.

Один из тикетов был похож на подобный, но с нюансом. Блокировки не было, дидоса не было, трёхэтажного мата тоже не было. Просто клиент запросил возврат средств с сервера, который был оплачен на несколько месяцев. А тут надо сказать, что у нас есть ссылка для оплаты, которую можно выставить наружу, и любой человек может оплатить хостинг для какого-то клиента. Это удобно, потому что бухгалтерии не обязательно логиниться в админпанель. Школьники использовали эту ссылку для краудфандинга, скинулись на сервак и начали играть.

Клиент пишет заявку на возврат средств, мы отправляем её в платёжный шлюз. И вдруг владелец удаляет сервер, начинаются тот самый мат и дикие крики про то, что вернуть надо на его счёт, а не на счета плательщиков. То есть условно у них было порядка сорока оплат по 100 рублей, и все их платёжный шлюз собирался распихать обратно по тем самым карточкам, с которых они платили. Но главному герою нужен был возврат на один свой счёт. В общем, в ходе диалога с поддержкой он уже прямо признался, что хотел получить чужие деньги. Через пару месяцев эта же история повторилась с минимальными вариациями с другим школьником.

Самый короткий детектив


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

И вот пишет клиент, что наш сервер не отвечает.

Мы просим трассировку. Клиент делает, присылает. Мы сообщаем, что RDP блокирует его отель, и желаем приятного отпуска в Таиланде. Клиент немного в панике, но мы поясняем, что его Wi-Fi-точка названа именно по отелю. И даём ссылку на то, как это обойти. В тот раз помогло.

Регистрации под ботами


Очень странная ситуация была с тестовыми периодами на наших 32-ядерных машинах. Кто-то научился брать американские номера, парсить голос, русский текст и цифры. Как только криптовалюты совершали очередной прыжок, начинались авторегистрации, а дальше серверы использовались (судя по характеру нагрузки) для майнинга криптовалют. Не знаю, что это было, но майнить биткоин на VDS без видеокарты идея откровенно так себе. Процессор уходит в потолок, три дня они пытаются что-то там сделать, потом период заканчивается. Мы обновили капчи, но на следующей волне скачка курса биткоина снова начались авторегистрации. Я откровенно не понимаю, какой в этом смысл, ведь аренда американского номера стоит дороже, чем возможный профит с майнинга на процессоре три дня. Сейчас эти волны мы наконец-то победили.

Блокировки по IP


Мы выдаём один статический IP клиенту при аренде сервера. Это не карусель динамических адресов, не замены раз в месяц, а конкретный IP, привязанный к клиенту. Сначала мы проверяем его чистоту и отсутствие во всяких чёрных списках, а потом даём клиенту.

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

Ещё накручивают отзывы и просмотры на Амазоне. Потом в поддержке: Ребята, это мой не первый аккаунт, можете, пожалуйста, сменить мне IP-адрес, потому что меня забанило?

Бывает так, что админ настраивает клиенту работу на сервере, но забывает уточнить вопрос про лицензии. Звонит генеральный директор, у которого 25 сотрудников, и они все сидят на удалённом рабочем столе, у нас размещали соответственно. Весь замес в том, что системный администратор, который это настраивал, был на аутсорсе. Он настроил кучу виртуальных рабочих мест. Человек платил около 35 тысяч. У него там размещалось 25 сотрудников, и 120 дней человек вообще не знал никакой проблемы с подключением к удалённому рабочему столу. А цимес в том, что Майкрософт даёт триалку на размещение этого удалённого сервера рабочих столов 120 дней ровно. Человек четыре месяца, получается, пользуется, и тут внезапно посреди пятого месяца обнаруживает, что у него ни один сотрудник не может зайти. Диктует нам ошибку, мы всё прекрасно понимаем, что у него там происходит. И предлагаем ему два варианта:

Вы либо удаляете эту службу, которая не даёт вам подключиться вообще в принципе, либо платите за каждую лицензию.

В общем, ребят, я не буду платить тройную цену от сервака.

Неудивительно, потому что лицензия стоит 91 тысячу рублей, а у него сервак стоит 36 тысяч.

Ребята, надо, короче, решать. Давайте так: мне по-любому нужно это бесплатно. Что если мы оформим договор на другое лицо, и таким образом у меня будет ещё 120 дней? А что если вы измените человека, у меня сейчас есть знакомый, он зарегистрируется?

А вы точно понимаете, что сейчас у официального партнёра MS спрашиваете, как их же обмануть?

Да! Ребята, какие ещё варианты есть?

Неожиданный уход коллеги


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

И вот одна из ситуаций. Сотрудник взял и не пришёл на работу. Работал-работал и потом пропал. Выходного интервью нет. Начали разбираться, что же случилось, может быть, обиделся на что-то. Никаких внутренних предпосылок. Уже потом начали общаться с ним удалённо, он прислал ссылку на статью на Хабре про профессиональное выгорание.

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

Никаких выводов и действий. Просто, возможно, он счастлив где-то ещё.

Дебош


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

В итоге уголовку он не получил, полицейские оказались добрыми. Оставили всего до утра к КПЗ и отпустили домой к жене и детям. Как бы конец истории, но непонятно, что делать дальше, потому что в беседе он пояснил, что нет гарантии того, что ровно такое же не повторится. Например, в офисе. Или в серверной. Или на переговорах с клиентом или ЦОДом.

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

Уничтоженный сервер 1С


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

Итак, бухгалтерше одного из клиентов нужны закрывающие документы о том, что услуга оказана. Документы есть в личном кабинете, они автоматически формируются. Она сообщает, что доступ утерян. Но она знает номер договора и все реквизиты. ОК, говорим мы: пришлите письмо на бланке организации с подписью генерального и печатью, восстановим вам доступ.

Письмо приходит, в нём просьба поменять основную почту доступа.

Мы соответственно меняем почту.

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

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

Общие выводы и чем закончилась история с жёстким диском


Мы стараемся разобраться и понять, что можно сделать, чтобы риск не повторялся.
В случае с заменённым жёстким диском сотрудник написал по собственному и уволился тем же днём. Мы не предъявляли ему претензий, поскольку понимали, что будет крайне тяжело это доказать. И, несмотря на всю иррациональность ситуации, у нас есть правило: если ты знаешь риск, то надо постараться его минимизировать на будущее. В этой истории было не очень понятно, что делать. В итоге посовещались и выделили отдельную комнату в офисе для сборок оборудования, над столом там поставили камеру. В этом случае мы, наверное, больше параноики, чем оптимизаторы, но таков принцип. Возможно, это потому, что мы из финансовой сферы, и с этим очень серьёзно. Здесь мы страхуемся не только от хищения, но и от того, чтобы ложно не обвинить своего сотрудника, если будет какая-то путаница от вендора или что-то подобное, потому что оборудование довольно дорогое.


Подробнее..

Тетрис, который максимально бесит

08.05.2021 16:18:41 | Автор: admin
Сможет ли коллективный интеллект Хабра побить мировой рекорд?



Тетрис. Ну, казалось бы, что можно тут сделатть нового? Был уже и трёхмерный тетрис, и четырёхмерный тетрис.

Сделали тетрис, который каждый раз подсовывает тебе самую ненужную фигуру. Сначала прикольно, а потом бесит. БЕСИТ!!!

Осторожно, этот тетрис вызывает негативные чувства и может испортить вам день. А может, натолкнет на философские размышления, что такое удача в жизни и стоит ли ее ждать или надо постоянно бороться.

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

В этом тетрисе даже нет гравитации, то есть нет давления времени, но это вам мало поможет.

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


В этой игре Hatetris нет случайностей, алгоритм детерминирован, поэтому есть вызов придумать лучшую стартегию. Авторское решение 5 строк. Моё, за 10 минут игры 4 строки.

Пишите в комментариях ваш результат. (не подглядывая в сохранялки)

Задачка для программистов придумать свой, более оптимальный алгоритм, который максимизирует ненависть в тетрисе, то есть подсовывает вам самую неудобную фигуру, которая минимизирует шанс игрока заполнить строку.

Поиграть тут.
Исходники тут

Проивоядие: Tetreasy тетрис, который дает вам самую лучшую фигуру.

сохранение на 6 линий

1)suKuUU

2)ИбsяНЖПСVS

сохранение на 7 линий


ЩЩ

сохранение на 8 линий


KJSГuюC

Мировой рекорд на 31


WsaZZНeuаesФуGVНGl


Исследования:




Философские размышления с HackerNews, что жизнь это тетрис:




На Хабре про тетрис:






Облачные серверы от Маклауд быстрые и безопасные.

Зарегистрируйтесь по ссылке выше или кликнув на баннер и получите 10% скидку на первый месяц аренды сервера любой конфигурации!

Подробнее..

Собрать сервер для глубокого обучения за пол ляма может и ребенок. Или нет?

25.03.2021 22:22:00 | Автор: admin

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

Сетап

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

Зачем вообще оно нужно? Если вы все знаете, то переходите сразу к фазе описания выбора мной компонентов. Или читайте дальше! Сервер такой же компьютер, как тот, что стоит у вас на столе, но рассчитанный на долгую нагрузку и собирают его обычно из других деталей. Разница примерно как с автомобилем массового автопрома и спецтехникой вроде грузовика. Он может не быть быстрее, но должен выдерживать большую нагрузку (количество пользователей) и дистанции (время работы под нагрузкой для серверов это могут быть годы). Зачем оно нам? Мы создаем высокополигональные (~1 млн) 3D модели для игр и кино на основе фото, и сейчас занимаемся разработкой инновационных алгоритмов на основе машинного обучения для этой задачи.

Изучив референс, который показал мне мой коллега, я понял, что человек там собрал не сервер, а просто мощный игровой компьютер (какой и вы можете завтра собрать или купить в магазине), но зачем-то вставил туда процессор для сервера. В общем дальше больше. Пока я думал, какая сборка была бы оптимальна, выяснилось, что неплохо бы вставить в наш будущий комп не одну, не две, а ВОСЕМЬ высокопроизводительных видеокарт. Такое обычно геймерам даже не снилось. Почти что майнинг ферма.

Что за задачи хотели мы решать, и каковы вообще требования к компьютеру для машинного обучения? Если обычный компьютер собирается вокруг процессора: главного и универсального вычислительного блока в нем, то для машинного обучения первостепенна видеокарта. Это такой еще один компьютер, который вставляется в ваш компьютер, чтобы помогать процессору решать специфические задачи. Например, строить красивую графику для современных компьютерных игр. Поэтому о видеокарте сейчас мечтает любой подросток (спросите, если у вас есть дети). Но также видеокарта может помогать процессору очень быстро умножать матрицы. Да, прямо как вы на первом курсе технического вуза, видеокарта на самом перемножает матрицы, только не 10 в час, а миллиарды в секунду. В этом плане процессор, как и вы, пользуется правилом строка на столбец, а видеокарта умеет выдавать ответ, как человек дождя, сразу. Если кто не помнит, там у героя талант выполнять мгновенные вычисления (спойлер). Но, как и герою фильма, все остальное дается видеокарте с трудом, и это делает процессор.

В общем, обычно в компьютере может не быть выделенной видеокарты, но тут их должно было быть несколько. Причем именно RTX 3090!? Это не такая простая задача, как кажется.

Изучив вопрос, я пришел к выводу, что невпихуемые восемь прожорливых видеокарт можно впихнуть только на серверной платформе (http://personeltest.ru/aways/www.gigabyte.com/Enterprise/GPU-Server) для GPU. Но даже если такие вообще можно будет найти в России, то стоить это будет ровно полмиллиона, просто за корпус и материнку (без карт и процессоров). Тогда я пораскинул мозгами и предложил три варианта, каждый содержал решение своей задачи.

Первая опция

Собрать просто игровой комп вокруг RTX3090. На обычном процессоре (со своими задачами он справляется не хуже, чем серверный, но в разы дешевле для нас).

Была выбрана такая связка процессор плюс материнка, а сама сборка вышла на 100 тысяч рублей, без учета цены видеокарты.

AMD Ryzen 7 Vermeer 5800X

Asus PRIME X570-P

Прежде чем я опишу более сложные варианты, нужно сказать об особенностях процессора. Для подключения видеокарты мы используем линию PCI Express. По сути это такой же интерфейс как USB, с которым все знакомы, но только высокоскоростной и внутри самого компьютера. Причем устроен он весьма забавно. Представьте себе автотрассу. У нее есть полосы и ограничение скорости. Вот линии PCI это один в один, как трасса, где количество машин, проезжающих в секунду, определяет скорость передачи информации. Если мы возьмем трассу в четыре полосы, то машин проедет в два раза быстрее, но то же самое произойдет, если мы сделаем каждую полосу ровно в два раза быстрее. За количество полос у PCI отвечает так называемое количество шин (проводников), а за скорость поколение PCI.

Таким образом фразу: PCI-E 3.0 4x написанную на устройстве нужно читать как данное устройство займет четыре полосы трассы с максимальной скоростью 3. Видеокарты могут занимать до 16 линий PCI, причем это число может быть и меньше. То есть чисто технически видеокарта может работать и от одной линии. Именно так поступают майнеры, когда подключают 16 видеокарт к одному слоту. Они просто разбивают огромную трассу на 16 полос, жертвуя скоростью, зато не приходится покупать 16 компов. Для их приложений скорость не так нужна. В целом, правило пальца такое. Допустим, если карта подключена в 16 линий то это 100% производительности, тогда как показывает практика, например, для игр, при использовании восьми линий, она теряет 5% производительности, а при использовании четырех уже около 20-30% или больше. Для разных приложений эти цифры немного отличаются. У предложенного процессора AMD Ryzen 7 Vermeer 5800X всего 24 линий PCI, что является стандартным числом для даже очень дорогих процессоров для настольных ПК. 24 линий более чем достаточно для подключения одной-двух видеокарт и еще какой-то периферии вроде звуковой карты и NVME накопителя. Сложно представить, чтобы их не хватило. Но вот воткнуть в него 4 видеокарты без особых потерь уже не получится. Машины просто начнут стоять в пробках. Тут на ум приходит вторая опция.

Вторая опция

Собрать компьютер вокруг серверного процессора. Теперь уже это кажется оправданным. У него количество линий PCI может измеряться не десятками, а сотнями (обычные смертные этим не пользуются, а вот серверное железо да). Таким образом, если найти подходящую материнскую плату, то можно будет гарантированно разместить туда много видеокарт. Был выбран пограничный вариант: AMD Ryzen Threadripper 2 2920X c аж 64 линиями PCI 3.0. Причем он так и позиционируется производителем как серверный процессор, но адаптированный для простых нормизов, которым нужна какая-то специфика промышленного железа. Например, для высокопроизводительных станций для видеомонтажа, где должно работать несколько человек и т. д. в материнскую плату, подобранную для него (ASRock X399 Taichi), влезало 4 видеокарты без адаптеров. Что уже лучше, чем обычный игровой комп, при стоимости такой сборки всего на 50 тысяч дороже обычной игровой (150 вместо примерно 100). Но и процессор тут уже совсем другой ценовой категории, пусть и довольно дешевый среди своих напарников по цеху. При цене в 60-70 тысяч этот монстр выдает аж 24 потока, что кажется и немного для его цены, но если добавить поддержку ECC памяти, много шин PCI, большой кэш, получается приятно, если учитывать то, ради чего мы его берем.

Третий и последний вариант

Купить сервер вроде такого. Отдать один раз 500 тысяч и доставлять в него карты до восьми максимальных. (Предыдущий вариант при достойной процессорной нагрузке оперирует до четырех видеокартразумеется, если постараться и обеспечить нормальное охлаждение).

Выбор

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

Итоговая сборка

Ниже приведу итоговую сборку как мы ее заказали:

CPU

AMD Ryzen Threadripper 2 2920X BOX

https://www.e-katalog.ru/AMD-2920X-BOX.htm

1

85

MB

ASRock X399 Taichi

https://www.e-katalog.ru/ASROCK-X399-TAICHI.htm

1

25

PSU1

Fractal Design Ion+ Platinum FD-PSU-IONP-860P-BK

https://www.e-katalog.ru/FRACTAL-DESIGN-FD-PSU-IONP-860P-BK.htm

1

14

CASE

Fractal Design MESHIFY S2

https://www.e-katalog.ru/FRACTAL-DESIGN-MESHIFY-S2.htm

1

12

SSD

Samsung 860 EVO MZ-76E2T0BW 2 ТБ

https://www.e-katalog.ru/SAMSUNG-MZ-76E2T0BW.htm

1

17

CPU cooler

Be quiet Dark Rock Pro TR4

https://www.e-katalog.ru/BE-QUIET-DARK-ROCK-PRO-TR4.htm

1

7

Coolers

140

https://www.e-katalog.ru/FRACTAL-DESIGN-DYNAMIC-X2-GP-14.htm

2

3

120

https://www.e-katalog.ru/ID-COOLING-PL-12025-W.htm

2

1

SUM:

164

Итого: 164 тысячи рублей. Вроде неплохо, учитывая что цена на RTX 3090 на этот момент стоили уже 220 тысяч, и я убедил, что, возможно, 4х видеокарт может и хватить. Теперь по компонентам отдельно, как я думал о них до сборки:

Процессор

2920X обычно не востребованный из-за разницы со своими старшими братьями постепенно вытеснялся 3м поколением тредрипперов как раз упал в цене, это был хороший выбор (как показалось). Отдельная тема это установка процессора "Threadripper". Самые важные моменты: отвертка, которая идет в комплекте не обычная, а заряженная пружиной, чтобы контролировать натяжение, поэтому вскрывать сокет и устанавливать процессор нужно ТОЛЬКО ей. И только в порядке, предписанном на крышке розетки процессора (сокета). На рисунке видно порядок установки.

Материнская плата

ASRock X399 Taichi, средний выбор для такого железа обладала всеми необходимыми приятностями: 8 слотов для памяти, зачем-то встроенный wifi...

Но с материнской платой вышло больше всего проблем. Представьте ваше лицо, когда вы на стенде собираете компоненты стоимостью 150К включаете их, а они не дают признаки жизни Но я не растерялся, понял что блок питания не подает питание на материнку. На плате работало служебное 3В питание, была исправна батарейка. Сброс CMOS не помог. Коротких замыканий ни на какой линии питания не было. Меня сбил сначала тот факт, что от служебного питания на ней запитывалась подсветка. Начал грешить на блок питания, но нет. Проверив его по методике ниже, оказалось, что материнская плата все же не подает сигнал на исправный блок питания. Моя интуиция подсказала, что скорее всего это неправильное поведение. В гарантийном отделе KNS меня стали уверять что дело в неправильной версии BIOS материнской платы, и я, не заметив на самой плате наклейку, утверждающую, что BIOS последний, поехал искать где его обновить. Возле гарантийного центра меня встретили только очень пугающие ребята. Один немолодой человек, увидев у меня материнскую плату с символикой AMD, начал буквально кричать на весь ТЦ: AMD для нас не компьютер, а другие предложили обновить его за 3000р., но при условии что у меня будет подходящий процессор. Как будто был бы у меня процессор, я бы не смог обновить его сам, при условии, что для таких плат для этого просто нужно вставить флешку с кодом. Кто не знает, код BIOS (базовая система ввода вывода) отвечает за процесс запуска и первичную настройку и тест процессора, еще до старта любой операционной системы. Проблема, что если версия биоса старая, то компьютер просто не понимает, что в него вообще вставлен процессор. Тогда самый простой вариант вставить процессор более старой серии и обновить BIOS. Проблема в том, что процессоров Ryzen Threadripper первого поколения в москве в сервисных центрах почти не найти, что добавляло сложность моим изысканиям. Была ли это попытка, чтобы я пролетел с двухнедельным сроком возврата бракованного товара или нет, я не знаю. В определенном сервисе на Савеловской мне совершенно бесплатно подтвердили, что BIOS на плате самый свежайший, и там повторно оно не завелось уже на их стенде, но с моим процессором. И вот в самый последний день я отвез это в KNS и, уже уверив их, что их гипотеза не верна (и было бы странно, ибо плата вообще не стартовала блок питания), я отдал плату на гарантию. Через две недели они дождались свой процессор, и оказалось, что моя теория верна и плата мертва. Еще через день мы получили новую и продолжили сборку!

Охлаждение процессора

Охлаждать процессор, выделяющий тепла почти как четверть бытового обогревателя, предложено было кулером Be quiet Dark Rock Pro TR4, специально созданного для такого горячего процессора. Из особенностей скажу, что обычно элитная фирма Be quiet!, в этот раз немного разочаровала: установка кулера очень не эргономична для того, чтобы его закрепить или снять, нужно сначала вынуть центральный кулер (у него их три), потом особой комплектной длинной отверткой через особые отверстия отвинтить болты, только после этого отпустит клемму, которая и держит процессор. Вы можете посмотреть про этот кулер тут.

Блок питания

Выбор блока питания. Самая мистифицированная деталь компьютера, а так же самая частая ошибка: экономия на блоке питания. Причем, как правило, людям либо кажется, что больше мощности равно лучше, кому-то кажется, что много мощности плохо предлагаю разобраться. Блок питания берет переменный ток из розетки и преобразовывает его в набор постоянных напряжений (3.3,5,12,-12 Вольт). Все эти стандарты питания важны для разных компонентов, но самая важная линия это 12 Вольт. Именно от нее будут питаться все самые прожорливые компоненты. Именно от 12В питается процессор и видеокарта. Что же такое амперы на блоке питания? Ну, вы можете думать, что вольты это просто тип питания, примерно, как октановое число бензина. Вы приезжаете на бензоколонку и ожидаете увидеть 92,95 бензин. Точно так же работает и блок питания. Он предоставляет разное топливо. Причем напряжение, как и бензин, может быть плохим. Например, если под нагрузкой 12 Вольт превратились в 11, (а карета в тыкву), то это сродни тому, как если бы в тяжелые дни на заправке из-за нехватки 95го бензина его начинают бадяжить водой. А вот ток или мощность можно сравнить с литрами в минуту, которые заправка может выдавать. То есть, если на зарядке вашего телефона написано 5В 2А, это значит, что она может выдать не больше 2А по линии 5В. При этом при приближении к этим 2А качество напряжения может начать портиться, а зарядка греться и потеть. Именно поэтому все так любят брать блоки питания пожирнее. Например, кто-то скажет что и 1000 Ватт мало для RTX3090, что очевидно неверно, ибо сама по себе RTX 3090 потребляет по заявлению производителя 350 Ватт. Откуда же требование к блоку питания в более чем 750 Ватт? Давайте посчитаем! Дабы узнать сколько ест компонент, достаточно посмотреть на его тепловыделение, оно же энергопотребление. Грубо говоря, каждый компонент потребляющий ток, похож на ту же лампочку накаливания: пропустить ток греется. Например, если написано, что TDP процессора 60Ватт, значит, он будет выделять это тепло потребляя амперы по 12В линии. Чтобы получить ватты, нужно умножить ток на напряжение (IU=P). Или же, чтобы найти ток, нужно поделить 60 на 12. То есть 60-ти ваттный процессор потребляет 5А по 12В линии. Наш процессор потребляет целых 250 Ватт и видеокарта 350. Итого: по 12ти вольтовой линии блок питания должен выдать аж 600 Ватт.

Требование на 750 появляется из двух соображений, во-первых, многие производители льстят себе и пишут значения, при которых их продукции становится уже очень плохо, а во-вторых, из-за потерь в тепло везде, кроме потребителей, сколько-то съедят вентиляторы (по 2 Ватта каждый), сколько-то диски. В общем, мощности в 860 Ватт при условии выбора хорошего блока питания должно было хватить с головой. Я взял Fractal Design Ion+ Platinum FD-PSU-IONP-860P-BK. Не самый дорогой, но и не дешевый модульный блок питания от известного бренда. Характеристики его максимальных токов указаны на обратной части. Вы спросите, почему же ты не взял сразу блок питания с запасом на 4 видеокарты? Ну, когда я посмотрел цены на качественные блоки питания от 1000 Ватт, оказалось, что цена на них соизмерима с ценой всего компьютера. Сисоник на 1000 Ватт стоил аж 80К рублей. Но я, будучи электронщиком, понимал, что мне ничего не мешает вставить туда еще один блок питания специально для остальных видеокарт. Можно даже использовать компактный серверный блок, важно только сделать систему, которая бы включала блок питания одновременно с первым, но это несложно. Блоки питания включаются, как только напряжение на контакте PS_ON (см. рисунок) падает до нуля. То есть если вам хочется самим проверить блок питания без материнской платы, достаточно булавкой или скрепкой замкнуть контакты PS_ON и COM, и на остальных линиях появятся напряжения (Хоть все блоки питания и оборудованы защитами, но соблюдайте осторожность при работе с питанием, не допускайте попадание металлических компонентов на контакты, не вскрывайте блок питания). До этого момента включения не работает. Именно эти контакты замыкает материнская плата. То есть нужно было просто спаять плату, чтобы замыкать один контакт с другим, и можно сэкономить более 50ти тысяч рублей и подключать сколько хочешь мощных видеокарт. Теперь переходим к корпусу, который позволил все это безумие.


Корпус

Fractal Design MESHIFY S2, один из самых удобных корпусов, что я видел. Огромный, все быстро снимается. Внутри есть разветвитель PWM, чтобы можно было натыкать десятки вентиляторов, при этом заняв один слот на материнской плате. Оптимистично в него можно вставить до 6ти карт. Реалистично около четырех полноразмерных турбовинтовых карт. И то, если убрать нижнюю корзину для дисков, и разместить одну карту боком. Но иначе есть смысл брать только серверный корпус с переходником PCI, но такие в России найти вообще в продаже мне не удалось, только если заказывать на сайте DELL в США. Поэтому по факту взяли самый удобный корпус для большой рабочей или игровой системы. Из минусов могу выделить только встроенные очень слабые вентиляторы, которых тут установлено аж 3. Для высокопроизводительной системы советую вынуть их и заменить на высоко оборотистые управляемые 4 pin кулеры. У стоковых фиксированная скорость в 1000 оборотов, что хорошо для тихого ПК, но не очень для корпуса, которому предстоит рассеивать 800 Ватт тепла.

Память

Как вы могли заметить в сборке нет памяти, потому, что у нас уже было закуплено 64 GB не ECC памяти, и в принципе раз мы не играем в игры, то кроме желательного ECC у нас не было требований. Можно использовать любую. Если бы я докупал бы память, то выбрал бы что, то такое.

Цели

Прежде всего нужно понимать, что собирался такой компьютер не для игр. Я работаю в компании Twin3D, и такой компьютер нужен для построения автоматической сборки 3D модели человека на основе десятков-сотен фото. Если вам интересно, вы можете уже завтра приехать к нам и сделать 3D модель своего лица и тела. В свою очередь мы сейчас работаем над более сложными алгоритмами о которых вы могли читать тут.

Тесты

Про производительность отдельных компонентов системы вы можете найти много информации в Интернете. Поскольку нас интересует продолжительная работа, не было смысла заниматься овеклоком (разгонять процессор или видеокарту), по крайней мере по началу этой производительности точно хватало. К тому же почти любой разгон не только сильно повышает нагрев системы, но и влияет на вероятность вылетов вследствие случайных повреждений памяти, а к серверу предъявляются, наоборот, двойные стандарты по надежности. Поэтому в первую очередь нас интересуют температурные характеристики. Тест проводился с одной видеокартой Gigabyte GeForce RTX 3090 TURBO 24G, которая показала отличные температурные характеристики. При работе в стресс тесте видеокарты и 12 ядер процессора на неделю, температура видеокарты не поднималась выше 63 градусов, а процессора выше 59, что достойный показатель для игровых и умеренный для серверных систем. Ниже тест sysbench, для сравнения на моем домашнем ryzen 2600X total number of events: 121178. Когда тут, как на скриншоте ниже, 259501. Что более чем в два раза больше. При ровно в два раза большем количестве потоков. Причем стоящий дома ryzen еще и быстрее.

Что касается производительности RTX3090, пока еще рано говорить о ее рабочем потенциале, ибо наш суперский код, который создаст ваших 3D аватаров по фотографиям из instagram, еще не дописан. Однако если кому интересно она выдает где-то 110 Мега Хешей в секунду, что смешно по сравнению с любым асиком при ее стоимости на момент покупки она окупилась бы в майне за 314 дней (в день приносила бы почти 700р). Мораль не покупайте карты, чтобы майнить. Покупайте карты, чтобы играть, или учить искусственный интеллект. Чтобы он был умнее и посоветовал вам купить для майна ASIC.

Выводы

Собирай я сейчас бы тот же компьютер, наверное, поменял бы не так много. Советовал бы, как я писал выше, немного другую память, ибо когда мы выбирали свою еще было непонятно, какой будет процессор в конечной машине. Поменял бы скорее всего кулер, может, есть какие-то более удобные варианты. Хотя и качеством охлаждения я доволен. В будущих статьях возможно расскажу про настройку сервера. И удаленный GUI для нескольких пользователей. У вас есть предложения и замечания? Делитесь в комментариях!

Подробнее..

PXE-мультитул на базе Raspberry Pi

08.05.2021 12:05:15 | Автор: admin

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

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

В чем сложность


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

Проблема в том, что у каждого вендора свои собственные методы и собственные утилиты для обновления прошивок. Причем, не все они способны корректно работать под Linux. Какие-то компоненты, например, BIOS у серверов SuperMicro желательно шить из-под MS-DOS. Для каких-то компонентов, например, сетевых карт Mellanox в некоторых случаях нужно использовать Windows, а некоторые поддерживают прошивку непосредственно из Linux.

Таким образом нам нужно будет либо собирать мультизагрузочный образ и записать его на несколько десятков флешек, затем долго и упорно загружаться с них, либо придумать нечто более интересное и быстрое. И вот здесь приходит на ум использование сетевых карт серверов с поддержкой загрузки по PXE (Preboot eXecution Environment, произносится как пикси).

Берем малинку, разворачиваем там DHCP- и TFTP-сервер, готовим требуемые образы для загрузки. Чтобы массово загрузить несколько десятков серверов просто временно задействуем неуправляемый гигабитный свитч на 48 портов и вуаля. По-умолчанию большинство серверов возможность загрузки с PXE предусматривают без дополнительной настройки, поэтому такой вариант идеален.

За основу я взял прекрасную статью от Romanenko_Eugene, но с поправками на особенности Raspberry Pi и решаемые задачи. Приступаем!

Малиновое варенье


Когда я первый раз проделывал такое самой продвинутой версией Raspberry Pi была третья с сетевой картой на 100 Мбит/с. Этого откровенно говоря мало для массовой раздачи тяжелых образов, так что настоятельно рекомендую использовать доступную ныне Raspberry Pi 4 с портом на 1 Гбит/с. Еще одна рекомендация по возможности использовать быструю и емкую карту памяти.

Теперь о первоначальной настройке. Графический интерфейс для такой штуки абсолютно не требуется, поэтому можно скачать самую простую Lite-версию операционной системы Raspberry Pi OS. Распаковываем образ и заливаем образ на MicroSD-карту любым удобным способом, например с помощью dd:

sudo dd if=<имя_образа> of=/dev/mmcblk0 bs=1M

В процессе настройки можно либо настраивать традиционным способом, подключив клавиатуру и монитор, либо через SSH. Чтобы при запуске SSH-сервис заработал, создаем пустой файл с именем ssh в разделе /boot.

Поскольку сетевой порт будет задействован для работы DHCP, то для доступа в интернет можно либо использовать подключение к Wi-Fi, либо подключить к малинке еще одну сетевую карту по USB. Вот такую, например:


Теперь запускаем Raspberry Pi, подключаем ее к интернету и обновляем репозитории и пакеты ПО:

sudo apt update

sudo apt upgrade

Поскольку я задействую еще одну сетевую карту, то встроенной надо задать статический IP-адрес. Открываем конфиг:

sudo nano /etc/dhcpcd.conf

Добавляем следующие строчки:

interface eth0static ip_address=192.168.50.1/24

Здесь eth0 встроенная сетевая карта Raspberry Pi. Именно с помощью нее будет осуществляться и раздача IP-адресов, и сетевая загрузка. Теперь устанавливаем tftp-сервер:

sudo apt install tftpd-hpa

После установки открываем конфигурационный файл:

sudo nano /etc/default/tftpd-hpa

Приводим строку к следующему виду:

TFTP_OPTIONS="--secure -l -v -r blksize"

В целом можно было бы и оставить все как есть, но тестировать каждый раз на отдельной машине иногда не слишком удобно. Опции -l -v -r blksize позволяют без проблем тестировать все это на виртуальной машине VirtualBox, исправляя некоторую проблему совместимости. Теперь устанавливаем DHCP-сервер для раздачи IP-адресов:

sudo apt install isc-dhcp-server

Открываем первый конфигурационный файл isc-dhcp-server:

sudo nano /etc/default/isc-dhcp-server

Явным образом указываем интерфейс, на котором предполагается работа DHCP-сервера:

INTERFACESv4="eth0"

Теперь открываем второй конфиг dhcpd.conf:

sudo nano /etc/dhcp/dhcpd.conf

Задаем необходимые параметры сервера, раздаваемую подсеть, а также передаем имя файла загрузчика:

default-lease-time 600;max-lease-time 7200;ddns-update-style none;authoritative;subnet 192.168.50.0 netmask 255.255.255.0 {        range 192.168.50.2 192.168.50.250;        option broadcast-address 192.168.50.255;        option routers 192.168.50.1;        filename "pxelinux.0";}

Сохраняем файл и теперь нам предстоит собственно скачать загрузчик, нужные модули и сформировать меню PXE. Начнем со скачивания набора загрузчиков Syslinux, в моем случае наиболее удобна версия 5.01:

wget https://mirrors.edge.kernel.org/pub/linux/utils/boot/syslinux/syslinux-5.01.zip

Распаковываем:

unzip syslinux-5.01.zip

Теперь нам надо найти и извлечь модуль memdisk, умеющий подгружать в ОЗУ ISO-образы целиком, загрузчик pxelinux.0 и остальные модули comboot. Последовательно выполняем команды, которые отыщут и скопируют все найденное в директорию /srv/tftp:

find ./ -name "memdisk" -type f|xargs -I {} sudo cp '{}' /srv/tftp/

find ./ -name "pxelinux.0"|xargs -I {} sudo cp '{}' /srv/tftp/

find ./ -name "*.c32"|xargs -I {} sudo cp '{}' /srv/tftp/

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

cd /srv/tftp

Создаем директорию с именем pxelinux.cfg и переходим в нее:

sudo mkdir pxelinux.cfg

cd pxelinux.cfg

Создаем конфигурационный файл:

sudo nano default

В качестве примера давайте возьмем отличный live-дистрибутив GRML и загрузим его через PXE. Ниже готовый пример конфигурации:

UI vesamenu.c32                  PROMPT 0MENU TITLE Raspberry Pi PXE ServerMENU BACKGROUND bg.pngLABEL bootlocal   menu label Boot from HDD   kernel chain.c32   append hd0 0   timeout 0TEXT HELPBoot from first HDD in your systemENDTEXTLABEL grml   menu label GRML LinuxKERNEL grml/boot/grml32full/vmlinuzAPPEND root=/dev/nfs rw nfsroot=192.168.50.1:/srv/tftp/grml/ live-media-path=/live/grml32-full boot=live lang=us nomce apm=power-off noprompt noeject initrd=grml/boot/grml32full/initrd.img vga=791LABEL reboot    menu label Reboot    kernel reboot.c32TEXT HELPReboot serverENDTEXT

Здесь наверное стоит немного остановиться и разобраться что делает каждая строка:

  • UI vesamenu.c32 используем модуль vesamenu.c32 для вывода меню;
  • PROMPT 0 подсвечиваем нулевой пункт меню;
  • MENU TITLE Raspberry Pi PXE Server задаем общее название меню;
  • MENU BACKGROUND bg.png элемент оформления, используем bg.png в качестве фонового изображения.

Фоновое изображение можно изготовить заранее. По-умолчанию подойдет картинка 640x480 с глубиной цвета не более 24 бит, в формате PNG или JPG. Ее надо заранее скопировать в /srv/tftp. Теперь разберем каждую секцию. Первая секция введена для удобства. Если надо загрузится с первого жесткого диска, то прописываем:

  • LABEL bootlocal внутреннее имя секции;
  • menu label Boot from HDD то, как будет отображено меню у пользователя;
  • kernel chain.c32 используем модуль chain.c32, умеющий выполнять загрузку с различных носителей;
  • append hd0 0 явным образом указываем, что загрузка должна быть с первого раздела первого жесткого диска;
  • timeout 0 тут можно либо задать таймаут в секундах, по истечении которого будет автоматически запущена загрузка, либо указав 0 убрать таймер.
  • TEXT HELP указываем начало текста подсказки для пользователя;
  • Boot from first HDD in your system текст подсказки;
  • ENDTEXT указываем конец текста подсказки.

Приблизительно таким же образом формируем и секцию для перезагрузки. Единственным отличием будет вызов модуля reboot.c32, который собственно и отправляет машину в ребут. Ну, а перед тем как разобрать что делает третья секция, загружающая дистрибутив GRML, поговорим о том, что собственно будет загружаться и каким образом.

Everything is a file


Сам ISO-образ доступен на сайте этого live-дистрибутива. Скачиваем его и переименовываем для удобства, в примере возьмем 32-битную версию:

wget https://download.grml.org/grml32-full_2020.06.iso

mv grml32-full_2020.06.iso grml.iso

Теперь надо этот образ каким-то образом заставить загружаться. С одной стороны можно применить модуль memdisk и заставить его вначале загрузить все сырое содержимое образа непосредственно в ОЗУ и потом передать управление загрузкой. Но этот метод хорош только для очень маленьких образов, например, так удобно загружать MS-DOS. Большие же образы долго загружаются в память и не всегда работают адекватно.

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

Выполняется элементарно:

sudo apt install nfs-kernel-server

Чтобы не устраивать кашу из файлов создаем отдельную директорию для grml:

sudo mkdir /srv/tftp/grml

Нам потребуется примонтировать ISO-образ, поэтому позаботимся о временной точке монтирования:

sudo mkdir /tmp/iso

Монтируем образ. Система предупредит, что образ смонтирован в Read-Only режиме:

sudo mount -o loop grml.iso /tmp/iso

Рекурсивно копируем содержимое образа в нашу отдельную директорию:

sudo cp -R /tmp/iso/* /srv/tftp/grml

Чтобы не возникало проблем с правами доступа, меняем владельца и рекурсивно присваиваем этой директории права из серии Дом свободный, живите кто хотите:

sudo chown -R nobody:nogroup /srv/tftp/grml/

sudo chmod -R 777 /srv/tftp/grml/

Теперь дело за малым указать NFS-серверу, что ему следует предоставлять директорию /srv/tftp/grml любому IP-адресу из нашей подсети:

sudo nano /etc/exports

Прописываем строчку:

/srv/tftp/grml 192.168.50.0/24(rw,sync,no_subtree_check)

Обновляем список и рестартуем NFS-сервер:

sudo exportfs -a

sudo systemctl restart nfs-kernel-server

Теперь у нас наконец-то появляется возможность корректно разделить процесс загрузки на два условных этапа. Первый этап загрузка ядра и live-filesystem. Второй этап подтягивание всех остальных файлов через NFS. Пришла пора посмотреть на оставшуюся секцию:

  • LABEL grml имя секции;
  • menu label GRML Linux отображение в меню;
  • KERNEL grml/boot/grml32full/vmlinuz указываем путь до ядра, относительно корня /srv/tftp;
  • APPEND root=/dev/nfs rw nfsroot=192.168.50.1:/srv/tftp/grml/ live-media-path=/live/grml32-full boot=live lang=us nomce apm=power-off noprompt noeject initrd=grml/boot/grml32full/initrd.img vga=791 тут мы говорим, что используем NFS, прописываем пути к условному корню, задаем некоторые дополнительные параметры, рекомендуемые в документации и указываем относительный путь до initrd.

Теперь остается только последовательно запустить TFTP и DHCP-сервер и можно пробовать выполнять загрузку в PXE. Если все сделано правильно, то вы увидите созданное меню:


Выбрав пункт GRML Linux нажимаем Enter и видим, что у нас происходит успешный процесс загрузки образа:


Таким образом мы получили возможность сетевой загрузки популярного среди системных администраторов дистрибутива GRML. Но что насчет того же самого MS-DOS и как можно самостоятельно подготовить образ для перепрошивки BIOS. Об этом поговорим дальше.

In DOS We Trust


Неужели в 21 веке все еще используется операционная система из 80-х годов прошлого тысячелетия. Каким бы странным это не казалось но для некоторых специфичных задач MS-DOS по прежнему актуальна и вполне себе находит применение. Одной из таких задач является обновления прошивки BIOS на серверах.

Возьмем для примера какую-нибудь материнскую плату, например, Supemicro X11SSL-F и скачаем обновление BIOS с официального сайта. Внутри видим приблизительно подобный набор файлов:

user@linux:~/Загрузки/X11SSLF0_B26> ls -lитого 16592-rw-r--r-- 1 user users   169120 фев  1  2015 AFUDOSU.SMC-rw-r--r-- 1 user users     5219 сен 20  2003 CHOICE.SMC-rw-r--r-- 1 user users    22092 апр 27  2014 FDT.smc-rw-r--r-- 1 user users     3799 дек 15  2016 FLASH.BAT-rw-r--r-- 1 user users     3739 мая 22  2019 Readme for UP X11 AMI  BIOS.txt-rw-r--r-- 1 user users 16777216 ноя 25 23:48 X11SSLF0.B26

Видим, что у нас уже есть готовый BAT-файл, позволяющий прошить BIOS. Но для того, чтобы это сделать надо иметь уже загруженный в MS-DOS сервер. Сейчас покажем как именно это сделать.

Прежде всего нам надо подготовить небольшой raw-образ жесткого диска с операционной системой. Создаем новую виртуальную машину через Oracle VM VirtualBox с небольшим диском на 32 мегабайта. Формат выбираем QCOW, после всех манипуляций его можно будет легко сконвертировать в raw.

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


Дважды меняем образы дискет в виртуальном приводе и спустя буквально 20 секунд у нас есть qcow-образ со свеженькой ОС MS-DOS 6.22:


Самым простым способом теперь скопировать файлы на данный диск будет примонтировать его к любой другой виртуальной машине с Windows или Linux. После этой операции повторно монтируем диск к виртуальной машине с MS-DOS и проверяем, что файлы видны:


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

qemu-img convert -f qcow -O raw DOS.qcow dos.img

Полученный IMG-образ копируем в отдельную директорию нашего TFTP-сервера:

sudo mkdir /srv/tftp/dos

sudo cp dos.img /srv/tftp/dos

Теперь открываем конфигурацию /srv/tftp/pxelinux.cfg/default на редактирование и добавляем в меню еще один пункт:

LABEL DOS        kernel memdisk        initrd dos/dos.img        append raw

Сохраняем конфигурацию и теперь у нас в PXE-меню появился новый пункт меню, выбрав который мы загружаем созданный образ:


Точно так же можно создавать образы, содержащие как служебные утилиты, так и забавы ради со старыми играми под DOS.

In Windows Veritas


Давайте теперь попробуем загрузить Live-образ c WinPE (Windows Preinstallation Environment). Загружать полноценный вариант часто просто не требуется, достаточно лишь ограниченного количества функций. Реальное применение эта штука находит при перепрошивке некоторых устройств.

Та же самая Mellanox, год назад поглощенная Nvidia, выпускает утилиту Mellanox Firmware Tools для перепрошивки своих сетевых карт в вариантах для WinPE различных версий. Разумеется сейчас доступны уже различные варианты MFT, но пару раз мы сталкивались именно с необходимостью шить через WinPE-версию.

Создание своего собственного образа WinPE и интеграция нужного ПО туда задача не слишком сложная, но ее объяснение выходит за рамки данной статьи. Чтобы детально освоить этот процесс можно посетить отличный ресурс winpe.ru. Мы же для примера возьмем какую-либо готовую сборку для демонстрации процесса запуска.

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

wimboot достаточно простой загрузчик, умеющий выполнять загрузку образов в формате wim (Windows Imaging Format). Его можно использовать либо в связке с syslinux, либо с более продвинутым собратом, iPXE. Создаем отдельную директорию в /srv/tftp:

sudo mkdir wimboot

cd wimboot

Cкачиваем сам загрузчик:

wget https://github.com/ipxe/wimboot/releases/latest/download/wimboot

Теперь пришло время подмонтировать образ. Создадим временную директорию в /tmp:

sudo mkdir winpe

Переходим в каталог со скачанным ISO-образом сборки и выполняем:

sudo mount -o loop <имя_образа> /tmp/winpe

Создаем директорию в /srv/tftp, куда положим нужные нам файлы:

sudo mkdir /srv/tftp/winpe

Теперь ищем в сборке и копируем 4 файла:

sudo cp BOOTMGR /srv/tftp/winpe

sudo cp bcd /srv/tftp/winpe

sudo cp boot.sdi /srv/tftp/winpe

sudo cp boot.wim /srv/tftp/winpe

Дело за малым в конфигурационный файл /srv/tftp/pxelinux.cfg/default дописываем следующую секцию:

LABEL WinPE        menu label WinPE        com32 linux.c32 wimboot/wimboot        append initrdfile=winpe/BOOTMGR,winpe/bcd,winpe/boot.sdi,winpe/boot.wim

Фактически мы при помощи модуля linux.c32 выполняем загрузку загрузчика отличная тавтология, а ему передаем параметры уже в формате, привычном для wimboot. Таким образом вначале у нас загружается wimboot, затем последовательно распаковываются и запускаются необходимые файлы.


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


Вместо заключения


В этой статье нет какого-либо ноу-хау, но когда возникла необходимость Raspberry Pi отлично справилась. Ей не потребовалось искать дополнительную розетку питания, прекрасно подошел USB-порт ближайшего свободного сервера. Нет дополнительных заморочек с поиском места в забитой под завязку железом стойке. Работает именно так как надо, а малые габариты позволяют всегда иметь ее под рукой.

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

Подробнее..

OCP Experience Lab как мы строили мини-ЦОД в офисе

06.01.2021 00:04:36 | Автор: admin

Начиналось всё с создания стенда для тестирования серверов нашей собственной разработки. Потом стенд разросся и мы решили сделать небольшой датацентр для пилотирования различных софтовых решений. Сейчас это единственная в Россси и вторая в Европе лаборатория OCP Experience Lab.


Вообще я недавно в разработке вычислительной техники. Мне это всегда казалось чем-то невозможно сложным и доступным только огромным командам с очень большими бюджетами. И, наверное, поэтому очень привлекательным. В прошлом году звёзды сошлись и мне удалось привлечь инвесторов и найти стартовых клиентов, чтобы запустить свой собственный проект создания российского сервера. Выяснилось, что в России в этом направлении работает пара десятков команд совершенно разных размеров и специализаций. Одни просто привозят комплекты деталей от тайваньских производителей и делают в России только сборку, а другие копают сильно глубже, вплоть до написания собственного BIOS. Короче, стало понятно, что тема хоть и сложная, но вполне посильная.

Для старта разработки выбрали сервера стандарта OCP. ОСР это Open Compute Project, открытое сообщество, в котором конструкторская документация на все продукты выкладывется в открытый доступ для свободного использования. Настоящий Open Source Hardware, и как следствие, самый прогрессивный, бурно растущий и перспективный стандарт, к тому же продвигаемый преимущественно не поставщиками, а потребителями оборудования. Помимо всех технических преимуществ, открытая документация должна была упростить нам старт разработки и ускорить встраивание в такую тяжелую тему, как серверное железо. Но это, наверное, тема для отдельной статьи.

А компанию, кстати, назвали GAGAR>IN. Скоро вы про неё ещё услышите.

Готовимся

Моё же личное знакомство с ОСР состоялось лет пять назад, когда я участвовал в продвижении решений американской Stack Velocity на российский рынок. Уже тогда у нас была идея локализовать их производство и сделать собранные в России сервера с открытой документацией для нужд госкомпаний и госзаказчиков. Но тогда импотрозамещение было ещё не в тренде, и все потенциальные заказчики в итоге предпочли купить тайваньское оборудование. Именно тогда произошел первый сдвиг в популяризации OCP в России: Яндекс установил в свой новый датацентр как-бы-OCP сервера от небольшого тайваньского вендора AIC, а Сбербанк, РЖД и Mail вовсю тестировали полноценные OCP решения от гиганта Quanta, крупнейшего мирового производителя вычислительной техники.

С тех пор прошло довольно много времени и поэтому первым шагом моего плана было обойти всех основных вендоров и ближайших дистрибьюторов OCP, чтобы подружиться, запартнёриться и посмотреть-пощупать реальные железки. До начала карантинных ограничений я чудом успел объехать с десяток поставщиков в России, Тайване, Китае и Европе это был стремительный и весьма продуктивный тур, из которого стало многое понятно. Не боги горшки обжигают и у нас точно есть шанс успешно воспроизвести сервер OCP, и более того сделать его немного лучше по характеристикам.

Сборочная линия небольшого тайваньского производителя серверовСборочная линия небольшого тайваньского производителя серверовКалифорнийское производство серверов крупного азиатского производителяКалифорнийское производство серверов крупного азиатского производителя

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

Стойка OCP Experience Center в Амстердаме выглядит очень красиво, но довольно бессмысленноСтойка OCP Experience Center в Амстердаме выглядит очень красиво, но довольно бессмысленно

Стартуем

Создание тестового стенда всегда стояло одним из первых пунктов плана развития компании, но то, что мы увидели в Голландии, понравилось нам настолько сильно, что было решено совместить стенд тестирования своего железа, шоу-рум и лабораторию для отладки программно-аппаратных решений клиентов в одном месте, назвав это OCP Experience Lab. То есть мы создадим лабораторию, максимально соответствующую духу открытых сообществ удобное и легко доступное место, где и конечные потребители, и интеграторы могут своими руками пощупать и потестировать реальное, боевое и самое прогрессивное железо.

Все эти наши прекрасные планы были перечеркнуты карантином, и первые тестовые стенды были собраны в спальных районах столицы на коленке, а специально арендованное под лабораторию помещение в центре Москвы стояло пустым.

Тестирование новейшего сервера в домашних условияхТестирование новейшего сервера в домашних условиях

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

В июне, как только карантин немного ослаб, мы смогли начать сборку лаборатории нашей мечты.

Затащить серверные стойки в неприспособленный под это офис - само по себе нетривиальная задачаЗатащить серверные стойки в неприспособленный под это офис - само по себе нетривиальная задача

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

Монтаж очередного сервера в стойкуМонтаж очередного сервера в стойку

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

Три стойки, рабочий стол инженера и большой плакат - так выглядела наша лаборатория в сентябре 2020Три стойки, рабочий стол инженера и большой плакат - так выглядела наша лаборатория в сентябре 2020

Комплектующие в лабораторию мы собирали со всего мира: заказали всё самое новое и интересное, что есть в мире OCP. В итоге у нас образовалось три стойки от трёх разных производителей, полтора десятка различных вычислительных серверов, несколько дисковых массивов и целых шесть коммутаторов! Такое многообразие позволило одновременно запускать два-три функциональных стенда и проводить на них долговременные тесты.

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

Что и как тестируем

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

Всё началось с базовых тестов производительности железа. Мы прогнали через испытания множество компонент: модули памяти Samsung, Micron, Hynix; SSD от тех же Samsung, Micron и Intel; сетевые карты Mellanox, Broadcom, Emulex и Intel. И даже сравнили между собой процессора Intel SkyLake и AMD EPYC2.

Но понятно, что лаборатория не только место для тестирования новых железок. Потребители не бенчмарки будут мерять, им нужны рабочие программно-аппаратные конфигурации. И поэтому мы стали потихоньку собирать конфигурации различного софта и проверять его работоспособность и производительность. Начали с российских Линуксов: Альт, Астра и Роса. На базовых тестах всё прошло без сюрпризов - возможно стоит делать более глубокие исследования и сравнение в сложных задачах. Потом собрали несколько различных стендов систем виртуализации. Для начала попробовали VmWare, Proxmox, Virtuozzo с ними также всё прошло довольно гладко и скучно. Мы сохранили конфигурации и решили вернуться к этим системам позже, уже с реальными клиентскими задачами.

Так как основная идея OCP оборудование без излишеств, то всё разнообразие функционала перенесено на уровень софта. Фактически, любые конфигурации собираются из двух кирпичиков вычислительного сервера и присоединяемого к нему дискового массива JBOD (Just a Bunch Of Discs). Мы же собрали в лаборатории несколько различных исполнений как серверов, так и дисковых массивов, и следующим логичным шагом было тестирование их совместной работы.

В ходе всех этих тестов, постоянного конфигурирования и переконфигурирования серверов и сетей, стало понятно, что без полноценного мониторинга систем нам не справиться, и с этого момента у нас завёлся Zabbix.

Дашборд ZabbixДашборд Zabbix

Одним из неожиданных открытий после запуска Zabbix, стало то, что мы обнаружили повышение температуры в лаборатории ночью. Оказалось, что так как мы находимся в обычном офисном центре, арендодатель ночью выключает центральное кондиционирование. Оно и без того жарким летом еле справляется с охлаждением наших стоек, но оказывается ночью температура в нашем импровизированном датацентре регулярно превышала 35 градусов:

Кстати, одним из преимуществ оборудования OCP, является его способность работать при температурах до 30 градусов, а максимум допустимой температуры составляет как раз 35 градусов. Получилось, что мы сами того не желая, устроили своего рода стресс-тест нашим серверам. Но всё же оставлять серверную без кондиционирования опасно ещё несколько серверов и температура уползёт под сорок, да и клиентов приводить в такую жаркую комнату неудобно.

Финальный рывок

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

Один из первых вариантов дизайнаОдин из первых вариантов дизайна

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

Лаборатория после ремонтаЛаборатория после ремонта

Теперь можно было проводить официальное открытие и снимать полноценное видео:

В итоге, у нас есть не только лаборитория, шоурум, но и удобная съемочная площадка для производства серии видеороликов про оборудование Open Compute.


Так что продолжение следует!

Самое главное - табличка на входе!Самое главное - табличка на входе!
Подробнее..

Перевод Сервер в одну строку на 17 языках

16.05.2021 16:07:51 | Автор: admin
Каждая из этих команд будет запускать специальный статический http-сервер в вашем текущем (или указанном) каталоге, доступном по адресу http://localhost:8000. Используйте эту силу с умом.

Python 2.x


$ python -m SimpleHTTPServer 8000


Python 3.x


$ python -m http.server 8000


Twisted (Python)


$ twistd -n web -p 8000 --path .


Или:

$ python -c 'from twisted.web.server import Site; from twisted.web.static import File; from twisted.internet import reactor; reactor.listenTCP(8000, Site(File("."))); reactor.run()'

В зависимости от Twisted.

Ruby


$ ruby -rwebrick -e'WEBrick::HTTPServer.new(:Port => 8000, :DocumentRoot => Dir.pwd).start'


Ruby 1.9.2+


$ ruby -run -ehttpd . -p8000


adsf (Ruby)


$ gem install adsf   # install dependency$ adsf -p 8000


Sinatra (Ruby)


$ gem install sinatra   # install dependency$ ruby -rsinatra -e'set :public_folder, "."; set :port, 8000'


Perl


$ cpan HTTP::Server::Brick   # install dependency$ perl -MHTTP::Server::Brick -e '$s=HTTP::Server::Brick->new(port=>8000); $s->mount("/"=>{path=>"."}); $s->start
'

Plack (Perl)


$ cpan Plack   # install dependency$ plackup -MPlack::App::Directory -e 'Plack::App::Directory->new(root=>".");' -p 8000


Mojolicious (Perl)


$ cpan Mojolicious::Lite   # install dependency$ perl -MMojolicious::Lite -MCwd -e 'app->static->paths->[0]=getcwd; app->start' daemon -l http://*:8000


http-server (Node.js)


$ npm install -g http-server   # install dependency$ http-server -p 8000


Примечание: этот сервер делает забавные вещи с relative paths. Например, если у вас есть файл /tests/index.html, он загрузит index.html, если вы перейдете в /test, но будет обрабатывать относительные пути, как если бы они исходили из /.

node-static (Node.js)


$ npm install -g node-static   # install dependency$ static -p 8000


PHP (>= 5.4)


$ php -S 127.0.0.1:8000


Erlang


$ erl -s inets -eval 'inets:start(httpd,[{server_name,"NAME"},{document_root, "."},{server_root, "."},{port, 8000},{mime_types,[{"html","text/html"},{"htm","text/html"},{"js","text/javascript"},{"css","text/css"},{"gif","image/gif"},{"jpg","image/jpeg"},{"jpeg","image/jpeg"},{"png","image/png"}]}]).'


busybox httpd


$ busybox httpd -f -p 8000


webfs


$ webfsd -F -p 8000


В зависимости от webfs.

IIS Express


C:\> "C:\Program Files (x86)\IIS Express\iisexpress.exe" /path:C:\MyWeb /port:8000


В зависимости от IIS Express.

Подробнее..

EPY4еский сервер ASUS с процессором AMD и RAID на DC1000M что ты можешь?

25.01.2021 10:05:20 | Автор: admin
Привет, Хабр! Трудности в выборе сервера для задач компаний, как правило, возникают и у опытных и у начинающих системных администраторов. Ассортимент поставок комплектующих внутри готового решения зачастую едва умещается на нескольких листах. А сервера на базе процессоров AMD EPYC и вовсе считаются диковинными зверями в стойках. Давайте посмотрим, что из себя представляет сервер ASUS RS500A-E10-RS12U в тандеме с накопителями Kingston DC1000M/960G.



Цели Задача Определение




Привычная последовательность при поиске подходящей платформы для пользователей обычно выражается вышенаписанным словосочетанием. Есть база данных, стоящая рядом с сервисом 1С, с виртуализацией или без, в 9 из 10 случаев вам предложат машину на процессоре Intel. Причем для 1С это будет не многоядерная сборка с максимальной частотой. Базу MSQL традиционно отправят на виртуальную машину с несколькими десятками ядер, сотнями гигабайт памяти. Но на этом этапе все забывают о пироге составляющих успеха функционирования такой модели. SQL требователен к системе хранения данных и это в идеале должно быть защищенное место. Самый доступный вариант из серии серверного оборудования это RAID массив из SAS дисков. Неважно, какой уровень вы выберите (естественно, из числа подходящих), SAS диски всегда будут оставаться узким местом, тормозящем SQL. Для десятка пользователей такой подход имеет право на существование, но по мере подключения новых людей, ядра и объем памяти вам не заменят IOPS. Поэтому вместо смены всего модуля хранения в рамках экономии бюджета предпочитают доустановить несколько SSD дисков, поместив их на Temp.db, или, как их еще называют кеш-SQL. И снова модель изживет себя по мере роста количества и сложности запросов со стороны 1С. Правильный, пусть и не дешевый подход это создание массива RAID 10 из SSD дисков под временные файлы и основные базы SQL. В качестве примера возьмем объективно лучший SSD на рынке по цене/скорости NVMe PCIe SSD DC1000M.



Этот накопитель поддерживает шину PCIe Gen 3.0 x4 и создан для условий работы в смешанных нагрузках. Значит в перечень сред его обитания входят:
Виртуализация
Высокопроизводительные облачные сервисы
Кэширование веб-хостинга
Запись и передача медиафайлов высокого разрешения
Рабочие нагрузки ERP, CRM, GL, OLAP, OLTP, ERM, BI и EDW

DC1000M U.2 NVMe компании Kingston выпускается в различных объемах от 960 Гбайт до 7,68 ТБ. Одна из отличительных черт это высокая емкость для хранения данных совместно с лучшей в своем классе производительностью для корпоративного применения. Он способен выдавать до 540 000 IOPS в режиме произвольного чтения (до 3100 МБ/с для операций чтения, 2600 МБ/с для операций записи). Конечно, это Вам не бытовой SSD, в DC1000M соблюдены все высокие требования к качеству обслуживания (QoS) и способен обеспечить предсказуемую производительность при выполнении произвольных операций ввода-вывода, а также предсказуемые значения задержки при выполнении широкого спектра рабочих нагрузок. Особенно стоит отметить предсказуемо низкие значения задержки, стабильно высокую производительность ввода/вывода и встроенную защиту от потери питания (PLP).



Четыре диска DC1000M мы установили в сервер RS500A-E10-RS12U, оснащенный процессором AMD EPYC 7542 (2.9Ггц, 32 ядра, L3 128Мб, 225 ватт), но подключим их не напрямую к процессору, а через контроллер Broadcom MegaRAID 9560-16i. Данная плата имеет ряд преимуществ над встроенными в материнскую плату контроллерами.

Стандартный перечень характеристик включает в себя поддержку 12Gb/s SAS и 6Gb/s SATA дисков. Контроллер подключается через шину PCIe Gen 4.0, что уже соответствует современным стандартам. Было бы странно, если бы производитель не задействовал новый интерфейс, т.к. он действительно необходим серверам. MegaRAID 9560-16i поддерживает Hardware Secure Boot и Universal Backplane Management. На нем создаются RAID уровня 0, 1, 5, 6, 10, 50, и 60 с расширением томов в режиме реального времени без остановки. Во время работы с SSD можно использовать SSD GuardTM технологию, которая постепенно появляется в серверных SSD. С полным перечнем поддерживаемых технологий можно ознакомиться на сайте производителя, мы же доукомплектуем контроллер батарейкой и приступим к тестированию

Тестовая конфигурация




Сервер: ASUS RS500A-E10-RS12U
Процессор: AMD EPYC 7542 (2.9Ггц, 32 ядра, L3 128Мб, 225 ватт);
Память: Kingston Server Premier Registered DDR4 DIMM 32 Гб PC4-25600 х 8 шт. (KSM32RD4 / 32MEI), суммарный объем 256 ГБ;
Загрузочный диск: SSD Kingston DC1000B 240ГБ, оснащенный функцией встроенной защиты от потери питания (PLP);
Контроллер Broadcom MegaRAID 9560-16i + 4 Kingston NVMe PCIe SSD DC1000M 960ГБ объединенные в RAID 10;
Операционная система: Windows Server 2016 + 1C + MSSQL 2017;

Результаты тестов





Для определения входных параметров и правильной настройки программного обеспечения в связке SQL+1C использовался Нагрузочный тест TPC-1C Гилева. Т.к. виртуализация все же влияет на производительность, но без нее не обходится практически ни одна компания, то сервер был введен в состав кластера средствами VMware. Создана одна виртуальная машина, объединившая в себе функции сервера 1С и SQL. MS SQL с базами и кешем был выведен на RAID 10 из DC1000M.



Быстрый тест выдал средние результаты, которыми вряд ли кого-нибудь удивишь. Однако, есть одно большое Но, в представленной конфигурации ASUS RS500A-E10-RS12U, при увеличении количества пользователей до 200 человек, практически не терял отзывчивость на клиентских устройствах (подключение осуществлялось тонким клиентом). Более подробно о субъективных впечатлениях работы сервера с 1С и MS SQL чуть ниже. Мы же плавно переходим к многопоточному тесту производительности 1С.



Данный тест (http://personeltest.ru/away/fragster.ru/perfomanceTest/results.php) создан для оценки производительности связки сервер 1с сервер СУБД в различных вариантах, а также масштабируемости этой связки в режиме многопоточной работы. Он создает множество фоновых сеансов и выполняет ими одинаковые действия, например, создание элементов справочников или запись наборов записей регистров. Это позволяет оценить, насколько производительна связка 1С СУБД, а также насколько она масштабируема, т.е. количество активных пользователей, при котором система еще будет работать, но скорость существенно снизится. На первом графике тест показывает сводную информацию и падение производительности в зависимости от количества активных пользователей. Нормальная скорость, при которой отзывчивость и быстрота выполнения запросов остается комфортной, расположена в диапазоне 400-500 единиц на поток (не учитывая временные таблицы). Потоки генерируются фоновыми заданиями. В нашем случае благодаря сбалансированной связке CPU + Память + быстрый RAID сервер легко переваривает более 112 пользователей. А в однопользовательском режиме результат и вовсе отличный:



Данный тест демонстрирует, насколько меняется распределение времени выполнения одной операции в зависимости от количества потоков, т.е. насколько влияют блокировки и обслуживание служебных таблиц типа итогов, нумераторов и т.п. Хороший показатель выше 500 единиц. Фактически видимое и ощущаемое падение происходит только при 64 потоках, но психологический рубеж в 400-500 единиц не падает и на 112 потоках.



Таким образом, формально не самый лучший процессор для 1С выдерживает более 100 клиентов выдавая хорошую скорость для них. Тесты с фоновыми заданиями все же не отражают объективную реальность, потому как лучшая проверка это запустить пользователей на сервер, что мы и опробовали. Естественно, далее речь пойдет о субъективном ощущении от работы, потому как измерить производительность на настоящих людях невозможно. Но на 240 ГБ базе ERP отличная скорость выполнения запросов сохранялась вплоть до 100-120 пользователей. Далее, при достижении 160-170 человек в он-лайн отзывчивость падала, но не критическим образом. Даже 200 тонких клиентов чувствовали себя хорошо. Настоящая беда пришла с закрытием месяца, когда 200 пользователей ощутили местами заторможенность 1С. Опять же, это субъективные ощущения пользователей, привыкших к весьма быстрым серверам, специально сконфигурированных под задачи 1С+SQL. Платформу AMD EPIC в нашем случае лучше адресовать на задачу MSSQL, не объединяя вместе с сервером 1С. Хотя и в данном примере работа связки стабильно хорошая до 200 пользователей. Причем, ограничивающим фактором далее становится низкочастотный процессор, поднимающийся в бусте всего до 2,9 ГГц. Пропускная способность памяти и системы хранения RAID 10 из 4 SSD Kingston DC1000M выдержит гораздо больше пользователей. Кстати, предлагаю вам посмотреть, насколько шустро работает система хранения



Как всегда, для оценки производительности дисковой системы задействуем сначала простейшие тесты, распространенные среди обзоров SSS это CrystalDiskMark, AS SSD и скорость линейного чтения. Эти данные позволят нам сравнить конфигурацию, состоящую из контроллера Broadcom MegaRAID 9560-16i + 4 Kingston NVMe PCIe SSD DC1000M 960ГБ, объединенные в RAID 10 и бытовых SSD.







Даже при беглом осмотре данных наш сервер вроде бы выдал цифры аналогичные простейшему RAID 0 из пары SSD, но разница скрыта в другом! Типичный пользователь оценивает скорость по операциям последовательного чтения и записи в начале диска с учетом SLC-кеша, а серверу с базой данных важны показатели на всем объеме дисковой системы случайного чтения/записи мелкими блоками.





Квартет SSD DC1000M показывает стабильно высокую скорость линейной и случайной записи, а также чтения, на всем объеме массива. И ему не важно, будете вы занимать 10% или 99% доступного места на диске. В этом и заключается отличие от бытовых накопителей, дополнительно Kingston гарантирует исправную работу SSD. Срок гарантии составляет пять лет, что вполне типично для накопителя, но нагрузка записи заявлена до 1681 ТBW (1 DWPD/5 лет), что весьма немало для памяти TLC.

Итог





Даже если вы отлично разбираетесь в компьютерных комплектующих, понимаете их предназначение, то при переходе на серверные решения у вас обязательно возникнет состояние героя Доброго Ээха из мультфильма Ух ты, говорящая рыба!. Происходящее хорошо выражено фразой: Какой заяц, какой орел, какая блоха!!!. Но не стоит отчаиваться, в интернете полно правильных и неправильных советов. Мы же дадим вам правильный. Подбор сервера и его комплектующих нужно делать под ваши задачи. ASUS RS500A-E10-RS12U с процессорами AMD EPYC интересный комбайн для множества сценариев. Расширяя конфигурацию с помощью контроллера и SSD дисков DC1000M, вы закроете до 80% типичных серверных задач. В данной конфигурации раскрывается еще один приятный момент, а именно умеренное потребление системы в пересчете на производительность. Странно, что серверные процессоры AMD EPYC часто обходят стороной, ссылаясь на недостаточно оптимизированный софт. Но, как показала практика, более 3 месяцев сервер прекрасно выполнял возложенные на него задачи, даже с неподходящим софтом в виде 1С. По части MSSQL/скорости дисковой системы квартет SSD DC1000M превзошел наши требования. Всегда приятно иметь запас прочности в части накопителей ввиду постоянно растущей базы ERP и количества пользователей. Второе распространенное заблуждение совместимость памяти с процессорами AMD EPYC. Ведь для десктопной платформы AM4 выбор и настройка DDR4 памяти дело нелегкое из-за архитектуры работы контроллера в CPU. Вот и кочует мнение, что раз в домашних ПК на это тратится много времени, то в серверном исполнении проблем еще больше



К счастью, с ECC DDR4 памятью Kingston и отточенному BIOS серверу ASUS, все настройки подхватываются автоматически из микросхем SPD. Для этого даже не нужно изучать настройки BIOS. Память встает на свою законную частоту при первом включении, дальнейшие манипуляции с настройками от специалиста не требуются.



И наконец последний, часто задаваемый вопрос от людей, впервые сталкивающихся с серверами: А зачем устанавливать дополнительный SSD DC1000B M.2 NVMe, когда используется RAID 10 из четырех Kingston NVMe PCIe SSD DC1000M?. Ответ лежит на поверхности. На него устанавливается рабочая операционная система, будь то продукт Microsoft, Linux или VMWare. Его отличие от потребительских SSD заключается в поддержке специфических функций, нужных для работы в серверах: встроенная защита от потери питания (PLP), повышенная износоустойчивость (при коэффициенте перезаписи всего объема диска в день (DWPD) 0,5 на 5 лет), привлекательная цена.

Автор: Дмитрий Владимирович aka Rasamaha

Для получения дополнительной информации о продуктах Kingston Technology обращайтесь на официальный сайт компании.
Подробнее..

Recovery mode Как ускорить сайт в 4 раза, просто перенастроив сервер

02.06.2021 12:04:43 | Автор: admin

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

Исходная ситуация

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

Поиск проблемы

Мы провели аудит настроек сервера и сайта, разделив работы на два этапа: анализ back-end и front-end, и обнаружили низкую скорость загрузки страниц на back-ende - порядка 80 секунд на самых посещаемых страницах, что в итоге приводило к существенному снижению конверсии.

Мы выяснили, что основная проблема заключалась в неправильно настроенном кэше и настройке базы данных.

В итоге был составлен план действий из четырех шагов, который помог нам добиться неплохих результатов. Что мы сделали?

Решение

Шаг 1. Настройка баз данных

На первом этапе мы настроили базу данных MySQL без изменения систем хранения, исходя из доступных ресурсов и нагрузки проекта. Эти действия, в первую очередь, были направлены на оптимизацию потребления ресурсов оперативной памяти, что позволило избежать ухода сервера в SWAP, когда, исчерпав ресурсы оперативной памяти, сервер начинал работать из файла подкачки и замедлял работу сайта.

Шаг 2. Смена типа хранения на InnoDB

Почему мы выбрали InnoDB?

В InnoDB данные хранятся в больших совместно используемых файлах, в отличие от используемого прежде MyISAM, где для каждой конкретной таблицы создается отдельный файл данных. InnoDB обеспечивает надежность хранения данных за счет блокировки данных на уровне строки и транзакционности.

Главное преимущество InnoDB заключается в скорости работы при выполнении запроса к базе InnoDB происходит блокировка только строки, при выполнении же запроса к базе MyISAM блокируется вся таблица. Дело в том, что пока запрос не будет выполнен, никакие другие обращения к таблице/строке будут невозможны. А поскольку строки значительно меньше целых таблиц, InnoDB обрабатывает запросы быстрее.

Также была произведена оптимизация работы самой базы данных InnoDB. Например, были оптимизированы параметры:

# InnoDB parameters

innodb_file_per_table

innodb_flush_log_at_trx_commit

innodb_flush_method

innodb_buffer_pool_size

innodb_log_file_size

innodb_buffer_pool_instances

innodb_file_format

innodb_locks_unsafe_for_binlog

innodb_autoinc_lock_mode

transaction-isolation

innodb-data-file-path

innodb_log_buffer_size

innodb_io_capacity

innodb_io_capacity_max

innodb_checksum_algorithm

innodb_read_io_threads

innodb_write_io_threads

Промежуточные результаты

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

Это в свою очередь привело к уменьшению потребляемой оперативной памяти.

Шаг 3. Перенастройка Nginx и установка модулей кэширования brotli, pagespeed, proxy_buffering

Nginx позиционируется как простой, быстрый и надежный сервер, неперегруженный функциями. Уже длительное время Nginx обслуживает серверы многих высоконагруженных российских сайтов, например, Яндекс, Mail.Ru, ВКонтакте и Рамблер. Для улучшения производительности при использовании дополнительных серверов, Nginx поддерживает буферизацию (proxy_buffering) и кеширование (proxy_cache), чем мы и воспользовались.

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

Шаг 4. Оптимизация настроек PHP-FPM и Memcache и отключение Apache

PHP-FPM нередко используется в паре с веб-сервером Nginx. Последний обрабатывает статические данные, а обработку скриптов отдает PHP-FPM. Такая реализация работает быстрее, чем распространенная модель Nginx + Apache.

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

Необходимым шагом стал перевод работы PHP-FPM на unix socket. Зачем это понадобилось? Nginx сам по себе довольно быстрый веб-сервер, однако самостоятельно он не может обрабатывать скрипты. Для этого необходим бэкенд в виде PHP-FPM. Чтобы вся эта связка работала без потери скорости, мы использовали unix socket способ подключения к PHP-FPM, позволяющий избегать сетевые запросы и дающий значительный прирост в скорости работы сайта.

Результаты работ

1. Время отклика главной страницы уменьшилось с 24 секунд до чуть более 3 секунд, внутренних до 5-8 сек.

2. Уменьшилось потребление серверных ресурсов.

3. Стабилизировалось поведение сервера - он перестал зависать.

4. Глубина просмотров увеличилась на 30%, и как следствие, это дало улучшение в SЕО, а также последующих продаж: растут поведенческие показатели => растут позиции сайта в выдаче => растет трафик => растут продажи.

5. Клиенту были даны рекомендации по оптимизации front-end части сайта для ускорения работы сайта. Например:

  • оптимизировать графики и настройку выдачи изображений в формате webp;

  • настроить lazyload-загрузки данных;

  • вынести все некритические для отображения страницы скрипты в конец страницы.

Вывод

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

Подробнее..

Idewavecore. Ретроспектива

03.03.2021 00:13:52 | Автор: admin

Очень круто - запрограммировать механизм или программный модуль, заставив его выполнять твою волю. С похожими мыслями в конце 2018 я размышлял о том, что хочу сделать собственный WoW-сервер, который будет полностью мной управляем. Поизучав С++ исходники MANGOS, я пришел к выводу, что не смогу вот так взять и реализовать все свои идеи, не понимая, как же работает MMO RPG сервер от начала и до конца. И для этой цели я решил реализовать свой движок. С нуля.


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

Если вкратце, то Login Server (как и аутентификация в клиенте WoW) построены на использовании алгоритма SRP. Описание алгоритма выходит за пределы статьи, но если вкратце, то он позволяет идентифицировать пользователя без передачи пароля на сервер, благодаря чему пароль (даже в закэшированном виде) можно не хранить на сервере. Даже желательно.

Алгоритм шифрования же World сервера скорее всего отличается от клиента к клиенту (я сделал такой вывод при беглом изучении исходников сервера WoW 3.3.5a). В статье речь пойдет о сервере для WoW 2.4.3 (именно для этой версии я писал сервер). Там используется что-то вроде шифра Цезаря. Хотя чаще (в исходниках) можно встретить название HeaderCrypt или Wowcrypt.

В версии 2.4.3 шифруются первые несколько байт каждого пакета на World сервере (кроме первого пакета). Для расшифровки (decrypt) используются первые 6 байт: 2 байта - размер пакета + 4 байта - opcode (специальный код, по которому можно определить хэндлер(ы), что будет с этим пакетом работать). И для зашифровки (encrypt) используются первые 4 байта (только opcode). Соответственно, если перехватить пакет (sniff), то не получится определить, на какой опкод он будет отправлен. А если пакет большой, то он может быть разбит на несколько и чтобы их правильно достать из буфера - нужны эти самые первые 2 байта (размер пакета).

Процесс входа на сервер вкратце можно описать так:

Клиент последовательно обменивается данными с Login сервером и в случае успеха получает SRP токен (session key), который затем будет использован для создания токена шифрования/расшифровки пакетов (crypto key). Токен создается на этапе "send auth request" (см. схему выше). После чего на клиент отправляется auth response, суть которого - показать, что операция прошла успешно. Auth response - единственный незашифрованный пакет, последующие пакеты будут шифроваться с помощью crypto key. По поводу шифра - у меня он реализован так.

Процесс взаимодействия с World сервером простой - клиент отправляет зашифрованный пакет, на сервере он кладется в буфер, расшифровываются первые несколько байт (о чем я писал выше), получаем размер (size) и опкод (opcode) и если количество байт в буфере >= size, то мы получаем список необходимых хэндлеров (их может быть несколько) по заданному опкоду и передаем им size байт из буфера. Либо ожидаем получения остальных байт. Отдельного внимания заслуживает Update Packet. Он отличается от остальных пакетов более сложной структурой.

Расшифровывать нужно каждый пакет. Если какой-то пакет пропущен, то следующий (согласно алгоритму) будет расшифрован неправильно. На эти грабли я наступал с особой старательностью.

В чем суть моего сервера

Во-первых, я его писал на Python 3 (asyncio + SQLAlchemy). Точнее, на момент создания я еще не имел опыта с SQLAlchemy - я его обрел после, когда решил, что существующая у меня реализация работы с БД - ужасна во всех ее проявлениях (а еще попутно решил изучить новую технологию). И очередной раз переписал проект с нуля.

Во-вторых, подход к обработке данных тоже несколько отличался. Я предпочел отказаться от идеи глобального хранилища всех объектов (где каждый объект содержит также методы работы с ним) и создать специальные мэнеджеры (manager), для того, чтобы работать с каждым отдельным типом объектов: Item, Player, Unit и т.д. Т.е. если я хочу выполнить действие над Player, я использую PlayerManager, который выполняет нужное действие и удаляется из памяти. В первую очередь это сделано в угоду читабельности. К примеру, аналогичный класс в MANGOS лично для меня кажется громоздким (как и C++, несмотря на множество его преимуществ). Каждый отдельный класс объекта - это SQLAlchemy модель и он же - структура данных, хранящая текущее состояние. Таким образом, я использую такие объекты не только для взаимодействия с БД, но и для обмена структурированными данными между частями приложения.

В-третьих, я использую специальные классы - handler - совокупность которых я использую для обработки отдельно взятого опкода. Каждый хэндлер должен выполнять одну типовую задачу. И (опционально) он может вернуть респонс (опкод + данные - структура аналогична запросу), который затем будет отправлен клиенту.

В-четвертых, почти сразу я решил не делать еще один MANGOS движок, а вместо этого начал экспериментировать со свободой применения (что можно сделать помимо уже реализованного в других схожих проектах?). Начиналось все с идеи использования произвольного датасэта (данных, которые мы загружаем в базу). Короче, моя цель - скорее, творчество без границ, а не создание модифицированного (или blizzlike) сервера WoW.

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

Что дальше

В процессе разработки сервера у меня возникла идея создания MMO RPG шаблонизатора, который предоставит формат описания игровых серверов (например, связка Login + World сервер, или шард-ориентированная архитектура, где каждая локация - отдельный сервер и т.д.), а так же серверов, имеющих отношение к игровым косвенно (например, web сервер, где будет сайт и форум). Именно для этого я создал фреймворк (но не совсем внятно описал его в своей предыдущей статье). И сейчас сервер переписываю на базе этого фреймворка.

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

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

Подробнее..

ARM сервера более производительные и более дешёвые

31.12.2020 14:09:18 | Автор: admin

В этом году Apple потрясла рынок десктопных процессоров чипом Apple M1 и устройствами на нём. Похожее событие произошло в мире облачных вычислений в прошлом году. AWS выпустили новый тип сервера на собственных ARM процессорах Graviton2. По заявлениям Amazon, соотношение производительности к цене у новых процессоров на 40% выше, чем у аналогов на x86. Ещё одно недавнее обновление - сервера Amazon RDS (облачный сервис, предоставляющий сервера баз данных) на Graviton2. Я запустил несколько бенчмарков и нагрузочный тест реального бэкенд приложения, чтобы проверить настолько ли хороши сервера на ARM процессорах и узнать какие проблемы совместимости могут возникнуть.

Производительность

Я сравнивал сервера типов t4g.small (ARM) и t3.small (x86) на AWS. На момент написания статьи цена за 1 час на ARM сервер составляет $0.0208, а на x86 сервер - $0.0168. Сервер на ARM на 20% дешевле.

Сперва я провёл нагрузочный тест при помощи wrk, запустив на серверах свежую установку recap.dev

Это шаблон docker-compose с 4 процессами. Веб-сервер, принимающий запросы и сохраняющий их в RabbitMQ и отдельный фоновый процесс, сохраняющий запросы группами по 1000 в PostgreSQL.

Я запускал wrk на сервере t3.2xlarge, находящемся в том же регионе, используя следующую команду:

wrk -t24 -c1000 -d300s -s ./post.lua <hostname>

Она непрерывно посылает запросы в течение 5 минут, используя 24 потока и 1000 HTTP соединений.

Результат для сервера t4g.small (ARM):

  24 threads and 1000 connections  Thread Stats   Avg      Stdev     Max   +/- Stdev    Latency   473.53ms   53.06ms   1.96s    81.33%    Req/Sec   115.83     96.65   494.00     71.32%  620751 requests in 5.00m, 85.84MB read  Socket errors: connect 0, read 0, write 0, timeout 225Requests/sec:   2068.48Transfer/sec:    292.90KB

Для сервера t3.small (x86):

 24 threads and 1000 connections  Thread Stats   Avg      Stdev     Max   +/- Stdev    Latency   600.28ms   70.23ms   2.00s    72.53%    Req/Sec    92.77     82.25   404.00     70.26%  488218 requests in 5.00m, 67.51MB read  Socket errors: connect 0, read 0, write 0, timeout 348Requests/sec:   1626.87Transfer/sec:    230.37KB

Сервер на ARM обслужил на 27% больше запросов в секунду в среднем на 26% быстрее.

Затем я запустил несколько бенчмарков из набора тестов Phoronix.

В тесте pts/compress-7zip-1.7.1t4g.small (ARM) выдал 6833 MIPS, а сервер t3.small (x86) - 5029 MIPS. ARM сервер был производительнее на 35%.

Сервер на ARM процессоре также завершил бенчмарк pts/c-ray быстрее более чем в 2 раза. 958 секунд ушло у сервера на x86 процессоре против 458 секунд у сервера с ARM процессором.

Я также запустил несколько тестов pts/ramspeed, измеряющих пропускную способность ОЗУ при выполнении различных операций.

Тип бенчмарка

t4g.small (ARM)

t3.small (x86)

Add/Integer

50000 МБ/c

13008 МБ/c

Copy/Integer

58650 МБ/c

11772 МБ/c

Scale/Integer

31753 МБ/c

11989 МБ/c

Triad/Integer

36869 МБ/c

12818 МБ/c

Average/Integer

44280 МБ/c

12314 МБ/c

Add/Floating Point

49775 МБ/c

12750 МБ/c

Copy/Floating Point

58749 МБ/c

11694 МБ/c

Scale/Floating Point

58721 МБ/c

11765 МБ/c

Triad/Floating Point

49667 МБ/c

12809 МБ/c

Average/Floating Point

54716 МБ/c

12260 МБ/c

Вкратце, ОЗУ на сервере t4g.small с процессором Graviton2 была быстрее от 3 до 5 раз.

Если смотреть только на производительность, переход на ARM сервера это одни преимущества. Больше производительности за меньшие деньги.

Совместимость

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

Некоторая часть ПО уже перекомпилирована для ARM процессоров. Например, Docker был доступен в форматах .rpm и .deb, как и большая часть образов (да, образы Docker требуют пересборки для разных архитектур). Однако, docker-compose не был скомпилирован для ARM процессоров, что вылилось в несколько часов сборки различных зависимостей из исходного кода. Скорее всего, ситуация улучшится в будущем, когда сервера на ARM станут более распространены. Сейчас, однако, в некоторых случаях, переход на ARM может принести больше затрат, чем преимуществ.

Зато сервера Amazon RDS на Graviton2 не требуют никакой настройки и позволяют получить все преимущества серверов на ARM процессорах без проблем с совместимостью.

Ввиду преимуществ ARM процессоров мы также собрали Docker образы recap.dev для архитектур arm/v7 и arm64.

Подробнее..

Следствие вели пропажа FC-линков HBA Emulex на сервере Atos BullSequana S1600

18.06.2021 20:15:41 | Автор: admin

Привет, Хабр! Мы постоянно проводим тесты различных софтверных решений на нашем оборудовании, и иногда простая, казалось бы, задача разворачивается на недели. Как раз о таком случае сегодня и пойдет речь. Главный герой нашего рассказа - Павел, технический консультант компании Atos в России.

Рыцари Постгрес тестируют

Итак, на сервере Atos BullSequana S1600 (16 процессоров Intel Platinum 8260), разделенном логически на 2 половинки по 8 сокетов, установлено 4 HBA Emulex LPe31002-M6 (2х-портовые, 16 Гбит), по 2 на каждой половине. FC-линки подключены через 2 MDS-свитча производства Cisco, и с помощью multipath предоставляют системе один диск объемом 6 Тб. В самом начале тестов каждая карта была подключена всего одним линком, но потом, в ходе диагностики, для большей надежности и вообще повышения крутизны подключили все порты. Итого, на каждой половинке сервера оказалось по 4 FC-линка. Во время тестов работы с диском не было.

ОС на обеих половинках на момент старта нашего повествования CentOS Linux release 7.7.1908 с ядром: 3.10.0-1062.12.1.el7

Версия FW карт - 12.6.240.40 (рекомендованная Atos, обновлялась в процессе работ).

Версия драйвера lpfc (судя по всему, родная, из коробки ОС) 12.0.0.13.

Объём доступной памяти всего-навсего 4096 Гб на каждой половинке, с учетом резервирования части памяти под нужды железа под ОС остается 3968 Гб.

Все началось с того, что специалисты по СУБД Postgres решили протестировать железо с помощью stress-ng пакета, в попытке доказать, что наше оборудование не выдерживает нагрузки (у них были инциденты, в рамках расследования которых всё и завертелось).

Параметры стресс-теста взяты "замечательные", вот команда запуска

stress-ng --vm-rw 1000 --vm-rw-bytes 2500G --verify --metrics-brief -t 60m

По документации, такие параметры означают, что стартовали 1000 процессов (start N workers that transfer memory to/from a parent/child), дали по 2500Гб оперативной памяти каждому (mmap N bytes per vm-rw worker) и сказали обмениваться с помощью функций Линукса process_vm_writev и process_vm_readv, а результат обмена проверять на ошибки, и так час. Ошибок при передаче данных не возникало, но вот проблемы с ОС и FC-линками были.

Позже, надо сказать, тестировали с еще более забавными параметрами stress-ng --vm-rw 2000 --vm-rw-bytes 3500G --verify --metrics-brief -t 10m.

Линукс крут. Такие параметры означают, что почти все время Линукс тратил на переключение процессов, обращения к памяти и передачу данных между NUMA-нодами, и сам по себе не падал, но люто тормозил. После небольшой настройки наше оборудование тоже стало справляться с такой нагрузкой без падений (Тормоза? Кто сказал тормоза?), но вот FC-линкам действительно становилось плохо они отваливались, один за другим, и победить это настройками не удавалось.

Со стороны свитчей это выглядело примерно так:

MDS1

2021 Feb 15 23:43:57 dn-MDS-C9148S-1 %PORT-5-IF_DOWN_LINK_FAILURE: %$VSAN 2221%$ Interface fc1/15 is down (Link failure loss of signal)

2021 Feb 15 23:45:24 dn-MDS-C9148S-1 %PORT-5-IF_DOWN_LINK_FAILURE: %$VSAN 2221%$ Interface fc1/27 is down (Link failure loss of signal)

MDS2

2021 Feb 15 23:21:54 dn-MDS-C9148S-2 %PORT-5-IF_DOWN_LINK_FAILURE: %$VSAN 2222%$ Interface fc1/27 is down (Link failure loss of signal)

2021 Feb 16 00:00:02 dn-MDS-C9148S-2 %PORT-5-IF_DOWN_LINK_FAILURE: %$VSAN 2222%$ Interface fc1/15 is down (Link failure loss of signal)

Техподдержка врёт (ну или добросовестно заблуждается).

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

Сначала, по просьбе Паши, заказчик поставил Emulex OneCommand Manager Command Line Interface и попробовал некоторые команды, например, получить список HBA, проверить статус портов, принудительно включить порт, перезагрузить HBA-карту.

Ничего из этого не помогло, но стало известно, что точный статус порта User Offline, позже, проанализировав выводы команд, техподдержка Emulex дала вот такой ответ по поводу статуса порта User Offline:

The Port state goes to User-offline, when the port bring-up fails even after reset. This is done by FC Driver. The reason for port bring-up failure could be due to various reasons (May be link issue (or) switch F-Port issue (or) HBA N-Port issue (or) authentication issue etc.)..

Перезагрузить сервер пока не удавалось (тесты), заказчик попробовал разные решения, но отключенные порты так и не поднимались, зато свежеподключенные порты работали. Все проверки показали, что проблема с одним из портов каждой HBA-карточки, всё остальное (свитчи, SFP, кабели) полностью исправно.

Первым делом в техподдержку отправили здоровенный кусок информации в виде логов, собранных специальным инструментом OneCapture. Поскольку карты были более-менее здоровы (за минусом портов), набор логов собрался (хотя и поразил объемами два пакета логов, в 9 и 36 ГИГАБАЙТ), и меньший из них послали доблестным специалистам техподдержки.

Логов не хватило.

Позволим себе процитировать:

The issue here is that the link state went to LPFC_HBA_ERROR state because of which board_mode is showing port status output as error.

Driver will not be able to post mailbox if link state is in error state and it will start throwing errors.

To debug further, our Development team needs more driver logs with log-verbosity set to 0x1ffff on the errored port.

*Steps to follow to collect logs:

==============

1. set the verbosity log level using HBACMD # hbacmd setDriverParam 10:00:00:10:**:**:**:** L P log-verbose 0x1ffff

2.Reset the port so that the port initialization events start # hbacmd reset 10:00:00:10:**:**:**:** (In case the boot mode is enabled, disable it using below command and then retry 2) (((#hbacmd EnableBootCode 10:00:00:10:**:**:**:** D) ))

3. After few seconds if collect the onecapture again using below options to skip Linux crash dump collection. This will give compelete faster and less file size, as crash dump is skipped.

#./OneCapture_Linux.sh --FullCapture --Adapters=all --NoCrashDump

4. After this Please collect HBA dump as well. Reason, onecapture failed to collect dump in previous attempt.

# hbacmd dump 10:00:00:10:**:**:**:**

Затем произошла перезагрузка, и линки восстали из мертвых (и даже не пахли). FW карт обновили до версии в описании, а техподдержка Emulex обрадовалась.

Но потом тестирование продолжили и линки начали вновь падать. Стало ясно, что трабл не решен, и логи пришлось собирать заново.

Заказчик, которому переслали инструкции выше, ухмыляясь и хмыкая (а вы бы не ухмылялись?), собрал новые логи... Но и тут не обошлось без проблем выставить флаг более подробных логов не получилось, потому что:

Это, кстати, удалось победить командой echo 0x1ffff > /sys/class/scsi_host/host16/lpfc_log_verbose.

"Не хочешь таблетку вот тебе свечка. Организм тот же пути разные..."

Логи были собраны, и техподдержка Emulex удалилась. Надо сказать, что на анализ логов они потратили всего лишь день.

Ответ был прекрасен:

Our Development team has analyzed the logs and gav below analysis:

====

Below sequence of events have forced the port to offline state:

1. IOCB time out error occurred and the IO abort was issued.

2. SCSI layer issued Device Reset of the LUN.

3. Bus reset performed by driver.

4. After the reset, driver failed to port sgl with -EIO error and brought the port offline.

There were also some kernel traces as well regarding tainted kernel (oracle linux)

wn2pynn00db0022 kernel: Tainted: G OE 4.14.35-1818.3.3.el7uek.x86_64 #2

=====

Our development team believes that, these logs indicate a possible scsi midlayer issue and not LPFC-driver or HBA-Firmware issue. Proper kernel upgrade may be required to resolve this issue.

Конечно, были попытки понять, о чем они пишут, но успехом это не увенчалось. Да, этими заклинаниями только Ктулху будить...

На попытку выяснить а есть ли обходное решение? сказали, что нет.

Делать было нечего, и пришлось идти куда послали к заказчику, просить обновить ядро.

Заказчик, ядро и уже наша техподдержка

Заказчик отзывчив ядро обновили, до версии 3.10.0-1160.15.2.el7. И запустили тест. Линки упали. Доблестные рыцари Постгреса радостно потирали лапки (это было видно по письмам, хотя, это могли быть галлюцинации от неумеренного общения с техподдержкой разных уровней).

Итак, линки все еще падают непонятно от чего, поддержки ОС нет (CentOS же), разобраться в настройках драйвера самостоятельно это угробить кучу времени без шансов на успех (вы видели тот талмуд?! - Вот он).

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

Что забыли потрогать

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

За всё время этой проблемы пошатали и потрогали всё саму ОС, FW, прошивку HW сервера, настройки HW сервера, параметры GRUB, настройки фабрики, свитчей и линков...

Всё, кроме драйвера lpfc.

Терять было уже нечего, и помимо рекомендации перейдите на другую ОС мы попросили еще и обновить драйвер, до последней версии на сайте Emulex до 12.8.340.9.

И это помогло! После обновления драйвера FC-линки больше не падали. От выдоха облегчения чуть не свалился монитор, а сам Паша (реактивный эффект, ага) чуть не упал со стула.

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

Возможно, под поверхностью все еще притаился монстр какой-нибудь упущенный фактор, но пока (уже больше 3-х месяцев) все тихо.

Итоги

  1. Удалось победить проблему падения FC-линков обновлением FW, драйвера и ядра до последних (или рекомендованных) версий.

  2. Техподдержка врёт (ну или добросовестно заблуждается), поэтому приходится старательно все проверять самому.

  3. Трогать и шатать при траблшутинге надо всё!

Подробнее..

Сервер Haute Couture обзор Apple Xserve G4

28.02.2021 18:05:07 | Автор: admin

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

Но есть одно направление, присутствие в котором предложений от Apple многими будет воспринято с удивлением. Это рынок серверов. Сейчас де-юре компания не предлагает покупателям серверные системы, де-факто Mac Mini с установленной macOS Server вполне успешно используется как в on-premise инсталляциях, так и предлагается в аренду некоторыми облачными провайдерами, в том числе и Selectel в рамках предложения Selectel.Lab.

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

Ответ также прост с давних пор у фруктовой компании есть свои решения для построения корпоративных сетей, а коль скоро macOS (и, соответственно OS X) вполне себе Unix-совместимая система, значит, что компания, выбравшая Mac в качестве корпоративного стандарта, может пожелать и серверные потребности решать с использованием привычной техники и операционной системы.

В течение долгого времени, с 1993 по 2003 годы, Apple выпускала серверы, основанные на современных рабочих станциях Apple Workgroup Server. Эти машины логически были близки к современной идее использования Mac Mini в качестве сервера и были рассчитаны на обслуживание нужд небольших команд рабочих групп. Работали они сначала под управлением A/UX собственной реализации Unix с графическим интерфейсом, аналогичным System 7 и совместимой с программами для нее. Последняя версия ее вышла в 1995 году и лишь в 1999 ее заменила OS X Server.

Но были в ее линейке и полноценные серверные машины, созданные изначально для работы в этой роли. Первой попыткой были Apple Network Server на базе ранних PowerPC и работавшие под AIX реализации Unix от IBM. Просуществовала эта линейка недолго с февраля 1996 по апрель 1997 года. Вторая попытка была более успешной, и именно о ней и пойдет речь в сегодняшней статье.

Встречаем по одежке и спецификации


И так, разрешите представить первенец нового семейства Apple Xserve, представленная в мае 2002 года модель Xserve G4 (внутреннее обозначение RackMac1,1) в практически максимальной комплектации:

  • два процессора PowerPC G4 1.0 ГГц с 256 Кбайт кэша второго уровня и 2 Мбайта внешнего кэша третьего уровня каждый;
  • 2 Гбайта ОЗУ DDR266(установлен максимальный поддерживаемый объем, в оригинальной комплектации было 512 Мбайт) ;
  • жесткий диск 60 Гбайт с поддержкой горячей замены;
  • два гигабитных сетевых адаптера (один установлен на системной плате, другой выполнен в виде платы расширения PCI64).

Стоимость сервера составляла $2999 за однопроцессорную версию и $3999 за двухпроцессорную. Подробнее начинку рассмотрим позже, а пока обещанная одежка!

Большинство читателей, полагаю, привыкли видеть сервер как некий утилитарный девайс со исключительно функциональным дизайном максимальное использование передней панели для размещения жестких дисков, россыпь кнопок и защелок, многочисленные разноцветные индикаторы и, главное сплошные решетки и сеточки для вентиляции. Классический черный или бежевый цвет, реже матовый серый. Строго, эффективно, утитарно да. Красиво на любителя, особенно если ваш любимый авто Defender или Gelandewagen, а любимый самолет Skyvan. Стильно смотрите предыдущий пункт, но как правило не тот случай.

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


Шестигранная скважина ключа блокировки отсека накопителей и устройств ввода. Две полоски светодиодов, отображающих загрузку процессоров. Собственно индикаторы красивых сочных оттенков:

  • голубые для индикатора нагрузки,
  • зеленые для главного сетевого интерфейса,
  • желтые для отображения состояния системы и блокировки,
  • белый главный индикатор включения.

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

Ниже отсеки для четырех жестких дисков со сплошной, как вы уже догадались, алюминиевой лицевой частью. Защелок или рукояток нет, только два маленьких глазка индикаторов. Чтобы извлечь диск, нужно нажать на мордочку плавно выедет удобная ручка прямо как с ультрасовременном электромобиле Jaguar I-Pace. Диски с горячей заменой, но, что немало удивляет с интерфейсом IDE.

В корзинках расположен короткий шлейф, а сам разъем, соединяющий их с бекплейном позаимствован у SCA (SCSI Configured Automatically), но самого SCSI в сервере не предусмотрено совершенно. Контроллер дисков реализован на базе двух чипов Promise PDC20270 и поддерживает только программные RAID-массивы, созданные средствами операционной системы.

Впрочем, дисковую подсистему нельзя назвать слабой в феврале 2003 года на рынок вышла внешняя дисковая полка Xserve RAID на 14 IDE дисков, снабженная двумя независимыми контроллерами с аппаратной поддержкой массивов уровня 0, 1, 3(!), 5 и 10 и подключаемая к серверу с помощью FibreChannel. Чуть позже в 2003 году вышло и первое обновление новая версия RackMac1,2 c 1.33 ГГц чипами и CD-ROM со слотовой загрузкой вместо привычного выдвижного лотка. На его базе выпускалась версия Cluster Node с одним отсеком для диска и одной сетевой картой, без CD-ROM и видеоадаптера, но всегда с двумя процессорами.

Вынем внутренности!


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


И вот, она начинка! Плата передней панели, отсеки жестких дисков с механизмом блокировки, бекплейн, мостиком с парой IDE контроллеров соединенный с системной платой (в терминах Apple Logic Board). Системах охлаждения представлена парой вентиляторов-турбин, вращающихся с частотой около 5000 оборотов в минуту одна турбина через воздуховод охлаждает процессорную плату, другая карты в PCI-слотах в левой части сервера. В правой расположен единственный блок питания.

Сама системная плата непривычно пустая, на ее поверхности расположен только один крупный чип PCI64 мост Intel 21154BE. Дополняют пейзаж 4 слота DIMM и два разъема для райзеров PCI64 для подключения двух слотов и универсальный слот AGP/PCI64 да, в сервер можно установить производительную видеокарту и использовать его как стоечную рабочую станцию.


В комплект входят два устройства расширения гигабитная сетевая карта производства Apple на чипе Broadcom BCM5701 с интерфейсом PCI64 и PCI-видеокарта ATi Radeon DDR с 32 МБайт видеопамяти на борту. Шина для видеокарты работает на 66 МГц (редко используемая в 32-битном варианте шины возможность), что обеспечивает производительность шины на уровне ранней AGP. Интерфейс подключения монитора обычный D-SUB VGA.

На задней панели, помимо привычных USB (пока еще версии 1.1), присутствует COM-порт для управления, разъем встроенного Ethernet-адаптера (также до 1 Гбит/сек) и пара портов FireWire 400 (для подключения внешних накопителей).

Внимательный читатель спросит а где же чипсет? Все верно, он никуда не делся на обратной стороне платы расположен еще один мост Intel 21154BE, а также неизвестная микросхема, скрытая под накладкой и чип Agere 1258AK5 составляющие системный контроллер (чипсет в более привычных терминах).


А вот чего нет на плате это сокета для установки процессора. Вместо него разъем для установки процессорной платы (похожий, только меньших размеров использовался в мобильных процессорах Intel Pentium II в упаковке MMC-2). На процессорной плате в традициях Apple тех времен процессоры распаяны оба друг рядом с другом. Возле каждого микросхема внешнего кэша.

Сами процессоры PowerPC 7455 (Apollo 6, относятся к семейству G4, выпущены Motorola с использованием 180 нм техпроцесса), выполнены в керамической упаковке типа FCBGA кристалл на поверхности керамической подложки, шариковые выводы для пайки. Кроме процессоров и кэша, на плате расположен модуль преобразователя питания (VRM).

Через пыль, снега и почтовую службу


Это не будет история о долгом безуспешном поиске или щедром донате, все получилось намного проще. Основатель коллекции искал что-нибудь интересное. Один из его друзей посоветовал:

Купи себе Mac.
Хочу сервер ответил основатель.
Так и купи себе Xserve ответ друга и определил вектор поиска.

Поиск занял всего 10 минут среди пачки предложений относительно свежих x86 моделей попалось лишь одно, только что появившееся Старый Xserve G4 включается. Цена была весьма интересна, так что машина была тут же оплачена не глядя и спустя несколько часов отправилась в увлекательное путешествие по России.

Путешествие заняло почти неделю, что довольно быстро, но не прошло бесследно. К сожалению, сложились три фактора невнимательность продавца к упаковке, непредусмотрительность покупателя (обычно тип упаковки оговаривается и контролируется ее качество) и не доведенные до ума процессы у перевозчика (хотя будет честным отметить, что за последний год виден значительный прогресс!). Сервер прибыл обернутым в картонку и зашитым в мешковину. В итоге, сильно досталось крепежным ушам они просто сложились вдоль корпуса. Что сказать урок коллекционеру!

Серверу, впрочем, повезло после пары часов кропотливой работы, уши были выпрямлены: на шасси полностью в прежнее положение, на крышке остались небольшие, но заметные следы повреждений. Крышка была и до отправки немного помята, это и сказалось. Хотя сервер закрывается и открывается нормально, для идеального вида стоит посетить кузовной сервис, специализирующийся на ремонте Cybertruck или на худой конец DeLorean.

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

В плюсах вместо штатных 512 Мбайт памяти, установлен 1 Гбайт. При пристальном изучении, были обнаружены повреждения механизма запирания отсеков накопителей. К счастью, были повреждены лишь лепестки, фиксирующие салазки пять минут работы и механизм приведен в первозданное состояние. Все это звучит страшно, но, на самом деле, это очень хорошее состояние передняя панель в отличном косметическом состоянии, даже без царапин, а сама машина практически комплектна.

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

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

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

При покупке, конфигурацию сервера выяснить возможности не было. То, что наш экземпляр относится к старшей модели с двумя процессорами оказалось крайне приятным сюрпризом. По традиции, был увеличен до максимального объем памяти установлены 4 модуля по 512 Мбайт, что интересно использование ECC памяти не предполагалось. Также пришлось заменить диск комплектный был в удручающем состоянии. Удалось найти диск родной емкости 60 Гбайт, свободными остались две дисковых корзины, в четвертом отсеке даже сохранилась оригинальная заглушка.

Осталось только установить недостающий кулер. На удивление, идеально подошел вентилятор от серверной платформы Intel SR1530, пришлось только перепиновать разъем Apple не была бы собой, если бы не поменяла местами плюс и минус в разъеме. Так как родной кулер уже имел заметный люфт подшипника, заменили оба. На этом реставрация сервера была успешно окончена.

На лицо гуёвая, консольная внутри



История серверных ОС Apple восходит к проекту A/UX UNIX-подобной ОС с графическим интерфейсом в стиле современной ей System 7. Точкой отсчета же для OS X Server является 1999 год, когда была представлена версия 1.0, основанная на идеях проекта Rhapsody. Как и у A/UX под капотом был UNIX, точнее BSD-совместимое окружение поверх микроядра Darwin. Интерфейс же был позаимствован у NextSTEP Workspace Manager, дополненный некоторыми нюансами из Mac OS 8.

Два года спустя, на этой же основе, но с новым интерфейсом Aqua вышла первая Mac OS X версия 10.0, поставлявшаяся в клиентской и серверной версиях. По сей день Mac OS основывается на тех же принципах и считается одной из самых удобных и надежных операционных систем для персональных компьютеров и рабочих станций. Серверная версия выпускается по сей день, но так и осталась в тени более популярного клиентского варианта.

На Xserve было решено установить Mac OS X Server 10.2, версию соответствую времени выпуска данного экземпляра (сервер выпущен в октябре 2002 года). Установка принципиально не отличается от прочих (в том числе десктопных) версий Mac OS X, за исключением выбора набора сервисов, среди которых есть как фирменные яблочные, так и стандартные опенсорсные, и ввода серийного номера. После установки, система встречает окном входа, где нужно ввести логин и пароль, а не выбрать пользователя из списка.


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

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

Продолжение следует?


Обязательно. Тема винтажного яблочного железа будет раскрыта более подробно в ближайшее время, пожалуй, это будет одним из важных направлений развития коллекции Digital Vintage. Обязательно будет и продолжение темы обзоров линейки Xserve, но, к сожалению, оно не будет обширным линейка просуществовала сравнительно недолго.

После модели Xserve G5 (RackMac3,1) серверная линейка, вслед за остальными компьютерами Apple перешла на процессоры Intel, сразу начав с 64-битных Xeon серии 5100. На Xeon вышло всего три серии Xserve две на базе процессоров с микроархитектурой Core Xeon 5100 (Xserve1,1) и Xeon 5400 (Xserve2,1) и одно на базе процессоров Nehalem Xeon 5500 (Xserve3,1).

Последняя модель не получила даже обновления для поддержки линейки Xeon 5600, проект Xserve был свернут. К тому времени, Apple уже вовсю строила свое облако, iCloud. Серверы собственного производства в нем применения не нашли

Да, Xserve не были лучшими серверами на рынке они поздно получили поддержку IPMI, слишком рано перешли на IDE/SATA диски и никогда не использовали SCSI/SAS. Их модельный ряд был весьма ограниченным, а цена достаточно высокой. И все же этот тот редкий случай, когда сервер был не только инструментом, но и действительно красивой вещью.

Решение Apple свернуть проект, скорее всего, было стратегически верным, но мы будем скучать по этим необычным машинам. До новых встреч!

Подробнее..

Сервер Lenovo ThinkSystem SR650 универсальный солдат

24.12.2020 20:04:36 | Автор: admin
В этом техническом обзоре мы познакомим вас с одним из самых продаваемых серверов в мире сервером Lenovo ThinkSystem SR650, а также ознакомим с результатами нагрузочного тестирования.

Lenovo ThinkSystem SR650 это двухпроцессорный rack-сервер 2U, который подходит для широкого спектра задач малых, средних и крупных предприятий, таких как: СУБД, виртуализация и облака, инфраструктура виртуальных рабочих столов (VDI), различные корпоративные приложения, а также бизнес-аналитика и большие данные.



Скорость, надежность, безопасность и удобство управления


SR650 имеет множество функций для повышения производительности. В первую очередь, это достигается при помощи использования второго поколения семейства процессоров Intel Xeon Scalable, включающих до 28 ядер на процессор. Всего в сервере поддерживается два процессора и, соответственно, до 56 ядер.

Сервер имеет 24 слота для оперативной памяти, а её максимальный объем на сервер составляет до 3 ТБ с частотой памяти до 2933 МГц.

Дисковая подсистема SR650 предлагает гибкое и масштабируемое внутреннее хранилище в форм-факторе с 24 2,5-дюймовыми и 2 3,5-дюймовыми дисками для конфигураций с оптимизированной производительностью или до 14 3,5-дюймовых дисков для конфигураций с оптимизированной емкостью, обеспечивая широкий выбор SAS / SATA HDD / SSD и PCIe NVMe SSD. Важным плюсом является то, что возможно обеспечить использование дисков SAS, SATA или NVMe PCIe в одних и тех же отсеках для дисков с конструкцией AnyBay.




С точки зрения доступности электропитания и охлаждения, SR650 имеет на борту зарезервированные блоки питания с горячей заменой и вентиляторами также с горячей заменой.



Задняя панель сервера предоставляет возможность установки до пяти PCI-e, два из которых могут быть задействованы под графические адаптеры для организации графического VDI.

Дополнительно предусмотрена LOM-карта, которая может предоставить ещё 4 порта 1 или 10 Гбит Ethernet.



Также сервер SR650 крайне удобен с точки зрения модификации и профилактики, крышка сервера снимается без использования отвертки, что существенно экономит время администратора.

Мощные функции управления на базе набора управляющего ПО XClarity упрощают и локальное, и удаленное администрирование сервера SR650.

C помощью XClarity Controller обеспечиваются расширенные функции управления, мониторинга и оповещения.

XClarity Controller позволяет непрерывно отслеживать системные параметры и в автоматическом режиме запускать предупреждения для выполнения действий по восстановлению в случае сбоя.



Встроенный XClarity Provisioning Manager упрощает настройку, конфигурацию и обновления системы.

Для управления большим парком серверов поддерживается Lenovo XClarity Administrator который обеспечивает комплексное централизованное управление из любого места не только с компьютера, но и, в том числе, с помощью мобильного приложения Lenovo XClarity.




Для интеграции с другими популярными системами управления предусмотрен Lenovo XClarity Integrators, который поддерживает работу с VMware vCenter и Microsoft System Center, расширяя функции XClarity Administrator до программных инструментов управления виртуализацией и позволяя администратору развертывать инфраструктуру и управлять ею от начала до конца.

Проверка боем. Результаты нагрузочного тестирования


В марте 2019 года компания TPC Benchmark-E (TPC-E) провела нагрузочное тестирование сервера SR650 в качестве сервера для высоконагруженной СУБД MS SQL Server.

О бенчмарке TPC-E

TPC Benchmark E (TPC-E) это рабочая нагрузка для оперативной обработки транзакций (OLTP). Это смешанная нагрузка из транзакций чтения и транзакций с интенсивным обновлением, которые имитируют действия в сложных средах приложений OLTP. Схема базы данных, методы заполнения данных, транзакции и правила реализации теста были разработаны, чтобы в целом представлять картину нагрузок в современных OLTP-системах. Эталонный тест исследует широкий спектр компонентов системы, связанных с такими средами, которые характеризуются:

  • Одновременным выполнением нескольких типов транзакций различной сложности;
  • Сбалансированным сочетанием дискового ввода-вывода и утилизации процессоров;
  • Целостностью транзакций;
  • Сочетанием унифицированного и неоднородного доступа к данным;
  • Базами данных с реалистичным содержимым, состоящих из множества таблиц с большим разнообразием размеров, атрибутов и отношений между ними.

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

Различные типы транзакций имитируют взаимодействия компании со своими заказчиками и деловыми партнерами. Различные типы транзакций имеют разные требования к времени выполнения.

Тест определяет:

  • Два типа транзакций для имитации операций типа заказчик-бизнес и бизнес-бизнес (т.е. взаимодействие партнёров по бизнесу);
  • Несколько транзакций для каждого типа транзакции;
  • Различные профили выполнения для каждого типа транзакции;
  • Особое сочетание времени выполнения для всех определенных транзакций.

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

Показатель производительности TPC-E, является мерой пропускной способности бизнеса, отражающей количество завершенных транзакций с результатами деятельности бизнеса (торговли), обрабатываемых в секунду, а также стоимость одной транзакции в долларах. Множественные транзакции используются для имитации деловой активности по обработке сделок, и каждая транзакция требует ответа. Показатель производительности для эталонного теста выражается в транзакциях в секунду-E (tpsE).

Состав стенда тестирования

Сервер клиент СУБД: Lenovo ThinkSystem SR650:

  • 2xXeon Platinum 8168 2,7 GHz (2 ЦПУ/48 ядер/96 потоков)
  • 96 GB RAM
  • 2x300GB SAS HDD RAID-1

Сервер СУБД: Lenovo ThinkSystem SR650:

  • 2xXeon Platinum 8260 2,7 GHz (2 ЦПУ/56 ядер/112 потоков)
  • 1536 GB RAM
  • 2x800GB SAS SSD RAID-1
  • 6x800GB SAS SSD RAID-10
  • 4xLenovo Storage D1224 (дисковые полки SAS 12 Gbs, 74x800 GB SAS SSD сконфигурированных в две RAID-группы: 4x17 RAID-5, 1x6 RAID-10)

Серверы соединены между собой с помощью 4-х линков 10 GbE

Более подробная конфигурация стенда приведена ниже.



Подробные данные о конфигурации оборудования, программного обеспечения, а также методике тестирования можно посмотреть непосредственно в отчете TPC-E, который лежит в открытом доступе: tpc.org/4084

Результаты тестирования

Результаты тестирования состоят из трех групп тестов:

  • Штатный режим работы
  • Доступность данных
  • Аварийное восстановление

Штатный режим

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

В результаты штатного теста в стабильном рабочем состоянии сервер SR650 поддерживает уровень в чуть-более чем 7000 транзакций в секунду-E.

Результаты штатного тестирования приведены на графике ниже.



Доступность данных

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

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

Тесты доступности данных проводятся путем выведения из строя дисков, на которых хранятся различные типы данных, при одновременном мониторинге доступа к данным со стороны приложений.

Ниже приведены типы дисковых массивов, на которых хранятся различные типы данных.



В ходе теста доступности данных были выполнены следующие шаги:

  • Вызван сбой диска в массиве журналов базы данных (диск физически извлечен из сервера).
  • Через 5 минут таким же образом вызван второй сбой диска, который в данном случае работает в массиве tempdb.
  • Еще через 5 минут вызван третий сбой диска, который работает непосредственно с данными СУБД.

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

Ещё через несколько минут последовательно были установлены три новых диска для замены сбойных, и начался процесс восстановления массива данных. Процесс восстановления резко снизил показатель производительности. Это нормальное поведение, поскольку, пока не будет полностью восстановлены все массивы данных, часть ресурсов ввода-вывода будет тратиться на восстановление, а не на операции СУБД.

Ниже приведен график тестирования доступности данных.



Аварийное восстановление

Финальный тест на аварийное восстановление это процесс восстановления системы в целом после серьезной аварии, которая полностью вывела из строя сервер СУБД. Аварийное восстановление считается успешно завершенным, когда рабочая нагрузка вернется к штатным значениям в ~7000 tpsE.

Для тестирования аварийного восстановления были выполнены следующие шаги:

  • Из сервера СУБД извлечены все кабели питания, в результате чего он немедленно прекратил работу. Все содержимое основной памяти и кэшей сервера было потеряно. Все RAID-контроллеры дисков внутри сервера работали без батарей, поэтому все содержимое кэша контроллера дисков было тоже потеряно.
  • Подключены кабели питания и включен сервер СУБД.
  • Удалены все файлы данных и журналов для tempdb.
  • Запущен SQL Server. Он автоматически начал восстановление базы данных. Отметка времени в журнале ошибок SQL Server первого сообщения, связанного с tpce базы данных, считается началом восстановления базы данных.
  • Отметка в журнале ошибок SQL Server Восстановление завершено считается концом восстановления базы данных. Суммарно процесс восстановления данных занял чуть более 15 минут.

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



Таким образом, окончанием аварийного восстановления является полное восстановление рабочей нагрузки всех приложений, т.е. точка времени на графике, где синяя и красные линии дойдут до штатного показателя в ~7000 tpsE.

Итого:

  • Время восстановления базы данных 00:15:33.
  • Время восстановления приложения 00:10:06.
  • Время полного аварийного восстановления 00:25:39.
  • Итоговое резюме отчета с разбивкой по типу транзакций представлено ниже:



Итоговое заключение с набранным показателем tpsE и стоимостью одной транзакции представлено ниже:



Показатель в 7012,53 tpsE со стоимостью транзакции в 90,99 долларов занял второе место в рейтинге TPC-E Top Performance Results, где на первом месте находится топовый сервер Lenovo ThinkSystem SR860 V2 ( tpc.org/tpce/results/tpce_perf_results5.asp?resulttype=all ), а также третье место в рейтинге TPC-E Top Price/Performance Results, где на первом месте также SR860, а на втором решение конкурента.

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

Кубик, но не Рубика обзор сервера масштаба предприятия HP NetServer LM

26.01.2021 14:17:08 | Автор: admin

Здесь не будет пространных Helm-чартов и werf. Вообще не будет K8s, контейнеров и даже виртуализации. Не будет даже девопсов! Сегодня у нас будет другой кубик. Мы угоним одолжим машину времени и сгоняем в начало девяностых. Мы посмотрим, как выживали админы в те времена, когда 66 МГц was The Serious Power.

Погружение в атмосферу


Наш сегодняшний исторический период 1992-1994 годы, время серьезных изменений в техническом обеспечении компьютерных систем. Компьютерный мир вошел в эти годы с VLB и MCA, а вышел с PCI (а вот устаревшая уже в конце 80-х ISA осталась доживать свой век благодаря огромному количеству выпущенной низкоскоростной периферии). Бюджетный сегмент до сих пор занимали компьютеры на базе 386 процессоров, еще не списаны со счетов машины класса ХТ и 286. 486, даже SX без сопроцессора (для вычислений с плавающей запятой) это вершина прогресса.

В 1993 году появляется великий и ужасный Pentium первый шаг Intel в мир больших вычислений (автор знает про i860 и iAPX432, но эти шаги, к сожалению, не были успешными). Средний компьютер тех лет был укомплектован 4-8 Мбайт ОЗУ. Даже первые Pentium-системы комплектовались 8-16 Мбайт.

На большинстве домашних и офисных компьютеров стоит MS-DOS и Windows 3.0, вот-вот выйдет Windows 3.1, а за ней и 3.11, но кому-то и вовсе хватает и голого ДОСа. У продвинутых пользователей встречается OS/2, тогда еще не Warp. Unix удел рабочих станций и больших серверов: там правит бал RISC. Версии для х86 скромны, хотя и набирают популярность семейство BSD и SCO Unixware. Linux еще совсем юн и большинству трюков не обучен. Ядро недавно анонсировано, первые дистрибутивы только начинают появляться.

Microsoft недавно разругалась с IBM и на базе совместно разработанного кода, начала работу над новым форком OS/2, получившем сначала имя OS/2 NT, а позднее более привычное Windows NT. Первый релиз вышел в 1993 году и получил номер 3.1 (пути компаний разошлись после выхода линейки OS/2 2.x следующий большой релиз IBM получил версию 3.0, Microsoft же подогнала номер версии под свою основную систему).

Но лидеры на рынке PC-совместимых серверных ОС не IBM и не Microsoft, а Novell. Novell Netware вот уже много лет занимает ведущее место на рынке корпоративных сетевых ОС. Причем, сама система стартует поверх DOS, не являясь при этом оболочкой для него и существует только в серверном варианте, предоставляя службы каталогов, доступа к файлам и принтерам и другие.

Протокол IP прерогатива интернета, он еще невелик и адресов всем хватает. В сетях предприятий работает IPX, и при необходимости доступ в интернет реализуется через туннели поверх него. Суровые админы вполне себе суровы, но не пушат в гит и не катают плейбуки. Они пишут скрипты на Bash или Perl. Но для них этот ваш х86 чаще игрушка, чем что-то серьезное у них RISC. Хотя, были, конечно монстры вроде небезызвестных Corollary, со множеством маленьких х86 процессоров, но это экзотика пореже Sun-техники и чопорных IBM AS/400.

Первый взгляд


Итак, представим, на столе у вас стоит вполне серьезная машинка с Intel 486SX-33 и 4 Мбайт памяти и диском, скорее всего, на 200-300 Мбайт. И вот, в один прекрасный день, вам в офисе прибывает Огромная (да-да, именно так, с большой буквы) коробка. С огромным сервером внутри. Сначала, вы рассматриваете приложенную рекламную брошюру: на ней изображен воистину монументальный системный блок.

Изображение с рекламной брошюры. Источник

Вы открываете коробку и извлекаете ЭТО. Он действительно большой (это вы не видели RISC-серверов и мини-ЭВМ). Высота чуть меньше классического бигтауэра, 55 см, те же 55 в глубину. Но ширина Она вдвое больше привычной 50 см! Действительно, почти идеальный кубик. На передней панели три кнопки, четыре индикатора и небольшой экранчик. Справа во всю высоту отсеки для 5.25-дюймовых устройств: всего их восемь, бонусом 3.5-дюймовый дисковод над ними.

В нашем рассматриваемом варианте сразу под дисководом стоит новинка: привод для оптических дисков, CD-ROM (в оригинале двухскоростной). Ниже пустой отсек, а дальше А дальше немыслимые по тем временам 6 салазок для дисков. Теперь рассмотрим наш кубик сзади, где подключается всякого рода периферия: вроде ничего сверхестественного PS/2 (даже отдельный порт для мышки есть!), COM и LPT порты на отдельной панельке, выведенные с материнской платы, выход сетевой карты (под коаксиал BNC и AUI) и внешний SCSI-разъем.

Задняя панель HP NetServer LM

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

  • Наша машина обозначена как 4d/66 LM и имеет процессор Intel 486DX2 66MHz (существовали варианты на 33 или 66 МГц 486SX, Pentium 60 или 66 МГц Socket 4, Pentium 90 или 100 МГц Socket 5 и самый интересный вариант Dual Pentium 66 МГц Socket 4).
  • 48 Мбайт ОЗУ. Максимально возможный объем, который можно установить, 128 Мбайт ОЗУ (SIMM FPM, устанавливаются парами) на системной плате и до 384 Мбайт при использовании платы расширения памяти. 4 или 12 слотов SIMM соответственно.
  • Чипсет Intel Xpress специализированное решение для высокопроизводительных ПК и серверов.
  • Материнская плата Intel Xpress LM с 8 EISA слотами и интегрированным видео и двухканальным EISA SCSI контроллером.
  • Три SCSI (50-pin) диска по 2.1 Гбайт (так, эти трое пришельцы из будущего их установили при апгрейде в 1997 году и было их 6, просто не все пережили зиму). В оригинальной поставке могли быть установлены диски на 535 Мбайт или 1.02 Гбайт.
  • SCSI CD-ROM Toshiba 16x тоже небольшой временной парадокс, он установлен позднее, в заводской комплектации был двухскоростной и то, как опция. Представим, что у нас в нашем 1993 все в порядке.
  • Сетевая карта 3Com Etherlink на шину EISA 10 Мбит/с и это вполне отвечает веяниям времени. 100 Мбит только-только появляются и это пока еще не Fast Ethernet.

Доктор, вскрывайте


На минутку переключимся назад в 2021. Нальем стаканчик эспрессо из кофемашины или чего-то покрепче и поразимся снова где же такого динозавра нашли?! Ответ немногословен это было непросто. Все решил, как это часто бывает в нашей жизни случай. Однажды кубик случайно попался в поиске на известной многим доске объявлений. Сохранился в глубине сибирских руд на балансе некой старой и уважаемой фирмы. А по списании отправился на распродажу списанного имущества. Оттуда, бережно запакованный в коллекцию Digital Vintage.

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

HP NetServer LM со снятым кожухом и лицевой панелью

Снова вернемся в 1993 год и заглянем серверу под крышку. Она тут снимается легко, нужно только открутить пять винтов с удобной накатанной головкой и кожух снимается заодно с лицевой панелью. Корпус разделен по вертикали сплошной переборкой, в которой прорезаны отверстия для прокладки кабелей питания и шлейфов. Начнем с правого отсека. В корме расположен большой 400 Вт блок питания, перед ним салазки для накопителей. Между ними раскидисто проложен широкий SCSI-кабель.

Правая часть сервера с дисками

Под блоком питания пролегает еще один SCSI-кабель второй канал выведен на внешний разъем. Наверху выведены шлейфы IDE и Floppy. CD-ROM изначально устанавливался только в SCSI варианте, а вот основной загрузочный диск мог быть и IDE для ОС, не умеющих загружаться со SCSI.

Левая часть сервера с материнской платой

Левый отсек содержит сердце и мозги машины материнскую и процессорную платы, опциональную плату расширения памяти (в представленной комплектации ее нет). Также здесь установлена сетевая плата и могут быть установлены другие карты расширения. Тут довольно просторно, в таком корпусе ожидаешь более плотной набивки компонентов. Все это обдувается двумя 80-мм вентиляторами Panaflo. Третий вентилятор расположен в блоке питания и этого более чем достаточно даже для варианта работы с двумя ранними Pentium.

Куда мчится Xpress


За относительную компактность нужно в первую очередь поблагодарить инженеров Intel, создавших серию плат и готовых платформ Intel Xpress. Сразу отметим, что NetServer LM это не брендированная HP референсная платформа Intel. Общего у них только системные платы: материнская, процессорная и расширения памяти. Ими поделилась платформа Intel Deskside/MX (код платы BXBASE8E0-C). В дальнейшем не раз под капотом топовых серверов HP встречались материнские платы Intel, как минимум вплоть до систем на базе Pentium Pro. В дальнейшем их место постепенно вытесняли платы производства Asus.

Материнская плата построена на базе чипсета Intel Xpress Chipset (выпускался с 1991 года), особый вариант из серии чипсетов Intel 82350. Другими ее представителями были Intel 350 (1990 год) и и Intel 350DT (1991 год). Основным отличием 350DT от 350 стала поддержка интерфейса для подключения контроллера памяти серии 82359, в раннем варианте контроллер памяти реализовывался россыпью отдельных микросхем.

Решения на чипсете Intel 350 включали 2-3 микросхемы 82357, 82358 (или 82358-33) и 82352, использование которого было опционально. Intel 350DT использовал уже 5-7 микросхем 82357, 82358DT, 82359, 82351, 82352 (также опционально), 82353 (до двух штук). Чипсеты поддерживали 32/64-битную шину процессора, 32-битную шину EISA (также в режиме совместимости с 16-битной ISA) и 8-битную шину X-bus для подключения набортной низкоскоростной периферии (контроллеры клавиатуры и портов, например).

Чипы, используемые в Intel Xpress

Чипсет Intel Xpress включал себя уже 8 микросхем:

  • Intel 82351DS контроллер шины периферийных устройств (Local I/O EISA Support Peripheral)
  • Intel 82352 контроллер буфера EISA (EISA Bus Buffer)
  • Intel 82353DS 2 шт., контроллер шины процессор-память (Advanced Data Path)
  • Intel 82356CS контроллер шины память-EISA (Memory to EISA Control)
  • Intel 82356DS контроллер интерфейса памяти (Memory DRAM Control)
  • Intel 82357 контроллер прерываний, DMA и таймеров (Integrated System Peripheral)
  • Intel 82358DT контроллер шины EISA (EISA Bus Controller)

В отличии от 350 и 350DT, этот чипсет мог работать не только с 386/486 процессорами, но также и с Pentium, в том числе в режиме SMP. Фактически, чипсет взаимодействует не с процессорной шиной, а с шиной Intel Xpress Bus, разрядность которой, в зависимости от типа процессорной платы, может составлять 32 или 64 бит (используется мультиплексирование), что позволяет сократить потери производительности при использовании процессоров Pentium в сравнении с другими ранними решениями, адаптированными под системы для 486 процессоров.

Девятым компонентом чипсета можно считать микросхему контроллера кэша и шины Xpress Bus (связывающую его с контроллером памяти), размещенную на процессорной плате. Ее модель зависела от используемого процессора, объема и типа кэша.

Контроллер 82359, хотя и не входил в набор Xpress, был весьма интересен: пропускная способность шины памяти при его использовании (в документации, буквально от контроллера до массива памяти) составляла 128 бит, что при использовании 32-битных модулей SIMM требует использования 4 одинаковых модулей для достижения максимальной производительности. Ранние версии чипсета требуют установки модулей парами, в более поздних поддерживается работа и при одном установленном модуле памяти.

История серии 350/350DT/Xpress Chipset на данный момент довольно сложна и запутана благодаря практически полному отсутствию документации, которую приходится теперь собирать по крупицам на различных сайтах и других источниках. На сайте Intel информация по историческим системам удалена. Возможно, в следующих обзорах техники тех лет, информация будет уточняться.

Процессорные платы


Внешний вид процессорной платы

Платформа Intel Xpress подразумевала значительную гибкость за счет возможности установки различных процессоров не только в рамках одного семейства среди опций были как 486 процессоры, так и различные варианты Pentium. Обеспечено это было за счет выноса части логики, непосредственно работающей с процессором на процессорную плату, устанавливаемую в специальный слот. Взаимодействие с системной платой шло через шину Xpress Bus, как это было отмечено ранее выше. Было выпущено несколько серий процессорных плат:

  • Ранние 486 платы с процессорами SX или DX на 25/33 МГц или DX2 на 50 или 66 МГц. На них кэш второго уровня устанавливался опционально и имел объем 64 или 128 Кбайт (микросхемы производства IDT). Тип кэша Write Through. Эти модули имели сокет c возможностью установки более производительного OverDrive процессора в будущем, кэш устанавливался в отдельный сокет. Логика реализована на чипах PAL (Programmable Array Logic).
  • Отдельно выделена плата с процессором 486DX 50 МГц, самым быстрым процессором без встроенного умножения частоты. Она имела 256 Кбайт более производительного Write Back кэша производства Intel, управляемого контроллером кэш-памяти Intel 82495DX. Эта плата не поддерживала платы расширения памяти с ECC.
  • Второе поколение плат с 486 процессорами SX 25/33 МГц, DX 33 МГц или DX2 66 МГц. На всех платах, кроме старшей, процессор был припаян, рядом с ним располагался сокет для установки OverDrive процессора. Модели с SX-33 и DX2-66 имели распаянный Write Through кэш объемом 128 Кбайт. Модели с SX-25 и DX-33 панельки для установки чипов кэша и TagRAM. Логика реализована на заказной ASIC-микросхеме (Intel Monica на фото). Эти платы также не поддерживают платы расширения памяти с ECC. Плата из этой серии установлена в рассматриваемом сервере.
  • Третье поколение плат с 486 процессорами (известна дата доступности для заказа 4 квартал 1994 года, уже после выхода Pentium-вариантов). Работали с 486DX2 66 МГц и 486DX4 100 Мгц и имели 256 Кбайт Write Back кэша.
  • Процессорные платы с одним или двумя Socket 4 для ранних Pentium 60 или 66 МГц (для двухпроцессорных вариантов только 66). Использовали кэш-контроллер Intel 496DX и несли на борту 256 Кбайт кэш-памяти производства Intel.
  • Процессорные платы с одним Socket 5 (в основном применялись для апгрейда существующих систем) работали с процессорами Pentium 90 или 100 МГц и использовали обновленный кэш-контроллер Intel 497DX, дополненный 512 КБайт кэш-памяти.

За счет такого широкого выбора, платформа оставалась актуальной весь долгий срок, особенно для эпохи столь бурного развития технологий. Последние процессорные платы были представлены в конце 1994 начале 1995 годов, когда на рынке уже были доступны более производительные PCI и PCI/EISA системы на базе чипсета Intel 430NX.

EISA и приключения ранних Pentium


В статье об истории Pentium, автор не упомянул занятный факт фактически PCI системы для новых процессоров задержались и первые системы с Intel 430LX Mercury появились лишь осенью 1993 года. Первое полугодие бал правили машины с VLB и/или EISA, использовавшие проприетарные решения. Например, набор микросхем Compaq Triflex в Deskpro 5/60M с поддержкой EISA или рабочая станция (могла использоваться и как сервер) ALR Evolution с поддержкой обоих шин.

Интересный момент в то время VLB (VESA Local Bus) и PCI в тематической прессе именовались локальными шинами. Хотя первая была таковой только в системах с 486 процессорами (и в редких 386 VLB машинах), вторая же изначально локальной (базирующейся на основе внешней шины процессора) не планировалась обе шины в системах с Pentium были выполнены с помощью контроллера в чипсете.

Особенности реставрации


Сервер попал в руки автора в достойном и почти рабочем состоянии. Как было упомянуто выше, после пробного запуска, первым делом была выполнена глобальная чистка от пыли, на что ушел почти целый вечер, а то и два. На следующий день машина была подвергнута серьезной диагностике: были проверены все шесть SCSI-дисков, 2 из них оказались неработоспособны.

Что интересно: сервер поступил с дисками одинаковой емкости, но разных моделей 2 x ST32155N и 4 x ST32151N, среди погибших оказались только ST32151N. Решено было оставить три диска один в роли загрузочного и два для программного рейда с данными (да, программный рейд в некоторых ОС поддерживался уже тогда!)

Также заменить пришлось и привод CD-ROM: вместо нерабочего 6-скоростного IDE был установлен 16-скоростной SCSI привод от Toshiba. Привод хоть и относительно новый, но по дизайну соответствует более ранним моделям, а главное изначально в качестве опции для NetServer LM предлагались именно SCSI приводы. IDE на плате предназначался для подключения загрузочного жесткого диска для операционных систем, не поддерживающих загрузку со SCSI и эконом-вариантов комплектации.

После полной диагностики, к счастью, блок питания и системные платы не подвели и машина благополучно запускалась. Но не все так просто, как кажется на первый взгляд: за годы простоя, разрядилась батарея CMOS и настройки BIOS (включая настройки EISA) были сброшены. Казалось бы, заменить батарейку, выполнить настройку параметров заново и готово, но не тут то было!

Во-первых, в начале 90-х в моде у производителей (IBM, спасибо, что использовали почти обычные батарейки!) были модули Dallas серии 1х87/1х887. Это интегрированное решение, содержавшее в едином корпусе часы реального времени (RTC Real Time Clock), CMOS память и батарейку. Все это по славной традиции залито эпоксидной смолой и закрыто пластиковым корпусом для защиты от внешних воздействий.

Модуль Dallas DS1587

Спасибо Intel и HP, что в серверных системах устанавливали эти модули в панельки, а не припаивали к плате, как на том же Intel Premiere/PCI Batman (первая плата для настольных ПК с Pentium от Intel). Самое простое решение этой проблемы замена модуля целиком. В то же время это решение является и самым ненадежным выпуск завершен более 15 лет назад и вероятность получить Dallas с живой батареей стремится к нулю.

Существуют заменяющие модули на основе SMD-версии Dallas, рассчитанной на внешнюю батарею, но они сравнительно дороги, а главное заказывать пришлось бы у энтузиастов из-за границы, что означает весьма длительный срок поставки. Поэтому было выбрано классическое решение: вскрытие модуля с отключением внутреннего элемента питания и подключением гнезда для батареи. Так как у автора лапки, сия операция была произведена старинным другом автора, за что ему огромная благодарность!

К сожалению, с разряженной батареей нет возможности сохранить настройки BIOS и попытаться загрузиться хотя бы с дискеты (не говоря уже о конфигурации EISA устройств) после банальной перезагрузки все настройки снова обнуляются и нужно все настраивать с нуля. Поэтому, пока Dallas находился на лечении, у автора было время для поиска второй необходимой составляющей, а именно утилиты настройки EISA шины (SCU System Configuration Utility или ECU EISA Configuration Utility).

В отличии от PCI и поздних реализаций ISA (ISA PnP), шина EISA не поддерживает автоматическую конфигурацию устройств назначение выделяемых ресурсов производится с помощью специальной программы, как правило загружаемой с дискеты или выполняющейся под DOS. Программа, как правило привязана к конкретной модели или семейству плат: от другой системы того же производителя может не подойти. В некоторых случаях требуется совпадение вплоть до версии прошивки BIOS.

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

Более того, механизм, примененный для настройки EISA (схожей была реализация настройки и для другой шины MCA), был весьма стабилен и надежен. Первые варианты Plug and Play для PCI страдали детскими болезнями, а на некоторых ранних PCI чипсетах распределение ресурсов по прежнему необходимо было выполнять вручную.

Первая серверная Windows


Окно логина Windows NT Advanced Server 3.1

В 1993 году вышла первая версия Windows NT 3.1 (номер был подогнан под номер версии мейнстрим оболочки Windows) с нее началось победное шествие Microsoft на рынке серверных операционных систем для офисной инфраструктуры. На жестких дисках были обнаружены именно ее следы, поэтому долгим выбор системы не был. Редакция Advanced Server поддерживала до четырех процессоров (клиентская Workstation только два), что позволяло строить на ее основе очень мощные системы.

Одним из самых важных сценариев использования предполагалась работа с одновременно вышедшей Windows версией MS SQL Server 4.2 (ранее была выпущена версия для OS/2) корпоративные базы данных всегда были лакомым куском рынка и уже тогда требовали высокой производительности сервера.

В стандартном комплекте поставки система заточена исключительно на работу в домене варианта установки Standalone даже не предусмотрено либо контроллер домена, либо сервер в домене. Средства администрирования скромные основные утилиты: управление пользователями и управление файловым сервером. Уже есть возможность настройки профиля, ограничения по времени входа и доступу к определенным рабочим станциям в домене.

Настройка прав доступа Windows NT Advanced Server 3.1

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

Заключение


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

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

Совсем заключение


Вот уже бежит, размахивая руками, разъяренный хозяин машины времени пора покидать место приключения, прихватив с собой со стола хозяина Миелофон.

Надеемся, полученный заряд ностальгии пробудет с вами еще долго! До новых встреч!

Подробнее..

Самый большой процессор в мире Cerebras CS-1. Разбор

29.01.2021 18:07:40 | Автор: admin
Наверняка вы подумали, что это какой-то очередной кликбейт. Что это за самый большой процессор в мире? Похоже сейчас нам будут рассказывать о процессоре, который на 5 процентов больше других, и то если рассматривать этот процессор только с определенной стороны.И да просмотры и прочтения мы хотим собрать, но

Сегодня мы расскажем вам о процессоре компании Церебро, под названием Cerebras CS-1.И он действительно огромный!


Например, GPU, который считался самым большим раньше это процессор Nvidia V100, а вот новый процессор Церебро. Он почти в 57 раз больше!Площадь самого чипа 462 квадратных сантиметра это почти столько же сколько площадь всей Nvidia 3090, вместе с системой охлаждения и разъемами.







А что вы скажете на то, что этот монстр способен симулировать некоторые физические модели быстрее самих законов физики?Заинтриговали? Что ж тогда присаживайтесь, наливайте чаек. Сегодня будет разбор по-настоящему огромного однокристального процессора!

Итак, что же это за монстр такой и зачем он нужен?Давайте сразу ответим на второй вопрос этот процессор создан для машинного обучения и искусственного интеллекта. Кроме того он сильно расширит возможности для различного сложного моделирования и сможет заглядывать в будущее. Вообще, искусственный интеллект это невероятно интересная и актуальная тема, а ее главные ограничения это слабые вычислительные мощности.А если хотите узнать о реальных проектах с использованием искусственного интеллекта у Илона Маска есть такой в запасе Open UI.

Если вы думали, что закон Мура со своим увеличением количества транзисторов в процессоре каждые 1,5 года это быстро, то посмотрите на потребности в области ИИ, ведь спрос на эти вычисления удваивается каждые 3,5 месяца!

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

Скажем так если вы возьмете двигатель от Ferrari и запихнете ее в старые Жигули, то машина конечно поедет быстрее, но как Ferrari все равно не поедет.Поэтому тут нужен принципиально иной подход,ведь для того? чтобы получить настоящий гиперкар надо взять хорошие тормоза, подвеску, рассчитать аэродинамику; с компьютерами точно также.

Компания Церебро это и сделала они решили разработать свою систему с нуля, то есть вообще все от архитектуры самих процессоров, до системы охлаждения и питания.









Это огромная машина, потребляющая 20 килоВатт, и занимающая треть стандартной серверной стойки, то есть можно размещать по три таких компьютера в одной стойке! А сам чип, по своей сути и предназначению, напоминает серверные GPU от NVIDIA, так что давайте их и сравним. Возьмем Nvidia Tesla V100.





Цифр много, приготовьтесь! Кроме размеров самого кристалла, процессор Церебро обладает четырьмя сотнями тысяч ядер, что в 78 раз больше, чем число ядер на NVIDIA Tesla V100! Количество транзисторов взрывает мозг 1,2 триллиона, против 21 миллиарда у NVIDIA.

А сколько там памяти? 18 гигабайт l2 cache memory прямо на чипе! Это в три тысячи раз больше, чем у V100. Кстати у 3090 от той же NVIDIA, памяти на чипе тоже 6 мегабайт, прямо как у V100. Ну а про ширину полосы пропускания даже говорить страшно у V100 это 300 Гигабит в секунду, а у Церебро 100 ПЕТАбит в секунду. То есть разница в 33 тысячи раз!



А чтобы достичь схожей вычислительной мощности они заявляют, что нужна тысяча 100 карт NVIDIA, что суммарно будет потреблять в 50 раз больше мощности и занимать в 40 раз больше места это очень значительная экономия электроэнергии и свободного пространства.





Это конечно прекрасно цифры поражают. Но как удалось их достичь?

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

Однако, размер это одновременно и главный недостаток Церебро.

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









При потреблении 20 кВт, которые подаются через двенадцать разъемов питания, четыре уходит только на питание вентиляторов и насосов для системы охлаждения. Но в результате они достигли того, что чип работает при вдвое меньших температурах, чем стандартные GPU, что в конце концов повышает надежность всей системы.

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

Сам же чип собирает TSMC по, вы не поверите, 16 нанометровому техпроцессу. И тут вы можете справедливо возмутится. Как же так? Все уже делают чипы на 5 нм, какой смысл делать на древних 16 нм?

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

Суть в том, что ребята решили, как бы, подстраховаться. Ведь 16 нм техпроцессу уже почти семь лет: детали и тонкости при его производстве отлично изучены. Так сказать уменьшают риски! Но стоит сказать, что уже ведется разработка и тестирование такого чипа на 7 нм, но его выход конечно будет зависеть от спроса на первое поколение! И там цифры просто огромные, только посмотрите на таблицу.





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

Национальная лаборатория энергетических технологий Министерства энергетики США заявила, что CS-1 первая система, которая смоделировала работу более миллиона топливных ячеек быстрее, чем в режиме реального времени.

Это означает, что когда CS-1 используется для моделирования, например, электростанции на основе данных о ее текущем состоянии, она может сказать, что произойдет в будущем быстрее, чем законы физики дадут такой же результат.Вы поняли? С помощью этого ПК можно заглянуть в будущее с высокой точностью, и если нужно подкорректировать и изменить его.И еще, например, в симуляции с 500 миллионами переменных Cerebras CS-1 уже обогнал суперкомпьютер Joule, занимающий 69-е место в рейтинге самых мощных суперкомпьютеров мира. Так что похоже со спросом проблем не ожидается.



Церебро планируется использовать для прогнозирования погоды или температуры внутри ядерного реактора или, например, проектирования крыльев самолета. Несомненно, лаборатории и различные исследовательские центры по всему миру найдут для Церебро области применения.Как вы понимаете, компьютер будет дорогим, но точная цена неизвестна.

Из открытых источников мы нашли только что в 2020 году в суперкомпьютерном центре Питтсбурга было куплено 2 компьютера Cerebras CS-1 за 5 миллионов долларов. Но система делается только под заказ и под каждого конкретного клиента, так что цена может варьироваться.

Выводы



Это явно уникальная система. И такого раньше никто не делал! Большинство производителей считают, что гораздо выгоднее и эффективнее наштамповать кучу маленьких процессоров, так как вероятность брака или поломки сильно падает и каждая ошибка сильно дешевле.Разработчики Церебро же решили пойти рискованным путем и, судя по тому, что процессор Cerebras CS-2 уже тестируют, их путь успешен.

И если все что они заявили сбудется, то нас ждет абсолютно новая эра серверных вычислений, невероятные возможности для создания компьютерных моделей, новые мощности искусственного интеллекта. Нет сомнений, что и гиганты рынка, такие как Nvidia, Intel, Google, посмотрев на удачный опыт Церебро займутся разработкой своих огромных однокристальных систем.А вы только представьте, что будет если совместить это с квантовыми вычислениями, о которых мы недавно делали разбор? Ух!

Будем следить за развитием технологий, и продолжим дальше делать для вас такие интересные обзорные материалы про самые современные достижения!



PS. Кстати, лайк если поняли пасхалку в Церебро ведь решетка радиатора выполнена в форме специальной сетки, которая используется в компьютерном моделировании для расчетов. Отсылка к предназначению Церебро!
Подробнее..

Средний класс середины 90-х обзор серверной платформы Intel AltserverCS Altair

30.01.2021 14:20:43 | Автор: admin

Добро пожаловать на очередной сеанс ностальгической терапии! Сегодня мы снова воспользуемся машиной времени и заглянем в чью-нибудь серверную. В прошлый раз мы познакомились с масштабируемой системой высшего класса, прожившей весьма долгую жизнь на конвейере HP NetServer LM, появившуюся еще в 1990-1991 годах и получившую последнее обновление аж в 1995.

Напомним, в основе него лежали платы серии Intel Xpress на одноименном чипсете. В 1994 году Intel выпустил Xtended Xpress чипсет, платы и платформы, позволяющие использовать до 4 процессоров Pentium в одной системе. В то же время, двухпроцессорные системы начали проникать в средний сегмент. Об одной из них и будет сегодняшняя статья.

Главный герой


Итак, встречайте Intel Altserver/CS, кодовое имя Altair, названный в честь самой яркой звезды созвездия Орла. Основной его стал универсальный чипсет Intel 430NX Neptune, предназначенный для мощных ПК, рабочих станций и серверов он и определил основные характеристики сервера:

  • До 2 процессоров Intel Pentium от 75 до 120 МГц (джамперами можно задать частоту до 166 МГц).
  • Процессорные разъемы Socket 5.
  • Поддержка шин PCI и EISA.
  • 8 слотов SIMM с возможностью установки до 256 МБайт оперативной памяти.
  • 1 канал IDE.
  • Одноканальный Wide SCSI-2 контроллер.
  • Встроенный видеоконтроллер с 512 КБайт видеопамяти и возможностью увеличения объема до 1 МБайт.
  • Корпус Full Tower с возможностью размещения в 19 стойке (на полке, возможность установки направляющих не предусмотрена).
  • Поддержка плат управления и мониторинга состояния сервера.

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

Сам сервер сравнительно невелик высота 48 см, ровно, чтобы положить на полку в 19 стойке, глубина лишь немногим больше, чем требуется для материнской платы. Разве что ширина несколько выбивается 21 см (8 дюйма). Такой формат на долгое время станет визитной карточкой серверов Intel начального и среднего уровня.

Еще один интересный момент большая часть Альтаиров (как, впрочем, и других серверов производства Intel) продавались под именами других компаний как сравнительно крупных (например, Data General), так небольших локальных сборщиков. Так как наш экземпляр относится именно к ОЕМ поставке, после реставрации и пересборки, он вошел в серию машин самосбор-бренда коллекции Digital Vintage и получил обозначение SERVERGHOST Ambassador P5/2 TE.

Заглянем внутрь


Пришла пора оглядеть машину внимательным взглядом. Традиционно, платформы от Intel состоят из корпуса и материнской платы (или набора системных плат для систем высокого уровня). В данном случае использован корпус Intel Columbus, родоначальник серии Columbus/Astor. Эти корпуса применялись в платформах Intel вплоть до начала нулевых годов и со временем претерпели значительные изменения форм-фактор сменился с FullAT на EATX, сократилось число пятидюймовых отсеков расширения, появилась опциональная hotswap корзина для жестких дисков.

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

Чипсет Intel Altserver
Самое интересное, конечно же, внутри: материнская плата Intel Altserver, способная принять на борт два процессора Pentium, 8 модулей памяти и 8 плат расширения. Чипсет 430NX на ней применен в расширенном варианте с поддержкой шины EISA (вместо южного моста SIO (82378IB/ZB) применена пара контроллеров ESC/PCEB (82374SB и 82375SB).

Дисковые контроллеры в то время еще не входили в состав чипсета для поддержки IDE устройств используется отдельный контроллер, основным же считается контроллер шины SCSI на основе микросхемы Adaptec AIC-7870, подключенный к шине PCI. Встроенный видеоконтроллер таже использует PCI, хотя некоторые производители использовали ISA карты даже в серверах на основе Pentium Pro.

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

Внешний вид материнской платы в корпусе
Как и у всех плат того времени, значительная часть конфигурации задается джамперами частота шины и множитель и другие параметры запуска платы, а также выбор основного процессора для запуска. Большинство многопроцессорных плат всегда запускаются с процессором в сокете с номером 0 или 1 в зависимости от того, как считают разработчики, и не стартуют, когда он не занят.

Для памяти выделено 8 слотов, есть поддержка памяти с четностью. Поддержка ЕСС удел более серьезных машин. В нашем экземпляре установлено 64 МБайт памяти, при возможности автор планирует нарастить объем до максимального. Вплотную к памяти расположен еще один слот расширения разъем для модуля L2 кэша.

Поддерживаются синхронные и асинхронные модули объемом 256 КБайт и 512 КБайт. В данном случае установлен синхронный модуль на 256 КБайт. Для сравнения в четырехпроцессорных системах объем кэша уже тогда мог достигать 1 МБайт на процессор (здесь кэш общий для обоих CPU).

Самое необычное здесь панель портов ввода-вывода. Порты расположены на дочерней плате, устанавливаемой в разъем DIMM с 144 контактами. Сама дочерняя плата существует в четырех вариантах: первые три оснащены разъемами PS/2, последовательными и параллельными портами и видеовыходом. Отличаются разъемом SCSI он может быть внешним или внутренним (наш вариант), при этом внешний может быть как Wide (8 бит), так и Narrow (16 бит).

Панель портов ввода-вывода
Эти модули совместимы только с корпусами Intel Columbus (в некоторых версиях мануала указано, что плата совместима также и с Intel Magellan, предназначенным для серверов высокого уровня). Четвертый же вариант дочерней платы предназначен для обычных FullAT корпусов и несет на себе разъем для клавиатуры и гребенки для подключения планок с портами.

Пути сервера неисповедимы


В начале было любопытство. Среди подарков от одного из спонсоров коллекции оказалась большая интересная плата с питанием типа AT и почти АТХ-ной панелью портов. К ней также прилагалась память и модуль кэша. В той же посылке обнаружились и два идентичных Pentium 120. Плата была подключена к тестовому блоку питания и тут же бодро запустилась. Пришлось только добавить PCI-видеокарту на дочерней плате разъем видеовыхода был удален хирургическим путем.

Микросхема Dallas DS1587
На удивление даже батарейка в Dallas (комбо-микросхема, сочетающая часы реального времени, память CMOS и батарейку) сохранила свой заряд и часы шли абсолютно точно. Добавить пришлось только систему охлаждения были выбраны не совсем аутентичные, но идеально подходящие кулеры и ранних сокетных Celeron. После тестов, плата была упакована и аккуратно сложена на полку для ценных комплектующих.

После изучения форумов и документации надежды на успех в поисках корпуса у автора почти не было. Была мысль доработать имеющийся в запасах Intel Columbus III нужно было бы лишь выпилить заднюю панель под порты и установить переходник AT/ATX для блока питания, чтобы не переделывать плату управления под лицевой панелью корпуса. Или же сделать аналогичную доработку с InWin Q500 или другим ЕАТХ корпусом: там можно было бы поставить кнопку с фиксацией и использовать обычный блок питания стандарта АТ. Но оба варианта были отложены в долгий ящик слишком они отдавали колхозом, а прибегать к этому приему не хотелось.

Радикальный поворот случился в конце декабря прошлого года после выхода первой части статьи об истории Pentium, где была упомянута плата Intel Altserver. В комментариях один из хабровчан сообщил, что у него есть корпус для этой платы. После недолгой переписки, выяснилось, что живет он в четырех часах езды в Нижнем Новгороде и готов встретиться после Нового Года. Ну а, как говорится, бешеной собаке сто верст не крюк!

И вот, утром третьего января, зеленый винтажмобиль с дружной командой энтузиастов на борту неспешно выкатился на трассу М-10. И уже к середине дня, автор стал обладателем немного ржавого, немного помятого, весьма увесистого ящика. Бонусом был родной блок питания и вторая материнская плата. Естественно, работоспособность даже не предполагалась.

И что с этим теперь делать


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

С корпусом работы было куда больше. Разборка и инвентаризация показала отсутствие корзины для дисковода, ржавчину и небольшие повреждения шасси. Крышки же оказались в совсем плачевном состоянии обнаружились замятия по ребрам жесткости. Ржавчина сопротивлялась совсем недолго и уступила место, как говорят реставраторы автомобилей благородной патине гравер и мягкие шарошки творят чудеса.

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

Панели изначально планировалось очистить от ржавчины, выровнять и отдать в покраску дружественному автосервису, но автору пришла в голову идея попробовать другой вариант, и он сработал! Панели на Intel Columbus III оказались идентичны панелям первого поколения корпуса и более новый, но тоже не совсем комплектный корпус (не было ножек и корзин для дисков), стал донором. С него так же были позаимствованы направляющие для установки приводов.

Остальное уже было делом обыденным из запасников были извлечены сетевые карты (EISA не нашлось, пришлось поставить обычные ISA), жесткий диск, оптический привод (автор выбрал необычный вариант со слотовой загрузкой) и дисковод с салазками для установки в 5-дюймовый отсек. Немного работы отверткой и редкая машина предстает во всей красе.

Итоговая конфигурация нашего героя:

  • 2х Intel Pentium 120 МГц (шина 60 МГц)
  • 64 МБайт оперативной памяти FPM SIMM
  • 256 КБайт кэш-памяти второго уровня типа Pipelined Burst (модуль COAST)
  • Платформа Intel Altserver/CS (материнская плата Altserver и корпус Columbus)
  • 2 ГБайт жесткий диск SCSI 50-пин, 7200 об/мин
  • 16x CD-ROM Sony со слотовой загрузкой
  • Две сетевые карты Ethernet (10 Мбит/с) 3Com 3C509-TPO ISA
  • Дополнительная видеопамять 512 КБайт (итого 1 МБайт)

Ключ на старт


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

Интерфейс BIOS
Никаких красивых картинок при загрузке, BIOS выдает только необходимую системную информацию. Настройки его минимальны, доступны лишь базовые опции и несколько сугубо серверных настроек. Даже утилита настройки SCSI контроллера не включена в BIOS, ее требуется загружать с дискеты. Из интересных возможностей: поддержка загрузки с CD-ROM (правда, автор не смог найти диск, который бы на этой машине загружался) и выбор версии MPS 1.1 или 1.4. Режимы APIC и ACPI еще не поддерживаются.

Как только отработал BIOS, появляется загрузочное меню операционной системы в нашем случае это Windows NT Server 3.51. Основной функцией серверных ОС тогда была организация доступа к файлам, поэтому в базовой поставке есть доменная служба (тогда еще не было названия Active Directory), службы доступа к файлам и принтерам, FTP сервер и служба удаленной загрузки бездисковых станций.

Интерфейс операционной системы Windows NT Server 3.51
Пакет Microsoft BackOffice 1.5 добавляет функционал SQL сервер, почтового сервера (Exchange). А также включает первую версию веб-сервера IIS (на тот момент поддерживались только http, ftp и gopher). Именно функционал веб-сервера и был выбран автором при настройке данной машины.

Пример сайта, размещенного на локальном веб-сервере.
К сожалению и его функционал весьма скуден: поддерживается только один узел никаких виртуальных хостов настроить не получится, нет поддержки SSL, нет возможности подключить обработчик CGI-скриптов только встроенный язык программирования, рассчитанный на взаимодействие с СУБД MS SQL. В комплекте идут примеры скриптов на нем и простой сайт в стиле Web 0.1. Впрочем, таким тогда был интернет

Заключение


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

Спасибо и вам, неравнодушные читатели, за то, что вдохновляете на продолжение рассказов об истории техники и об исторической технике! До новых встреч!

Подробнее..

Настройка собственного почтового сервера

26.02.2021 20:18:58 | Автор: admin

Есть три основных шага, чтобы установить и настроить собственный почтовый сервер.

  • Настройка IP и DNS

  • Выбор и запуск приложения почтового сервера

  • Добавление своего почтового сервера в белые списки

Настройка IP и DNS

Обеспечение внешнего статического IP-адреса, публичного домена и записи PTR

Это основные требования для запуска собственного почтового сервера.

  • Публичный статический IP-адрес
    IP-адрес почтового сервера должен быть общедоступным и постоянным во времени. Убедиться в этом можно у хостинг или Интернет-провайдера.

  • Доменное имя указывает на IP
    DNS-запись публичного доменного имени почтового сервера должна указывать на этот IP-адрес. Им можно управлять в настройках DNS провайдера доменного имени.

  • IP указывает на доменное имя
    Самое главное, обратная DNS-запись (именуемая PTR) должна указывать на доменное имя почтового сервера по IP-адресу. Можно попросить своего хостинг-провайдера или поставщика интернет-услуг настроить его. Его можно легко проверить по IP-адресу онлайн (например, тут), или с помощью команды nslookup в Windows и команды host в системах на основе UNIX.

Настройка MX записи в DNS

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

Например, если наш домен - mycompany.com, почтовый сервер - mail.mycompany.com, то запись DNS для mycompany.com будет:

Type

Host

Value

Priority

TTL

MX

@

mail.mycompany.com

10

1 min

где:

  • Priority (приоритет) используется, когда в домене более одного почтового сервера.

  • TTL (время жизни) можно установить любое предпочтительное значение, а наименьшее значение используется для применения конфигурации DNS как можно скорее при отладке настроек.

Настройка DKIM записи в DNS

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

Понадобятся приватный и открытый ключи. Их можно создать с помощью онлайн-инструментов, например Power DMARC Toolbox - DKIM Record Generator, или с помощью команд OpenSSL (приведен пример для Windows):

  • Создать приватный ключ
    openssl.exe genrsa -out private.key 2048

  • Создать публичный ключ из приватного
    openssl.exe rsa -in private.key -pubout -outform der 2>nul | openssl base64 -A > public.key.txt

И запись DNS будет выглядеть так:

Type

Host

Value

TTL

TXT

selector._domainkey

v=DKIM1; k=rsa; p=public_key

1 min

где:

  • selector - самостоятельно выбранный идентификатор (например, mysrv), который будет использоваться в приложении почтового сервера (смотрите ниже).

  • public_key - открытый ключ, закодированный алгоритмом base64 (содержимое public.key.txt).

  • TTL (время жизни) имеет то же значение, что и в предыдущем разделе.

Настройка SPF записи в DNS

Инфраструктура политики отправителя (SPF) это стандарт проверки подлинности электронной почты, который проверяет IP-адрес отправителя по списку авторизованных IP-адресов владельца домена для проверки входящей электронной почты.

Тут запись DNS будет выглядеть так:

Type

Host

Value

TTL

TXT

@

v=spf1 a mx include:relayer_name -all

1 min

где:

  • relayer_name - имя необязательного внешнего почтового сервера-ретранслятора (смотрите ниже). Если не нужно - убирается вместе с "include:".

  • TTL (время жизни) имеет то же значение, что и в предыдущем разделе.

Можно использовать удобный онлайн-генератор записи SPF.

Дополнительные записи DNS

Некоторые поля не обязательны, но желательно иметь.

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

  • BIMI
    Индикаторы бренда для идентификации сообщений (BIMI) это новый стандарт, созданный для того, чтобы упростить отображение логотипа рядом с сообщением. Кроме того, BIMI предназначен для предотвращения мошеннических электронных писем и улучшения доставки.

  • TLS-RPT
    TLS-отчетность (TLS-RPT) дает ежедневные сводные отчеты с информацией о электронных письмах, которые не зашифровываются и не доставляются.

Все эти записи могут быть созданы с помощью Power DMARC Toolbox.

Выбор и запуск приложения почтового сервера

Конечно, хостинг должен позволять устанавливать программное обеспечение. Можно использовать любое подходящее приложение для почтового сервера. Например, есть бесплатный hMailServer для Windows, который предоставляет все необходимые функции с минимальным использованием ресурсов. Для систем на базе UNIX существует множество бесплатных почтовых серверов, таких как Exim Internet Mailer или iRedMail.

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

Инициализация

Когда программное обеспечение выбрано и установлено, самое время его настроить.

  • Домен и пользователи
    Нужно добавить домен и начальный набор пользователей почтового сервера.

  • Безопасность
    Чтобы обеспечить соответствующий уровень безопасности, мы должны добавить сертификат SSL для домена.

  • Подпись сообщений
    Далее, следует настроить DKIM. Нужно указать полученные выше приватный ключ и селектор. Кроме того, методы заголовка и тела должны быть установлены на расслабленный, алгоритм подписи должен быть установлен на SHA256, иначе на некоторых SMTP серверах не проходит проверка (например, google).

  • Защита от спама
    Наконец, нужно настроить антиспам-проверку специальными узлами черных списков, такими как spamhaus.org, чтобы защитить пользователей почтового сервера от нежелательных сообщений.

Протоколы электронной почты

Нужно настроить три протокола электронной почты, которые необходимы для её отправки и получения.

SMTP

SMTP используется для приема входящей и исходящей почты с/на другие почтовые серверы. И это позволяет пользователям домена отправлять свои сообщения.

  • 25 порт
    Этот порт необходим для управления входящими подключениями от других почтовых серверов. Метод безопасности следует установить в STARTTLS.

  • 587 порт
    Он нужен для почтовых клиентов собственного почтового сервера. Метод безопасности следует установить в STARTTLS.

  • 465 порт
    Он не является официальным и может потребоваться для старых почтовых клиентов. И метод безопасности следует установить в SSL/TLS.

POP3, IMAP

POP3 и IMAP используются отдельными почтовыми клиентами, такими как Outlook на ПК или любой почтовый клиент на мобильных телефонах. Это позволяет пользователям домена управлять своими сообщениями.

Порт 993 следует использовать для защищенных соединений IMAP, а порт 995 - для POP3. Для обеспечения совместимости с большинством клиентов метод безопасности следует установить в SSL/TLS (не STARTTLS).

Также можно настроить порты 143 для IMAP и 110 для POP3, но они не шифруются и сейчас их уже мало кто использует.

Проверка

Итак, когда все настроено, нужно протестировать почтовый сервер, отправив письмо кому-нибудь из списка пользователей. Кроме того, в некоторых почтовых приложениях есть функция самодиагностики (см. ниже пример от hMailServer).

Теперь пора проверить отправку на внешний адрес.

Аккаунт Gmail.com

Если есть учетная запись Gmail.com (что наверняка), можно отправить тестовое письмо на свой адрес Gmail. Затем открываем свою электронную почту в браузере и нажимаем Показать подробности.

Если есть подписано: домен, подпись DKIM настроена правильно. Если есть отправлено по почте: домен, SPF в порядке.

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

Также, в Outlook можно видеть те же заголовки в свойствах сообщения.

Специальные онлайн-сервисы

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

  • AppMailDev
    Этот сервис позволяет тестировать конфигурацию почтового сервера, такую как DKIM и SPF, отправляя электронное письмо на указанный сгенерированный почтовый адрес. Нужно просто следовать инструкциям на экране и результаты теста будут отображены там же.

  • DKIMValidator
    Предоставляет те же функции, что и предыдущая служба. Результаты тестирования будут отправлены на адрес отправителя.

  • HAD Email Auth Tester
    Чтобы проверить отправку сообщения здесь, нужно отправить специальное сообщение на tester@email-test.had.dnsops.gov. Результаты тестирования будут отправлены на адрес отправителя.

  • PowerDMARC
    Этот сервис предоставляет только облегченную проверку всех атрибутов, но у него есть удобные инструменты, указанные в ссылках выше.

Итак, если всё настроено правильно, но сервер присутствует в чёрных списках спама, нужно внести его в белый список.

Добавление почтового сервера в белые списки

Итак, если всё вышеперечисленное настроено правильно, другие почтовые серверы по-прежнему могут отмечать сообщения как спам и отклонять их. Это бывает, когда IP (или его диапазон) домена попадает в какой-то черный список. Чаще всего причиной этого является использование соседних IP-адресов для рассылки спам-сообщений.

Внесение в белый список в публичных источниках

Итак, сначала проверим IP (и, если необходимо, домен) онлайн на наличие в каких-либо черных списках. Его можно проверить в любом онлайн-чекере, который можно найти через поиск. Например, MXToolBox проверяет самые популярные черные списки. Также, multirbl.valli.org показывает много источников черного списка и доверие к каждому из них.

Затем нужно последовательно просмотреть каждый элемент в результатах и прочитать рекомендации о том, как внести IP-адрес в белый список в конкретном источнике черного списка. Но не все из них могут позволить это сделать бесплатно, например, немецкий UCEPROTECT-Network.

Кстати, на тут на habr обсуждалась автоматизация мониторинга IP в блэклистах.

Внесение в белый список определенных почтовых серверов

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

Обход черных списков

Если какой-то официальный черный список не разрешает добавление в исключения или когда-нибудь почта перестает отправляться на определенный домен - можно использовать внешние службы ретрансляции SMTP. Они позволяют использовать их в качестве шлюзов (или прокси) при отправке почты.

  • MailerSend
    Один из самых дешевых - позволяет бесплатно отправлять 20 тысяч писем в месяц и имеет низкую стоимость дополнительной отправки. Но есть особенность: поля CC и BCC пока не поддерживаются.

  • SendInBlue
    Это еще один хороший сервис, который позволяет бесплатно отправлять 9 тысяч писем в месяц с лимитом 200 в день. Но есть нюансы: встроенное отслеживание электронной почты нельзя отключить и высоковатая цена сверх бесплатного лимита.

В каждой службе нужно зарегистрироваться и получить подтверждение почтового домена. После подтверждения, каждый из них дает указания на то, что должно быть настроено для DNS (DKIM, SPF и DMARK) и почтового приложения (адрес сервера ретрансляции SMTP, порт и учетные данные).

Заключение

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

Подробнее..

Размер имеет значение Intel 440MX Communications Appliance Reference Design

29.03.2021 12:16:08 | Автор: admin

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

Куда компактнее решения сегмента SOHO для малого или домашнего офиса, часто это небольшие кубики, исполняющие несложные, но важные роли хранилище данных, почтовый или веб-сервер, фаерволл или сервер VPN-доступа и многие другие. Компактное серверное решение есть даже у Apple сервер на базе Mac Mini. Серверы-малыши начали входить в обиход на стыке нулевых и десятых, с появлением экономичных процессоров Intel Atom.

Но один из первых мини-серверов появился почти на 10 лет раньше, в 2000 году. Проект Соленая река (Salt River), получивший замысловатое официальное имя Intel 440MX Communications Appliance Reference Design изначально не был рассчитан на массовое производство, он должен был лишь продемонстрировать возможность создания полноценных, но компактных и экономичных серверов для выполнения задач, не требующих высокой производительности.

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

К сожалению, на тот момент идея, как говорится не зашла что часто бывает с решениями, опередившими свое время. Наш экземпляр сохранился чудом выпущены были в очень небольшом количестве и для реального использования они не предназначались, лишь для тестов, потому отправились на списание довольно быстро. Сервер был подарен коллекции Digital Vintage пожелавшим остаться анонимным дарителем. К сожалению, история сервера также осталась тайной.

Волшебная коробочка


Внешне, девайс больше похож на что-то из сетевого оборудования. Небольшой металлический корпус серебристого цвета с возможностью установки в стойку вот только не привычную 19-дюймовую, а компактную телекоммуникационную 10-дюймовую (с использованием полки монтажных креплений или отверстий для них нет). Высота тоже стандартная 1U. Отличный вариант для небольших филиалов можно разместить в одном шкафчике коммутаторы, маршрутизатор и пару-тройку таких машинок.


Передняя панель оформлена в фирменных цветах Intel голубой пластик и белые надписи. Слева двухстрочный экран и пять кнопок управления, справа линейка светодиодных индикаторов, шесть из которых стандартные индикаторы питания, активности диска и состояния сетевых интерфейсов, а восемь управляемые программно. Для работы с дисплеем, кнопками и индикаторами используется интерфейс I2C. Задняя панель еще утилитарнее: последовательный порт, два сетевых интерфейса, два USB порта и разъем питания. Видеовыход не предусмотрен.


Внутри все очень просто небольшая материнская плата, обычный IDE 3.5-дюймовый жесткий диск (в нашем случае Seagate U-series на 10 ГБайт) и 40-мм вентилятор для отвода нагретого воздуха. Плата, сердце и разум сервера, заслуживает особого внимания. Она очень миниатюрна всего 4 на 7 дюйма (примерно 10х18 см). Компоновка довольно плотная в центре чипсет, одночиповое решение Intel 440MX-100 (фактически 440BX без поддержки AGP и PIIX4E в одном корпусе).

Под скромным пассивным радиатором расположен процессор. Использован чип Intel Embedded Celeron ULV с тактовой частотой 300 МГц и 128 КБайт кэша второго уровня, выделяющий при работе всего лишь 5.7 Вт тепла. В отличие от своих собратьев, он использует системную шину с частотой 100 МГц. Процессор имеет маркировку QDB2, соответствующую квалификационным образцам, а не серийной продукции (серийный процессор имел бы обозначение SL5LG).


Рядом с процессором расположен SO-DIMM разъем для памяти SDRAM, стандартно устанавливалось 32 МБайт, официально поддерживается до 128 МБайт памяти (именно такой объем установлен на данный момент). Также на плате расположены два чипа сетевых контроллеров Intel 82559ER и чип MultiIO (на обратной стороне платы). Для микросхемы BIOS предусмотрена довольно необычная, но удобная кроватка.


Из интересного: микросхему BIOS можно было легко поменять, сдвинув фиксатор и раздвинув две половинки элемента крепления. Очень удобно для отладки прошивки! В нашем случае микросхема BIOS имела обозначение E28F002BC-T80.


Из разъемов присутствуют пара IDE обычный и ноутбучный, внутренний COM-порт, 6-контактный I2C порт, разъемы питания жесткого диска и вентилятора. С обратной стороны интерфейс для подключения мезонинных плат PMC (PCI Mezzanine Board), достаточной популярного промышленного формата. В целом плата конструктивно очень близка именно к промышленным решениям.

Игры разума


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

В случае с нашим героем, это отразилось на поддержке операционных систем Windows Server (на тот момент актуальными были NT 4.0 и 2000) в списке совместимости отсутствует, зато есть серьезные альтернативы FreeBSD, QNX и Linux, а также разнообразные специализированные решения. В большинстве известных примеров, сервер работает под FreeBSD или QNX.

К сожалению, изначальная инсталляция FreeBSD была повреждена, поэтому был установлен Linux, а точнее дистрибутив для построения сетевых устройств OpenWRT. Пока не удалось разобрать с работой I2C устройств, а в остальном устройство готово к полноценной работе (конечно, с учетом производительности сетевых интерфейсов).

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

По меркам 2000 года, производительность системы не поражала воображение, но для обеспечения потребностей небольшого офиса была вполне достаточна. А для работы в качестве маршрутизатора (тут можно было даже добавить 4-портовую мезонинную сетевую плату), пожалуй даже была избыточна в то время большинство соединений не использовало шифрование и не создавало такой нагрузки, как сейчас. О хорошей производительности можно судить даже по скорости загрузки довольно современная версия OpenWRT загружается менее чем за минуту.

Самые производительные серверы на PC платформе тогда имели 8 процессоров с частотой 700 МГц (Intel Xeon 700/2M), но даже для мощных файловых серверов нормой было иметь на борту пару Pentium III на 500-800 МГц. Разница значительная, но не огромная. Объем памяти тоже не был критически мал. Основной проблемой могла стать дисковая подсистема всего один диск и никаких средств обеспечения отказоустойчивости. Но и требования к доступности такой системы не в пример ниже, чем у сервера масштаба предприятия.

QNX


Рабочий стол QNX 6 (Neutrino) после установки. Источник
В свое время, эта система наделала немало шума ее демо-версия помещалась на одной дискете, при этом предоставляла пользователю полноценный рабочий стол, доступ в интернет и современный на момент выхода браузер. Многие неискушенные пользователи возлагали на нее большие надежды, как на будущую альтернативу на рынке настольных операционных систем. Но система изначально предназначалась для других целей и красивое демо лишь демонстрировало ее гибкость.

QNX операционная система реального времени, предназначенная для встраиваемых и промышленных решений. Именно она виделась Intel основной ОС для построения нового сегмента компактных устройств, включая и рассматриваемый в этой статье девайс. Ее ключевые свойства надежность, гибкость и возможность работы в режиме реального времени могли оказаться очень кстати и для серверных приложений.

К сожалению, планы в полной мере не сбылись серверный рынок активно стала занимать быстро развивающаяся ОС Linux. Именно ради проектов на базе QNX мини-серверы поставлялись учебным заведениям. В России, например, известны работы Института электронной техники и машиностроения СГТУ.

Изначальный рынок промышленных решений QNX сохранила и успешно развивается. Последняя мажорная версия (7.0) датирована 2017 годом, новые версии находятся в разработке. Система портирована на множество архитектур, в том числе и российский Эльбрус.

Она активно применяется в бортовых транспортных системах, от автомобилей до авиалайнеров и больших морских судов, в медицинском оборудовании, в управлении производственными процессами, радиолокационных системах и даже в космических устройствах. Кастомизированная версия QNX легла в основу систем Cisco IOS XR, управляющей самыми производительными коммутаторами компании Cisco CRS-1.

Путь длиной в два года


Сервер попал в коллекцию поздней осенью 2018 года, но долгое время считался безнадежным устройством. Первые проблемы была устранена быстро пришлось заменить разъем питания и батарею CMOS. Но дальше дело серьезно застопорилось. Причин было несколько. Основная полное отсутствие документации на устройство. Удалось найти только упоминание в каталогах и информационный буклет. Не помогло даже обращение в коллегам из Intel они смогли предоставить лишь тот же самый буклет.

Приходилось действовать методом научного тыка. К сожалению, сервер молчал на обоих COM-портах и не пытался начать загрузку системы. В процессе исследований пала жертвой микросхема BIOS (благо с сервером в комплекте была запасная материнская плата). В результате, девайс большую часть времени просто пролежал на полке, в ожидании очередного озарения.

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

Так оно и вышло сервер отреагировал на подключенную USB клавиатуру и после сохранения настроек попытался загрузиться с диска. Дальше дело техники: проверить состояние разделов и самого диска, залить образ OpenWRT и запустить сервер.

Заключение


На данный момент сервер полностью здоров. В дальнейших планах установить более аутентичную ОС, научиться работать с I2C устройствами и создать демонстрационный сервис с минимальными возможностями управления через меню на встроенном экране.

Но это дело будущего на данный момент в коллекции Digital Vintage проходят восстановление несколько довольно интересных машин, готовятся с постройке новые необычные проекты в линейке SERVERGHOST. А главное дальнейшее развитие дружбы и коллаборации с Selectel. Оставайтесь с нами, будет интересно!

Подробнее..

Cubique reloaded. Обзор сервера HP NetServer LH Pro

17.06.2021 12:20:28 | Автор: admin

Совсем недавно мы с вами познакомились с экспонатом, олицетворяющим суровость и непоколебимость, надежность и долговечность сервером HP NetServer LM, в недрах кубического корпуса которого вот уже больше 28 лет трудится процессор Intel 486DX2 с частотой 66 МГц. Кубическая серия была столь удачна, что пережила несколько обновлений. Под именем LM, она прошла путь от младших 486DX до ранних Pentium. Последними модификациями стали 5/66 LM2 с двумя Pentium 66 (Socket 4) и 5/90 LM с одним Pentium 90 (Socket 5).

В 1995 заслуженная серия ушла на покой, но на смену ей пришла новая NetServer LS, которая поддерживала уже до 4 процессоров и ставшая куда больше по размерам. Но прежнее, лишь слегка доработанное шасси осталось в производстве на его основе была выпущена полностью новая серия LH, отправившаяся завоевывать средний сегмент. Первые модели получили процессоры Pentium 75 или 100 МГц, также существовала версия с двумя Pentium 100.

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


Внутренняя компоновка осталась прежней системная плата со слотами расширения, в которую устанавливается процессорная плата. Вот только разъемы EISA теперь были дополнены более производительной шиной PCI, все сильнее набирающей популярность. Слоты памяти в свою очередь, переехали на процессорную плату. Причина тому использование стандартного чипсета Intel 430NX вместо мудреного Intel Xpress, использовавшего отдельную шину для подключения процессорных модулей.

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

В 1996 году случилось большое обновление, серия разделилась на две LH Plus, на базе Pentium и двухчипового чипсета 430HX и LH Pro, имевшая в основе революционный Pentium Pro и новый, более доступный чипсет 440FX, состоящий трех чипов вместо восьми у прежнего 450KX. LH Plus выпускался в вариантах с 133 и 166 МГц процессорами, а LH Pro получил единственную модель LH Pro 6/200 с одним или двумя Pentium Pro 200 МГц с 256 Кбайт кэшем.

Вместо 6 слотов SIMM, на новых процессорных платах установлено 4 слота DIMM для памяти типа EDO. Вместо 192 Мбайт максимальный объем памяти теперь составил 512 Мбайт или 1 Гбайт для LH Plus и LH Pro соответственно. Новые модели отличались и системной платой, получив более быструю шину Wide SCSI вместо прежней обычной 8-битной SCSI, отныне именуемой Narrow.


В таком исполнении серверы выпускались еще два года до 1998, получив последнее обновление в 1997 году с выходом процессоров Pentium II. Модель, обозначенная как LH II сохранила прежнюю системную плату и осталась на чипсете 440FX новый 440LX, созданный специально для Pentium II выйдет лишь через полгода. Изменения коснулись лишь процессорной платы фактически LH Plus и LH Pro можно было обновить до LH II заменив процессорную плату и микросхему с прошивкой BIOS. В остальном они были идентичны.

Предпоследний герой


Коллекции Digital Vintage недавно удалось получить один из поздних LH Pro 6/200, выпущенный осенью 1997 года. Машина до начала десятых годов трудилась в одной из подмосковных производственных компаний в качестве файл-сервера, а потом почти десять лет ждала своей участи на балконе одного из бывших сотрудников, который пожалел необычный сервер и сохранил его просто из жалости и любопытства.


Весной 2021 года, сервер был выставлен на продажу на популярной доске объявлений. Продавец был уступчив, но большой проблемой стала отправка увесистого девайса к новому месту постоянного проживания в городке и рядом не было отделения транспортной компании. Благодаря Коле Рубанову (хабраюзер Darksa) была организована мини-экспедиция по вызволению сервера и отправке его в цепкие руки автора.

В целом, сервер прибыл в рабочем состоянии, но хранение на балконе не могло не сказаться на его внешнем виде. Шлейфы SCSI (почему-то именно они) и часть пластиковых деталей растрескались. Родной SCSI CD-ROM и заглушка 5.25 отсека не сохранились. Приятным дополнением оказался SCSI CD-RW привод от Yamaha, но он решительно не подходил по цвету вместо обычного белого или бежевого, приводы в серверах HP светло-серого цвета.

Реставрация


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

Были заменены оба шлейфа SCSI и восстановлена рекомендованная схема подключения дисковых корзин, когда каждая корзина подключена своим кабелем к выделенному каналу встроенного контроллера SCSI. Изначально же обе корзины были последовательно подключены к одноканальному PCI-контроллеру.


Удалось найти оригинальный CD-ROM от более поздней модели NetServer он соответствует по дизайну устанавливавшемуся в эту модель SCSI-приводу, но работает с интерфейсом IDE. При возможности он будет заменен на полагающийся серверу девайс с шиной SCSI (например, для NetServer LM удалось найти оригинальный двухскоростной SCSI-привод). А вот найти заглушку свободного 5.25 отсека не удалось совсем, возможно ее место займет стример DDS из списка оригинальных опций, пока же стоит заглушка от более поздней модели сервера.

Изначально сервер поступил с полным комплектом из 6 дисков на родных салазках. К сожалению, два из них работали нестабильно и были отстранены от работы. Еще два не соответствовали возрасту машины, слишком новые были обменены коллеге по увлечению Алексею из Vintage Server Room. В сервере осталось два диска по 4 Гбайт производства Quantum, но с маркировкой HP. В качестве системного был добавлен оригинальный 2 Гбайт диск. Еще двое салазок пока стоят пустые, а один слот занимает заглушка салазки были в плохом состоянии.

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


Потребовала замены батарея питания CMOS, что не удивительно. В этом машине, она выполнена в виде отдельного модуля на 4.5 В производства Rayovac. Она подключается к системной плате длинным кабелем с разъемом как у обычного системного динамика. Вместо батареи был установлен отсек для 3 элементов ААА, доработанный с использованием кабеля от штатного модуля.

Под крышкой


Пришла пора приглядеться внимательнее. Два родственника выглядят очень похоже, но и спутать их при этом сложно. Помимо удаления информационного дисплея и новой именной таблички, LH Pro получил корзины для дисков с возможностью быстрой замены такая опция была доступна и для LM, но сами корзины кардинально отличаются. Корзины для LM были выполнены в виде индивидуальных 5.25 модулей, каждый из которых вмещал один 3.5 диск с разъемом SCSI 50-pin (Narrow). Для извлечения диска требовалось отпереть замок.

Корзины в LH Pro несут по 3 диска с разъемом SCA (SCSI Configured Automatically на единый интерфейс выведено питание, шина и задатчик идентификатора диска) каждая и занимают по 3 пятидюймовых отсека. Возможно использовать как обычные диски половинной высоты, так и толстые полной высоты.


Основные отличия заключены, конечно, под крышкой. Кожух снимается как и прежде, после откручивания 5 винтов. Сама компоновка практически не изменилась, но сами компоненты полностью новые. Блок питания сменил форму, теперь появилась возможность установить сразу два блока питания для этого добавлена плата распределителя питания. В том числе из-за этого левой половине стало значительно теснее дополнительно сказываются новые корзины. Подключать и прокладывать кабели требует изрядной ловкости рук или демонтажа блока (или блоков) питания.

Само шасси снабжено информационными наклейками с описанием подключения шлейфов и расположением компонентов на разных версиях процессорных плат. Напомним, что модели LH Plus и LH Pro имеют взаимозаменяемые процессорные платы. Помимо платы требуется также заменить микросхему с прошивкой.


Системная плата, как упоминалось выше, содержит южную часть чипсета, в данном случае две микросхемы S82374SB и S82375SB, неизменные еще со времен 430NX, используемые для реализации EISA версии чипсета. Компанию им составляет PCI мост Digital 21052-AB, обеспечивающий поддержку второй PCI шины. Это связано с ограничением числа Bus Master устройств (имеющих возможность управлять вводом-выводом минуя процессор) до 3 на одной шине в старых EISA чипсетах. Серверным же картам расширения эта функция особенно важна.

Еще две микросхемы два Wide SCSI контроллера Adaptec AIC-7880, обеспечивающие пропускную способность до 40 Мбайт/с каждый. Других интегрированных PCI устройств на плате нет. Таким образом из 5 слотов EISA и 5 слотов PCI (одна пара слотов совмещенная можно установить карту только в один из них) 4 слота PCI могут использовать режим Bus Master, также он доступен для обоих SCSI контроллеров.

Также отдельно выполнен IDE контроллер (напомним, в 374/375 мостах нет встроенного) он имеет всего один канал и реализован на ISA/EISA Multi-IO контроллере PC87332VLJ.

Россыпь чипов PCI-мост Digital, EISA-мост Intel и два SCSI контроллера Adaptec
Верхняя часть системной платы с видеоконтроллером и Multi-IO
Контроллер Multi-IO

Сегодня это кажется удивительным, но в сервере нет интегрированного сетевого адаптера. Он рассчитан на использование отдельных карт расширения, в комплекте с нашим экземпляром шла плата Fast Ethernet от 3Com. Также были доступны платы фирменного стандарта HP 100VG-AnyLAN, появившегося немного раньше Fast Ethernet и позволяющего получить 100 мбит/с на витой паре Cat3. Также эта технология позволяла стыковать сети с распространенными TokenRing и Ethernet сетями с использованием простых мостов.

Сетевая карта 3Com и слоты EISA

Еще одним неоднозначным решением является интегрированная видеокарта. Серверы нетребовательны к производительности и возможностям видеосистемы в целом, но здесь HP ставит рекорд аскетизма на системную плату интегрирован ISA видеоконтроллер Trident 9000i с 512 Кбайт видеопамяти и встроенным RAMDAC.

Возможностей платы хватает для вывода изображения в режиме до 1024х768 при...16 цветах. Или 640х480 при 256 цветах. Крайне скромно. Производительность также скромна, но достаточно для отображения интерфейса Windows или, тем более, консоли Unix или NetWare. Главное, не включайте прорисовку содержимого окна при перемещении

Видеоконтроллер и 512 Кбайт видеопамяти

Процессорная плата гораздо скромнее системной, но в сравнении с LM, она стала вдвое больше и заняла в длину весь отсек теперь она устанавливается на направляющие. Плата несет на себе два чипа северных чипсета 440FX (82441FX и 82442FX), два разъема Socket 8 для процессоров Pentium Pro, два разъема для установки модулей питания процессора (VRM) и 4 слота оперативной памяти EDO DIMM.

Наш герой был выпущен в комплектации с одним процессором и прожил в таком виде почти всю жизнь. Вскоре после поступления, он был оборудован вторым VRM, подошедшим от сервера тогда еще конкурирующей компании Compaq, а процессоры был заменен на идентичную пару таких Pentium Pro 200/256K. Нашелся даже оригинальный радиатор!



Второй процессор увиделся и заработал сразу, а вот с памятью пришлось повоевать. Сервер приехал с 4 фирменными модулями памяти от HP парой на 128 Мбайт и парой на 32 Мбайт. К сожалению, именно одна из 128 Мбайт планок оказалась сбойной, причем сбой достаточно странный вместо положенных 128 Мбайт, она определяется как 85.1 Мбайт. Путем удаления половины чипов удалось сделать из нее рабочую и проходящую тесты 64 Мбайт планку, но использоваться она будет теперь только для тестовых нужд. Что ж, 192 Мбайт вполне достаточно для работы планируемой к установке системы.


Интересный факт: помимо NetServer LH Pro также выпускался кастрированный вариант LD Pro. Основанная на дизайне плат LH Pro, эта машина содержит лишь его половинку на процессорной плате распаян только один сокет, на материнской плате отсутствует часть слотов осталось 4 PCI и 2 EISA разъема, под сокращение попал и второй канал SCSI. Несмотря на одинаковое устройство и шасси, отличается фронтальная панель она содержит на два 5.25 отсека меньше и вмещает только одну трехдисковую корзину. Такая машина есть в коллекции Vintage Server Room.

Проникаем в сознание


После запуска, первым делом получаем ошибку сбой контрольной суммы CMOS и EISA. Сервер предлагает загрузиться с фирменного компакт диска, но для этого вероятно нужен SCSI-привод. С IDE CD-ROM загрузка не проходит. Интересно и то, что встроенной в прошивку утилиты настройки BIOS у сервера нет.

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

Отсутствие возможности загрузиться с диска не помеха, для LH Pro утилиты также доступны и на привычной дискете. Пара минут и все важные опции выставлены можно устанавливать операционную систему. Сервер будет работать под управлением Windows NT Server 4.0, в отсутствие возможности загрузки с оптического привода, лучше всего установить ее с родных дискет, а не с использованием установщика для DOS. В противном случае можно столкнуться с ограничением размера загрузочного раздела диска из-за файловой системы FAT, его размер не может быть более 2 Гбайт.

FAT32 не поддерживает NT 4.0, а поддерживаемые NT 4 Гбайт FAT разделы напротив не поддерживаются DOS. При установке с дискет также существует ограничение, связанное уже с BIOS максимальный раздел не должен выходить за пределы 1024 цилиндра, что при трансляции LBA соответствует 8 Гбайт.


В остальном, установка проходит стандартно, не потребовалось даже создавать дискету с драйверами SCSI контроллера. Интерфейс ОС выглядит уже довольно привычно, даже сегодня не вызывая затруднений для пользователя. А вот административная часть отличается значительно как в базовых настройках, так и в серверной части. Настройка устройств размазана по нескольким апплетам. Отсутствует полноценная поддержка PnP. Гораздо скромнее средства управления. Многих привычных по более новым версиям служб еще не появилось.


Основные сценарии использования Windows NT Server 4.0 остались прежними служба каталогов, файл-сервер, сервер БД (как правило с СУБД MS SQL Server), веб-сервер на базе IIS. Причем, основным назначением IIS были в то время скорее корпоративные порталы, нежели публичные веб-сервисы. Позднее появился созданный совместно с Citrix Windows NT Terminal Server Edition, предоставляющий функционал сервера приложений с терминальным доступом.


Как известно, вплоть до Windows 2000 системы линейки NT не умели управлять питанием системы, да и Windows 2000 работать умеет только с ACPI. Для Windows NT есть утилита и патч HAL (Hardware Abstraction Layer) от HP для поддержки выключения питания при завершении работы на платах с поддержкой APM.

Большинство однопроцессорных АТХ плат такой режим поддерживают. На десктопных двухпроцессорных есть сложности, например на FIC PN-6210 выключение так и не заработало. С этим сервером все еще проще он не поддерживает APM, нефиксируемая кнопка питания лишь управляет блоком питания по сути это классическая AT машина.

Что касается производительности пара Pentium Pro 200/256K, а по сути это одна из младших версий, и 192 Мбайт памяти позволяют не только достаточно комфортно работать в интерфейсе системы (если бы только не видеокарта!), но и оставляют большой запас для работы сервисов. Кроме СУБД, в такой конфигурации серверу по плечу большинство задач с использованием актуального софта тех времен. Для MS SQL все же потребуется больший объем памяти хотя бы 512 Мбайт для работы с базами адекватного объема.

Заключение



К сожалению, NetServer LH Pro/LH II стали последними серверами на основе удачного шасси, не только удобного и продуманного для безотказной работы компонентов, но и обладающего некоторым внешним шармом. Появление новых Pentium II Xeon не оставило шансов для них шасси стало стало бы слишком тесным, а для более скромных серверов на базе обычных Pentium II такие габариты напротив были избыточными.

Серверы начального уровня перебрались в более узкие башенные корпуса, а серверы среднего и высокого уровня получили новый конструктив с немного более узким, но значительно более вытянутым шасси. На основе это шасси выпускались машины как классическом исполнении, теперь в виду тумбочки на колесиках, так и набирающие популярность стоечные решения. Пока еще серверы не становились тоньше и 6, 8 и даже 10U корпуса не были чем-то из ряда вон выходящим.

Напротив, тонкие 1 и 2U системы были редкостью и считались экзотикой для телекоммуникационных применений. Но уже через 15 лет все перевернулось с ног на голову и теперь сервер более 2U кажется здоровенным динозавром. А кубики вернулись к нам в виде домашних медиасерверов и хранилищ. Привет, HPE MicroServer!

А теперь пора сказать До свидания!. Совсем ненадолго. Вас ждут новые истории о необычных, знаковых и просто интересных исторических компьютерах у Digital Vintage в запасах еще много интересной техники. До новых встреч!

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru