Глава 13 Серверы ~11 минут чтения

Виртуализация: один сервер — несколько систем внутри

Самая частая серверная ошибка малого бизнеса — когда на одной машине, в одной операционной системе, свалено вообще всё: домен, файлы, 1С, почта, бэкапы. Виртуализация решает это, не заставляя покупать пять серверов. Но это не универсальный рецепт — и у неё есть свои нюансы.

Версия статьи:

Сервер, на котором живёт вообще всё

Если «сервер — это компьютер главбуха» — самая частая серверная ошибка малого бизнеса, то вторая по популярности — «один сервер, на котором живёт вообще всё». И лечится она не покупкой пяти серверов, а виртуализацией.

Картина почти такая же классическая, как «сервер из компьютера бухгалтера»: есть один сервер, и на нём живёт вообще всё. Контроллер домена, файловый сервер, 1С, терминальный сервер для удалёнки, бэкапы, иногда ещё почта — и всё это на одной операционной системе, в одной куче. Купили одну железку, поставили Windows Server, навесили на него все задачи подряд. Удобно: одна машина, одна лицензия, одна система.

До первого сбоя. Потому что у такой схемы есть фундаментальная проблема, и справиться с ней покупкой более мощного железа нельзя. Зато можно — виртуализацией. Разберём, что это такое, зачем нужно малому бизнесу и где, наоборот, её лучше не применять. Потому что это не универсальный рецепт: у виртуализации есть и обратная сторона.

Один сервер — одна ОС — все роли

После «компьютера главбуха в роли сервера» это второй по распространённости антипаттерн серверной инфраструктуры в SMB: все роли сведены в одну ОС на одной физической машине. Виртуализация — штатный способ это исправить, но со своими ограничениями.

Типовая конфигурация: один физический сервер, одна ОС (как правило, Windows Server), и на ней совмещены контроллер домена, файловый сервер, сервер 1С, терминальный сервер, бэкапы, иногда почтовый сервер. Мотивация понятна — одна железка, одна лицензия, единое администрирование. Издержки этой схемы проявляются не на старте, а на дистанции.

Проблема не решается переходом на более мощное железо — она структурная. Решается она виртуализацией: несколько изолированных операционных систем на одной физической машине. Ниже — что это даёт, какой гипервизор выбрать и где виртуализация, наоборот, противопоказана. Потому что универсальным рецептом она не является.

Почему «всё на одном сервере» — плохая идея

Когда все роли свалены в одну операционную систему, любое действие с любым сервисом рискует задеть все остальные. Три беды, которые из этого вытекают.

Первое — одна точка отказа. Упала операционная система — легло вообще всё, разом. Не файлы отдельно, не 1С отдельно — домен, файлы, 1С, удалёнка, почта мертвы одновременно. Одна проблема останавливает всю компанию.

Второе — всё мешает друг другу. 1С съела память — файловый сервер начинает тормозить. Двадцать человек зашли на терминалку — 1С начинает задыхаться. Обновление Windows перезагрузило сервер — и вместе с ним перезагрузилось вообще всё. Сервисы дерутся за одни и те же ресурсы.

Третье — обслуживание превращается в кошмар. Нужно перезагрузить сервер для обновления? Предупреждайте всю компанию, потому что ляжет всё. Нужно что-то поменять в настройках 1С? Осторожно, рядом живёт контроллер домена — не сломайте. Любое действие — это риск задеть соседей.

«Всё на одной ОС» — структурный дефект

Совмещение всех ролей в одной ОС создаёт три класса проблем: единая точка отказа, конкуренция за ресурсы и недопустимая связанность при обслуживании. Это не вопрос мощности железа.

Единая точка отказа. Все роли разделяют одну ОС и одно ядро. Отказ ОС (сбой, зависание, неудачное обновление) одновременно выводит из строя весь стек: домен, файловый доступ, 1С, терминальные сессии, почту. Нет изоляции отказов — область поражения равна всей инфраструктуре.

Конкуренция за ресурсы без изоляции. Сервисы делят память, процессорное время и дисковый ввод-вывод без чётких границ. Пиковая нагрузка на 1С деградирует файловый сервис, а всплеск терминальных сессий деградирует 1С. Один сервис способен «задушить» остальные, потому что нет механизма квотирования ресурсов между ролями.

Недопустимая связанность при обслуживании. Перезагрузка ради обновления одной роли затрагивает все остальные. Изменение конфигурации одного сервиса несёт риск задеть соседние, живущие в той же ОС. Регламентные работы по любому компоненту превращаются в операцию с риском для всей системы — окно обслуживания приходится согласовывать на всю компанию.

Один сервер — несколько систем внутри

Идея простая. У вас одна железка. Но на ней работает не одна операционная система, а несколько — каждая в своей изолированной виртуальной машине, каждая занимается своей задачей.

Физический сервер один. А внутри него — несколько независимых серверов, каждый со своей операционной системой, своими настройками, своим выделенным куском памяти и диска. Каждая виртуальная машина «думает», что она единственная на железе.

Один физический сервер гипервизор: распределяет железо между виртуалками ВМ 1 Контроллер домена своя ОС ВМ 2 Файловый сервер своя ОС ВМ 3 Почтовый сервер своя ОС ВМ 4 Терминальный сервер своя ОС
Четыре независимых сервера на одной железке. Каждый со своей системой и своими настройками, каждый изолирован от соседей.

То есть виртуализация — это способ разделить роли между разными операционными системами, не покупая под каждую отдельную железку. Одна виртуалка — контроллер домена, другая — файловый сервер, третья — почтовый сервер, четвёртая — терминальный сервер. Физический сервер при этом один.

Гипервизор и изолированные виртуальные машины

На одной физической машине работает гипервизор, который распределяет ресурсы железа между несколькими виртуальными машинами. Каждая ВМ — это полноценная изолированная ОС со своей конфигурацией и выделенными ресурсами.

Гипервизор — это слой, который виртуализирует процессор, память, диск и сеть и нарезает их между гостевыми ОС. Каждая виртуальная машина изолирована от остальных: своё ядро, своя ОС, свой выделенный объём RAM и диска, своя сетевая конфигурация. С точки зрения гостевой системы она работает на отдельном сервере.

Один физический сервер гипервизор: распределяет CPU / RAM / диск / сеть между ВМ ВМ 1 Контроллер домена своя ОС ВМ 2 Файловый сервер своя ОС ВМ 3 Почтовый сервер своя ОС ВМ 4 Терминальный сервер своя ОС
Четыре независимых сервера на одной физической машине. Каждый со своей ОС и выделенными ресурсами, изолированный от соседей.

По сути виртуализация — это разделение ролей между разными ОС без покупки отдельного железа под каждую. Домен, файлы, 1С, терминальный сервер — каждая роль в своей ВМ, на одной физической платформе.

Что виртуализация меняет на практике

Четыре вещи, ради которых это всё затевается. Каждая напрямую решает одну из бед «всё на одном сервере».

01 Изоляция
Сбой почтового сервера больше не роняет файловый. Обновление терминалки не перезагружает контроллер домена. Каждый сервис живёт в своём отсеке — и проблемы одного не перекидываются на остальных.
02 Гибкость
Терминальному серверу стало мало памяти? Добавили этой виртуалке, не трогая остальные. Нужен ещё один сервер под новую задачу? Создали новую виртуалку — за минуты, не покупая железо.
03 Удобство обслуживания
Нужно перезагрузить почтовый сервер? Перезагружаете только его — остальные работают. Неудачное обновление? Откатились к снэпшоту (снимку) одной виртуалки за минуты, соседи даже не заметили.
04 Бэкап и переносимость
Виртуалку можно целиком сохранить как один файл и целиком восстановить — на том же сервере, на другом, где угодно. Умерло железо — развернули образ на новом и работаете дальше. Не нужно заново ставить систему, настраивать, ставить софт.

Что виртуализация даёт на практике

Четыре свойства, каждое из которых напрямую закрывает один из дефектов схемы «всё на одной ОС».

01 Изоляция отказов и ресурсов
Сбой или перезагрузка одной ВМ не затрагивает остальные. Ресурсы (RAM, CPU, диск) выделяются каждой ВМ с квотами — один сервис не может «задушить» соседей. Область поражения отказа сокращается с «вся инфраструктура» до одной ВМ.
02 Гибкость распределения
Ресурсы перераспределяются между ВМ без простоя соседей: добавить RAM перегруженной роли, развернуть новую ВМ под задачу — минуты, без закупки железа. Сколько ВМ разместить, определяет реальная загрузка хоста, а не число физических машин.
03 Снэпшоты и окна обслуживания
Снэпшот (снимок состояния) перед изменением — и откат за минуты при неудаче. Перезагрузка и регламентные работы по одной ВМ не затрагивают остальные: окно обслуживания локально, а не на всю компанию.
04 Переносимость и аварийное восстановление
ВМ — это набор файлов: её целиком копируют и разворачивают на другом железе. Умер сервер — восстановление сводится к развёртыванию образа, а не к переустановке ОС и настройке всех сервисов заново. Это в разы меньше время восстановления (RTO).

Какие бывают решения для виртуализации

Программа, которая управляет виртуалками, называется гипервизор. Вариантов несколько, но для малого бизнеса выбор довольно очевиден.

Наш выбор
Proxmox
Бесплатный гипервизор без ограничений по функциональности. Продукт уже взрослый и проверенный. Для малого и среднего бизнеса в большинстве случаев — оптимальный выбор: не нужно платить за лицензии, не нужно думать про ограничения бесплатных версий. Установили, настроили, работает.
С оговорками
VMware
Тоже хороший вариант — особенно если вся инфраструктура уже на нём. Но после изменений в лицензировании и ухода с российского рынка для нового внедрения в малом бизнесе это уже далеко не очевидный выбор.
В своей нише
Hyper-V
Решение от Microsoft. Хорош в сценарии, когда у сервера есть основная задача, а пара виртуалок выполняют вспомогательную роль. Но как основную платформу виртуализации мы его обычно не рекомендуем.

Выбор гипервизора

Три основных варианта для SMB. Для большинства новых внедрений выбор сводится к одному.

Рекомендация
Proxmox VE
Бесплатный гипервизор (KVM + LXC) без функциональных ограничений, зрелый и проверенный в продакшене. Для большинства SMB-сценариев — оптимум: нет лицензионных платежей и нет урезанности «бесплатных редакций». Развёртывание и сопровождение — стандартные.
Ситуативно
VMware vSphere
Зрелая платформа, оправдана при уже существующей инфраструктуре на VMware. Для новых внедрений в SMB после изменений в лицензировании и ухода с российского рынка — неочевидный выбор: стоимость и лицензионные риски.
Нишево
Hyper-V
Оправдан, когда у хоста есть основная роль, а несколько ВМ — вспомогательные. Как основная платформа виртуализации для SMB — как правило, не рекомендуется.

Когда виртуализация уже нужна

Это не «для больших компаний». Это стандартный инструмент, который позволяет нормально разделить роли даже на одном-двух физических серверах.

Простое правило: как только на сервере появляется больше одной роли — уже стоит задуматься. Если у вас на одной машине живёт и контроллер домена, и файлы, и 1С — это уже три разные задачи, которые лучше разнести по разным виртуальным машинам.

И помните наш разговор про домен: контроллеров должно быть два, на двух разных физических машинах. Виртуализация и здесь помогает — второй контроллер домена можно поднять как виртуалку на другом физическом сервере. Не нужно покупать под него отдельную железку, достаточно выделить виртуальную машину.

Порог перехода на виртуализацию

Виртуализация — не атрибут крупных компаний, а штатный инструмент разделения ролей даже на одном-двух физических серверах.

Порог простой: больше одной роли на сервере — повод разносить по ВМ. Контроллер домена + файлы + 1С на одной ОС — это три разные задачи с разными профилями нагрузки, требованиями к обновлениям и границами отказа. Их разделение и есть базовое применение виртуализации.

Частный, но важный случай — резервирование контроллера домена: их должно быть минимум два на разных физических машинах. Второй DC поднимается как ВМ на другом гипервизоре — без выделенной железки под него. Виртуализация снимает экономический барьер для корректного резервирования.

Чего не стоит делать с виртуализацией

У виртуализации есть не только плюсы. Это не бесплатный обед — за удобство вы платите. И есть случаи, где её лучше не применять.

Нюанс 01
Раз есть виртуализация — запихнём туда вообще всё
Главное, что нужно понять про виртуализацию: она не бесплатная. Всё, что работает в виртуальной машине, в среднем на 20-30% медленнее, чем то же самое на железе напрямую. Это нормальная плата за изоляцию и удобство, и для большинства сервисов она совершенно не ощущается — домен, файлы, почта, терминалка прекрасно живут в виртуалках. Засовывать в них «вообще всё подряд», не думая, — вот это ошибка.
Нюанс 02
Нагруженную 1С — тоже в виртуалку, за компанию
Главное исключение — нагруженная 1С. Лёгкая файловая база на несколько человек с виртуализацией дружит нормально, её можно смело виртуализировать. А вот клиент-серверная 1С с серьёзной нагрузкой очень чувствительна к скорости процессора и диска: там потери могут быть уже не 20-30%, а в два-три раза. Такую 1С часто оставляют на голом железе ради скорости. Это и есть тот случай, где выбор делают осознанно.
Нюанс 03
Один сервер легко превратить в десять виртуалок
Виртуализация не создаёт ресурсы из воздуха. Если на сервере 16 ГБ памяти и слабый процессор — десять виртуальных машин будут жить так же плохо, как десять ролей на одной ОС. А иногда и хуже, потому что сам гипервизор тоже потребляет ресурсы. Считайте железо под реальные потребности виртуалок плюс запас.
Нюанс 04
Виртуалки же бэкапятся сами собой
Виртуализация упрощает бэкапы, но не отменяет их. Снэпшоты — это не бэкап: они лежат на том же сервере, что и виртуалки. Сгорел сервер — пропали и виртуалки, и снэпшоты разом. Виртуальные машины нужно копировать на отдельное хранилище так же, как обычные серверы. Отдельная копия, отдельное место, регулярная проверка восстановления.

Где виртуализация вредит

У виртуализации есть накладные расходы и границы применимости. Четыре типичные ошибки — про то, где её применяют там, где не следует.

Ошибка 01
Виртуализировать всё без разбора
Виртуализация даёт штраф производительности — как правило, 20-30% относительно того же железа без слоя гипервизора. Это накладные расходы на каждую операцию. Для домена, файлового сервиса, почты это некритично — профиль нагрузки терпит. Решение «всё в ВМ» по умолчанию — не всегда корректно.
Ошибка 02
Нагруженную 1С — в виртуалку
Клиент-серверная 1С под реальной нагрузкой — чувствительна к латентности CPU и диска. Здесь штраф может быть не 20-30%, а кратным — в 2-3 раза. Выбор между удобствами виртуализации (изоляция, снэпшоты, переносимость) и производительностью на голом железе — осознанный инженерный компромисс, а не умолчание. Тяжёлую 1С часто оставляют на bare-metal.
Ошибка 03
Гипервизор без запаса ресурсов
Виртуализация не создаёт ресурсы — она их распределяет. 16 ГБ RAM и слабый CPU не вытянут десять ВМ — результат будет не лучше, чем десять ролей на одной ОС, а хуже: гипервизор сам потребляет ресурсы. Расчёт — по сумме реальных потребностей ВМ + 20-30% запаса. RAM критична, диски — SSD/NVMe.
Ошибка 04
Снэпшоты заменяют бэкап
Снэпшот — не резервная копия. Он живёт на том же хранилище, что и ВМ: отказ физического хранилища уничтожает и ВМ, и снэпшоты. Виртуализация упрощает бэкап (ВМ копируется целиком как файл), но не выполняет его за вас. Нужна регулярная копия ВМ на отдельное хранилище и проверка восстановления — по той же схеме 3-2-1, что и для физических серверов.

Наши принципы — применительно к виртуализации

Виртуализация — это не модная технология ради технологии, а те же четыре наших общих принципа, приложенные к серверу.

Надёжность
Изоляция — это и есть надёжность. Проблема одного сервиса больше не роняет остальные, а умершее железо не означает дни простоя: развернули образ виртуалки на новом сервере — и работаете дальше. Отказ перестаёт быть катастрофой.
Управляемость
Снэпшот перед изменением, перезагрузка одной виртуалки без остановки соседей, откат неудачного обновления за минуты. Каждой ролью можно заниматься отдельно, не согласовывая окно обслуживания со всей компанией.
Масштабируемость
Нужна новая роль — создали виртуалку за минуты, не покупая железо. Нужно больше ресурсов одной из них — перераспределили, не трогая остальные. Инфраструктура растёт под задачи, а не скачком «ещё один сервер в шкаф».
Безопасность
Разделение ролей — это и про безопасность тоже. Когда домен, файлы и 1С разнесены по отдельным виртуалкам, проблема в одной (заражение, взлом, кривое обновление) не расползается автоматически на все остальные.
И экономичность — один сервер вместо нескольких
Знакомая ситуация: денег на второй сервер нет, а старый загружен процентов на 15 — вот и накидывают на него ещё одну роль, потом ещё одну. Так и появляется «всё в одной куче». Виртуализация разрывает этот порочный круг: свободные ресурсы сервера используются нормально — через отдельные виртуалки, а не через свалку ролей в одной ОС. Новая задача — это новая виртуалка на том же железе, а не повод докупать сервер. Покупать новый есть смысл, только когда ресурсы реально кончились.
А доступность — не бесплатный обед
За изоляцию и удобство вы платите производительностью: 20-30% в среднем, а для тяжёлой 1С — и в разы. Поэтому виртуализация — не «везде и всегда», а осознанный выбор: почти всё — в виртуалки ради изоляции и удобства, тяжёлую 1С — часто на голое железо ради скорости.

Главное даже не в том, какой гипервизор выбрать, а в том, чтобы перестать валить всё в одну кучу. Разные роли — разные системы — настоящая изоляция, на одном физическом сервере. Это и есть переход от «сервера, на котором живёт всё» к нормальной инфраструктуре.

Четыре принципа — применительно к виртуализации

Виртуализация — приложение тех же четырёх принципов к серверному уровню, с одной важной оговоркой про производительность.

Надёжность
Изоляция отказов: сбой одной ВМ локализован, не затрагивает остальные. Инкапсуляция ВМ в файлы радикально снижает RTO — восстановление при отказе железа сводится к развёртыванию образа, а не к переустановке стека с нуля.
Управляемость
Снэпшоты дают атомарный откат изменений. Регламентные работы и перезагрузки локализованы на уровне отдельной ВМ — окно обслуживания не распространяется на всю инфраструктуру. Управление ролями развязано.
Масштабируемость
Ресурсы перераспределяются между ВМ без простоя, а новая роль — это новая ВМ, а не закупка железа. Сколько ВМ разместить, определяет реальная загрузка хоста, а несколько мощных серверов заменяют парк слабых.
Безопасность
Сегментация ролей по отдельным ВМ ограничивает область компрометации: инцидент в одной ВМ (вредонос, эксплойт, ошибочное изменение) не распространяется на остальные автоматически. Сетевую изоляцию между ВМ можно усилить на уровне гипервизора.
Экономичность — консолидация вместо парка машин
Типовой триггер схемы «всё в одной ОС» как раз экономический: отдельного сервера под новую роль нет, а текущий загружен на 10-20% — и роль накидывают на него поверх остальных. Виртуализация использует те же свободные ресурсы правильно: свободная ёмкость хоста идёт под изолированные ВМ, а не под свалку ролей в одной ОС. Новая роль — новая ВМ на имеющемся железе, а не новая закупка. Покупать сервер есть смысл только когда ресурсы реально кончились. Плюс несколько мощных машин вместо парка слабых — меньше затрат на стойко-место, электроэнергию и обслуживание.
Доступность — с поправкой на накладные расходы
Все преимущества оплачиваются штрафом производительности — в среднем 20-30%, а для нагрузок, чувствительных к скорости диска и процессора (нагруженная 1С), кратно больше. Поэтому виртуализировать или нет — решают по каждой роли отдельно: большинство сервисов — в ВМ, тяжёлые и чувствительные к скорости — нередко оставляют на голом железе (bare-metal).

Ключевое — не выбор гипервизора, а отказ от консолидации всех ролей в одной ОС. Разделение ролей по изолированным ВМ на одной физической платформе — это переход от монолита «всё на одном сервере» к управляемой инфраструктуре.

«А что насчёт …?»

Типичные вопросы про виртуализацию, которые нам задают.

Как переехать на виртуализацию без долгого простоя?

Не нужно в одну ночь всё ломать и собирать заново — это как раз тот случай, когда спешка вредит. Переезд делается поэтапно, по одной роли, и большую часть подготовки можно провести, пока старый сервер спокойно работает.

Первый шаг — поставить гипервизор и сразу сделать P2V-миграцию (от «physical to virtual», «из физического в виртуальное»). Существующий сервер целиком «снимается» в образ виртуальной машины — со всеми настройками, программами и данными — и запускается уже под гипервизором. Ничего не нужно настраивать с нуля: тот же сервер продолжает работать «как был», только теперь это виртуалка. Простой здесь минимальный — по сути одно переключение на вечер или выходные.

А дальше — уже без всякой спешки — роли по очереди выносятся из этой «общей» виртуалки в отдельные: сегодня поднимаем отдельную виртуалку под файловый сервер, через неделю — под почту, потом — под терминалку. Компания всё это время работает, каждый перенос — короткое переключение, а не недельная остановка.

В итоге компания почти не замечает переезда: работа идёт, а инфраструктура постепенно превращается из «всё в одной куче» в нормальный набор изолированных виртуалок.

У нас один сервер. Виртуализация защитит, если он физически сгорит?

Сама по себе — нет, и это важно понимать. Если сервер один, то виртуализация на нём даёт изоляцию между сервисами, но не защищает от гибели самого железа. Сгорел сервер — остановились все виртуалки на нём, разом. Виртуализация и отказоустойчивость — это разные вещи.

Но вот в чём её реальная сила: каждая виртуалка — это файл, который можно регулярно бэкапить целиком. И если этот бэкап лежит не на том же сервере, а на отдельной площадке — другое здание, другой офис, облачное хранилище, — то даже полная потеря сервера (и даже всего офиса вместе с ним — пожар, затопление, кража) не означает потерю данных. Берёте бэкап виртуалок, разворачиваете на любом другом железе — и работаете дальше.

Поэтому правило простое: бэкап обязательно должен жить отдельно от сервера, и желательно — вообще в другом месте. Тогда «сгорел сервер» превращается из катастрофы в неприятность на несколько часов.

А если сам гипервизор сломается или зависнет — ляжет ведь сразу всё?

Вопрос справедливый, и честный ответ — да, гипервизор остаётся общим основанием для всех виртуалок. Если упадёт он сам или железо под ним — встанут все виртуальные машины разом. В этом смысле одна точка отказа никуда не делась, просто сместилась на уровень ниже.

Но разница огромная. Гипервизор — это тонкий, узкоспециализированный слой: он только распределяет ресурсы между виртуалками и больше ничего не делает. На нём не открывают почту, не ставят программы, не лазают в интернет, не крутят 1С. Поэтому ломаться ему практически не от чего — в отличие от «винды с пятью ролями», где каждое обновление, каждая программа и каждый сервис — потенциальная причина сбоя.

То есть вероятность, что ляжет именно гипервизор, в разы ниже, чем вероятность сбоя перегруженной общей ОС. А главное — остаётся та самая переносимость: даже если хост умер, виртуалки целыми разворачиваются из бэкапа на другом железе.

А там, где простой совсем недопустим, делают следующий шаг — второй физический сервер. Тогда при отказе одного хоста виртуалки поднимаются на втором. Но это уже история про повышенную отказоустойчивость, а не обязательный минимум для старта.

А нашу 1С стоит виртуализировать?

Зависит от того, какая у вас 1С, и это как раз тот случай, где не нужно действовать по шаблону «всё в виртуалки».

Лёгкая файловая 1С — это 1С, работающая в файловом режиме: база лежит просто файлом, без отдельного сервера базы данных. Ориентир — база до 10-15 ГБ и примерно до 15 человек одновременно. Такая 1С с виртуализацией дружит прекрасно: штраф производительности есть, но на этой нагрузке его никто не замечает. Её можно смело держать в виртуалке наравне с доменом, файлами и почтой — и получать все плюсы: изоляцию, снэпшоты перед обновлением, удобный бэкап.

Тяжёлая клиент-серверная 1С — большая база, десятки одновременных пользователей, отдельный сервер базы данных — совсем другая история. Она очень чувствительна к скорости процессора и диска, а виртуализация добавляет накладные расходы на каждую операцию. Потери здесь могут быть уже не 20-30%, а в два-три раза — и пользователи это почувствуют сразу: «всё стало тормозить».

Поэтому тяжёлую 1С часто оставляют на отдельном сервере на «голом железе», без слоя виртуализации — ради максимальной скорости. А все остальные роли (домен, файлы, почта, терминалка) спокойно виртуализируют. Это нормальный, осознанный компромисс: удобство там, где оно не мешает, и производительность там, где она критична. Какой у вас случай — понятно после оценки реальной нагрузки, и тут лучше не гадать, а посчитать.

Типичные вопросы и уточнения

Что чаще всего спрашивают при переходе на виртуализацию в SMB.

Как мигрировать со схемы «всё на одной ОС» без длительного простоя?

Поэтапно, по одной роли, с основной подготовкой на работающей системе. Одномоментная пересборка «всё сразу» — наихудший сценарий по рискам и простою.

Базовый порядок: развернуть гипервизор и первым шагом выполнить P2V-миграцию (physical-to-virtual) — существующая физическая инсталляция целиком конвертируется в образ ВМ (диск, ОС, конфигурация, данные) и запускается под гипервизором без переустановки и перенастройки. Текущий сервер сразу продолжает работу уже как ВМ, простой — одно короткое окно переключения, а не пересборка с нуля.

Получив промежуточное состояние «как было, но уже в ВМ», монолит затем — без временного давления — декомпозируют на отдельные ВМ по ролям: роли последовательно выносятся из исходной ВМ в самостоятельные (файловый сервис, почта, терминальный сервер). Каждый вынос — короткое окно (вечер, выходные), инфраструктура между этапами в рабочем гибридном состоянии.

На каждом этапе снэпшот перед изменением обеспечивает быстрый откат. Совокупный простой — это сумма коротких окон переключения, а не единый длительный даунтайм.

Защитит ли виртуализация на одном хосте от физического отказа железа?

Нет. На одном хосте виртуализация даёт изоляцию сервисов, но не отказоустойчивость уровня железа: отказ хоста выводит все размещённые на нём ВМ одновременно. Изоляция и отказоустойчивость (HA) — это разные вещи, их нельзя путать.

Что действительно работает на одном хосте — переносимость: ВМ — это файлы, которые регулярно бэкапятся. Критическое условие — бэкап хранится off-site, на независимой площадке (другое здание, другой ЦОД, объектное хранилище). Тогда отказ хоста — и даже полная потеря площадки (пожар, залив, кража) — не означает потерю данных: ВМ разворачиваются на другом железе.

Это базовая логика схемы 3-2-1: минимум три копии, на двух типах носителей, одна — вне площадки. Бэкап, лежащий на том же хосте, что и ВМ, защищает только от логических ошибок, но не от физической потери узла. Off-site копию для скорости восстановления дополняют локальной — но обязательной является именно off-site.

А если сам гипервизор сломается или зависнет — ляжет ведь сразу всё?

Формально — да: отказ гипервизора или хост-железа выводит все ВМ разом. Точка отказа не исчезает, а смещается с уровня монолитной ОС на уровень тонкого слоя виртуализации. Принципиально меняется вероятность этого отказа.

Гипервизор — минимальный по поверхности слой: его единственная функция — распределение ресурсов между ВМ. На нём нет прикладной нагрузки, интерактивных пользователей, браузера, офисного ПО, прикладных обновлений. Поверхность отказа и поверхность атаки кратно меньше, чем у Windows Server с совмещёнными ролями, где источником сбоя является почти любой компонент стека.

То есть вероятность отказа именно слоя виртуализации существенно ниже вероятности сбоя перегруженной общей ОС. Дополнительно сохраняется быстрое восстановление через развёртывание ВМ из бэкапа на другом железе — чего у монолита на голом железе нет.

Где требуется устранить и остаточный риск хоста — переходят к многоузловой конфигурации: кластер из двух и более хостов с автоматическим перезапуском ВМ на живом узле (HA), при необходимости — живая миграция. Это следующий уровень доступности, а не обязательное условие входа.

Стоит ли виртуализировать 1С?

Зависит от профиля нагрузки — решение принимается по типу инсталляции, а не по умолчанию.

Файловая 1С (файловый режим работы — база как файл, без выделенного сервера СУБД, ориентир — до 10-15 ГБ базы и до ~15 одновременных пользователей) виртуализируется без значимых последствий: штраф 20-30% на такой нагрузке не проявляется. Размещается в ВМ наравне с доменом, файлами и почтой, со всеми преимуществами — изоляция, снэпшоты, бэкап-как-файл.

Клиент-серверная 1С под реальной нагрузкой (крупная база, десятки одновременных пользователей, отдельный сервер СУБД) очень чувствительна к скорости процессора и диска. Накладные расходы виртуализации на каждую операцию дают здесь падение скорости уже не на 20-30%, а в 2-3 раза — и пользователи это сразу замечают.

Типовое решение — вынос нагруженной 1С на bare-metal либо на выделенный хост с проброшенными ресурсами и NVMe, при сохранении остальных ролей в ВМ. Конкретный выбор делается по результатам оценки нагрузки (объём базы, число сессий, профиль операций), а не априорно. Промежуточные варианты — гарантированное резервирование CPU/RAM, отдельный быстрый storage под ВМ 1С — также применимы.

Поменять версию статьи:

Если у вас «всё на одном сервере»

Посмотрим, что у вас сейчас крутится на сервере, разнесём роли по виртуалкам (домен, файлы, 1С, терминалка — каждая отдельно), поставим и настроим Proxmox, организуем бэкапы. Без догм: виртуализируем всё, кроме того, чему она вредит — например, нагруженной 1С. На вашем железе, в дата-центре или гибридно.

Телефон +7 831 423-67-03
Почта sales@itmak.ru
Telegram @itmak_ru

Разнести роли по изолированным ВМ

Аудит текущей конфигурации: какие роли, какая нагрузка, где границы отказа. Проектирование: что в ВМ, что на bare-metal (нагруженная 1С), расчёт ресурсов с запасом. Развёртывание Proxmox, миграция ролей в отдельные ВМ, настройка снэпшотов и бэкапа на независимое хранилище по схеме 3-2-1. Размещение — на вашем железе, в ЦОД или гибридно.

Телефон +7 831 423-67-03
Почта sales@itmak.ru
Telegram @itmak_ru