me

slonik_v_domene


Убей в себе государство


Previous Entry Share Next Entry
Прощай, FreeBSD
me
slonik_v_domene
Рампочта начинает миграцию на Linux. В качестве дистрибутива волевым решением выбран Debian GNU/Linux. Основная архитектура - 64 бит. Все 32-битные сервера постараемся как можно быстрее списать в утиль, новая система на них сетапиться не будет.

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

Процесс обещает быть довольно долгим, но далее затягивать переход становится невозможным.

Почему именно Debian? Как варианты сначала рассматривались CentOS, openSuSe и Debian. Первый не подошел из-за убогости штатного репозитория, от openSuSe отказались по причине отсутствия сисадминов, работавших с ним.

Глючная вечная бета Fedora, собери-все-сам Gentoo и прочие маргинальные Линуксы не рассматривались вовсе. Извините, если кого задело.

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

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

Пакеты нас скорее не беспокоят. Но остальные вкусности вида gdb неработающего с новым gcc из-за несовместимости лицензий подзадрали конечно.

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

Пакеты нас скорее не беспокоят. Но остальные вкусности вида gdb неработающего с новым gcc из-за несовместимости лицензий подзадрали конечно.
портовый gdb 7.2 не работает с портовым gcc 4.5?

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

обычно это стоит денег и отсутсвует в бесплатных версиях.
а гипервизоры упорно открещиваются от родства с линухом и прочим (по крайне мере виваревский)

VirtualBox не совсем то что надо. Хочется если честно Jail с возможностью миграции или остановки процесса. Типа OpenVZ.
Не работает afaik. Не уверен на счет конкретных версий.

VirtualBox не совсем то что надо. Хочется если честно Jail с возможностью миграции или остановки процесса. Типа OpenVZ.
процесса я думаю не получится, только всего jailа целиком.

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

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

OpenVZ не работает? Странно...

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

ну тут я спорить не буду -- виртуализация за пределами моей текущей компетенции

У Я.Поиске мы приняли решение перейти когда поняли, что в течении пары лет хотим виртуализовать каким-нибудь не очень дорогим способом несколько десятков тысяч машин, а FreeBSD совсем нечего тут предложить.
если хотите, можете попробовать договориться с человеком/допилить его код и пропихнуть в апстрим, думаю, многие скажут яндексу "Спасибо!"
http://7he.at/freebsd/vps/

Проблема в том, что допиливание требует времени.

или, скажем, $1000, например. Сумма явно меньше чем пляски, связанные со сменой ос

"It is highly experimental and incomplete." интересно конечно но нам работать надо.

А зачем в вашем случае вообще виртуализация?

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

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

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

Re: А зачем в вашем случае вообще виртуализация?

Для того чтобы это понять нужно прежде всего понять чем поиск отличается от остальных проектов. Поиск это такой специальный проект в котором
1) Много данных.
2) На каждый запрос они нужны почти все.

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

У других проектов как правило таких проблем нет - ну т.е. масштабную модель почты рамблера неврняка можно поднять на 3-5 машинах - для 90% задач не нужно данных больше чем одного юзера.

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

Тем не менее мощности production вы не поверите и правда часто простаивают, просто потому, что поток запросов в праймтайм и ночью сильно отличается.

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

Пускать разработчиков на живой production нам не хочется, а на виртуализованный вполне может заработать. Хочется систему когда тестовые среды живут в виртуалках, жестко зажаты по ресурсам, и чтобы можно было держать например 50-100 тестовых сред как-нибудь засуспенженных на диск(исуспендить их автоматом если нет запросов), чтобы по необходимости разработчик мог попросить ресурсов и их получить.

У гугля afaik есть система управления кластером - borg, она не построена на основе виртуализации и по некоторым сведениям они от этого тоже страдают.
http://slacy.com/blog/2011/03/what-larry-page-really-needs-to-do-to-return-google-to-its-startup-roots/
Искать Get rid of the proprietary cluster management system.

  • 1
?

Log in

No account? Create an account