В комментариях к постам про разбор аварии (тут и тут) было развёрнутое обсуждение про новые технологии в ИБП, которые можно внедрить. Коротко — мы не будем внедрять ничего ультрасверхсовременного. Потому что лучшая версия для знакомства с софтом — это 2.4. В случае MS ещё хорошо, когда за цифрами написано что-то вроде SP2. Потому что если пробовать на себе все новые технологии, то это, конечно, дико интересно и прогрессивно, но мешает бизнесу. У нас дефицит свободного времени и рук. Вот, собственно, несколько прикладных историй, почему мы не торопимся нырять в новые технологии.
Пример с новым железом, на котором может строиться вся инфраструктура, думаю, знаком всем, поэтому начну не с него, а с холивара про IPv6 против IPv4.
Протокол v6 невероятно хорош. Его писали думающие люди, он снимает море проблем интернета, он реально крут. Адреса IPv6 практически бесплатные. Они не кончаются. В свою очередь, IPv4 стоят совершенно неприличных уже денег (это вторая статья в себестоимости виртуальной машины после железа), постоянно дорожают — и, что гораздо хуже, не всегда можно взять в аренду нужное их количество. Бывает, что к нам заезжает крупный клиент, мы хотим арендовать ещё 256 адресов v4 — и блок освобождается не через 15 минут, а через несколько дней. То есть нам надо постоянно ковыряться с тем, чтобы они были.
Но при этом IPv6 ещё хуже с точки зрения реального применения. Вообще, я лично не совсем понимаю, кому сейчас он нужен. Многие наши коллеги, кто пользуется, говорят просто: «В РФ v6 нет и не будет в ближайшее время, наверное». А специалисты по ИБ ещё категоричнее: «Я его просто отрубаю от греха подальше».
▍ Что не так с IPv6
Просто он при всей своей продуманности ещё не был внедрён в реальности. Если бы мы строили VDS-хостинг с нуля, то, наверное, сразу делали бы на v6. Мы когда-то начали с v4 с ощущением, что вот-вот он закончится, скоро-скоро будет уже v6, надо только подождать годик. Повторялся этот цикл восемь раз. IPv4-адреса мы не покупали, а продолжаем арендовать.
IPv6 внедряли разные наши друзья, крупные компании рядом, но есть море примеров, как крупный уважаемый хостинг внимательно присмотрелся и не внедрил. И на это есть ряд причин. Первая — серьёзные проблемы с безопасностью. Они происходят от банального непонимания, как всё это работает. Нужно несколько лет опыта админов, чтобы научиться правильно курить этот бамбук. IPv6 очень легко сломать, особенно если плохо представляете, как с ним работать. У наших админов по 20 лет опыта сетевых технологий, но они уверенно говорят, что компетенций недостаточно. А наращивать компетенции наживую мы не готовы. Вряд ли вы хотите, чтобы на вас так экспериментировали. Поэтому ограниченные тестовые инсталляции — и постепенно учимся. Весь новый дописываемый код к хостингу уже учитывает IPv6 несколько лет подряд, но переключаться мы всё ещё не готовы по причинам ИБ. Это основной вопрос.
Второй вопрос, который в принципе решаем, но задорого — это блокировки по IP от РКН. Если вы посмотрите на список компаний, поддерживающих IPv6 в России, то можете не увидеть знакомых лиц. А те, кто заявил о поддержке, часто размещают плашку «тестовый режим» на сайте. Потому что у них тоже есть ИБ и отношения с РКН.
Адски срочной причины переходить на v6 нет. Есть постоянно ощущение, что мы тратим лишние деньги на адреса (а они в долларах и дорожают), но мы понимаем, что IPv4 будет ещё несколько лет (около десяти) и никуда особо не денется.
Переход на v6 — это тоже деньги. Нужно будет менять или докупать железо (потому что будут новые требования к производительности), нужно будет переписывать софт, строить мосты между сетями, настраивать кучу прослоек для трансляции адресов и трафика. И это всё узлы, где возможны отказы и уязвимости. Это всё заставляет очень тщательно смотреть, что мы за это получим против того, что можем потерять. И ещё мне кажется, что реальный запрос на v6 — низкий. Практически всем нужны именно публичные IPv4-адреса в первую очередь, чтобы DNS работали нормально. Топовые современные DNS хорошо работают с любой адресацией, но не все топовые.
Что удивительно, по мере роста проникновения v6 IPv4-адреса не упали в цене — и дефицит до сих пор есть. Они всем нужны. Сохраняется очень много старого сетевого железа на всех уровнях — ЦОДы, операторы связи, любые сети. Где инфраструктура появилась не вчера, есть старое железо и старый софт. Мотивы похожи у всех игроков: есть сложившийся бизнес, нет срочности в переходе. Ещё пример: всем имеющимся клиентам нужно будет заново настраивать свою собственную защиту, потому что переход на v6 означает другой принцип фильтрации трафика. Либо нам надо будет придумывать новые ноу-хау по этой фильтрации на уровне ЦОДа. На текущий момент мы решили три суперкрупных проблемы успешно — на IPv6 их же надо будет решать заново. Но решать по-другому из-за другого устройства протокола. Спуфинг роутера, спуфинг адресов — там всё иначе будет. Протоколы маршрутизации другие. Назначение адресов другое. Отличия фундаментальные. Если их решить не полностью, клиенты столкнутся с проблемами. Это ключевой стоп-фактор для прогресса: если есть клиенты — тяжело внедрять новое.
Но, как я говорил, если бы мы делали с нуля, то, конечно, начали бы именно с IPv6.
Поэтому наш путь — медленная эволюция в эту сторону без спешки. Как и с другими новыми технологиями.
▍ Железо
Пример про железо уже, наверное, хрестоматийный. Мы используем только корпоративное железо. То, что несколько лет было в десктопе, прошло все баги, огонь, воду, медные трубы и майнеров — и производитель учёл весь этот опыт, понял, что там надо доделать, и сделал серверную линейку. Десктоп для такого железа — это стадия теста, в прод попадает всегда поколение на −1 от десктопа. Да, оно менее производительное из-за этой разницы поколений, но требования к надёжности намного выше. Потому что сервер работает непрерывно с постоянной нагрузкой три — пять гарантийных лет. И там же больше ответственности. Серверы поставляются всяким службам, которые не должны останавливаться.
Мы внедряем гомогенное корпоративное железо. Самое мощное на рынке, как правило (да и б/у достать просто не выйдет, вендор обычно быстро вытесняет линейку новой коллекцией, как в моде). Например, когда «Huawei» выводил из производства диски, мы покупали-покупали, потом раз — они меняют партию. Старая коллекция уничтожается, новая завозится — как в лучших модных домах. Понятно, что это у дистрибьюторов, на вторичном рынке можно достать хоть перфокарты. Но в общем случае — у вас одна линейка железа, вы покупаете и обслуживаете её. А чем меньше зоопарк, тем легче он поддерживается в ЦОДах по миру по софту и по ЗИПу.
▍ Эпопея с NVMe
Железо же можно внедрять не только по критерию надёжности, но и по критерию новизны. Например, есть NVMe-диски, которые в какой-то момент стали модными на рынке VDS-хостинга. У нас с этим целая эпопея. Коротко — либо все врали, либо мы чего-то системно не понимали в технологии. Оказалось, следующее:
- Да, многие врут и ставят обычный SSD под видом NVMe. Простите, но тут пруфов не будет, это мои фантазии.
- Факт: рейды на NVMe делать бесполезно, они замедляют обращения, по сути. То есть никакой надёжности дисков от случайного вылета в любой момент. Только бекапы.
- Факт: мы стали прикручивать к серверу HDD для автобекапов NVMe один или два раза в сутки. Клиенты их не видят, но это слой защиты, который важен.
Смысл технологии был в скорости. Если технология после тестов этот желаемый результат не показывает, надо либо продолжать тесты, либо не внедрять. Потому что, если задача не решается, нет смысла подписываться на что-то на несколько лет вперёд в куче ЦОДов просто потому, что это модное маркетинговое слово. Мы внедряли очень долго, пока не получили хорошие характеристики. Потому что у нас нет своего конструкторского бюро, у нас нет нон-стоп сборки, у нас есть наши админы, которые решают ещё сотни задач. Они парт-тайм собирают железо и гоняют его как умеют. Мы уже спутники запускать научились, скоро пара выйдет на орбиту — а с NVMe провозились куда дольше. Даже спалили одного конкурента (и не только мы спалили), который использует не сами NVMe-диски, а HDD с NVMe-кешем. Но у нас задача — чтобы это работало практически. А для этого надо понять, какое железо лучше купить, какой производитель, какие характеристики.
Тут же возникает вопрос: у кого на рекламе написано «у нас только NVMe» — куда делись другие диски? Взяли всё выкинули? Правда? А если тесты скорости запустить?
Дальше сами диски. С теми же SSD мы очень заморочились с надёжностью в своё время, очень долго тестировали классику рейдов. Дело в том, что диски в массиве выходят из строя плюс-минус в одинаковое время. И если один посыпался, то второй может вылететь прямо во время ребилда. Если нет допбекапа, то вы потеряли массив данных. Потом надо объяснять клиенту, что случилось. Вот недавно пользователь приходил в соседний пост, у него была как раз такая ситуация. Дело в том, что примерно на 10% серверов у нас нет дополнительного HDD для бекапа рейдов. На всех уже почти есть, но на самом первом поколении, пока мы недооценивали про эту фичу SSD, — нет. Мы постепенно выводим такие серверы из работы, но вот одному отдельно взятому человеку не повезло.
Эта же система означает, что у вас должен быть построен мониторинг на мониторинге. Предположим, купили вы хорошие SSD, собрали их в правильные рейды, поставили мониторинг их состояния, настроили бекап. Дальше надо мониторить мониторинг — а отдаёт ли он вообще данные или собирает туфту. А работает ли бекап? А правильно ли он записывается? А разворачивается ли вообще? В какой-то момент после третьего мониторинга на мониторинг мы внезапно узнали, что воюем вообще не в ту сторону. Мы-то из финансов, для нас потеря транзакции — уже очень печальное событие. Но большинству наших клиентов нужны были не данные, а быстрое продолжение работы. Поэтому вместо «пытаемся вытащить данные с сервера и через четыре часа мучительной работы админа подключаем его в прежнем виде» и «даём такой же сервер и потом когда-нибудь подмонтируем диск с восстановленными данными» — в этой ситуации клиенту намного приятнее второе. По опыту потери данных — а таких случаев в хостинге за годы было несколько — люди просят пустую виртуалку. Для них SLA по непрерывности важнее сохранения данных.
В общем, просто помните, что любой сервис делают раздолбаи. Мы тоже раздолбаи. Разница в том, насколько раздолбаи понимают своё несовершенство и строят меры, защищающие от проблем.
▍ Почему нет последней версии Win
Потому что мы ну вот уж не настолько раздолбаи )
Если серьёзно, апдейт ОС и другого инфраструктурного софта — это три разные задачи. Первая — это то, что льётся на виртуалку, то есть рабочая версия винды при создании новой машины. Вторая — это обновление образа винды в сборках на маркетплейсе, там надо протестировать образ на работоспособность и перезалить в готовые наборы пресетов для серверов. Третья — это обновление на уже работающих машинах, где пользователи VDS-хостинга что-то делают.
Принципы такие:
- Критичные обновления безопасности (вроде как после хартблида) устанавливаются практически мгновенно в образы и очень оперативно на запущенные клиентские машины с предупреждением о простое.
- Новые версии ОС и сервис-паки сначала проверяются на адекватность, потом идут в прод. В 2015-м вышла 16-я серверная винда, мы обновили её образы, и выяснилось, что она не совсем прямая, не совсем стабильная и не совсем хорошо совместима с кое-чем из сетевых драйверов. Итог — постоянные перезагрузки. Пока разбирали инциденты, даже не думали, что они связаны с ОС, но потом внезапно поняли, что жалуются только те, кто получил новый образ. Что ещё хуже, надо было останавливать других клиентов на передеплой сервера, объявляя техработы.
В итоге мы два раза в год обновляем обычные версии и оперативно патчимся на критичное. В маркетплейс образов обновления заезжает на одну-две недели позже, чем на базовый деплой-образ.
На всякий уточню, что новую ОС надо тестировать не только на совместимость с гипервизором и прочим, не только в вакууме на стабильность, но и на конкретной инфраструктуре. Например, если в сетевом драйвере после пары патчей и оптимизаций вдруг будет сдвинут приоритет операций R/W, то вас может ждать какой-нибудь довольно забавный сюрприз позже.
▍ Почему бы не сделать новый хостинг только на новых технологиях?
Конечно, нам бы хотелось. Взять IPv6, только NVMe, поставить свежую винду и *nix из нестабильной сборки, купить десктопное железо и самортизировать его — ээээх, вот это был бы хостинг с мощным маркетингом! Правда, через год пришлось бы переобуваться, но это был бы весёлый год.
Проблема в команде. Если есть два проекта, то нужны две команды — иначе одна будет делать тот проект, который больше нравится, а второй будет жить по остаточному принципу. Две независимые команды — это космос, это дорого и сложно. В первую очередь речь про компетенции админов и разработчиков, во вторую — про маркетинг. С маркетингом всё стало сложнее, и новый проект с нуля делать будет тяжко. Рынок стал намного более конкурентным, чем когда мы начинали. Чтобы хостинг покупали, надо быть в топе поиска, Хабра (хотя это не про покупки, а про бренд) и так далее. Наш продукт — это в том числе маркетинг, в который вложено много сил и эмоций, на потоке это повторить не выйдет.
Выиграй телескоп и другие призы в космическом квизе от RUVDS. Поехали? ????
Комментарии (15)
CherryPah
05.07.2023 07:31+4Хорошая статья, спасибо.
Не даёт забывать что не смотря на все iaas, s3 и k8s, крутится все это все рано на реальном железе.
Didimus
05.07.2023 07:31+1А что даёт подключение пары ssd в рейд? Более низкую надежность и худший аптайм - да. Выход из строя любого из дисков роняет всю систему. Или у вас настоящие хорошие контролеры от адаптека, например, которые это могут пережить?
ntsaplin Автор
05.07.2023 07:31+2Речь про избыточные RAID, например, с Хеммингом, для повышения надёжности и скорости. То есть при потере одного диска в массиве (а диски — это, по большому счёту, расходники) не должны теряться данные клиента хостинга. Дальше замена диска, ребилд — и всё это без остановки ВМ.
Didimus
05.07.2023 07:31А клиенту это зачем? Он же за это не платит. К тому же отвал машины это нормально.
saboteur_kiev
05.07.2023 07:31+4К тому же отвал машины это нормально.
Вы какого хостера представляете? Чисто для справки, чтобы я к вам не приходил
Didimus
05.07.2023 07:31У нас надёжность 99.999, а что?
Отвал машины это норма. В нормальной системе любые компоненты постоянно выходят из строя и их тут же заменяют.
CherryPah
05.07.2023 07:31+1Например вышедшие из строя диски в массиве. Это нормально.
Падение машин - нет
Didimus
05.07.2023 07:31-1То есть для вас это катастрофа?
Чем падение диска отличается от, например, падения сетевой карты?
CherryPah
05.07.2023 07:31+2Чем падение диска отличается от, например, падения сетевой карты?
Сетевух тоже две. Воткнуты в различные коммуты и прочий "2N+1". Это во вторых. А во первых диск - это расходник с сферическим MTFB в вакууме, со здоровенным горбом в первые 10к часов и верным разве что для диска лежащего в шкафу. А с SSD так и вообще вполне себе ощутимым TBW
То есть для вас это катастрофа?
Что именно, падение машины? Кейсы разные бывают. Ну вот есть у меня кластер серверов, где отвал диска в серваке не проблема, он вообще инмемори продолжит работать. Отвал сетевухи, проца, матери, БП, да чего угодно до того момента пока этот сервак не начнет условно гореть синим пламенем, поджаривая соседей - это проблемы этого сервера, кластер перестроится и не заметит. И да, там стоит по одному диску, одной сетевухе и платформа supermicro с одним БП. Погаснет - да и фиг с ним, только заббикс в тележку алерт пришлет.
А в соседней стойке у меня стоит кластер серваков, у каждого из которых сторадж на 200ТБ (и то потому что я старовер и доверяю онли 10 рейду, а желающие скроить на 60рейде там и 380 ТБ могут положить) как вы собираетесь их оперативно бэкапить и резервировать, чтобы не потерять не то что доступность в HA, а сам этот объем данных если первый же сломанный диск их просто похоронит?
Вообще у гугла в свое время была статья, в которой описывалось различие между потерей доступности (при сдохшей сетевухе), что тоже плохо, но клиенты ее простят, а может и вообще не заметят. И потерей данных - чего делать нельзя. Сдохший диск, это про данные.
saboteur_kiev
05.07.2023 07:31+1тем что при падении диска нужно восстанавливать данные, а при падении сетевой карты просто поднять другую.
Бэкапы же могут делаться не ежесекундно, поэтому мы теряем данные, теряем время.
Я вообще не понимаю зачем нужно пояснять айтишнику смысл рейдов и отказоустойчивости дисковой системы.
trompopo
05.07.2023 07:31+3Спасибо за интересную статью и блог в целом, не буду скрывать что реклама сработала и я решил зайти на ваш сайт выбрать себе виртуалку под пет-проекты, но цены меня очень удивили. Можете поподробнее рассказать почему они довольно сильно отличаются от конкурентов? Возможно я упускаю какое-то важное конкурентное преимущество которым вы можете поделиться? Ubuntu/1core/1GB/20GB в Амстердаме стоит 19$(16$ со скидкой), похожий VPS у DigitalOcean обойдется в 7-8$
UPD: Хотя сейчас вижу что в России вы предлагаете стандартные пакеты примерно за похожую цену, планируется ли такое в зарубежных локациях?ntsaplin Автор
05.07.2023 07:31+1Одно из наших преимуществ, которое редко можно встретить у других хостеров — это виртуализация Hyper-V. С одной стороны это дает большую изолированность ВМ машины по отношению к другим средам, с другой стороны лицензия Windows включена в стоимость и это ощущается в цене.
Стандартные пакеты сейчас недоступны на зарубежных площадках, но доступны в 7 из 8 наших российских дата-центрах (за исключением Владивостока). Обратите внимание, что цены на виртуальные сервера в ДЦ Астаны и Алматы хоть и не пакетные, но значительно ниже, чем на европейских площадках.
Ещё не могу не напомнить, что мы предлагаем своим постоянным клиентам много способов сэкономить. У нас есть скидки при оплате сервера на продолжительный период, накопительная бонусная система и промокоды для читателей нашего блога.
MRD000
05.07.2023 07:31Про IPv6 вы, мне кажется, усложняете. Там проблем больших таких нет, понятно что опыт нужно накопить. Хотя, я не работал с железками типа Huawei еще, не знаю насколько оно работает нормально с IPv6. А так просто нужно пробовать, быстрее, чем рассуждать. Я просто знаю, что все работает и даже есть провайдеры на IPv6+IPv4, у которых юзеры даже не заметили перехода.
Для хостинга, правда, это не сильно что-то меняет, все-равно нужно оба IPv4 и IPv6 поддерживать. Самая выгода у провайдеров, им не нужно CGNAT тогда будет, у клиентов больше возможностей с прямым IP для вещей типа Skype. Что удивительно, что еще много больших провайдеров (миллион+), которым пока хватает прямых IP. Кто что успел схватить. А для хостера может быть просто маркетинговый плюс, наверное.
И, кстати, да, интересно, что будет двигать именно создателей сайтов и хостеров поддерживать IPv6. Ведь все-равно нужно IPv4 пока. А там где работает IPv4 уже IPv6 не нужен. Наверное только когда где-то начнут отказываться от IPv4 из-за цены, то будет реальное движение.
anonymous
НЛО прилетело и опубликовало эту надпись здесь