Два месяца назад Unihost перевёл все KVM VPS на SSD-накопители. Старая структура на HDD изжила себя и уже не соответствовала требованиям наших клиентов. Результаты оказались хорошими — быстродействие VPS увеличилось в разы, да и наши пользователи поддержали инициативу.
Сейчас к такому же переходу на SSD диски готовится линейка OpenVZ VPS. Поэтому, мы решили сделать небольшой постмортем и рассказать о переносе линейки KVM подробнее.
Повод для действия
Старая линейка KVM VPS на HDD долго устраивала как нас, так и наших клиентов. VPS работали не на самом новом железе, но были надежными и предлагали много места на жестком диске. А если клиент хотел сервер побыстрее — мы предлагали недорогие выделенные серверы.
А потом мы вышли на зарубежный рынок. И оказалось, что KVM VPS на HDD — уже давно пройденный этап. Еще пару лет назад королем рынка стали VPS на SSD — быстрые, мощные и современные.
Нашлись и другие проблемы. Как только мы подключили международные платежные системы, на нас сразу навалилась лавина недобросовестных клиентов, желающих размещать на серверах Unihost вредоносные и мошеннические сайты,, бот-неты и прочие запрещенные ресурсы и делать спам-рассылки. Это приводило к получению жалоб и отключению наших IP-адресов, а то и целых подсетей.
Чтобы справиться с этим, мы отключили мгновенную активацию VPS. На смену ей пришла система верификации, которая включала в себя дотошную проверку документов и финансовой информации, голосовое подтверждение проекта и прочую вынужденную паранойю.
От недобросовестных пользователей мы избавились, но процесс верификации сказался на наших законопослушных клиентах. С учетом устаревающей структуры VPS на HDD, нам стало ясно — пора что-то менять.
Провели совещание и мозговой штурм. Попробовали несколько модных методик решения проблем. В результате, мы составили план задач:
- Создать конкурентоспособные, современные решения для VPS;
- Сделать переход для нынешних клиентов максимально простым и удобным;
- Решить проблемы c верификацией покупателей VPS;
- Улучшить безопасность VPS;
- Решить проблему с блокировками IP из-за спама и других абузных проектов.
Меняем структуру
Начать решили со смены серверов для VPS. Здесь уже были кое-какие наработки и предложения, поэтому мы довольно быстро пришли к решению, которое устраивало всех.
| Старые серверы | Новые серверы | |
| Процессор | Xeon® E3-1231 v3 | 2x Xeon® E5-2630v3 | 
| ОЗУ | 32 GB DDR3 1600 MHz | 128GB DDR4 ECC 2133 MHz | 
| Диски | SATA 6 Gb/s Hitachi HDD в RAID 1 | 4x800GB Samsung SSD в MegaRaid | 
Если вам это ни о чем не говорит — просто знайте, что всё стало в разы быстрее:
- Четырехъядерные процессоры были заменены на пару более современных восьмиядерных;
- Объём ОЗУ на серверах вырос в четыре раза;
- Вместо HDD были установлены быстрые SSD.
Вот сравнение старого минимального тарифа KVM-384 и нового минимального тарифа KVM-1.
| ХАРАКТЕРИСТИКИ | ||
| KVM-384 | KVM-1 | |
| Процессор | 1×3.4 GHz | 2×2.4 GHz | 
| ОЗУ | 768 МБ DDR3 | 1500 МБ DDR4 ECC | 
| Диски | 30 GB HDD | 15 GB SSD | 
| ТЕСТ ПРОЦЕССОРА (больше — лучше) | ||
| Тип | KVM-384 | KVM-1 | 
| Тест Dhrystone 2 с использованием значений реестра | 3681,5 | 6501,6 | 
| Тест Double-Precision Whetstone | 700,1 | 1690,2 | 
| Тест пропускной способности Execl | 1326,5 | 2203,4 | 
| Тест пропускной способности Pipe | 2561,2 | 4191,4 | 
| Смена контекста на основе Pipe | 913,2 | 1538,3 | 
| Создание процесса | 1082,2 | 1932,2 | 
| Обработка shell-скрипта | 2432,5 | 4649,4 | 
| Обработка 8 shell-скриптов одновременно | 2250,6 | 4335,2 | 
| Общая оценка | 2076,9 | 2895,4 | 
| ТЕСТ ДИСКА | ||
| Тип | KVM-384 | KVM-1 | 
| Время записи 3221225472 байтов, в секундах: | 50,91 | 6,94 | 
| Скорость записи | 60,34 MiB/sec | 442,72 MiB/sec | 
| Операция чтения в секунду: | 170,15 | 5630,07 | 
| Операция записи в секунду: | 113,43 | 3753,05 | 
| Операция fsync в секунду: | 357,51 | 12005,27 | 
| Время копирования файла в 8,6 ГБ, в секундах | 144,183 | 11.9649 | 
| Скорость копирования, МБ/с | 59,6 | 718 | 
| ТЕСТ WORDPRESS | ||
| Тип | KVM-384 | KVM-1 | 
| Время загрузки страницы, мс | 1810 | 903,7 | 
| Кол-во запросов в минуту | 1492 | 6331 | 
| Скорость чтения, МБ/с | 80,14 | 337,23 | 
Результат
- Производительность выросла в 1,5-2 раза, сайты стали загружаться в 2 раза быстрее, а производительность дисков выросла в 10-30 раз;
- Стоимость VPS выросла в 1.5 раза, но теперь в тариф входит панель управления ISPmanager Lite 5. Розничная цена панели — 4 евро/месяц.
Упрощаем верификацию заказа
Отменять верификацию нельзя — слишком много без неё возвратов платежей, а также попыток незаконопослушного использования сервисов. Но и сложная процедура верификации тоже никого не устраивала — многим добросовестным пользователям VPS нужна срочно, а верификация занимает время.
В итоге, решили пойти на компромисс. Моментальная активация VPS вернулась, но теперь каждому покупателю нужно в течение трёх рабочих дней пройти верификацию. Верификация стандартная — скан или фото паспорта, а также скрин из PayPal или фото банковской карты. Если нужно — проводим упрощенную проверку по телефону.
Естественно, верификация нужна только для новых клиентов. При повторных заказах проверка не требуется.
Результат
- VPS доступна в течение минуты после совершения оплаты;
- Процент недобросовестных пользователей снижен;
- Верификация по-прежнему занимает время как у нас, так и у клиентов. Но вопрос стоит уже не настолько остро.
Исключаем вероятность рассылки спама
Спам — это рассылка электронных сообщений лицам, которые не соглашались их получать. А еще, спам — это самый распространенный вид незаконной активности на серверах.
Дело в том, что IP, с которых идёт спам, попадают в чёрные списки почтовых провайдеров. Это значит, что все сообщения с этих IP — даже абсолютно нормальные — будут автоматически попадать в папку «Спам». А значит такие IP уже не подходят для дальнейшей работы.
Можно просто заблокировать на серверах порт 25, с которого идёт почта, и открывать его только после верификации ресурса.
Можно установить оборудование для фильтрации трафика, которое автоматически заблокирует массовые рассылки.
Но в итоге, мы решили сделать свое решение.
Решение
По умолчанию, рассылка электронной почты идёт через порт 25, на котором и настроен фильтр в нашем датацентре. А наши VPS теперь отправляют почтовый трафик по порту 2525 на специальный сервер-передатчик.
На сервере установлена eFa — современная программа для фильтрации электронной почты. eFa автоматически сортирует почту, отправляет спам в черный список и рассылает оставшиеся сообщения получателям уже по порту 25. При этом программа самообучаемая, а значит с каждым днём она становится точнее.
Результат
- Пользователям не нужно ничего перенастраивать;
- Злоумышленники больше не рассылают почту со взломанных серверов;
- Рассылка спама надежно заблокирована;
- Нельзя совершать массовые рассылки с нескольких IP. Для этого вам уже понадобится выделенный сервер.
Автоматизируем антивирусную защиту
Взлом сайта бывает разный. Всё зависит от того, какие цели ставил перед собой взломщик.
Потеря контроля над сайтом или даже его полное уничтожение — это еще сравнительно не страшно. Сайт восстанавливается из бэкапа, который мы делаем ежедневно, и можно продолжать работу.
Но если хакер взломал сайт незаметно и поставил в код вирусы — это уже намного сложнее. Владелец сайта может даже не подозревать, что сайт взломали, а его сервер в это время будет участвовать в DDoS-атаках, хостить фишинговые страницы и рассылать тот же спам. В потом на него придёт абуза и владелец останется без сервера.
Чтобы предупредить такое развитие событий, мы решили внедрить автоматическое сканирование на вирусы.
Раз в два дня, наш скрипт создаёт копии томов с клиентских VPS и монтирует их на выделенном сервере. Сервер выполняет сканирование и, когда находит вирус, автоматически уведомляет владельца VPS по e-mail. Одновременно, такое же уведомление приходит в наш отдел поддержки, чтобы наши администраторы проверили, удален ли вирус.
Политика компании запрещает нам вмешиваться в код клиента, поэтому автоматически удалить вирус мы не можем. Клиент должен либо сделать это сам, с помощью нашей Базы Знаний, либо оставить заявку в рамках пакета администрирования.
Результат
Теперь мы предупреждаем вирусные атаки, а не разбираемся с их последствиями.
Переносим клиентов на новые VPS
Запустить новую линейку VPS — просто. Намного сложнее — перенести серверы текущих клиентов на новую структуру.
Мы решили сделать переезд максимально плавным. Новую структуру мы будем поддерживать еще два месяца. За это время, клиенты решат — оставаться на новых VPS с SSD или искать другой вариант. Например, выделенный сервер.
Сначала, мы волновались о том, что старым клиентам не хватит места на новых VPS. Но как выяснилось, никто не использовал хранилище на VPS на 100%.
Поэтому отдел маркетинга подготовил рассылку и в рабочем порядке начал отправлять письма.
Результат
- Новые серверы уже наполняются VPS — как перенесенными, так и новыми;
- Процесс верификации работает стабильно;
- eFa успешно обучается борьбе с изощренными видами спама;
- Вирусные атаки уничтожаются на ранних стадиях.
Как видите, мы добились поставленных целей!
Следующие несколько месяцев будут очень интересными — мы планируем обновить структуру хостинга и сделать наш сайт более удобным, красивым и современным. Следите за обновлениями в блоге, чтобы узнать о нюансах этих работ!