nixp.ru v3.0

10 ноября 2024,
воскресенье,
14:30:48 MSK

17 июля 2014, 13:35

Компания Spotify меняет Debian на Ubuntu на 5000 своих серверов

1
Логотип Spotify
Логотип Spotify
Иллюстрация с сайта Spotify.Com

Spotify сообщила о том, что начат процесс миграции с Debian на Ubuntu на своих серверах, обеспечивающих работу инфраструктуры компании.

В списках рассылки Debian появилась информация о том, что компания Spotify, ранее использовавшая дистрибутив Debian 6 на более 5000 физических серверах и более 1000 виртуальных машинах, начала процесс миграции на дистрибутив Ubuntu 14.04. Системный инженер Spotify, Ноа Ризэер (Noa Resare), объясняет причины перехода тем, что Ubuntu обладает предсказуемым циклом выпуска обновлений и расширенным сроком поддержки, который превосходит таковой у Debian (решение было принято до объявления увеличения срока поддержки для Debian 6).

Компания Spotify является одним из крупнейших в мире коммерческих сервисов вещания музыки. Ранее в списках рассылки компания приняла участие в дебатах относительно статуса systemd в дистрибутиве Debian и проголосовала за переход на него по умолчанию. Также Spotify открыла внутренний инструмент для управления последовательными группами задач под названием Luigi, исходный код которого доступен на GitHub.

Постоянная ссылка к новости: http://www.nixp.ru/news/12629.html. Никита Лялин по материалам phoronix.com, Lists.Debian.org.

fb twitter vk
Филипп Корвин

Спрашивали тут, почему убунта вместо дебиана — вот и примерчик подоспел ;))

sashakrasnoyarsk.ru

Ноа Ризэер durak@mozgov.net, извините…

Филипп Корвин

Чтобы вас воспринимали  всерьез, расскажите о хотя бы сопоставимом опыте и масштабах инфраструктуры, а то детский сад в духе лора ;))

sashakrasnoyarsk.ru

Детский сад и игры в песочнице — делать серверный дистрибутив из нестабильной ветки, чем занята Каноникл. Обычно для серверных дистрибутивов берут, как минимум», stable или даже oldstable.

Почему я взял 12.04 alpha? Потому что ставил в январе 12 года и серверный дистр LTS как раз и был на подходе. Это представлялось наиболее предпочтительным — не ставить предыдущий LTS, а поставить на тестовый сервак свежий LTS, потестить и, если всё ок, поставить на продакшн. Всё и правда летало так, как только можно было мечтать. Так что я совершенно без задней мысли поставил на продакшн. Весь мой опыт (с бубном я был с 5.04 по осень 12 года, когда я вывел из продакшна последний бубунтовский сервак) говорил о том, что при обновлении серверной платформы ничего плохого случиться не может. Были мелкие неприятные глюки на десктопе, не более. И вот те на.

Короче, после этого и ещё описанного в sashakrasnoyarsk.tk/?p=1047 эпизодов, бубен для меня больше не дистрибутив, а собрание цифрового мусора. А описанное в заголовке статьи — если не безумие, то, как минимум, бред.

Дмитрий Шурупов

Это частности, но не знаю, кто вам так пожал:

shurup@forum ~ $ lsb_release -a
No LSB modules are available.                                                                                                                                 
Distributor ID: Ubuntu
Description:    Ubuntu 10.04.4 LTS
Release:        10.04
Codename:       lucid
shurup@forum ~ $ locale |grep LANG=
LANG=ru_RU.UTF-8
shurup@forum ~ $ mkdir тест
shurup@forum ~ $ 7z a test.7z тест/
The program '7z' is currently not installed.  You can install it by typing:
sudo apt-get install p7zip-full
shurup@forum ~ $ sudo apt-get install p7zip-full
...
Распаковывается пакет p7zip-full (из файла .../p7zip-full_9.04~dfsg.1-1_amd64.deb)...
Обрабатываются триггеры для man-db ...
Настраивается пакет p7zip-full (9.04~dfsg.1-1) ...
shurup@forum ~ $ 7z a test.7z тест/
7-Zip 9.04 beta Copyright © 1999-2009 Igor Pavlov 2009-05-30 p7zip Version 9.04 (locale=ru_RU.UTF-8,Utf16=on,HugeFiles=on,4 CPUs) Scanning
Creating archive test.7z
Everything is Ok shurup@forum ~ $ 7z l test.7z | grep 'тест' 2014-07-18 09:17:22 D.... 0 0 тест shurup@forum ~ $


То же самое воспроизводится на 12.04.

sashakrasnoyarsk.ru

То, что присутствует в дистре сейчас, не может описать того, что было год назад. Год назад я огрёб :( Достаточно того, что в каком-нибудь одном обновлении 7z была ерунда с локалью или с конфигом, или просто сборщик что-то накосячил в процессе сборки… И пожались имена файлов не в той кодировке…

Да самому разработчику это вообще ни горячо, ни холодно. Проверил abc.txt в 7z зажал, извлёк — всё чудненько.  Дистр собирают пиндосы для пиндосов, как я уже писал.

Зачем мне был нужен 7z? А какой ещё другой архив можно так быстро апдейтить без пережимания всего контента?

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

Филипп Корвин

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

sashakrasnoyarsk.ru

Процитирую по поводу миграции с бубна на Дебиан себя же:

»… какие основные доводы лично у меня были? Вот:

1. Делают пиндосы для пиндосов. Ты русский? Вэлкам топтать грабли. Не фатально, но пипец как не приятно вот: http://sashakrasnoyarsk.tk/?p=1047 и это далеко не всё.

2. Стабильность, которой нет вообще, включая серверную платформу. История бородатая, но всё же. Стоял 12.04 сервер альфа. Работал, летал, практически идеально. Продакшн. Зарелизилось, обновил, блин! Всё не то что сломалось, но чудовищные лаги при удалённом открытии файлов по 15-50 секунд. Тут уж любой подскажет ответ: «а что это за бред ставить альфу на продакшн?». Ответ не правильный. Бред — ставить Убунту на продакшн.

3. Довольно известная тема (ссылку искать лень) на убунтофоруме про обновление на новую версию. На _любую_ новую версию. Как говорится, «было всё нормально, потом зарелизилось, я обновился, и началось».

4. Идиотские нововведения с графическими интерфейсами непонятно какими и непонятно зачем.

И я понял внезапно, что я всего этого гавна уже больше не хочу. Хватает того гавна, что на работе проблемы с виндами колупаю. Не хочу ещё unstable убунту колупать. Фтопку этот мусор.»

Сейчас появится Дмитрий Шурупов и расскажет о том, что многократно «а я пробовал и ок». Вот, короче: https://www.google.ru/search?q=обновлени&sitesearch=forum.ubuntu.ru

Филипп Корвин

После альфа-релиза на продакшне не будьте злы на мир — просто думайте и используйте опыт на будущее ;))

sashakrasnoyarsk.ru

Бубунта — _В_ПРИНЦИПЕ_ и есть unstable. Что-то между testing и sid Дебиана. Так что когда огребёте проблемы, описанные в https://www.google.ru/search?q=обновлени&sitesearch=forum.ubuntu.ru — «не будьте злы на мир — просто думайте и используйте опыт на будущее ;))».

rgo
sashakrasnoyarsk.tk

Процитирую по поводу миграции с бубна на Дебиан себя же:

»… какие основные доводы лично у меня были? Вот:

1. Делают пиндосы для пиндосов. Ты русский? Вэлкам топтать грабли. Не фатально, но пипец как не приятно вот: http://sashakrasnoyarsk.tk/?p=1047 и это далеко не всё.

Эмм… А это проблема убунты? Я думал, что это неразрешимая проблема, что решить её возможно, разве что, поддержкой (де)компрессором опции --file-name-charset, потому что для того, чтобы декомпрессор правильно бы разрулил ситуацию он должен знать две кодировки: ту которая используется в файле, и ту которая используется в системе. Системная кодировка ему передаётся через LANG, а вот кодировка имён файлов в архиве, как правило, не указывается нигде. По-крайней мере, архивы zip совершенно точно не содержат информации о кодировке имён файлов. tar, по-моему, тоже просто копирует имена файлов в той кодировке, в которой они ему достались. Про rar не помню. Я, в подобных ситуациях, извлекаю, перекодирую имена файлов в utf8 скриптом. Если вы знаете иное решение, то расскажите, пожалуйста.

sashakrasnoyarsk.ru

Сервак был поставлен изначально на 12.04a, потом обновлён до релиза. Локаль ставилась изначально utf8, другая никогда не ставилась. Бэкапы делались в режиме обновления скриптом с помощью 7z. В скрипте нигде не была явно прописана локаль. Всё это тестировалось и исправно работало. Из архивов всё виделось и извлекалось. До того момента, пока однажды не пришлось очень срочно вытащить из бэкапа очень нужные файлы… А там вместо букв… И оно везде так было — в самой же бубунте, в моём тогда уже Debian-е, под виндами…

Решение хорошее — поставил Debian. Больше нет проблем ни с лагами, ни с кодировками…

Филипп Корвин

Не верю, что в самых тестовых репах дебиана не бывает проблем, а сравнивать альфу убунты нужно с ними.

rgo

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

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

Потому что любой другой вариант упрётся в то, что нам придётся гадать на кофейной гуще, каким же таким образом в именах файлов бекапа вдруг оказались koi8-r символы. И даже если мы придумаем несколько вариантов, то никогда не узнаем какой из них правильный. Если скрипт запускался без указания локали, надо полагать он запускался с LANG=C? А это значит, что он искренне верил, что ему придётся работать исключительно с 7-битным ASCII в именах файлов? Или, может, убунта имеет в настройках системную UTF8 локаль, и запускает такие скрипты с этой локалью? А может это 7z переклинило? Идей о том, что именно могло произойти — куча, проверить какую-либо из них невозможно. Другого варианта нет, кроме как игнорировать подобные заявления.

sashakrasnoyarsk.ru

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

7z ПАРАМЕТРЫ

и никогда не было никаких проблем. Ещё раз упомяну — в то же самое время, когда скрипт на бубне гнал пургу с кодировками, этот же скрипт в дебиане работал безупречно. Понятия не имею, что была за беда, связываю это с двумя проблемами: 1) неудовлетворительное качество сборки/тестирования; 2) пиндосы делают для пиндосов.

Команда архивации совершенно обычная:

nice --adjustment=17 7z u /PATH1/$name.7z -up1q0r2×1y2z1w2 -ms=on -ssc -mx=9 -w/PATH1/ -y -x\@/PATH2/exclude.ext /PATH3/$name/*>/PATH1/$name.log

По поводу проблем с тормозами — было 2 raid1 по 0.7Гб собранных в один lvm, на который была зацеплена обычная самба. Народ уверял, что конфигурация совершенно обычнейшая и она работает на множестве серверов и операционных систем. Она и работала, пока сервак стоял альфа. После обновления на релиз стало неимоверно лагать. Когда переставлял серваки, я уже не стал так делать, собрал самбу поверх raid10.

Ещё один факт, который я вспомнил, по поводу этих злополучных серваков — я ставил серваки с интервалом наверно в месяц и по ошибке поставил один 64-битный, а второй — 32-битный. Проблемы с тормозами и с кодировками внутри бэкапов воспроизвелись 1:1 на обоих.

Дмитрий Шурупов

Дмитрий Шурупов работает в конторе, которая обслуживает под тысячу серверов+виртуалок, из которых 90% — это Ubuntu Server. Поэтому тут немного больше, чем «я пробовал и ок». И есть понимание реальной стабильности, за которую мы перед многими клиентами отвечаем по условиям SLA. Но нам продолжают доверять, а клиентская база только растет — в том числе и тех, кто мигрирует с других систем/дистрибутивов. Да, бывали проблемы при обновлениях крупных релизов (например, баг с /tmp для 10.04 → 12.04) — с фактами не спорю. И есть реальные причины поругать разработчиков и саму Canonical. Но это не привело к большим потерям-простоям-геморрою. Правда, говорю только за серверы — на десктопах мы обслуживаем только специализированные компактные окружения (типа Openbox); сам я давно на KDE, а в Unity мне неудобно (хотя некоторые коллеги говорят, что дело привычки).

Или кто-то претендует на идеальное решение? :-) Таких не бывает. А Debian и Ubuntu — это все же вопрос относительный, нет тут однозначного за Ubuntu, как и против неё.

sashakrasnoyarsk.ru

Случалось обновлять почтовый сервер 10.04LTS на 12.04LTS? Как удалось победить конфиги?

Дмитрий Шурупов

Случалось. Если речь про Dovecot, то у нас исторически сложились свои пакеты с 1.x (и на 10.04, и на 12.04), к которым прикручены всякие дополнения. Про проблемы с Postfix не слышал (но могу уточнить у соответствующего специалиста).

sashakrasnoyarsk.ru

Хотя, там наверно было обновление с 8.04 на 10.04. Короче, почту перекорячило так, что логи стали писаться не понять куда. И не нашёл, как это пофиксить. На сейчас того сервера уже несколько месяцев как нет.

Дмитрий Шурупов

Подозреваю, что это было именно обновление Dovecot с 1.x до 2.x — там были значимые изменения, причастность к которых конкретно Canonical довольно условна… Наш почтовик что-то придумал и для работы с 2.x, но деталей я не знаю.

sashakrasnoyarsk.ru

Возможно, дело было именно в обновлении Dovecot, только «ушли» логи почему-то Postfix-а…

Дмитрий Шурупов

Вот попался, кстати, баг в Ubuntu посущественнее: liberatum.ru/blog/ubuntu-server-fail — не могу ничем подтвердить, т.к. 14.04 мы в production еще практически не используем.

sashakrasnoyarsk.ru

гы… Это диагноз!

«Мне очень понравился инсталлятор Ubuntu Server. Наверное, это потому, что он сдут у Debian.»

Там всё сдуто у Дебиана :) Причём с нестабильной его версии. Многие бинарные пакеты даже в названии имеют dfsg, что как бы намекает на бинарное заимствование. 3-й по счёту зелёный поплавок характеризует очень типичную для бубна тенденцию. К счастью, я успел соскочить с дистра до того, как он всё сильнее стал уходить в глюко-, а вернее самописАние. В принципе, это не плохо, но это ставит их в ряд с такими дистрами как Mepis/Antix или Siduction, но никак не на уровень с Debian или RH.

sashakrasnoyarsk.ru

https://www.debian.org/News/2014/20140719

Обновился oldstable Debian squeeze. 6.0.10.