Месяц назад мы в Unihost провели полный апгрейд структуры KVM VPS с HDD на современные и быстродействующие SSD VPS. Нервы менеджеров улеглись, админы наигрались с настройками, а значит пришла пора подвести итоги и поделиться полученным опытом.
Эта статья не претендует на характеристику инновационной или глубоко технической. Скорее напротив. Мы отдаем себе полный отчет в том, что задержались с апгрейдом года, эдак, на 3 минимум. Тем не менее, мы надеемся, что поможем определиться с выбором тем, кто все еще раздумывает над приобретением виртуального сервера и убережет от возможных ошибок хостинг-провайдеров, которые еще не проходили наш путь.
Ниже вы найдете инсайдерскую информацию о нашей хостинг компании: с какими проблемами столкнулись, как международный провайдер; как удалось исключить спам рассылки на 100% и увидите сравнительное тестирование минимальных тарифных планов старой и новой линеек KVM VPS.
Немного истории
Многие действуют по принципу «Работает — не трогай». Если клиента все устраивает и он ежемесячно приносит денежку, зачем что-то менять? Продолжительное время и мы так смотрели на нашу старую структуру VPS с HDD.
До середины марта 2017 все KVM VPS работали на железе с жесткими дисками SATA 6Gb/s в RAID1, процессорами Xeon® E3-1231 v3 и 32 ГБ ОЗУ на каждый физический сервер. Виртуальные машины были не самые быстрые, но исполняли то, что от них ожидали. Если клиенту нужен был хостинг пошустрее, мы предлагали недорогой выделенный сервер. Все логично.
Продажи шли, серверы наполнялись, компания расширялась и выходила на европейские и азиатские рынки, а вместе с этим приходили и новые проблемы, которых не было, работая чисто на СНГ.
Подключив международный процессинг карт и PayPal, популярный Bitcoin и другие международные платежки, мы столкнулись понятиями Anti-Fraud, AML (Anti Money Laundering) и Chargeback. Кроме того, не то чтобы новостью, но удивило количество желающих размещать на серверах вредоносные и мошеннические сайты, спам-рассылки, бот-неты и другое. Это неминуемо приводило к получению абуз (жалоб) и, как следствие, блокировке отдельных IP адресов и даже полностью подсетей. Не выдержав наплыва «нехороших» пользователей, нам пришлось отказаться от моментальной активации и выдачи заказанных VPS. Мы внедрили непростую систему верификации, начиная от описания проекта и целей владельца веб-ресурса, заканчивая голосовыми подтверждениями заказов, проверкой документов и платежных карт по сканам/фото.
Естественно, это привело к уменьшению новых заказов и росту негатива со стороны добросовестных пользователей, которые также стали жертвой новых политик верификации. Да и сама структура VPS начала морально устаревать и не выдерживать жесткой конкуренции на рынке.
Поэтому мы решили не продолжать в таком же духе. Провели мозговой штурм. Испробовали метод Киплинга и синектики. Устроили независимое голосование и пришли к следующим выводам:
- Нужно создать продукт, который будет отвечать современным требованиям (HDD — старо, SSD — ново и популярно);
- Обеспечить максимально бесшовный переход для нынешних клиентов, которые довольны тем, что есть и не захотят переходить на новую структуру;
- Решить проблемы при работе старых VPS:
— сложная верификация клиентов;
— проблемы из-за рассылок спама и других абузных проектов;
— заражения вирусами, shell, backdoors и другим сайтов клиентов и последствия из-за этого.
Период «Just ship it»
Началось все с подбора железа под новые VPS. Оптимальным по цене и производительности для нас стали серверы с двумя ЦП Xeon® E5-2630v3, 128GB DDR4 ECC 2133 MHz ОЗУ, 4x800GB SSD от Samsung и Mega Raid с технологией Fast Path. Размещены серверы в европейском ЦОДе и подключены к сети на скорости 1 Гбит/с без ограничения по трафику.
Благодаря новому оборудованию, удалось обновить тарифную линейку с увеличением предоставляемых ресурсов в 1.5-2 раза (не считая объемов дискового пространства) и подорожанием в 1.5 раза. Кроме того, вместе с SSD VPS теперь бесплатно предоставляется панель управления ISPmanager 5 Lite, которая в рознице стоит до 4 евро/месяц.
Упрощаем верификацию заказа
Как говорилось выше, верификация перед активацией VPS нужна не только для проверки платежей и предотвращения нежелательных возвратов, но и для минимизации рисков недобросовестного использования наших сервисов. Полностью избавиться от проверки платежей сложно — мировая арена диктует свои жесткие условия. Тем не менее, мы вернули моментальную активацию VPS, и теперь у клиента есть 3 рабочих дня на прохождение верификации платежных данных. Здесь стандартно: при оплате с банковской карты или PayPal мы запрашиваем скан или фото документа, подтверждающего личность и фото платежной карты (рекомендуем скрывать серию/номер документа, а также часть номера карты и cvv). Практикуем упрощенную проверку по телефону или простое уточнение тематики проекта. Естественно, для существующих клиентов при повторных заказах верификация не требуется.
Плюсы:
- Каждый клиент получает заказанный VPS в течении нескольких секунд после получения оплаты;
- Значительно снижен процент мошеннических платежей и, как следствие, уменьшилось нежелательное использование нашего сервиса.
Минусы:
- Временные затраты как с нашей стороны, так и со стороны клиентов на верификацию платежа;
- Снижение анонимности клиентов. По сути это не минус, т.к. мы не предоставляем анонимных или абузоустойчивых сервисов.
Исключаем вероятность рассылки спама
Спам — самый распространенный и нежелательный вид активности на серверах
Вики: Спам (англ. spam) — массовая рассылка коммерческой и иной рекламы или подобных коммерческих видов сообщений лицам, не выражавшим желания их получать.
Спам нельзя недооценивать. Проблема носит глобальный характер и с ней сталкивался каждый хостер без исключения. Даже абузоустойчивые провайдеры, которые готовы размещать любые проекты и контент у себя на серверах, имеют одно исключение — рассылку спама.
Почему же спам рассылки так не нравится хостерам? Ответ простой — IP адреса, с которых ведется массовая рассылка и на которые приходят спам жалобы, попадают в черные списки (blacklist). В результате, серверы с этими адресами уже не подойдут для дальнейшего использования — даже для рассылки легальной почты. Все популярные почтовые сервисы будут автоматически воспринимать почту с «очерненных» IP как спам и блокировать ее без дополнительных проверок.
Как провайдеры решают эту проблему?
- ЦоД или крупные облачные сервисы используют специализированное и дорогостоящее оборудование для фильтрации трафика.
- Хостеры различного уровня просто блокируют 25 порт, который открывается только после проверки веб-ресурса клиента.
Второй вариант мы отмели сразу, поскольку наша цель — максимально удобный и простой сервис. Первый же метод используется на уровне нашего ЦоД в Европе, где мы размещаем серверное оборудование. Тем не менее, это не дает нужного нам решения, т.к. происходит блокировка того же 25 порта на сервере, с которого идет массовая рассылка — не обязательно спам.
Решение
Тут нет ничего секретного или сверхсложного. Рассылка электронной почты ведется через 25 порт — специализированное оборудование фильтрует именно его. Мы же весь почтовый трафик с VPS редиректим через порт 2525 на отдельный сервер — релей (relay) с установленным ПО: eFa (email Filter application). Этот софт настраивает фильтрацию исходящей почты по заданным алгоритмам, добавляет адреса в белые или черные списки и обучает саму программу для эффективной работы.
Плюсы:
- Пользователи не испытывают никаких проблем с отправкой своих email — им не нужно даже менять настройки своего почтового сервера. Все происходит автоматически на нашей стороне;
- Мы полностью обезопасили клиентов от спам рассылок, которые могут вестись с серверов без их ведома после взлома доступов или инъекций в код;
- Пресекли попытки мошенников использовать наши серверы в своих целях.
Минусы:
- Невозможно развернуть сервис массовой email рассылки на нескольких IP. Но наши VPS и не предназначены для подобного. Для таких нужд мы предоставляем выделенные серверы.
Автоматизируем антивирусную защиту
Хабр — популярный IT ресурс. Здесь вряд ли нужно рассказывать о необходимости защиты данных, применении сложных паролей, обновлении ПО и т.п. Однако, далеко не каждый клиент хостинга заботится о том, чтобы предотвратить попытки взлома или заражения своего сайта. При этом нарушение целостности кода можно считать самым безобидным, ведь вылечить это можно простым восстановлением из бекапа.
Куда хуже, когда после взлома сайта, на него заливают трояны или ботнеты, которые приводят к нежелательным последствиям: злополучная рассылка спама, размещение фишинговых страниц, участие в ДДоС атаках и др. Это неминуемо приводит к получению Абузы и риску остаться без VPS.
Чтобы минимизировать подобные последствия, мы внедрили автоматическое сканирование на shell, backdoor и другие вредоносные скрипты. На март 2017 года, в нашей базе насчитывается 500 000 известных вирусов и троянов. Само сканирование проходит без влияния на работу VPS с проектами пользователей.
С заданной периодичностью (раз в 2 дня) наш скрипт создает копии LVM томов клиентских VPS и подготавливает соответствующие разделы к монтированию на отдельном выделенном сервере. После монтирования проводится сканирование всей файловой системы. Обнаружив вредоносный код, скрипт автоматически находит регистрационные данные владельца VPS и на контактный email высылается письмо-уведомление об обнаружении проблемы. Одновременно в нашей тикетной системе в разделе Abuse создается напоминание о необходимости проверить действия клиента по очистке своего VPS.
Можно спросить, почему же мы автоматически не лечим вирусы? Ответ простой и кроется в принципе предоставления VPS. Виртуальный сервер представляет собой копию выделенного сервера, с root доступом и изолированными ресурсами. Это значит, чтобы внести какие-то изменения, наши сотрудники должны также иметь root доступ к серверу клиента. А это противоречит политике безопасности и нашему принципу — никаких вмешательств в код клиента без его ведома (запроса или согласия). Для того, чтобы упростить работу по устранению вредоносных скриптов с сайта, мы предоставляем полную информацию в нашей базе знаний. И конечно, при желании пользователя, мы оказываем помощь в устранении проблем на серверах в рамках пакета администрирования.
Плюсы:
- Предотвращение вредоносной и нежелательной активности до того, как это стало проблемой для нас или клиентов;
- Полностью автоматизированный процесс сканирования и уведомления пользователей, без вмешательства в работу самих VPS.
Минусы: - Учитывая специфику предоставления VPS, не обнаружено.
Небольшое отступление
Мы планируем написать подробные статьи о правовых, технических и других аспектах внедрения трех решений: верификации, защиты от спама и антивирусной проверки. Если у вас есть вопросы или пожелания, пишите их в комментариях ниже. Постараемся ответить в новых статьях.
А теперь перейдем к сравнению старой и новой структур KVM VPS
Проводим тестирование
Мы решили не изобретать велосипед и взяли примеры скриптов на testvps. Для сравнения выбрали два минимальных тарифа — старый KVM-384 (1 cpu 3,4 GHz, 768 MB DDR3, 30 GB HDD) и новый KVM-1 (2 cpu 2.4 GHz, 1500 MB DDR4 ECC, 15 GB SSD).
Дисклеймер. Тестирование показателей проводилось на серверах, находящихся под нормальной рабочей нагрузкой в конкретный промежуток времени. Показатели не претендуют на значение истинных, и могут отличаться при повторном тестировании.
Test Benchmark — общая производительность процессорных юнитов
Type | KVM-384 (старый) | KVM-1 (новый) |
---|---|---|
Dhrystone 2 using register variables | 3681,5 | 6501,6 |
Double-Precision Whetstone | 700,1 | 1690,2 |
Execl Throughput | 1326,5 | 2203,4 |
Pipe Throughput | 2561,2 | 4191,4 |
Pipe-based Context Switching | 913,2 | 1538,3 |
Process Creation | 1082,2 | 1932,2 |
Shell Scripts (1 concurrent) | 2432,5 | 4649,4 |
Shell Scripts (8 concurrent) | 2250,6 | 4335,2 |
System Benchmarks Index Score | 2076,9 | 2895,4 |
Плюсы:
- Общая оценка системных показателей увеличилась на 40%
- Увеличение по большинству показателей, включая исполнение shell скриптов увеличилось практически в 2 раза.
Минусы:
- не обнаружено
Test Disk — основные показатели производительности дисковой подсистемы
Type | KVM-384 | KVM-1 |
---|---|---|
3221225472 bytes written in /seconds: | 50,91 | 6,94 |
on speed: | 60,34 MiB/sec | 442,72 MiB/sec |
File operations: | ||
reads/s: | 170,15 | 5630,07 |
writes/s: | 113,43 | 3753,05 |
fsyncs/s: | 357,51 | 12005,27 |
8.6 GB, 8.0 GiB copied/s | 144,183 | 11.9649 |
8.6 GB, 8.0 GiB copied, Mb/s | 59,6 | 718 |
Throughput: | ||
Read, MiB/s: | 2,66 | 87,97 |
written, MiB/s: | 1,77 | 58,64 |
Плюсы:
- Скорость записи множества мелких файлов увеличилась в 7 раз, а одного большого файла — в 12 раз.
- Пропускная способность чтение/запись увеличилась примерно в 33 раза!
- Так же мы пришли к выводу, что на производительности положительно сказалось использование аппаратного рейд контроллера вместо программного. Дополнительно увеличилась скорость чтения: при работе аппаратного рейда считывание 4 байт происходит по 1 байту с каждого диска. А при работе программного рейда, считывание происходит по 2 байта только с главной пары.
Минусы:
- использование RAID 10 не обеспечивает максимальной скорости работы, какую бы дал RAID 0. Мы же выбрали лучшую безопасность данных в случае выхода оборудования из строя, и минимизацию времени простоя.
Как вы относитесь к тому, что некоторые хостеры предлагают именно RAID 0 для увеличения скорости работы VPS, но при этом допускают простой при восстановлении данных пользователей до 12 и более часов? Что для вас в приоритете?
Тест скорости работы CMS Wordpress без дополнительной оптимизации
Type | KVM-384 | KVM-1 |
---|---|---|
Время загрузки ms | 1810 | 903,7 |
Кол-во запросов/мин, | 1492 | 6331 |
скорость чтения mb | 80,14 | 337,23 |
Requests/sec: | 24,62 | 105,41 |
Transfer/sec: | 1,32 | 5,61 |
Плюсы:
- Практически все показатели выросли в 4 раза
- Время загрузки сайта сократилось в 2 раза.
Минусы:
- не обнаружены
Подведем итоги сравнения
Получили результат, которого ожидали. Новая структура по всем показателям превосходит старую в разы, а показатели чтения/записи дисковой подсистемы на SSD в 33 раза выше, чем HDD.
Перенос клиентов на новые VPS
Запустить новую линейку VPS это одно. Сложнее казался следующий этап — перенос текущих клиентов.
Чтобы обеспечить плавный переезд без лишних простоев и спешки, мы решили, что старую структуру будем поддерживать еще 3 месяца. Это значит, что у клиентов достаточно временем, чтобы решить — переходить на новую SSD VPS или искать другие варианты размещения. Если так, то предлагаем выделенный сервер :).
Мы переживали, что в новых тарифных планах места на диске стало меньше. На минимальном тарифе разница была всего в 5 ГБ, а на старших тарифах разница оказалась больше чем в 2 раза. Провели несложный анализ и увидели, что ни один клиент не использовал предоставленное место на 100% на старом VPS. Это значит, что не будет проблем с ресайзом томов при переносе.
Маркетологи подготовили рассылку с новостью и, скрестив пальцы, отправили ее клиентам.
На удивление, наши страхи не оправдались — пользователи отреагировали положительно. Многие из них давно ждали перехода VPS на SSD от нас. Сейчас серверы наполняются виртуалками как текущих клиентов, так и новых. Нам удалось воплотить наши планы в жизнь.
Feedback matters
Мы создаем сервис, опираясь на нужды текущих и потенциальных клиентов. Поэтому будем рады вашим вопросам, советам и комментариям.
В ближайшие месяцы мы обновим текущую структуру хостинга и сделать сайт компании приятнее и проще в использовании. О всех нюансах этих работ мы непременно поделимся с вами. Следите за обновлениями в блоге!
Комментарии (9)
Taciturn
03.05.2017 17:30А можно подробнее про «жесткие диски Kingston»? Никогда о таких не слышал, нагуглить тоже не смог.
Ukr2net
03.05.2017 18:05Упс, конечно же, жесткие диски стояли от Хитачи, ОЗУ от Кингстон. Спасибо что заметили, и извините, что вам пришлось потратить время на поиски из-за опечатки :)
В статье исправил
andvgal
05.05.2017 01:44Xeon® E3-1231 v3 и 64 ГБ ОЗУ на каждый физический сервер
Пожалуйста поделитесь опытом увеличения максимальной памяти E3 v3 с 32 до 64.
Остальные показатели так же соответствуют?
Ukr2net
05.05.2017 22:04Да, собственно, никакого секрета тут нет. В посте указано "серверы с двумя ЦП Xeon® E5-2630v3", каждый из которых поддерживает до 32 ГБ ОЗУ, в сумме получается 64. Так что в достоверности остальных показателей можете не сомневаться.
andvgal
05.05.2017 23:16Изначальная цитата была из "исторического" раздела вашей статьи, где указывается E3.
Уж не стал писать про то, что в новой конфигурации 2133 Mhz выглядит весьма странно когда процессор поддерживает лишь 1600 / 1866 Mhz.
Xeon® E5-2630v3, 128GB DDR4 ECC 2133 MHz ОЗУ
Будем считать, что пытались сослаться на v4, но вы ведь только что указали всего 64 — по 32 на каждый?
Или может это у вас старые серверы были с двумя E3-1231v3 на материнку… Я уже не удивлюсь.
Gasaraki
05.05.2017 09:09Про софтовый raid10 (mdadm) и скорость можно делать разный layout, т.е. как фактически распределяются блоки.
По умолчанию режим near. Можно включить режим far и тогда он будет читать страйп со всех дисков (страйп делится не на 2 блока, а на 4-ре).
AslanKurbanov
Современное железо это хорошо, но по-моему самое главное у хостера это поддержка. Админы, которые готовы дойти до самой сути, а не отмахнуться. Ведь на VPS хостятся средненькие проекты, им нужно немного больше чем виртуальный хостинг, а для выделенного сервера они не доросли.
Например, у московского хостера на букву «М», у которого лежали когдато наши многочисленные сайты, для VPS поддержка вообще по сути отсуствовала. За годы сотрудничества мы заплатили им тысячи долларов, но помощи не получили почти никакой, ответ был приблизительно такой:VPS это ваш сервер вот сами с ним и е… разбирайтесь.
Хорошо что есть WHM/cPanel, не у всех отечественных хостеров он есть, за последнее время они серьезно его модернизировали. Очень классно что имея лицензию можно обратиться напрямую в поддержку cPanel через голову хостера, и они не посылают, что не редкость и у зарубежных хостеров, а стараются разобраться и помочь. Я обращался к ним с вопросами не касающимися непосредственно работы панели, прониклись и помогли. Работают грамотно, оставляют после себя логи ssh-что и как делалось. Только иногда надо ждать, тк очередь.
Вот только ценник на лицензию WHM /cPanel у Unihost высоковат, у европейских хостеров ниже значительно, я своему за реселлерскую лицензию плачу 12$. Но, наверное, из-за российских реалий: логистические расходы, растаможка с НДС-ом.
Ukr2net
Совершенно согласен с вашими словами на счет поддержки. Именно поэтому основной мой приоритет, как руководителя сервиса — это построение грамотной и отзывчивой поддержки.
Конечно, я не буду говорить, что мы бесплатно помогаем с любыми вопросами — это было бы неправдой. Что мы действительно делаем — это стараемся помочь каждому клиенту, как минимум, диагностировать проблему, даже если она явно произошла не на нашей стороне, а на стороне сайта, размещенного на сервере. Если можно быстро исправить проблему тюнингом каких-то веб-служб, то в принципе, наши спецы делают это. Для более сложных проблем у нас предусмотрен отдельный пакет премиум администрирования. Но никогда мы не оставляли клиентов один на один с их вопросами.
По поводу WHM/cPanel для VPS — да, сейчас у нас цены далеко не самые низкие, особенно если сравнивать с зарубежными компаниями, но мы работаем над этим. Кроме того, довольно часто клиенты выбирают более дешевую альтернативу, а именно ISPmanager, который, в принципе, ни в чем не уступает по возможностям западному аналогу, а стоит в несколько раз меньше. И, как я писал в статье, с нашими новыми VPS мы даем эту панельку бесплатно на весь срок использования сервера.
AslanKurbanov
Чем хорош WHM/cPanel — то что там легко поставить плагином бесплатный файервол ConfigServer Security & Firewall, и позакрывать дыры, я так считаю, что это одна из причин всемирного успеха WHM. Не всякий обладает навыками администрирования и работой с iptables, а для VPS задачка защиты сервера одна из первоочередных. Владелец VPS счастливо живет, когда не видит как долбят сервер по 22 порту, как ломятся в почту, как шуршат роботы, обрабатывая сайт в поисках уязвимостей.
Когда у фирмы есть выделенный сервер, скорее всего там присутствует штатный админ, а VPS штука больше на веб-программеров любителей, не особо продвинутых в Linux, но зато бюджетная и позволяет многие вещи опробовать.