что такое сервер twhkmo
Что такое name-серверы (NS)
DNS-сервер (Name-сервер, nameserver, NS) — сервер, преобразующий доменные имена, с которыми работают пользователи, в понятные компьютерам IP-адреса или в обратном направлении. Обычно не делают разницы между понятиями NS и DNS-серверов.
Какие функции выполняет name-сервер?
Привычные пользователям домены не являются настоящими адресами хостов в сети, для идентификации которых на практике используются IP-адреса. Работа с ними неудобна для пользователей, поэтому применяется система DNS-серверов. Они выполняют несколько базовых функций.
Существует 3 основных типа DNS-серверов:
Что такое дочерние NS-серверы?
Дочерние DNS-серверы настраиваются на основе используемого родительского домена. Например, для example.net дочерние NS будут выглядеть так:
Дочерние DNS-серверы позволяют расположить DNS-серверы для домена на его поддоменах.
При делегировании домена с использованием дочерних DNS-серверов потребуется помимо их имен указать и IP-адреса.
Какие бывают ресурсные записи для домена?
Для того, чтобы настроить на своем домене сайт, почту или другие сервисы, потребуется в зоне домена указать соответствующие сервисам ресурсные записи.
Настройка ресурсных записей выполняется либо хостинг-провайдером автоматически, при создании сайта или почты в панели управления хостингом, либо администратором домена вручную с помощью специального редактора.
Базовые типы записей, с которыми работают администраторы и владельцы сайтов:
Корректность заполнения ресурсных записей важна для успешного делегирования домена и дальнейшего функционирования службы name-серверов. Главное правило оформления NS-записей — не забывать ставить точку после имени. В противном случае возможны ошибки и служба DNS не сможет направить запрос по правильному адресу.
Какие DNS-серверы необходимо указывать для домена?
Список DNS-серверов услуг RU-CENTER вы найдете в статье.
Как выбрать оптимальное серверное решение и не ошибиться
Если вы уже сделали для себя стратегический выбор в пользу покупки сервера и создания собственной IT-инфраструктуры, то следующим вашим шагом станет выбор конкретной серверной платформы.
Мы уже рассказывали, как выбрать сервер для небольшой компании, и эта статья – ее логическое продолжение, из которой вы узнаете, как именно выбрать подходящую вам серверную платформу, как это повлияет на бизнес и почему этот выбор важен.
Выбор из трех сегментов: Enterprise, SMB, SoHo
Сегодня достаточно широко распространена система разделения серверного оборудования по его качеству, надежности и предназначению на несколько сегментов. Лучше всего ее можно сформулировать так:
Оборудование SoHo проще, его стоимость меньше, и оно больше подходит для решения несложных задач. Как правило, производительную и надежную IT-инфраструктуру из оборудования уровня SoHo не строят, так как оно лучше подходит для домашних и офисных сетей, предназначенных для небольших нагрузок и способных объединить в себе лишь небольшое число хостов.
С другой стороны, реалии таковы, что иногда именно небольшому предприятию выгоднее будет использовать небольшое количество оборудования уровня Enterprise со всей его высокой отказоустойчивостью, достаточной масштабируемостью и отличным уровнем сервиса/технической поддержки, тогда как некоторые сравнительно большие предприятия смогут обойтись, сэкономив, и SMB уровнем – ведь совокупная стоимость владения оборудованием и ПО не сводится только к их закупке. Также в неё входит содержание, обслуживание и ремонт оборудования, плюс, конечно же, потери от простоев. Ну а огромные корпорации могут создавать собственные серверные и даже ЦОДы, комбинируя оборудование всех уровней в своей инфраструктуре.
Чтобы определиться с выбором оборудования вам необходимо:
Ниже мы так же обсудим, что бывает, если совмещать производителей оборудования, а также как сделать собственную инфраструктуру устойчивей. Однако какой бы путь вы ни выбрали – никогда не забывайте про масштабируемость.
«Большая тройка»
Главные представители сегмента – всем известная «Большая тройка»: Hewlett-Packard, IBM (Lenovo) и Dell, предлагающие элитное оборудование, созданное для обеспечения высокой производительности, а также удобства апгрейда и управления системой в целом, однако не лишенное недостатков. Их главным недостатком, несомненно, является стоимость приобретения данного оборудования, так как создание столь совершенной техники – дело далеко не дешевое.
Каждый вендор «Тройки» старается создать максимально отказоустойчивую и надежную систему, продумывая каждую мелочь и деталь. Как правило, данные производители жестко регламентируют поддерживаемые (и соответственно протестированные) своим железом комплектующие, попутно распространяя их в «канале». Поэтому у каждого производителя возникает целая экосистема из собственного софта и железа, произвольная замена которого может повлечь потерю в производительности. Но эти ограничения не заложены на уровне железа.
Также стоит помнить, что одним из главных достоинств этих вендоров является предоставляемый сервис (Care Pack HP, ProSupport Dell и ServicePac IBM). Это очень недешевая услуга, доступная в нескольких вариациях, некоторые из которых могут повысить стоимость оборудования в полтора-два раза. При таких затратах специалисты технической поддержки будут доступны 24/7 и время их отклика не будет превышать нескольких часов.
Но техподдержка вполне может отказать в помощи или гарантии, если вы обратитесь туда с системой, в которой будут установлены не одобренные производителем комплектующие. Это сводит смысл экономии на нет.
Удобство и простота в управлении вашим серверным парком также могут быть достигнуты в том случае, если Вы строите всю инфраструктуру на платформе одного производителя.
Кроме всего вышесказанного, дорогостоящее, мощное (и не всегда достаточно гибкое) оборудование из Enterprise-сегмента способно обеспечить своему владельцу избыточную отказоустойчивость, производительность и лишние сервисы.
Ну и, конечно, стоит понимать, что любые серверы выходят из строя и подвержены зачастую непредсказуемым проблемам с совместимостью и обновлением ПО. Просто Enterprise-сегмент менее этому подвержен и старается предоставить все необходимые ресурсы, чтобы максимально быстро решить возникшую проблему.
Выбор из «Тройки»
Конкурентная борьба между членами «Большой Тройки» — это уже очень давнее высокотехнологическое соперничество. Администрация любого из этих гигантов – практически отдельная профессия, поэтому сравнить их достоинства и недостатки довольно сложно. В общем виде они выглядят так:
Чтобы не только на словах, но и на деле продемонстрировать эти различия, давайте рассмотрим несколько мощных серверов от «Тройки» в форм-факторе 1U, идеально подходящих для виртуализации (и их б/у-аналоги – где возможно их подобрать):
Виртуализация предъявляет больше всего требований к вычислительной мощности сервера, и наличие в линейке у того или иного производителя сервера под виртуализацию довольно показательно. Наиболее изящное решение, мощное и недорогое, из представленных предлагает HP, хотя сервер Dell способен на большее, но и стоит он в полтора раза больше. Самым дорогим получился сервер Lenovo – в нем меньше слотов для оперативки, но достаточно мощные процессоры.
SMB или Enterprise?
Supermicro – нишевый игрок
Главным и наиболее популярным игроком в SMB-сегменте является компания Supermicro, которой фактически удалось воплотить универсальный конструктор, совместимый с самыми разнообразными компонентами. На этой платформе можно строить что угодно из чего угодно, а утверждение, что его серверы менее надежны и выходят из строя чаще, чем оборудование «Тройки», всегда наталкивается на отсутствие статистики и возражения армии довольных пользователей бренда. Так что именно при упоминании о Supermicro встает вопрос – SMB ли это или Enterprise? Пока что больше голосов раздается в пользу первого варианта, но, может быть, это просто сила инерции мышления?
У Supermicro также присутствует свой интерфейс управления серверами в условиях отсутствия физического доступа к ним – IPMI, который хоть и не может похвастаться таким же богатым функционалом как у «Тройки», однако может показать системные логи, отрегулировать скорость оборотов вентиляторов и предоставить доступ к iKVM Console Redirection.
Да, полная поддержка удаленной прошивки некоторых комплектующих в платформах Supermicro отсутствует (например, дискретного Raid контроллера или сетевой карты). Слишком уж большое количество различного железа можно в ней использовать, и просчитать все ситуации комплектации, как это делается в Enterprise-сегменте, в данном случае невозможно. Но именно это и обеспечивает гибкость платформы, которой так недостает «Тройке».
Однако не раз мы встречались с ситуациями, когда некоторые отдельные части платформы, — блоки питания, вентиляция, бэкплейн, — у Supermicro подводили. Чтобы добиться достаточной отказоустойчивости системы исключительно на Supermicro, инфраструктуру можно резервировать, продублировав каждый сервер, и в сумме это может оказаться дешевле приобретения аналогичной платформы от «Тройки». Справедливости ради стоить заметить, что это вдвое увеличит затраты на охлаждение, электропитание и их обслуживание в целом.
Элементарная логика подсказывает очевидное решение: важные/критические для компании сервисы разворачиваются на оборудовании (серверах) уровня enterprise, менее важные – на серверах SMB-уровня. Тут, конечно, все должно зависеть от конкретной ситуации, и ваше решение должно опираться на возможности вашего бюджета и оценку рисков.
Другой частый лайфхак, в котором нет минусов удвоенного питания и охлаждения – использовать целые запасные серверы Supermicro для холодной замены, только вынимать не отдельный блок питания/диск, а целый rack разом. Такой трюк с оборудованием от «Тройки» вряд ли имеет смысл.
Отдельно стоит сказать несколько слов про техподдержку Supermicro. У компании нет представительства в России, и техническая поддержка не контактирует с конечным пользователем. Не стоит удивляться, если вам придется ждать ответа в течение недели-другой, а ваш поставщик выполнит гарантийные обязательства с большой задержкой.
Опять обращаясь к конкретным примерам, вспомним мощную сборку сервера виртуализации Supermicro Team Server R1-E54 (1U), 2хE5-4600 v2 (12 ядер), до 1024ГБ, блок питания 1400W. Стоит он от 167 000 рублей, но при этом по мощности и потенциалу свободно конкурирует с «Большой тройкой».
Правда, покупать в ЗИП такой сервер будет уже накладно. А вот упомянутую нами выше модель б/у сервера за те же деньги можно купить одну в работу и одну про запас — мощность у них сопоставимая.
Fujitsu – свой среди чужих, чужой среди своих
Немалую популярность на отечественном рынке сегодня успели набрать серверы японской компании Fujitsu, которая занимается не только производством серверного оборудования, но и созданием суперкомпьютеров.
Она пока не настолько известна, как «Тройка» или Supermicro, но ее представители утверждают, что она занимает четвертое место на мировом серверном рынке и первое на японском (хотя по данным некоторых источников, на местном рынке ее теснит компания NEC – в 13 году доля Fujitsu на японском рынке серверов на процессорах x86 была на 5% меньше, чем NEC). Fujitsu всеми доступными средствами рвется присоединиться к «Большой Тройке», стараясь не уступать ни в отказоустойчивости производимого оборудования, ни в масштабируемости, ни в сервисе.
В отличие от SM, Futjitsu имеет представительство в России и старается создать сервис, максимально приближенный к предлагаемому «Тройкой» — Support Pack, который в расширенном виде также предполагает круглосуточную техподдержку, быструю реакцию, вызов специалистов и продление гарантийного срока. Кроме того, компания также готова заключить с клиентами Solution Contract, обеспечивающий поддержку и настройку программного обеспечения в соответствии с нуждами определенного проекта, мониторинг оборудования специалистами компании и рекомендации по расширению или улучшению инфраструктуры.
Мощный современный сервер виртуализации Fujitsu Primergy RX2530M1 (1U), 2xE5-2600v3 (6 ядер), до 1536ГБ, 2 блока питания мощностью 450 Вт/800 Вт стоит всего 112 694 рублей. Обходит по возможностям оперативной памяти соответствующие сборки Supermicro, может быть немного «провисает» в мощности процессора, но зато стоит сравнительно дешево, тогда как производитель заявляет об отказоустойчивости уровня «Тройки».
К сожалению, наработанной репутации у этого бренда в нашей стране еще просто нет, так что определить его положение между «Тройкой», за которой он якобы идет во всем мире, и Supermicro, которую поддерживает своим кошельком целая армия поклонников, сложно. Возможно, кто-нибудь увидит для себя возможность при выборе этой платформы неплохо сэкономить попросту на договоренностях с компанией о скидках, но в этом придется надеяться на собственную деловую хватку.
Суммируя сказанное
Итак, если для вас ключевым параметром при выборе является отказоустойчивость, если вы уже сейчас понимаете, что систему точно придется масштабировать, а возникшие проблемы решать максимально быстро — выбирайте из «Большой Тройки». Скорее всего меньше всего затрат будет с Lenovo, в HP наверняка получится найти хорошее сочетание стоимости с производительностью (и жесткое ограничение по железу) — однако тут уже исходить нужно из конкретно стоящих задач.
Если хочется сэкономить и получить мощное производительное оборудование — стоит подумать о системе на основе платформы Supermicro, однако в таком случае перед вами будет стоять задача (вполне, как мы показали, решаемая) обеспечения отказоустойчивости. То же можно сказать, если у вас недостаточно финансирования для «Тройки» — и в таком случае можно подумать над альтернативными платформами, которые меньше представлены у нас в стране, но ценятся в мире — например, Fujitsu.
А с какими достоинствами и недостатками оборудования этих вендоров сталкивались вы?
Как выглядит сервер
Он может быть размером со шкаф или со спичечный коробок
Мы постоянно слышим про серверы в интернете: как на них что-то установить, как настроить, как подключиться. Но что физически собой представляет сервер?
Раньше это были огромные шкафы, набитые электроникой, а сейчас сервером может стать даже одноплатный компьютер. Рассказываем, как такое возможно и чем отличается сервер от обычного компьютера.
Что есть сервер
У слова «сервер» два значения:
Мы сегодня говорим о компьютерах. О программах мы говорим в другом цикле →
Что делают серверы
Главная задача сервера — выполнять запросы пользователей. Пользователи называются клиентами, как клиенты в ресторане. Они отправляют на сервер запрос, а тот должен его исполнить по правилам, которые прописаны в его софте.
Например, запросы могут быть такими:
А вот как серверы могут реагировать:
Получается, что всё, что делает сервер, — это получает запросы и реагирует на них. Больше никакой магии в серверах нет.
Сервер в стойке
Наверняка вы видели такое в фильмах про хакеров или в новостях по телевизору про дата-центры и инновации: много проводов, мигают лампочки и размером с хороший советский шкаф. Обычно это выглядит примерно так:
Но на самом деле это не сервер, а серверная стойка — специальный железный ящик, куда вкручиваются серверы — широкие и плоские компьютеры:
Именно такой плоский компьютер и есть сервер, а не вся стойка целиком. У такого компьютера могут быть разъёмы для клавиатуры и монитора, но их подключают, только когда что-то сломалось. Обычно в сервер просто втыкают сетевой кабель и настраивают всё через консоль.
А стойки нужны, чтобы серверы было удобно хранить и размещать в помещениях, или соединять несколько серверов в один большой суперкомпьютер для сложных задач. Также стойку проще охлаждать, запитывать и обслуживать, чем груду отдельно стоящих компьютеров.
Обычный компьютер в виде сервера
Обычный системник, который стоит дома, тоже может быть сервером, если его подключить к интернету и научить обрабатывать запросы.
Например, примером такого сервера может быть домашнее файловое хранилище:
В итоге вы получите полноценный сервер, задачей которого будет собирать, хранить, а потом отдавать вам по запросу ваши файлы.
Одноплатный сервер
У сервера может быть и такая задача: собирать данные с погодных датчиков, обрабатывать их, получать данные с соседних серверов и присылать каждый час в телеграм самый точный прогноз.
Для этого не нужен ни сервер в стойке, ни даже системник — достаточно простого одноплатного компьютера на линуксе. Под такие задачи хватит и слабого железа, тем более что разместить его можно где угодно, энергии ест мало и работает бесшумно. Главное — чтобы было подключение к интернету.
Компьютер Onion Omega 2+ — одноплатник, на котором можно запустить Linux
Зачем нам так много серверов?
У каждого сервера своя задача: одни хранят фотки, другие — любые файлы, третьи обслуживают соцсети, четвёртые нужны для работы госучреждений, на пятых крутятся игровые комнаты и так далее.
Общее правило такое — под более-менее важную для проекта задачу делают отдельный сервер. А так как задач у людей много, то и серверов, которые решают эти задачи, тоже много.
Что такое сервер и для чего он нужен
Содержание
Содержание
Сегодня сервера используются везде, от предприятий и промышленных комплексов, до государственных и военных структур.
Нередко можно услышать фразы вроде «правительственные сервера» или «сервера компании, бренда».
Для многих сервер — это просто корпоративный компьютер, предназначенный для обработки и хранения информации, но это не совсем так.
Ликбез для чайников
Каждый сервер запускается для выполнения определенных задач, вот некоторые из них:
Существуют сервера для рендера, майнинга, разнообразных облачных технологий и научных исследований.
Каждый сервер требует индивидуальной конфигурации, подбора оборудования и комплектующих.
Понятным языком — что такое сервера, для чего нужны
Сервер — компьютер, подключенный по локальной или внешней сети, к которому периодически обращаются другие компьютеры, именуемые клиентами.
Не каждый сервер стоит на серверном программном обеспечении и состоит из серверных комплектующих, но каждый сервер находится в одной сети с другими компьютерами.
Серверные системы отличаются от стационарных ПК, и служат для выполнения иных задач.
Для корпоративных и коммерческих целей собираются полноценные серверные платформы. Такие сборки отличаются от десктопов серверными процессорами, материнскими платами и даже оперативной памятью.
Серверные процессоры отличаются от десктопных по нескольким показателям:
В последние годы, компания AMD стала выпускать как серверные, так и десктопные модели процессоров с одинаковым количеством потоков и ядер, в то время как Intel не отступает от производственных стандартов.
Модель процессора | AMD EPYC 7742 | AMD Ryzen Threadripper 3990X | Intel Xeon Platinum 8380HL | Intel Core i9-10980XE Extreme Edition |
Платформа | Сервер | Десктоп | Сервер | Десктоп |
Количество ядер | 64 | 64 | 28 | 18 |
Количество потоков | 128 | 128 | 56 | 36 |
Базовая тактовая частота процессора | 2.3 ГГц | 2.9 ГГц | 2.9 ГГц | 3.0 ГГц |
Максимальная тактовая частота процессора | 3.4 ГГц | 4.3 ГГц | 4.3 ГГц | 4.8 ГГц |
Кэш-память | 256 МБ | 256 МБ | 38.5 МБ | 24.75 МБ |
Макс. объем памяти | 4 ТБ | 1 ТБ | 4.5 ТБ | 256 ГБ |
Макс. число каналов памяти | 8 | 4 | 6 | 4 |
Макс. пропускная способность памяти | 190.7 ГБ/с | 95.37 ГБ/с | 187.2 ГБ/с | 94 ГБ/с |
Учитывая объемы ОЗУ, устанавливаемые на серверные сборки, десктопная версия операционной системы подойдет далеко не всем предприятиям.
Например, Windows 10 в 2020 году ограничена двумя терабайтами ОЗУ, при этом Windows Server 2019 способна работать при 24 терабайтах оперативной памяти.
Основной задачей серверных систем является обработка максимальных объемов информации в кратчайшие сроки.
На серверах обычно хранят и редактируют данные, устанавливают производственное программное обеспечение и производят расчеты.
Как понять, что вашему малому предприятию (или не малому) пора обзавестись собственным сервером
В чем собственный сервер может помочь предприятию?
Если предприятие нуждается в подобных услугах, то пора обзавестись собственным сервером.
Свой асинхронный tcp-сервер за 15 минут с подробным разбором
Ранее я представил пару небольших постов о потенциальной роли Spring Boot 2 в реактивном программировании. После этого я получил ряд вопросов о том, как работают асинхронные операции в программировании в целом. Сегодня я хочу разобрать, что такое Non-blocking I/O и как применить это знание для создания небольшого tcp–сервера на python, который сможет обрабатывать множество открытых и тяжелых (долгих) соединений в один поток. Знание python не требуется: все будет предельно просто со множеством комментариев. Приглашаю всех желающих!
Мне, как и многим другим разработчикам, очень нравятся эксперименты, поэтому вся последующая статья будет состоять как раз из серии экспериментов и выводов, которые они несут. Предполагается, что вы недостаточно хорошо знакомы с тематикой, и будете охотно экспериментировать со мной. Исходники примеров можно найти на github.
Начнем с написания очень простого tcp–сервера. Задача сервера будет заключаться в получении и печати данных из сокета и возвращения строки Hello from server!. Примерно так это выглядит:
Здесь все довольно просто. Если вы не знакомы с понятием сокета, то вот очень простая и практическая статья. Мы создаем сокет, ловим входящие соединения и обрабатываем их согласно заданной логике. Здесь стоит обратить внимание на сообщения. При создании нового соединения с клиентом мы пишем об этом в консоль.
Хочу сразу заметить, что не стоит серьезно вникать в листинги программ до полного прочтения статьи. Совершенно нормально, если что-то будет не совсем понятно в самом начале. Просто продолжайте чтение.
Нет особого смысла в сервере без клиента. Поэтому на следующем этапе необходимо написать небольшой клиент для использования сервера:
Важной особенностью здесь является тот факт, что мы в начале устанавливаем максимально возможное количество соединений, а только потом используем их для передачи/хранения данных.
Давайте запустим сервер. Первое, что мы видим:
Это означает, что мы успешно запустили наш сервер и он готов принимать входящие запросы. Запустим клиент и сразу увидим в консоли сервера (у вас порты могут быть другими):
Что и следовало ожидать. В бесконечном цикле мы получаем новое соединение и сразу же обрабатываем данные из него. В чем тут проблема? Ранее мы использовали опцию server_socket.listen(10) для настройки сервера. Она означает максимальный размер очереди из еще не принятых подключений. Но в этом нет совершенно никакого смысла, ведь мы принимаем по одному соединению. Что предпринять в такой ситуации? На самом деле, существует несколько выходов.
Как можно понять по выводу, мы принимаем новые коннекты и данные почти параллельно. Более того, мы не ждем данных от нового подключения. Вместо этого мы устанавливаем новое.
Как это работает?
Дело в том, что все наши операции с ресурсами (а обращение к сокету относится к этой категории) происходят через системные вызовы операционной системы. Если говорить коротко, то системные вызовы представляют собой обращение к API операционной системы.
Рассмотрим, что происходит в первом случае и во втором.
Синхронный вызов
Давайте разберем рисунок:
Первая стрелка показывает, что наше приложение обращается к операционной системе для получения данных из ресурса. Далее наша программа блокируется до появления нужного события. Минус очевиден: если у нас один поток, то другие пользователи должны ждать обработку текущего.
Асинхронный вызов
Теперь посмотрим на рисунок, который иллюстрирует асинхронный вызов:
Первая стрелка, как и в первом случае, делает запрос к ОС (операционной системе) на получение данных из ресурсов. Но посмотрите, что происходит далее. Мы не ждем данных из ресурса и продолжаем работу. Что же делать нам? Мы отдали распоряжение ОС и не ждем результат сразу. Простейшим ответом будет самостоятельно опрашивать нашу систему на наличие данных. Таким образом, мы сможем утилизировать ресурсы и не блокировать наш поток.
Но самом деле такая система не является практичной. Такое состояние, в котором мы постоянно смотрим на данные и ждем какого-то события, называется активным ожиданием. Минус очевиден: мы впустую тратим процессорное время в случае, когда информация не обновилась. Более правильным решением было бы оставить блокировку, но сделать ее «умной». Наш поток не просто ждет какого-то определенного события. Вместо этого он ожидает любое изменение данных в нашей программе. Именно так и работает функция select в нашем асинхронном сервере:
Теперь можно вернуться к реализации нашего асинхронного сервера и взглянуть на него с новым знанием. Первое, что бросается в глаза, – метод работы. Если в первом случае наша программа выполнялась “сверху вниз”, то во втором случае мы оперируем событиями. Такой подход в разработке ПО называется событийно-ориентированным (event-driven development).
Сразу стоит отметить, что такой подход не является серебряной пулей. У него имеется масса недостатков. Во-первых, такой код сложнее поддерживать и менять. Во-вторых, у нас есть и всегда будут блокирующие вызовы, которые все портят. Например, в программе выше мы воспользовались функцией print. Дело в том, что такая функция тоже обращается к ОС, следовательно, наш поток выполнения блокируется и другие источники данных терпеливо ждут.
Заключение
Спасибо, что прочитали статью до конца! В следующий раз (уже скоро) я расскажу о прочих возможных неблокирующих ситуациях в жизни наших программ. Буду рад вас видеть и в следующих постах.