Давненько я не писал сюда. / админские истории :: разное

админские истории 
Давненько я не писал сюда... так всё хорошо было...

Всё началось 31 октября. Хостер, у которого находится основной фронтэнд, сказал что у него проблемы с провайдерами и будет технические работы. Некоторое время он просто лежал. Потом отрубился ipv6 (а по нему у меня общается фронтэнд и бэкэнд). Заметил я это похоже только через несколько часов. Как заметил - переключил их на ipv4 и реактор, наконец, заработал. Но по вечерам загрузка картинок реально тормозила. Хостер сказал, что починит всё "очень быстро" - за пару недель.

8го октября мы решили "Хватит это терпеть!". И я пошёл искать где бы ещё арендовать сервер в европе, тянущий 10Гбит и прокачивающий 0.5Пб трафика в месяц за копейки. Нашлось только 2 предложения:
- одно от достаточно хорошей компании Swiftway, но в 2 раза дороже и жёсткое ограничение по трафику - превышение 0.5Пб было дорогим. Хотя можно было подоговариваться по поводу превышения трафика.
- второе от британской redstation. Там предлагался безлимитный 1.5Гбит по цене моего сервера. У меня в среднем трафик 1.8Гбит и 95% burstable - 2.5 Гбит. Поэтому два сервера должны были вполне уместиться по трафику и иметь запас. Но дальше я начал расспрашивать их как они считают трафик и оказалось, что они жёстко шейпят на 1.5Гбит. А у реактора бывают кратковременные (и не очень) всплески сильно выше среднего. Поэтому тоже не очень
- третье предложение было от нашего же хостера. У него датацентров много. Проблемы только в одном. Почему бы не попробовать другие? Это и было принято за рабочее решение.

Оказалось, что в двух нормальных ДЦ - Вене и Праге - у него мест нет. Есть только в Злине - деревушке на востоке Чехии. Ну делать нечего - попробуем его. Оплатил. Всё поставили. Ipv6, как всегда, заработал с 3ьего раза у них. Попинговал разные места - по одному из маршрутов был небольшой пакетлост. Написал им - ответ мы скажем своему провайдеру, чтобы они увеличили канал в том месте, но когда они это сделают не знаем. Ладно, наверное что-то немного лагающее будет лучше чем сильно лагающее. Переключил реактор на сервер в Злине и начался пиздец. По вечерам пакетлост по всем направлениям, ещё хуже чем в лагающем Амстердаме.

А тут ещё и подходит время оплаты амстердамского сервера (который по прошестии 12 дней всё ещё тормозил). Пишу хостеру письмо, что нах вас всех, возвращайте деньги. После долгих бесед и валерьянки в форме коньяка, они мне подарили неделю амстердамсого сервера бесплатно, заверили что в течении этой недели всё починится, Злинский сервер отменили и вернули полностью деньги на внутренний счёт.

После такой недели у меня была только одна мысль - "Придётся это терпеть".

Протрезвев через пару дней ко мне пришла ещё одна мысль. Бэкэнды у реактора стоят у другого хостера. Там с каналами всё достаточно плохо, зато сервера дешёвые. И недавно они обновили линейку своих серверов. И теперь за 50 евро можно взять лучший сервер, чем у меня стоят за 60 евро. Только надо установочный платёж в размере 50евро заплатить. Вот я и решил - через 5 месяцев этот апгрейд всё равно окупится. Давай сделаю сейчас, на некоторое время старые всё ещё будут работать, а новые настрою на отдачу картинок. Тогда хотя бы немного разгружу амстердам и часть картинок будет отдаваться быстро. За неделю я не успею выбраться за лимиты трафика.

Сказано - сделано. Сделал всё это. Пару дней оно проработало в этом режиме и потом Амстердам починили, наконец. Вернее, основные лаги там пропали, но остались ещё небольшие по ipv4 и полностью не рабочий ipv6. Но это решаемо (сейчас вот решаю потихоньку).

И тут наступает другая проблема - перенос старых серверов на новые. Перенос я делал в попыхах (чтобы меньше платить за старые сервера) и в результате не все данные в свифте перенеслись. Заметили это только когда сервера уже забрали. В результате потерялись порядка 1-2% картинок. Из хороших новостей, что у меня одна и та же картинка хранится в куче разных вариантов - увеличенная, уменьшенная, с вотермарками и т.д. Сейчас восстанавливаю что возможно.

Вторую проблему вчера решал. Новые сервера нещадно жрали проц. Это при том, что он там на 2 поколения лучше, чем на старых. До полуночи дебажил всё это. Оказалось, что в libmemcached в последней версии сломали ipv6. Причём там был такой код:

#if 0
hints.ai_family= AF_INET;
#endif

Он никогда не работал. Но какой-то умный человек решил, что это наверное ошибка и удалил If/endif. Из-за этого строчка начала работать, а она запрещает использование ipv6. Ну сегодня нашёл предыдущую версию, накатил её на все серера, нагрузка сразу спала. Уф, хоть одна хорошая новость.

Надеюсь в следующей части я расскажу как сделал CDN, ибо уже давно жду, когда мне поставят 2ой фронтэнд в Нью-Йорке.

Подробнее
админские истории,разное
Еще на тему
Развернуть
ой, началось всё не 31 октября, а 30 сентября.
koka koka 26.10.201310:27 ответить ссылка 0.3
Интересно, позновательно. Но почему здесь? те, кого это реально интересует, те кто может понять так много буков, мог бы прочитать это на профильных ресурсах. на том же хабре. я на джое видел несколько статей, содранных с хабра
Jafariuse Jafariuse 26.10.201311:19 ответить ссылка -0.3
because we can. Если тебе не нравится, то можешь просто заблокировать тег.
koka koka 26.10.201312:06 ответить ссылка 0.0
спасибо!
Я так понял ты пакетами не пользуешься - все сам собираешь?

И что-то не слышно жалоб на свифт - таки понравился?
c1615253 c1615253 26.10.201312:48 ответить ссылка 0.0
как раз пакетами пользуюсь. Более того, даже не пакетами, а репозиториями. Всё ставится через yum. Под это у меня локальный репозиторий есть, куда я складываю те пакеты, которых нет в стандартных.

Да, свифт всем нравится. Тут проблема была больше в моём туплении и желании побыстрее перенести. Ну и то, что переносилось сразу 3 сервера. А хранится всё в 3 репликах. Вот часть данных, которая хранилась именно на этих 3 серверах не успела реплицироваться на новые сервера, а я не уследил за этим.
koka koka 26.10.201312:56 ответить ссылка 0.1
На счет серваков - переезжать тебе еще не раз, так что подумай на счет систем (авто)конфигурирования: puppet chef fabric
c1615253 c1615253 26.10.201312:50 ответить ссылка 0.0
давно уже всё на Puppet. Конфигурирование нового сервера состоит в установке puppet, написание в конфиге паппета чего-то вроде:

node "serv20" inherits "base-joyreactor" {
}

и добавления его ипов в массив. После этого
puppet agent --test
и он сам всё настраивает =)
koka koka 26.10.201312:58 ответить ссылка 0.0
дописать туда строчку, чтобы папет проверил как дела у свифта с состоянием синхронизации
Там всё интереснее. Когда-то до этого, когда серверов было мало, добавление нового сервера очень сильно влияло на производительность. Ибо свифт начинал очень жёстко рсинкать с одного сервера на другой и поэтому тот, с кого рсинкало начинал тормозить. Поэтому на время такого обновления я отрубил проверку работы демона object-replicator. И вручную его врубал на серверах по очереди. При этом, когда включал его - исключал его из nginx. Чтобы он спокойно занимался рсинком и его http-Запросами не мучали.

С тех пор много времени прошло и я забыл, что отключал эту автопроверку. Поэтому на новых серверах object-replicator не работал и из-за этого пошли проблемы.

А проверка, что все данные переносились я тоже проверял - там есть соотвествующая команда. Но она проверяет 1% от всех партиций. То есть, достаточно приблизительно говорит. Точной информации получить никак нельзя =)
koka koka 26.10.201313:11 ответить ссылка 0.0
koka, что ты думаешь про docker? Хорошая замена puppet/vagrant/etc?
хз. Не слышал о нём. Вообще, паппет мне не очень нравится, но на нём уже столько скриптов написано, что переносить их на что-то другое - ещё более геморойное занятие.
koka koka 26.10.201313:53 ответить ссылка 0.0
почитал про docker немного. Как я понял, там больше идёт менеджмент и клонирование контейнеров. Мне это не сильно нужно. Да и возможности конфигурирования там явно хуже, чем в Puppet.
koka koka 26.10.201315:39 ответить ссылка 0.0
докер - это контейнеры с виртуализацией. Для хостинга самое оно. Для моносайта - вообще непонятно к чему об этом сказали.

Яндесовский кокаин на них построен и у редхата решение облачное на нем.
Товарищ koka, а есть у вас какой бложик куда можно по rss подписаться чтобы не пропускать ваши охуительные истории?
hshhhhh hshhhhh 04.11.201304:19 ответить ссылка 0.0
рсс на теги пока не сделаны. А рсс на пользователя - есть. http://joyreactor.cc/rss/user/username/koka
но у меня там не много админских историй =)
koka koka 11.11.201323:23 ответить ссылка 0.1
зато они охуительны
golod golod 12.11.201310:28 ответить ссылка 0.0
интересны с технической точки зрения, скорее %)
То есть бложика у вас никаокго нет? Вам типа жоя хватает?
Беда печаль. Ну пилите, пилите рсс на теги. Проблем на пару часов то %)
А за счет чего реактор окупается и приносит прибыль? я надеюсь, что все же приносит?
за счёт рекламы
koka koka 18.11.201321:11 ответить ссылка 0.0
как вообще появилась идея его создать?
понятно. ну а вообще много хлопот доставляет обслуживать реактор?
скажем, приходится постоянно его мониторить, ну и наверное продумывать какие-то шаги наперед?
ну мониторинг происходит сам собой. Следить - приходится. Но бывает что неделями он работает и ничего не надо делать. Хотя бывает что-нибудь падает каждый день =).
koka koka 19.11.201311:46 ответить ссылка 0.0
зассал и выиграл xD
те "не зассал" xD
Я чето пропустил момент (или сам себе придумал) - когда ты был на хецнере у тебя ведь было больше двух серваков, а тут ты говоришь только про два :/
Так выгоднее? Или в чем профит?
c1615253 c1615253 27.11.201300:51 ответить ссылка 0.0
на хецнере у меня и сейчас 8 серверов =). У них есть минус - сильные ограничения по трафику:
1) На сервер порядка 30Тб бесплатно и дальше доплачивать
2) раньше можно было подключить 1Гбит на сервер и он вроде гарантировался. Сейчас у них подключения 1Гбит нет - все сервера идут с 1Гбит портом и 200Мбит гарантированной полосой.
3) один раз реактор ддосили тупо udp-пакетами. При этом даже полосу 1Гбит не выжрали. Хецнер отключил сервер от сети на время ддоса. Поэтому в любом случае надо ставить какой-то фронтэнд перед хецнером.

Тут я и выбираю сервера для фронтэнда. У них куча памяти, куча ссд для кэшей и 10Гбит канал. На них же происходит фильтрация ддосов. Вот вчера был мини-ддос из 250 ипов =)
koka koka 27.11.201301:14 ответить ссылка 0.0
Вот тут страшилки, про днс амплификейшн http://tech.yandex.ru/events/yac/2013/talks/1135/ 25гб+ ддос с 10 серверов

В снг заглядывал на колокейшен с толстыми каналами? Реально найти место с нормальным цена/трафик/полоса?
ну понятно, что завалить меня можно. Просто на это надо денег потратить кучу. Недавно вон хецнер валили. Он 2 дня с перебоями работал. Писали, что 200Гбит ддос.

в снг - только в россии. На украине канал разве что по UA-IX, зарубежка у них очень плохая. В россии - пытался. Вот одна из попыток - http://joyreactor.cc/post/725611
Всё же каналы в россии сильно дороже европейских.
koka koka 27.11.201313:09 ответить ссылка 0.1
>Просто на это надо денег потратить кучу.
приценивался? ;D

Ааа, да вспоминаю xD ту историю. Но то ведь был селектел, а не колокейшен - я его как шаред хостинг для продвинутых бы назвал.

А вообще, если бы довн линк у провов в рашке и украшке был приличный, то вообще вопросов бы не возникало
ну примерные цены ботнетов то известны. Можно хоть свой ботнет купить =).

селектел - предоставляет и колокейшен тоже. Вообще, я цену 100 руб за 1 Мбит слышал в некоторых местах (+ возможность скидок за крупные выкупы)
koka koka 28.11.201318:57 ответить ссылка 0.0
> некоторых местах

:D делись точками!
уже не вспомню где. Года полтора назад я писал всем крупным хостерам в россии этот вопрос. С кем-то даже по телефону говорил.
koka koka 29.11.201312:42 ответить ссылка 0.0
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
3 3 3 3 lS 3 3 3 S 3 3 3 Ü3333gg 3 3 3 3 3 3 3 3
1
S 3 3 3 3 g 3 3 3 3 3 3 3 3 ¡ 3 s i S 3 g g 3 3 3 3 3 3 3 3 !
!=Ë Si I I I 1
servl2: CPU Loads (lh)
3 3 3 3 3 ^ 3 3 3 3 3 3 3-ÜÜ 3 3 3 3 3 3 3 3 3 3 3
I
Sa Si I I 11 1
SS 3 3 3 1 3 3 3 S S 3 3 3 ^ i i 1 i 3 3 3 3 S 3 3 3 3 3 3 S0
I	i
:=11
подробнее»

админские истории разное ceph и все все все openstack swift

3 3 3 3 lS 3 3 3 S 3 3 3 Ü3333gg 3 3 3 3 3 3 3 3 1 S 3 3 3 3 g 3 3 3 3 3 3 3 3 ¡ 3 s i S 3 g g 3 3 3 3 3 3 3 3 ! !=Ë Si I I I 1 servl2: CPU Loads (lh) 3 3 3 3 3 ^ 3 3 3 3 3 3 3-ÜÜ 3 3 3 3 3 3 3 3 3 3 3 I Sa Si I I 11 1 SS 3 3 3 1 3 3 3 S S 3 3 3 ^ i i 1 i 3 3 3 3 S 3 3 3 3 3 3 S0 I i :=11