toggle
Операционная система
Автор: Blakkky    19.04.2010 16:49

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

Разрядность ОС.

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

х32 системы, в связи с тем, что в для адресации в странице памяти, доступной ОС, используется 32хразрядное беззнаковое число, вполне очевидно ограничение размера максимально доступной оперативной памяти, - это 2^32 (4.294.967.296), т.е. максимальное количество оперативной памяти равно 4Гб. Добавим к этому то, что самой операционной системе надо под свое ядро зарезервировать память, и получим, что приложениям будет доступно 2Гб оперативной памяти в базовой настройке системы (по-умолчанию, операционная система резервирует память под окружение ядра в соотношении 2Гб/2Гб). Путем некоторых ухищрений, можно этот баланс изменить на 1Гб/3Гб (т.е. 1Гб на окружение ядра, 3Гб - на приложения). В рамках Windows, это делается ключиком /3GB в boot.ini, в рамках linux-систем, эта проблема решается перекомпилированием ядра ОС с соответствующим ключем при компилировании.

x32 PAE системы. PAE - это модификация ядра 32хбитной ОС, в которой используется 36 бит для адресации в памяти, что позволяет выделить до 3Гб памяти на каждое приложение (в классическом варианте х32 ОС адресуется в 4Гб всего, т.е. на все приложения и ОС отводится 4Гб памяти). В Windows этот режим включается ключем /PAE в boot.ini, в linux - установкой PAE-ядра или компиляцией с соответствующим ключем.

x64 систем уже не имеют прескорбного ограничения на количество оперативной памяти, но теперь встает другая проблема - это их производительность при работе с x32-приложениями. Любая 64хбитная ОС позволяет выполнять и 32хбитные приложения, но при их выполнении происходит трансляция 32хбитного машинного кода в 64хбитный для совместимостями с ядром операционной системы, что, естественно, сказывается на скорости работы данного приложения и не в лучшую сторону. Это же относится и к всевозможным драйверам, поэтому, при установке 64хбитной ОС, нужно иметь полный комплект 64хбитный драйверов под все оборудование системы и всем необходимым 64хбитным софтом, иначе производительность системы в целом будет заметно ниже.

Теперь касательно всего этого преминительно к серверу Lineage 2. Если вы рассчитываете на небольшой онлайн (до 300), то в 3Гб оперативной памяти сервер вполне уложится и можно смело ставить х32 ОС. При наличии внешнего geo-сервера можно на х32 ОС держать и больший онлайн (до 600), переключив ОС в PAE-режим. На онлайн больше 1000, однозначно, нужна уже 64хбитная ОС, т.к. потребление сервером оперативной памяти уже переваливает за 5-6Гб, но в этом случае стоит заранее запастись 64хбитными драйверами ко всем устройствам и, как минимум, 64хбитной java-машиной (без последнего пункта толку от 64хбитной ОС вообще не будет).

Windows vs Linux vs прочее

Войне между windows и linux платформами пошел уже 2й десяток лет, но окончательного победителя до сих пор не выявлено, да и вряд ли он когда-либо появится.

Windows. За ее использование говорит тот факт, что 99% пользователей так или иначе знакомы с ней и умеют ею пользоваться. Сразу оговорюсь, что под "windows" в качестве серверной ОС я имею ввиду линейку Windows 2003 Server и Windows 2008 Server, об использовании в качестве серверной ОС, их клиентской разновидности (Windows XP, Windows Vista и Windows 7) и речи быть не может из-за их существенных ограничений (количество поддерживаемых процессоров и ядер, ограничения на количество открытых сокетов на приложение, поверхностности журналирования системный событий и событий приложений и т.д.). Также хочу обратить внимание, чторечь идет о настроенной ОС, а не о том, что предлагает microsoft "из коробки" (2003 сервер еще более-менее вминаемый, а вот 2008 "из коробки" малопригоден как сервер приложений и требует существенной донастройки). Из недостатков использования windows-платформы в качетсве сервера,стоит обратить внимание на сравнительно низкую стабильность работы (несколько месяцев без перезагрузки уже критичны), непомерное потребление ресурсов системы под саму операционную систему (800-1000Мб RAM и стабильно 2-5% процессора на пустой операционной системе) и достаточно низкую пластичность самой системы (многие, подчас очень важные, параметры системы, такие например, как максимальное количество открытых файловых десткрипторов на приложение, количество разрешенных сокетов на приложение, настройка приоритетов на использования swap-а и т.д.), ну и не стоит забывать, что пробукты microsoft, в т.ч. windows, не бесплатные. Если выбирать из Windows-систем, я бы порекомендовал 2003 сервер, только хочу обратить внимание, что уметь поставить Windows XP и умение администрировать Windows 2003 Server очень далеки друг от друга. Да, с первого взгляда может показаться, что ничего сложного в этом нет, но это не так. Перед тем как поднимать сервер, стоит спросить себя, знаю ли я, что такое mmc и на сколько глубоко.

Linux. Против применения linux-систем говорит достаточно высокий порог вхождения (одной мышкой и окошками при ее использовании однозначно не обойтись) и наличие достаточно больших знаний и опыта по работе с ними, для выполнения элементарных действий. Правда, в поледнее время стали появляться дистрибутивы linux с достаточно хорошо проработанной графической оболочкой, но в этом есть и свои минусы, в частности, большинство нужных и полезных настроек системы и настройку большинства приложений и сервисов все-равно приходится делать через консоль (командную строку), да и за графику приходится платить количеством доступной оперативной памяти. Следует заметить, что linux-системы тоже стали появляться в, так сказать, клиентском и серверном вариантах. Различия между ними, по большей части, в параметрах компиляции ядра ОС и в наборе и версиях поставляемых приложений. Также стоит отметить низкую дружелюбность ОС по отношению к пользователю (при невнимательном или необдуманном использовании, безвозвратно уничтожить ОС и все данные можно менее чем за секунду). К достоинствам linux-систем можно отнести высокую стабильность (при использовании стабильных пакетов ПО, аптайм системы можно запросто исчислять годами, также, практически все изменения в системе и исправление практически любых ошибок можно делать без перезагрузки системы, вплоть до восстановления поврежденных разделов и подключения модулей к ядру), поддержку практически любого серверного железа "из коробки", полноценное 64хбитное окружение (все сервисы, модули ядра, драйвера и приложения под 64хбитную ОС имеются в 64хбитном варианте, либо же есть возможность получить их исходный код и скомпилировать 64хбитную версию самостоятельно), абсолютную пластичность ОС по отношению к "особым" настройкам (перенастроить можно абсолютно все, любые ограничения и значения "из коробки" можно поменять и настроить под свои нужды), практически незаметную работу ОС (200Мб памяти и менее 0.1% процессора на настроенной и работающей ОС), ну и опять же, практически все Linux-системы распространяются под лицензией GPL, т.е. абсолютно бесплатно. Если выбирать из linux-систем, моя рекомендация - Debian Lenny (не в коем случае не Ubuntu, хотя она относится к семейству debian-ов, но ее стабильность оставляет желать лучшего) либо CentOS 5 (меня лично он поразил своей стабильностью, ни одного неудачного обнавления за 3 года). Также стоит заметить, что настоятельно не рекомендуется подключать бета-репозитарии и ставить какие-либо нестабильные пакеты на работающий сервер, это может привести к плачевным результатам.

Прочие. Из "прочих" ОС можно выделить семейство BSD-систем (в частности FreeBSD). Основной причиной к вынесению их в одтельную часть был их подход к сборке системы, а именно, полное пост-компилирование всего ПО под конкретную машину. С одной стороны, это очень полезно, т.к. при компиляции под текущее железо получается наиболее производительный машинный код, с другой стороны, для качественного выполнения этого процесса нужны еще больее глубокие занания по работе данного семейства ОС в частности, и по работе ОС вообще. В добавокк этому, например, java-машина выходин под это семейство с большим запозданием, т.к. она проходит портирование кода с linux-систем на BSD.

Так что же выбрать?

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

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

PS: Лично мой выбор - это CentOS 5 x32 | x64, на всех моих серверах (и не только связанных с Lineage 2) стоит именно он.

 

Комментарии  

 
0 #1 Андрей 20.10.2010 07:48
Не слушайте этого долбоёба. По его совету поставил CentOS 4, удивился почему же так лагает, поставил 5-й и снёс все к чертям. Установил старый добрый убунту сервер 10.04. Ни одного сбоя за два месяца без ребутов. Кто не знает какой линух выбрать ставьте ubuntu server и не поддавайтесь на уговорки "профессионалов"
Цитировать
 
 
+4 #2 Blakkky 26.10.2010 15:24
Многоуважаемый, Андрей.
В том, что лично у Вас что-то не получается, вряд ли есть моя вина, как и в том, что Вы прочитали только последнюю строку статьи тоже. ;-)
Ubuntu Server хорош для того, чтобы за полчаса поднять дома сервер под DC или torrent-ы, но не более того. Два месяца бессбойной работы - это, конечно, показатель для домашнего сервера :lol: . Возвращайтесь через пару-тройку лет и расскажите, сколько падений было ;) Для сравнения - вот так вот работает мой хостинг при yum update yum* lib*; yum update в кроне раз в неделю.

[root@ghst include]# uptime
16:17:28 up 680 days, 3:42, 1 user, load average: 0.57, 0.36, 0.32
Цитировать
 
 
+1 #3 Seva 10.03.2011 05:32
Андрей - все правильно, не поддавайся! :lol: :lol:

Насчет Винды все верно подмечено, стоит Windows 2008 R2, где-то через месяц начинает поджирать оперативку, на второй падает :lol:
Я не спец но проблему решил рестартом 1 раз в 2 недели :-)

Blakkky - спасибо за статьи, очень интересно читать, ждем новых полезных статей! Мозг и руки надо выпрямлять....
Цитировать
 
 
0 #4 Василий 08.07.2011 11:53
Согласен со всеми )) есть свои плюсы и минусы у всех ОС
windows server без рестарта протянет неделю) и етого достаточно )
linux нада книжечки зубрить иначе некак.
про макинтош я ваще молчу))
мой выбор windows server ибо она самая простая))
Цитировать
 
 
+1 #5 Kenrix 29.12.2011 03:02
Мой выбор Linux Debian 3.0.4 Lenny!
8)
Цитировать
 
 
0 #6 Kenrix 29.12.2011 03:08
Андрей: Не слушайте этого долбоёба.

ахахахахаха убил :lol:
Цитировать
 
 
0 #7 Reshat 16.05.2012 17:30
Для игровых серверов на мой выбор ставить CentOC 5
Цитировать
 
 
0 #8 Blakkky 07.09.2012 13:32
Пойти на java.com и скачать rpm-ки нужной версии под нужную платформу.
Цитировать
 
 
+1 #9 Pycuk 23.12.2012 11:16
Не совсем точное описание в мелочах, но в целом статья полезна для новичков, спасибо таким людям как вы за их написание и разжёвывание.
А у Андрея конкретные проблеммы с руками)
Цитировать
 
 
0 #10 vanopolo 23.01.2013 16:40
виндовс - часто по чучуть(желатель но) или большими кусками допиливается обезбаговается и если есть руки можно востановить "R" даже мертвую

линукс - 1 раз зато длинной в 3 недели ковыряете и ставите снова винду
Цитировать
 

Добавить комментарий


Защитный код
Обновить