Jump to content
Калькуляторы

Реализация DNS-сервера на виртуалке или отдельная железка

Скоро прибудут два больших железных сервера, на которых будит стоять серверная винда. На этих железках будут крутиться 1С-сервер, сервер мониторинга, билинг ну и все в этом духе. Все это добро будит поднято на виртуалке VMware. И вот возник вопрос:

1) каким образом лучше организовать DNS-сервер, на этих же железяках в отдельно виртуальной машине или лучше купить сервер чуть попроще, но на котором будит работать только DNS (существует своя AS и свой пул IPv4 и IPv6 адресов).

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

3)Как себя поведет DNS-сервер под виндой?

4)Ну и какую связку DNS-сервер-OS посоветуете?

Edited by incognito14

Share this post


Link to post
Share on other sites

Речь про ISP или энтерпрайз?

 

3. У меня на W2k неплохо работал PowerDNS на пару тысяч пользователей.

4. FreeBSD + BIND. Есть нужен только кеширующий DNS, то вместо BIND можно dnsmasq.

Share this post


Link to post
Share on other sites

Речь про ISP или энтерпрайз?

энтерпрайз

 

4. FreeBSD + BIND. Есть нужен только кеширующий DNS, то вместо BIND можно dnsmasq.

нужен и мастер и слайве, но это вторичные вопросы. А первичные вопросы это 1) и 2). Есть по ним какие-нибудь предложения?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

С виртуалками будьте аккуратны с OpenVZ, например, там с коннтраком проблемы, а DNS его жрет как ошалелый. Unbound/PowerDNS - хорошие варианты.

Share this post


Link to post
Share on other sites

опенвз это не вирталка а поделка, надстройка, упоротая ресурсами родительской оси, выбор у вас только vmware или ...vmware, если у вас 86 архитектура, ну или покупайте на power ibm серверы, пихайте туда vios, и пилите его на виртуалки под aix производительность будет сумашедшая

Share this post


Link to post
Share on other sites

Нормально работает на OpenVZ, главное буфер для UDP побольше поставить.

Share this post


Link to post
Share on other sites

выбор у вас только vmware

Под Windows да, лучший выбор.

Но VirtualBox тоже хорошо работает.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

кстати да, ставьте винду в виртуалку и не парьтесь, быдлоадмина под винду проще найти, если что и сами разберётесь куда кликать

Share this post


Link to post
Share on other sites

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

К сожалению в своей предыдущей работе почти не использовал ни одну из технологий виртуализации, а DNS-сервера (небольшой провайдер около 200 абонентов (юриков))были подняты на FreeBSD (BIND) причем не на самом мощном железе и прекрасно работали, особо не нагружая ресурсы.

Но у руководства возник вопрос в + и - того и другого подхода в реализации DNS. И вопрос в используемых ресурсах "компьютера" при работе на нем DNS-сервера.

Можно ответить на это поподробней? Или куда обратиться за информацией по этому вопросу?

Share this post


Link to post
Share on other sites

Еще раз: "ресурсы" "компьютера" будут использоваться пропорционально нагрузке на сервер.

 

Безотносительно используемого сервиса(DNS-, HTTP-, MAIL- etc сервер), более производительной будет установка ПО сервиса на отдельный выделенный сервер, чем на точно такой же сервер, но внутрь виртуальной машины. Происходит это потому, что во втором случае сервер будет тратить свои "ресурсы" не только на выполнение ПО сервиса, но и на виртуализацию ОС, в которой запущено это ПО. А следовательно ПО получит меньше "ресурсов", чем в первом случае. Неужели для вас неочевидна эта простая причинно-следственная связь?

Share this post


Link to post
Share on other sites

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

Да, целых полтора процента перерасхода.

На современных системах заметное падение производительности в гостевой системе может быть разве что для 3D-игр.

 

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

Но для энтерпрайза навряд-ли такое потребуется.

Share this post


Link to post
Share on other sites

ламер agr detected!

 

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

 

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

Share this post


Link to post
Share on other sites

будит использоваться vmware на серверной винде.

для начала поймите что нужно использовать "серверную винду" под VmWare ,а не то что хотите сделать вы сейча.

 

 

 

Share this post


Link to post
Share on other sites

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

чушь всё. в современных реалиях, почти все приложения, которые есть желание балансировать умеют многопоточность. если говорить про ISP и content, то это всякие dns, http, ftp, videostream и т.п. - всё многопоточное

 

чисто программные ограничения по размерам областей памяти в подсистемах ОС и тогда становится понятно что никакая ОС ни когда не бедет использовать вычислительный ресурс мощной железяки на 100 %

наркоман чтоле? под x86_64 уже давно весь софт скомпилировали, который кушает память больше 2-4Гб

 

 

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

ну точно наркоман. кто мешает поднять эти лимиты? в linux, unix-ах оно точно поднимается. наверное и винде можно, врать не буду

 

единственное место где виртуалки просерают --- это приложения где есть дисковый ввод-вывод

тоже глупости. презентовать raw lun в виртуалку и не заметите разницы по скорости. проверено лично

конечно, если не обсуждать soho-решения типа ide/sata hdd, на которых виртуальный hdd это тупо файл на дохлом винте

по сетевым картам тоже всё давно придумано - passthrough и SR-IOV VF. Да что уж тут говорить, даже видеокарту можно пробросить в guest-машину на гипервизоре (очень мало моделей, потому что никому это реально не нужно)

 

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

Share this post


Link to post
Share on other sites

Хе, чукчи-писатели набижали.

Share this post


Link to post
Share on other sites

Хз как в вмварь, но через гиперви точно заметно падение производительности внутри виртуалке.

Share this post


Link to post
Share on other sites

VMware не поддерживает уже давно VMware Server чтобы его ставить поверх винды.

Либо workstation либо ESXi на голое железо, а там уже что хотите то и делайте.

SQL сервер или Оракл под высокой нагрузкой я б не стал в вмваре ставить.

Edited by Macro

Share this post


Link to post
Share on other sites

гипер ви ага, та еще кака, oracle database под ним больше мёртвый чем живой, и это при всеголишь тыщще апдейте запросов в секунду, дохнет при переключении redo логов, потому что на момент выполнения дисковых операций гипервизор ставит виртуалку на паузу, транслирует команду ATA / SCSI и продолжает выполнение, и при интенсивном дисковом вводе/выводе любой гипервизор валит производительность, а вот серверы приложений чувствуют себя отлично, единственная засада --- это приложения пользующие /dev/random на виртуалках из-за отсутствия большого количества источников энтропии он поплоняется мало и таже ява с какимнибудб вэблоджиком начинает тормозить. решается искуственными методами.

 

s.lobanov, Вы когда-нибудь лазали в исходники всех этих приложений? Вы про правила распределения и естественные ограничения на значения sysctl параметров слышали? Конкретику давайте, а

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

это ламерский головотяпский подход. Не хочу Вас обидеть, но в подобные бредни верят все, кто плохо со всем софтом и программированием знаком, и не всегда выкручивание в потолок даёт результат, с определённого значению увеличения начинают только вредить, память не резиновая, и если под юзерспейс в котором работает процесс выпилить можно вагон памяти, то области память под дисковый и сетевой ввод-вывод и буфера конкретно ограничена, и дуть до предела размеры буферов бесполезно, жирный буфер, который автоматом выделяется при коннекте при работе с мелкими пакетами и большим их количеством унесёт в могилу ОС даже без ддоса, если по 16 мегабайт выделять при работе с пакетами меньше килобайта на каждый пакет то при каком количестве одновременных коннектов сдохнет сервак с 32 гигами памяти, если под сетевые нужды выпилен всего гиг памяти, а остальное УЖЕ под кеш сожрала база данных?

Share this post


Link to post
Share on other sites

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

 

Если Вы его не понимаете и не умеете готовить - то да. Могу привести примеры _авторитативных_ DNS на нагрузке в 10 000 rps стоящие в виртуалке на OpenVZ.

Share this post


Link to post
Share on other sites

Могу привести примеры _авторитативных_ DNS на нагрузке в 10 000 rps стоящие в виртуалке на OpenVZ.

 

Приведите.

А заодно список железа на хост-машине.

Share this post


Link to post
Share on other sites

vmware, HV, sql - это все хорошо и полезно, и нужно. Но все таки как на счет DNS? Все-таки какие параметры железа/виртуалки будут задействованы?

Share this post


Link to post
Share on other sites

А поставить и посмотреть никак?

DNS-сервера бывают разные.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this