Услуга VPS на Hyper-V существует у нас не так уж давно, но уже сыскала заслуженую популярность. Нельзя сказать, что эта услуга идеальна (идеальных услуг не бывает), но она очень полезна клиенту. Обычно VPS берут те клиенты, которым предоставляемых хостингом лимитов уже мало, а купить/арендовать целый сервер еще рано. По моим наблюдениям, 90% стабильно не ураганно быстро растущих проектов проходит стадию VPS. Я сейчас не рассматриваю масштабные стартапы, которые имеют инвестиции и обычно сразу покупают полный набор железа, а также сайты-визитки, которые могут состоять из одной страницы.
Технически Hyper-V VPS — это набор гигантских VPS-серверов под управлением MS Win2008 server, на каждом из которых крутится набор клиентских виртуальных Hyper-V машин. Соотвественно, у каждого клиента своя виртуальная машина, полностью изолированая от остальных. Как и на реальную машину, на виртуальную надо ставить операционную систему, и с самого начала нас заинтересовал вопрос о том, как этот процесс можно оптимизировать. Дело в том, что ОС ставится далеко не мгновенно, даже с учетом «жульничества» Hyper-V (типа запредельной скорости чтения-записи дисков). Win2008WE на HyperV-256 ставится, например, 3 часа. Плюс пост-настройка, которая тоже требует времени… Получается неоптимально, поскольку нужно постоянно отслеживать целый ряд активных установок. Плюс тормозить клиента, который уже оплатил услугу и ждать не жаждет.
Помощь пришла откуда не ждали — уже имеющаяся панель управления хостингом DotNetPanel, как выяснилось, умеет работать и с авторазвертыванием образов. Умеет, чего греха таить, довольно корявенько, но хотя бы как-то…
Что может сама DNP:
Имея на руках этот функционал мы ставили готовить образы для авто-установки систем. Разумеется самым «напрашивающимся» вариантом стал MS Win2008 server в разных вариантах — его и готовить нетрудно, и устанавливать удобно. Вторым большим образом стал Debian Linux — также крайне популярный среди (самый популярный в Linux). Когда популярность услуги стала расти — мы добавили Ubuntu Server и CentOS, а затем и FreeBSD. С последней пришлось как следует помучатся, поскольку реализация APIC в MS Hyper-V отличается от реального железа. И «чистая» установка FreeBSD имеет странный глюк — она не выключается. То есть вообще и никак. На стадии «теперь вырубаем питание» машина виснет и на внешние раздражители более не реагирует. Мне пришлось немало попотеть, чтобы баг этот отловить и ликвидировать (спасибо безизвестным японским товарищам за патч для IO-APIC).
Все перечисленные образы — это чистые «пустые» операционки, расчитаные на то, что пришедший клиент сам поставит нужный ему софт. В принципе, так чаще всего и происходит, подкованый технически клиент прекрасно сам ставит все, что ему нужно (благо он хорошо представляет, что именно ему нужно и где это взять). Однако есть определенное количество клиентов, которые не столь подкованы технически, и переходят на HyperV именно (и только) потому, что им не хватает тарифа хостинга. И часть таких клиентов в слове «сервер» ничего не понимает. Для таких клиентов мы тоже собрали несколько образов — с заранее предустановленным набором софта. А именно:
А теперь немного о будущем. Все меняется, а в ИТ-мире все меняется очень быстро. По этому я хочу попросить уважаемое хабра-сообщество озвучить, каких, на взгляд сообщества, образов не хватает. пожелания я прошу оформлять ввиде комментария и(или) слать мне на почту. У нас уже было несколько идей на данную тему, но идея без поддержки мертва. А штамповать образы ради образов — не хочется. Я обещаю лично, что самые популярные образы пойдут в реализацию.
Спасибо за то, что читаете нас :)
С уважением,
Павел Рудницкий (habrauser logan)
Технически Hyper-V VPS — это набор гигантских VPS-серверов под управлением MS Win2008 server, на каждом из которых крутится набор клиентских виртуальных Hyper-V машин. Соотвественно, у каждого клиента своя виртуальная машина, полностью изолированая от остальных. Как и на реальную машину, на виртуальную надо ставить операционную систему, и с самого начала нас заинтересовал вопрос о том, как этот процесс можно оптимизировать. Дело в том, что ОС ставится далеко не мгновенно, даже с учетом «жульничества» Hyper-V (типа запредельной скорости чтения-записи дисков). Win2008WE на HyperV-256 ставится, например, 3 часа. Плюс пост-настройка, которая тоже требует времени… Получается неоптимально, поскольку нужно постоянно отслеживать целый ряд активных установок. Плюс тормозить клиента, который уже оплатил услугу и ждать не жаждет.
Помощь пришла откуда не ждали — уже имеющаяся панель управления хостингом DotNetPanel, как выяснилось, умеет работать и с авторазвертыванием образов. Умеет, чего греха таить, довольно корявенько, но хотя бы как-то…
Что может сама DNP:
- Скопировать образ-виртуальный диск HyperV-сервера
- Растянуть этот диск до размера, определенного тарифом
- Подмонтировать диск для подмены файлов на нем (диск должен быть только FAT32 или NTFS)
- Подменить предопределенные переменные в наборе файлов (указывается вручную). Набор переменных включает в себя IP-адрес, имя и пароль пользователя и тдп
Имея на руках этот функционал мы ставили готовить образы для авто-установки систем. Разумеется самым «напрашивающимся» вариантом стал MS Win2008 server в разных вариантах — его и готовить нетрудно, и устанавливать удобно. Вторым большим образом стал Debian Linux — также крайне популярный среди (самый популярный в Linux). Когда популярность услуги стала расти — мы добавили Ubuntu Server и CentOS, а затем и FreeBSD. С последней пришлось как следует помучатся, поскольку реализация APIC в MS Hyper-V отличается от реального железа. И «чистая» установка FreeBSD имеет странный глюк — она не выключается. То есть вообще и никак. На стадии «теперь вырубаем питание» машина виснет и на внешние раздражители более не реагирует. Мне пришлось немало попотеть, чтобы баг этот отловить и ликвидировать (спасибо безизвестным японским товарищам за патч для IO-APIC).
Все перечисленные образы — это чистые «пустые» операционки, расчитаные на то, что пришедший клиент сам поставит нужный ему софт. В принципе, так чаще всего и происходит, подкованый технически клиент прекрасно сам ставит все, что ему нужно (благо он хорошо представляет, что именно ему нужно и где это взять). Однако есть определенное количество клиентов, которые не столь подкованы технически, и переходят на HyperV именно (и только) потому, что им не хватает тарифа хостинга. И часть таких клиентов в слове «сервер» ничего не понимает. Для таких клиентов мы тоже собрали несколько образов — с заранее предустановленным набором софта. А именно:
- Windows server + IIS + ASP + MSSQL — платформа Windows for web
- Windows server + IIS + PHP + MySQL — гибрид :)
- Windows server + Apache + mod_php + MySQL — для любителей windows
- Linux + Apache + PHP + MySQL — стандартный Linux Web
А теперь немного о будущем. Все меняется, а в ИТ-мире все меняется очень быстро. По этому я хочу попросить уважаемое хабра-сообщество озвучить, каких, на взгляд сообщества, образов не хватает. пожелания я прошу оформлять ввиде комментария и(или) слать мне на почту. У нас уже было несколько идей на данную тему, но идея без поддержки мертва. А штамповать образы ради образов — не хочется. Я обещаю лично, что самые популярные образы пойдут в реализацию.
Спасибо за то, что читаете нас :)
С уважением,
Павел Рудницкий (habrauser logan)