Запускаем Windows Server в GNS3
GNS3 предоставляет широкие возможности для виртуализации, до этого мы рассматривали Linux, теперь же пришла очередь Windows.
В составе образа виртуальной машины GNS3 присутствует QEMU. Этот гипервизор может работать с Windows. Обратите внимание, на вашем ПК должно быть не менее 8 Гб оперативной памяти, а лучше если у вас все 16. Для самой виртуальной машины GNS3 выделите как минимум 4 Гб RAM. Крайне рекомендую использовать SSD под систему и запуск виртуальной машины GNS3.
Минимум, на котором, без проблем, запуститься чистая Windows 2012 R2 – 1024 Mb, этот объем можно теоретически уменьшить, но GNS3, насколько мне известно, не поддерживает, memory ballooning, так что выделять придется некий минимум. Так же имейте ввиду, что при установке дополнительных компонентов требования к памяти будут только увеличиваться. Например, в Hyper-V при использовании виртуальной памяти, контроллер домена GC занимает 1134 Мб памяти.
Для начала нам понадобиться образ операционной системы Windows. Вы можете скачать пробную версию Windows Server 2012 R2 по ссылке.
После того как мы скачали образ, переименуем его для удобства в window2012r2.iso
Прежде всего проверим, сколько памяти у нас выделено виртуальной машине GNS3.
Зайдем в консоль виртуальной машины GNS3 и выберем пункт меню Shell.
Вы можете подключиться по SSH логин gns3, пароль gns3
Установим htop
sudo apt install htop
Запускаем htop
Как видно всего выделено памяти 2Гб, это очень мало, выключим виртуальную машину и добавим ей памяти до 4 Гб.
Откроем свойства и увеличим до 4096 и добавим несколько ядер процессора, я увеличил до 4.
Запустим виртуальную машину и проверим объем памяти:
На своем ПК я уменьшил до 3 Гб, так как при 4 Гб ПК начинал жутко тормозить
Запустим GNS3
Перейдем в настройки
Edit -> Preferences
Нажмем New
В поле Name введем Windows 2012 R2
Next
В поле RAM введем 2048, в принципе для нормальной работы хватит и 1024, но при создании базового образа лучше использовать больше памяти.
Next
Выберем vnc
Next
Выберем New Image и нажмем Create
Откроется окно создания образа виртуальной машины:
Нажмем Next и в следующем окне тоже нажмем Next в следующем окне вы можете указать размер диска виртуальной машины, оставим 30 000 MiB и нажмем Finish.
Нажмем Finish еще раз.
У нас в списке появился новый шаблон:
Нужно внести дополнительные правки, нажмем Edit
В разделе HDD для HDA выберем Disk interface – virtio
В разделе CD/DVD укажем путь к файлу window2012r2.iso
Дождемся окончания загрузки образа на сервер
Загрузка занимает продолжительное время.
Нажмем Ок и снова откроем окно с настройками.
Для установки Windows нам потребуются драйвера для жесткого диска и сетевого адаптера для virtio.
Что такое virtio? Это стандарт для дисковых устройств и сетевых адаптеров. Когда операционная система выполняется в виртуальной среде, virtio предоставляет механизм, благодаря которому, драйвер устройства знает, что он выполняется в виртуальной среде и, если такая поддержка реализована, оптимизирует работу с устройством. Таким образом повышается производительность обмена информацией.
Virtio, по сути, является аналогом Guest Tools в Hyper-V или VMWare.
Скачаем файл отсюда.
Перейдем в раздел HDD и укажем у HDB в качестве Disk Image файл virtio-win_amd64.vfd
Выберем floppy в разделе Disk interface:
Таким образом, мы сможем, при установке, указать дисковод с драйверами для жесткого диска.
Перейдем на вкладку Network и выберем в поле Type – Paravirtualized Network I/O (vitio-net-pci)
Вы можете указать требуемое количество адаптеров, мы оставим 1
Перейдем на вкладку Advanced и уберем галочку – Use as linked base VM
Позже мы её включим обратно.
В Options пропишем:
-nographic -usbdevice tablet -rtc base=localtime
Нажмем Ок и еще раз ОК
Создадим новый проект и назовем его Windows 2012R2
Перетащим в пустой проект наш шаблон Windows 2012 R2
Добавим в проект Cloud и соединим с добавленным узлом
Запустим узел с сервером и откроем консоль:
Теперь устанавливаем сервер как обычно.
Выбираем пункт Выборочная установка:
Выбираем Загрузить драйвер
Обзор…
Дисковод B:
Windows 8.1 (Для Windows Server 2019 выбираем Windows 10)
OK
Выбираем оба драйвера нажав Shift
Далее
Теперь Windows нашел наш диск:
Жмем Далее
Ждем окончания установки, учитывая, что она устанавливается в виртуальной машине процесс займет больше времени, чем обычно.
Пока ставится мы можем проверить нагрузку на виртуальной машине через htop
Обратите внимание, что я уменьшил объем памяти, выделенный виртуальной машине, до 3 Гб, так как у меня много чего еще запущено и 8 Гб оперативной памяти уже не хватает. Именно поэтому я и рекомендую использовать ПК с 16 Гб RAM.
У меня установка заняла где-то 30 минут.
Введите пароль админа.
Нажмем в окне VNC кнопку alt+ctrl+del
Введем пароль
Windows установлена!
Теперь давайте настроим сеть и проверим доступность сети Инетрнет.
Процесс настройки сети под Windows я пропущу, так как в нем нет ничего трудного.
Откроем сайт
internet.yandex.ru
Вот тут нас поджидает неприятный момент, скорость загрузки ну очень медленная. Сайт загружается очень долго! О том, чтобы измерить скорость доступа к сети Интернет можно забыть!
Всё дело в том, что обычное облако, используемое нами для подключения устройств из GNS3 к ЛВС, использует эмуляцию сетевого адаптера, пропускная способность которого сильно ограничена. Её хватает, чтобы мы могли трассировать или пинговать устройства, но, когда речь заходит о серьезной загрузке, тут все упирается в производительность вашего ПК и скорость работы виртуальной машины GNS3.
Так что дальше нам нужно будет настроить сетевой мост на сервере GNS3, как это сделать мы уже рассматривали в одной из прошлых статей!
Удалим облако и добавим новое.
Соединим наш узел к br0
После настройки снова пытаемся проверить скорость доступа к Интернету.
Совсем другое дело! Давайте продолжим настройку Windows.
Чтобы не усложнять себе жизнь, отключим межсетевой экран Windows Server. В рабочей среде делать это, естественно, не рекомендуется, но для нашей тестовой необходимо, чтобы избежать проблем в будущем.
Так же включим RDP на сервере.
Не забудьте снять эту галочку
Вот что у нас получилось:
Проверим RDP
Всё работает!
Итак, мы создали базовый образ с Windows 2012 R2. Далее вы можете установить любые нужные вам программы и при создании новых виртуальных серверов в GNS3 это ПО будет сразу вам доступно после запуска и первичной настройки виртуального сервера.
Обратите внимание, мы создали базовый образ для дифференциальный дисков будущих серверов, таким образом в будущем мы сможем сэкономить дисковое пространство на GNS3 сервере, так как в качестве основы для виртуальных машин, будет использоваться базовый образ, а в образ самой виртуальной машины будет записываться только новая информация.
Для примера, установим Far Manager на сервер.
Следующим шагом запустим утилиту sysprep
Откройте cmd и запустите
C:\Windows\System32\Sysprep\sysprep.exe
Поставьте галочку и выберите пункты согласно рисунка
Нажмите ОК
Дождитесь отключения виртуальной машины.
После того, как виртуальная машина отключиться, удалите узел из окна проекта и откройте свойства GN3.
Снова откройте свойства QEMU шаблона для Windows 2012 R2.
На вкладке CD/DVD удалите текст из поля Image
Чтобы сэкономить место мы можем так же удалить установочный образ с Windows 2012 R2, он находиться на сервере в папке /opt/gns3/images/QEMU
gns3@gns3vm:~$ cd /opt/gns3/images/QEMU
gns3@gns3vm:/opt/gns3/images/QEMU$ ls
window2012r2.iso
window2012r2.iso.md5sum
chr-6.47.img
chr-6.47.img.md5sum
virtio-win-0.1.185_amd64.vfd
virtio-win-0.1.185_amd64.vfd.md5sum
'Windows 2012 R2-hda.qcow2'
'Windows 2012 R2-hda.qcow2.md5sum'
Вы можете удалить файлы
window2012r2.iso
window2012r2.iso.md5sum
virtio-win-0.1.185_amd64.vfd
virtio-win-0.1.185_amd64.vfd.md5sum
Откроем вкладку HDD и очистим поля в блоке HDB
И самое главное во вкладке Advanced не забудьте снова поставить галочку напротив Use as linked image base VM
Таким образом созданный нами образ будет использовать как базовый при создании новых виртуальных машин, а для каждой новой будет создаваться дифференциальный диск, что позволит сильно экономить ресурсы.
Нажмите Ok и Apply и Ok
Теперь давайте добавим в проект два узла Windows 2012 R2, Ethernet switch и одно облако.
Откроем консоль и дождемся окончания настройки устройств.
Нажмем принимаю и введем новый пароль администратора
Наш сервер готов к работе.
Обратите внимание — всё установленные программы нам доступны сразу.
Давайте проверим, как храниться на сервере виртуальные машины.
Откроем консоль GNS3
В папке /opt/gns3/projects/ храниться все наши проекты.
ls /opt/gns3/projects/ -l
drwxr-xr-x 3 gns3 gns3 4096 Aug 27 07:01 1e22e9fb-1ad6-4a88-8c94-046c45d01936
drwxr-xr-x 3 gns3 gns3 4096 Sep 15 04:29 55298f1d-9d0c-4d2e-bb2e-eb785f46eef1
drwxr-xr-x 3 gns3 gns3 4096 Sep 10 05:37 6660c3bc-6a09-4d1f-a0d4-7d2ab84393f4
drwxr-xr-x 3 gns3 gns3 4096 Sep 8 06:44 68ed633e-88b5-461f-a928-573dd377afad
drwxr-xr-x 3 gns3 gns3 4096 Sep 22 06:10 87eabe57-df57-46ce-9f7c-d175c63012b1
drwxr-xr-x 3 gns3 gns3 4096 Aug 28 05:40 8db0db71-5223-47c6-96f2-9e3cfeec3de4
drwxr-xr-x 3 gns3 gns3 4096 Aug 28 01:34 aa64864e-0617-4cfd-8b4b-51f1eb03763b
drwxr-xr-x 3 gns3 gns3 4096 Sep 2 06:36 c32e081b-b620-4338-b21b-47c2fa86ecc0
drwxr-xr-x 3 gns3 gns3 4096 Sep 2 21:57 db32c8fd-bf1a-4f5f-bab0-bc059b079eb9
drwxr-xr-x 3 gns3 gns3 4096 Sep 11 01:47 faa40b1e-f149-45d2-a3ff-83fc703511b8
Вам придется вручную пересмотреть все папки, пока вы не найдете нужный проект, в моем случае это
87eabe57-df57-46ce-9f7c-d175c63012b1
ls 87eabe57-df57-46ce-9f7c-d175c63012b1
project-files 'windows 2012R2.gns3'
Образы хранятся в папке project-files/qemu
ls /opt/gns3/projects/87eabe57-df57-46ce-9f7c-d175c63012b1/project-files/qemu -l
drwxr-xr-x 2 gns3 gns3 4096 Sep 22 06:10 13ac370e-c9cc-43f2-8f3d-cd87b9336f76
drwxr-xr-x 2 gns3 gns3 4096 Sep 22 06:10 cbfc05de-bab5-4033-89aa-ce7bed591ae7
ls 13ac370e-c9cc-43f2-8f3d-cd87b9336f76 -l
-rw-r--r-- 1 gns3 gns3 197080 Sep 22 06:10 hda_disk.qcow2
-rw-r--r-- 1 gns3 gns3 284 Sep 22 06:10 qemu-img.log
-rw-r--r-- 1 gns3 gns3 819 Sep 22 06:10 qemu.log
-rw-r--r-- 1 gns3 gns3 468 Sep 22 06:10 ubridge.log
ls 13ac370e-c9cc-43f2-8f3d-cd87b9336f76 -l
-rw-r--r-- 1 gns3 gns3 197080 Sep 22 06:10 hda_disk.qcow2
-rw-r--r-- 1 gns3 gns3 284 Sep 22 06:10 qemu-img.log
-rw-r--r-- 1 gns3 gns3 819 Sep 22 06:10 qemu.log
-rw-r--r-- 1 gns3 gns3 468 Sep 22 06:10 ubridge.log
В данном случае оба узла только что были добавлены в проект, поэтому у образов такой маленький размер.
Попробуем сделать следующее:
tail hda_disk.qcow2
QFI/S;hh▒W▒dirty bitcorrupt bitlazy refcounts/opt/gns3/images/QEMU/Windows 2012 R2-hda.qcow2
Как видите в конце идет ссылка на базовый образ, который мы создали ранее.
Заключение
Сегодня мы рассмотрели создание образа Windows 2012R2 для запуска в GNS3.
Мы создали шаблон виртуальной машины QUEMU c базовым образом для дифференциального диска виртуальной машины.
Использовали драйвера virtio при установке Windows Server 2012 R2.
Проверили скорость доступа к сети Internet без использования сетевого мосте (bridge).
Установили необходимое ПО и подготовили Windows с помощью утилиты sysprep.
Настроили шаблон виртуальной машины после создания базового образа.
Проверили скорость доступа к сети Internet с использованием сетевого мосте (bridge).
Добавили два узла Windows Sever 2012 R2 в проект GNS3 и убедились, что они корректно запустились.
В статье использовалось видео.
Добавить комментарий