Запускаем Windows Server в GNS3 - АлтунинВВ.Блог - всё об IT-технологиях!
Вторник, 22 сентября 2020 19:00

Запускаем Windows Server в GNS3

Россия
Оцените материал
(0 голосов)

GNS3 предоставляет широкие возможности для виртуализации, до этого мы рассматривали Linux, теперь же пришла очередь Windows.

В составе образа виртуальной машины GSN3 присутствует 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

2020-09-18_16-03-00.png

Как видно всего выделено памяти 2Гб, это очень мало, выключим виртуальную машину и добавим ей памяти до 4 Гб.

Откроем свойства и увеличим до 4096 и добавим несколько ядер процессора, я увеличил до 4.

2020-09-18_16-13-11.png

Запустим виртуальную машину и проверим объем памяти:

2020-09-18_16-14-42.png

На своем ПК я уменьшил до 3 Гб, так как при 4 Гб ПК начинал жутко тормозить

Запустим GNS3

Перейдем в настройки

Edit -> Preferences

Нажмем New

В поле Name введем Windows 2012 R2

2020-09-18_16-23-24.png

Next

В поле RAM введем 2048, в принципе для нормальной работы хватит и 1024, но при создании базового образа лучше использовать больше памяти.

2020-09-18_16-23-42.png

Next

Выберем vnc

2020-09-18_16-24-18.png

Next

Выберем New Image и нажмем Create

2020-09-18_16-25-23.png

Откроется окно создания образа виртуальной машины:

2020-09-18_16-26-20.png

Нажмем Next и в следующем окне тоже нажмем Next в следующем окне вы можете указать размер диска виртуальной машины, оставим 30 000 MiB и нажмем Finish.

Нажмем Finish еще раз.

У нас в списке появился новый шаблон:

2020-09-18_16-29-40.png

Нужно внести дополнительные правки, нажмем Edit

2020-09-18_16-30-53.png

В разделе HDD для HDA выберем Disk interfacevirtio

2020-09-18_16-31-52.png

В разделе CD/DVD укажем путь к файлу window2012r2.iso

2020-09-18_16-32-50.png

Дождемся окончания загрузки образа на сервер

2020-09-18_16-33-02.png

Загрузка занимает продолжительное время.

Нажмем Ок и снова откроем окно с настройками.

Для установки Windows нам потребуются драйвера для жесткого диска и сетевого адаптера для virtio.

Что такое virtio? Это стандарт для дисковых устройств и сетевых адаптеров. Когда операционная система выполняется в виртуальной среде, virtio предоставляет механизм, благодаря которому, драйвер устройства знает, что он выполняется в виртуальной среде и, если такая поддержка реализована, оптимизирует работу с устройством. Таким образом повышается производительность обмена информацией.

Virtio, по сути, является аналогом Guest Tools в Hyper-V или VMWare.

Скачаем файл отсюда.

Перейдем в раздел HDD и укажем у HDB в качестве Disk Image файл virtio-win_amd64.vfd

Выберем floppy в разделе Disk interface:

2020-09-18_17-09-20.png

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

Перейдем на вкладку Network и выберем в поле TypeParavirtualized Network I/O (vitio-net-pci)

Вы можете указать требуемое количество адаптеров, мы оставим 1

2020-09-18_17-11-41.png

Перейдем на вкладку Advanced и уберем галочку – Use as linked base VM

Позже мы её включим обратно.

В Options пропишем:

-nographic -usbdevice tablet -rtc base=localtime

2020-09-18_17-15-56.png

Нажмем Ок и еще раз ОК

Создадим новый проект и назовем его Windows 2012R2

Перетащим в пустой проект наш шаблон Windows 2012 R2

Добавим в проект Cloud и соединим с добавленным узлом

Запустим узел с сервером и откроем консоль:

2020-09-18_17-20-24.png

Теперь устанавливаем сервер как обычно.

Выбираем пункт Выборочная установка:

2020-09-18_17-22-40.png

Выбираем Загрузить драйвер

2020-09-18_17-23-09.png

Обзор…

Дисковод B:

Windows 8.1 (Для Windows Server 2019 выбираем Windows 10)

OK

Выбираем оба драйвера нажав Shift

2020-09-18_17-25-31.png

Далее

Теперь Windows нашел наш диск:

2020-09-18_17-27-30.png

Жмем Далее

2020-09-18_17-28-08.png

Ждем окончания установки, учитывая, что она устанавливается в виртуальной машине процесс займет больше времени, чем обычно.

Пока ставится мы можем проверить нагрузку на виртуальной машине через htop

2020-09-18_17-31-17.png

Обратите внимание, что я уменьшил объем памяти, выделенный виртуальной машине, до 3 Гб, так как у меня много чего еще запущено и 8 Гб оперативной памяти уже не хватает. Именно поэтому я и рекомендую использовать ПК с 16 Гб RAM.

У меня установка заняла где-то 30 минут.

Введите пароль админа.

Нажмем в окне VNC кнопку alt+ctrl+del

2020-09-18_17-47-16.png

Введем пароль

Windows установлена!

2020-09-18_17-48-56.png

Теперь давайте настроим сеть и проверим доступность сети Инетрнет.

Процесс настройки сети под Windows я пропущу, так как в нем нет ничего трудного.

Откроем сайт

internet.yandex.ru

Вот тут нас поджидает неприятный момент, скорость загрузки ну очень медленная. Сайт загружается очень долго! О том, чтобы измерить скорость доступа к сети Интернет можно забыть!

Всё дело в том, что обычное облако, используемое нами для подключения устройств из GNS3 к ЛВС, использует эмуляцию сетевого адаптера, пропускная способность которого сильно ограничена. Её хватает, чтобы мы могли трассировать или пинговать устройства, но, когда речь заходит о серьезной загрузке, тут все упирается в производительность вашего ПК и скорость работы виртуальной машины GNS3.

Так что дальше нам нужно будет настроить сетевой мост на сервере GNS3, как это сделать читайте в этой статье.

Удалим облако и добавим новое.

Соединим наш узел к br0

2020-09-19_15-23-33.png

После настройки снова пытаемся проверить скорость доступа к Интернету.

2020-09-19_15-23-49.png

Совсем другое дело! Давайте продолжим настройку Windows.

Чтобы не усложнять себе жизнь, отключим межсетевой экран Windows Server. В рабочей среде делать это, естественно, не рекомендуется, но для нашей тестовой необходимо, чтобы избежать проблем в будущем.

2020-09-19_15-34-36.png

Так же включим RDP на сервере.

Не забудьте снять эту галочку

2020-09-19_15-37-22.png

Вот что у нас получилось:

2020-09-19_15-38-26.png

Проверим RDP

Всё работает!

Итак, мы создали базовый образ с Windows 2012 R2. Далее вы можете установить любые нужные вам программы и при создании новых виртуальных серверов в GNS3 это ПО будет сразу вам доступно после запуска и первичной настройки виртуального сервера.

Обратите внимание, мы создали базовый образ для дифференциальный дисков будущих серверов, таким образом в будущем мы сможем сэкономить дисковое пространство на GNS3 сервере, так как в качестве основы для виртуальных машин, будет использоваться базовый образ, а в образ самой виртуальной машины будет записываться только новая информация.

Для примера, установим Far Manager на сервер.

Следующим шагом запустим утилиту sysprep

Откройте cmd и запустите

C:\Windows\System32\Sysprep\sysprep.exe

Поставьте галочку и выберите пункты согласно рисунка

2020-09-19_20-16-17.png

Нажмите ОК

Дождитесь отключения виртуальной машины.

После того, как виртуальная машина отключиться, удалите узел из окна проекта и откройте свойства 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 и одно облако.

Откроем консоль и дождемся окончания настройки устройств.

2020-09-19_20-41-15.png

Нажмем принимаю и введем новый пароль администратора

Наш сервер готов к работе.

Обратите внимание — всё установленные программы нам доступны сразу.

Давайте проверим, как храниться на сервере виртуальные машины.

Откроем консоль 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 cbfc05de-bab5-4033-89aa-ce7bed591ae7 -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 и убедились, что они корректно запустились.

В статье использовалось видео

Прочитано 186 раз Последнее изменение Среда, 23 сентября 2020 18:43