Не знаю, как вам, а мне постоянно не хватает рабочего пространства для экспериментов. Поэтому я решил собрать домашнюю лабораторию и заодно рассказать вам о процессе.
Эта статья ориентирована на начинающих. Уверен, любой опытный пользователь без проблем сам поставит виртуализацию, но коль я сам начал это делать — почему бы не поделиться опытом?
Я уже писал, какой ПК собрал себе: у него большой запас производительности. Однако для домашней лаборатории подойдет даже старый ПК, отживший свой век как основной. Всё зависит от задач. Лично я планирую поднять полноценное пространство для работы (GitLab, Zabbix, Backup), развернуть несколько тестовых узлов для Kubernetes и добавить Home Assistant для умного дома.
Важно! Перед началом убедитесь, что ваш процессор поддерживает виртуализацию, и она включена в BIOS/UEFI.
Как это найти — зависит от версии BIOS. Если не уверены — гуглите модель вашей материнской платы + "virtualization enable" или спрашивайте в моем Discord.
Первое, без чего я уже не могу жить — это подсистема Windows для Linux (Windows Subsystem for Linux, WSL). Она позволяет прямо из Windows работать с приложениями Linux, а также встраивает полноценную среду Linux, с которой можно работать через тот же VS Code, Docker Desctop, хотя я предпочитаю запускать Docker внутри Linux.
Важно понимать, что WSL — это платформа для разработки, обучения и экспериментов. В редких случаях её используют для продакшена специфического софта, но это не полноценный изолированный Linux-сервер. Я столкнулся с рассинхронизацией времени в memcached, при запуске его в Docker через WSL. В результате кэши удалялись раньше времени.
Для начала включим поддержку подсистемы Linux. В меню «Пуск» в строке поиска введите «Включение или отключение компонентов Windows» и запустите оснастку. В списке найдите «Подсистема Windows для Linux» и установите галочку. После установки Windows предложит перезагрузку — согласитесь. Альтернативно можно выполнить команду, но лично у меня этот способ не сработал:
wsl --install
Теперь запустите PowerShell от имени администратора и выполните команду — WSL обновится до последней версии:
wsl.exe --update
После очередной перезагрузки мы можем включить WSL, настроить её и запустить нашу подсистему. Первым делом переключим WSL на версию 2 — она использует полноценное ядро Linux и имеет ряд преимуществ, о которых чуть позже. Для этого в PowerShell выполним:
wsl.exe --set-default-version 2
Теперь нам нужно установить первый дистрибутив Linux. Нет, спокойно, устанавливать руками ничего не нужно, только дать команду, и Windows сделает всё за вас. Для начала посмотрим список доступных дистрибутивов:
wsl.exe --list --online
К сожалению, WSL развивается достаточно медленно и слабо, поэтому рассчитывать на богатство выбора не приходится. Я буду использовать Ubuntu 24.04, но вы можете выбрать любой другой дистрибутив. Выполним в PowerShell:
wsl.exe --install -d Ubuntu-24.04
В конце установки вас просят указать учётную запись и пароль — можете придумать то, что вам удобно, но пароль устанавливать обязательно. В противном случае вы создадите огромную уязвимость в вашей системе. Также вас поприветствуют, дав информацию и подсказку по работе с WSL.
На этом установка WSL закончена. Вы можете запустить терминал или настроить VSCode на работу в среде Linux. А теперь о разнице версий WSL 1 и 2:
| Параметр | WSL 1 | WSL 2 |
|---|---|---|
| Архитектура | Уровень совместимости (трансляция вызовов) | Полноценная виртуальная машина (Hyper-V) |
| Ядро Linux | Отсутствует (используется ядро Windows NT) | Полноценное ядро Linux (Microsoft customized) |
| Файловая система | Прямой доступ к NTFS (Windows) | ext4 (внутри VM) + доступ к NTFS через /mnt |
| Производительность | Высокая при доступе к /mnt/c, низкая внутри Linux |
Очень высокая внутри Linux, ниже при доступе к /mnt/c |
| Сеть | Shared IP (совпадает с IP хоста Windows) | NAT (отдельный виртуальный IP, проброс портов) |
| Systemd | Не поддерживается | Поддерживается (требуется включение в конфиге) |
| Совместимость | ~90% системных вызовов | 100% совместимость системных вызовов |
VMware Workstation — это мощное программное решение для виртуализации, предназначенное для запуска нескольких операционных систем на одном физическом компьютере. Это позволит нам разделить ресурсы ПК на несколько виртуальных машин, установить разные ОС и имитировать работу группы серверов для построения кластеров. После поглощения компанией Broadcom решение стало бесплатным для личного использования, а значит, идеально подходит для домашних лабораторий и обучения. Стоит отметить, что VMware Workstation — это промышленное решение, отличающееся стабильностью, надежностью и высокой производительностью. Древовидная структура снимков состояния (snapshots), мощная настройка сети и совместимость с vCenter/vSphere делают этот продукт просто идеальным как для работы, так и для экспериментов дома.
Установка VMware Workstation максимально простая: скачиваем дистрибутив, запускаем установщик, отвечаем на несколько вопросов — и система готова к работе. Для установки требуется Microsoft Visual C++ Redistributable, но он будет установлен автоматически. Надо лишь согласиться на перезагрузку ПК.
После перезагрузки ПК запустите установщик ещё раз. Вас попросят принять лицензионное соглашение. Если вы уже установили WSL — установщик сообщит, что будет работать в режиме совместимости с Hyper-V, однако в этом случае не будет работать вложенная виртуализация (на виртуальных машинах не будет работать виртуализация, например, в Android Studio, WSL и т.д.). Путь установки не имеет особого значения — установите туда, где храните всё программное обеспечение, а путь для виртуальных машин будет задаваться при их создании. Следом вам предложат проверять обновления и участие в программе улучшения — я обычно соглашаюсь, особенно для бесплатных продуктов. Создание ярлыков — ваш личный выбор. Запускаем установку и, спустя пару минут, всё готово.
На этом на сегодня мы заканчиваем, создание виртуальных машин будет в отдельной статье.