Vagrant windows 10 hyper v

on Technology, Hyper-v

Making Vagrant play nicely with Hyper-V; that can be a bit of a ballache

Well, my personal laptop has been upgraded to Windows 10 Anniversary; it’s a dual SSD + HD affair, an Asus NX501-JW which hasn’t been affected by the other “SSD+HD” bricking issues that have been in the tech news. Anyway, either I, or Microsoft during the upgrade, uninstalled Virtualbox, which I had been using to run an HPCC Systems environment amongst other things. In the end, the chance to run Docker natively, and Linux shell natively via Hyper-V persuaded me that I should try and get Vagrant to play nice to Hyper-V; this then is an afternoon of fun and games.

VirtualBox has long been the default provider for Vagrant and if you search for boxes on Atlas, they’re the ones that are most popular. Hyper-V is supported, but there aren’t as many boxes around. This then is a distilled how-to for getting a box up and running with NAT on Hyper-V. For brevity, I’ve just distilled the raw commands with no explanation as to why I’m doing things as I’ve done them; they just worked for me.

Create a NAT switch

Once you have the Hyper-V role enabled; then you need to add a virtual switch, so use powershell to do that (run as Administrator naturally) rather than the Hyper-V manager UI.


New-VMSwitch SwitchName "NATSwitch" SwitchType Internal
New-NetIPAddress IPAddress 172.21.21.1 -PrefixLength 24 -InterfaceAlias "vEthernet (NATSwitch)"
New-NetNat Name MyNATnetwork InternalIPInterfaceAddressPrefix 172.21.21.0/24

It does some stuff, but eventually you have a switch that is NAT enabled, and your IP Address is 172.21.21.1 for the network card associated with the switch. The source was http://www.thomasmaurer.ch/2016/05/set-up-a-hyper-v-virtual-switch-using-a-nat-network/.

Vagrant UP and Down

Our production machines are all CentOS or variants of, so I like to stick with what I know. There aren’t that many CentOS 7 boxes available, so I used serveit/centos-7 which works well enough.


Vagrant.configure(2) do |config|
  config.vm.box = "serveit/centos-7"
  config.vm.provider "hyperv"

  config.vm.network "private_network", ip: "172.21.12.10", auto_config: false

  config.vm.synced_folder ".", "/home/vagrant/sync"
  config.vm.provider "hyperv" do |vb|
      vb.memory = "2048"
      vb.cpus = "2"
      vb.vmname = "HyperV-Vagrant-CentOS-7"
  end
end

Once you run vagrant up, it’s up, and you can vagrant ssh to it; but it may well have defaulted to IPV6; which probably isn’t all the useful for you.

    default: IP: fe80::215:5dff:fe48:5307
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: fe80::215:5dff:fe48:5307:22
    default: SSH username: vagrant
    default: SSH auth method: private key
    default:
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default:
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Preparing SMB shared folders...
    default: You will be asked for the username and password to use for the SMB
    default: folders shortly. Please use the proper username/password of your
    default: Windows account.
    default:
    default: Username:
    default: Password (will be hidden):
==> default: Mounting SMB shared folders...
We couldn't detect an IP address that was routable to this
machine from the guest machine! Please verify networking is properly
setup in the guest machine and that it is able to access this
host.

As another option, you can manually specify an IP for the machine
to mount from using the `smb_host` option to the synced folder.

Fiddling the network card.

So, now we need to fix up the network card (easy enough to do) with a fixed IP Address.


[root@centos7 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=static
ONBOOT="yes"
IPADDR=172.21.21.10
NETMASK=255.255.255.0
GATEWAY=172.21.21.1
DNS1=8.8.8.8
[root@centos7 ~]#

After that, a vagrant halt followed by a vagrant up will fix up the IP addresses nicely.

If you’re using the serveit/centos-7 image then it may fail to mount whatever shared folders you’ve specified with some error or other. To cut a long story short, because it’s a minimal image, it doesn’t come with cifs-utils; Get that via yum (because you have NAT right) and you’ll be able to mount whatever shares you need in your vagrant file, and voila you have a provisioned CentOS-7 machine.

Bringing machine 'default' up with 'hyperv' provider...
==> default: Verifying Hyper-V is enabled...
==> default: Starting the machine...
==> default: Waiting for the machine to report its IP address...
    default: Timeout: 120 seconds
    default: IP: 172.21.21.10
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 172.21.21.10:22
    default: SSH username: vagrant
    default: SSH auth method: private key
==> default: Machine booted and ready!
==> default: Preparing SMB shared folders...
    default: You will be asked for the username and password to use for the SMB
    default: folders shortly. Please use the proper username/password of your
    default: Windows account.
    default:
    default: Username: myusername
    default: Password (will be hidden):
==> default: Mounting SMB shared folders...
    default: C:/Users/lchan/work => /home/vagrant/work
    default: C:/Users/lchan/.m2 => /home/vagrant/.m2
    default: C:/Users/lchan/.ivy2 => /home/vagrant/.ivy2
    default: C:/Users/lchan/.ant => /home/vagrant/.ant
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> default: flag to force provisioning. Provisioners marked to run always will still run.

© all-the-years. All rights reserved.

Powered by Hydejack v9.1.6


Vagrant Setup on Windows 10: Hyper-V instead of VirtualBox

How to setup Vagrant on Windows 10 using Hyper-V instead of VirtualBox, for STAT1400.

Hyper-V is NOT supported on Windows 10 — Home Edition, you will need Pro Edition or similar.

Enabling AMD-V or Intel VT-X

This depends on your proccessor type AMD or Intel

You can find your proccessor type by pressing WindowKey + PauseBreak

Or open Explorer, right clicking This PC and clicking Properties

Untitled.png

You will see Your proccessor prefixed as either Intel or AMD

Untitled%201.png

To enable the feature in the BIOS can be different for different computers.
You will need to Google your Motherboard model / Laptop model and combine it with the term:
«AMD-V» or «Intel VT-X»

Sometimes the brand of computer works as well, for example:

«ASUS Laptop Intel VT-x «,
«Dell Intel VT-X», » MSI AMD-V»

You will need to reboot the computer and access the BIOS by pressing a specific key on boot up.

Hopefuly the guide you found tell you the key to access the BIOS — Some usual candidates are:

F10, ESC, DEL, F1, F2, or BACKSPACE

Hopfully you can find the feature in the BIOS. Sometimes it is called virtualisation under
CPU or Proccessor features. AMD systems often have it under the OC/Overclocking menu.

Set the feature to enabled

Save and Exit from the BIOS

Your computer will restart normally.

Install Vagrant and Git

Download and Install these from the websites.

Enable Hyper-V

Open a Power Shell as Administrator

Search «Power Shell in the Windows start menu

Right click and «Run as Administrator»

From Power Shell enter

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

Then reboot the system.

Setup the Vagrant VM

Open a Power Shell as Administrator as before.

Use cd to «Change Directory» your choosen work folder. e.g. C:\MyWorkFolder

Clone git repo

git clone https://github.com/adrianopolpo/stat1400.git

Change directory into stat1400 (previously created by git clone)

Start the Vagrant VM and wait for it to provision (Takes a Long Time)

vagrant up --provider=hyperv

--provider=hyperv is an important difference here.

Now you can connect to the Virtual Machine

Get the IP address of the VM
[Please copy and paste this to avoid mistakes.]

ip addr show eth0 |grep 'inet '| cut -b10-25 | cut -f1 -d/

Copy down the resulting IP address e.g. 172.235.2.61

Start jupyter notebook

jupyter notebook --ip=0.0.0.0 --no-browser

You will see output similiar to this

vagrant@ubuntu-20:~$ jupyter notebook --ip=0.0.0.0 --no-browser
[I 08:14:36.355 NotebookApp] [jupyter_nbextensions_configurator] enabled 0.4.1
[I 08:14:36.355 NotebookApp] Serving notebooks from local directory: /home/vagrant
[I 08:14:36.355 NotebookApp] The Jupyter Notebook is running at:
[I 08:14:36.355 NotebookApp] http://ubuntu-20:8888/?token=6ed2d2cab08d29b5d30298579b9277897b6f9deee1376bc2
[I 08:14:36.355 NotebookApp]  or http://127.0.0.1:8888/?token=6ed2d2cab08d29b5d30298579b9277897b6f9deee1376bc2
[I 08:14:36.355 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 08:14:36.357 NotebookApp]

    To access the notebook, open this file in a browser:
        file:///home/vagrant/.local/share/jupyter/runtime/nbserver-89207-open.html
    Or copy and paste one of these URLs:
        http://ubuntu-20:8888/?token=6ed2d2cab08d29b5d30298579b9277897b6f9deee1376bc2
     or http://127.0.0.1:8888/?token=6ed2d2cab08d29b5d30298579b9277897b6f9deee1376bc2

Copy the line http://ubuntu-20:8888/?token=6ed2d2cab08d29b5d30298579b9277897b6f9deee1376bc2 Modify it to replace ubtuntu-20 with the IP you wrote down earlier, e.g. 172.235.2.61

For example your result might be

http://172.235.2.61:8888/?token=6ed2d2cab08d29b5d30298579b9277897b6f9deee1376bc2

Now copy and paste that URL into a web browser and you will be in Jupyter Notebook.

Untitled%202.png

Success!

Untitled%203.png

Following Launches

After the first run, you can follow a sub set of these steps to open Jupyter Notebook agian later.

cd C:\MyWorkFolder\stat1400
vagrant up --provider=hyperv
ip addr show eth0 |grep 'inet '| cut -b10-25 | cut -f1 -d/
jupyter notebook --ip=0.0.0.0 --no-browser

Open web browser at the modified address.

This also works

jupyter notebook --ip="$(ip addr show eth0 |grep 'inet '| cut -b10-25 | cut -f1 -d/ )" --no-browser

In this guide you will learn to install Vagrant on Windows 10.

Introduction

  1. Step 1: Enable Hyper-V and SMB. Follow the steps below to enable Hyper-V and SMB on your Windows machine. …
  2. Step 2: Install Executable File. …
  3. Step 3: Follow the Installation Steps. …
  4. Step 4: Restart Computer. …
  5. Step 5: Adding our First Vagrant Box.
  1. Can I use vagrant with Hyper-V?
  2. How do I enable Hyper-V Commandlets in PowerShell?
  3. How do I enable configure and use Hyper-V in Windows 10?
  4. How do I enable vagrant GUI?
  5. How do I open vagrant on Windows?
  6. Can Docker and Vagrant be used on same machine?
  7. Is vagrant a container?
  8. How do you use vagrant?
  9. How do I enable Windows Container features?
  10. What should I enable in BIOS Hyper-V?
  11. How do I know if Hyper-V is working?

Can I use vagrant with Hyper-V?

Vagrant comes with support out of the box for Hyper-V, a native hypervisor written by Microsoft. Hyper-V is available by default for almost all Windows 8.1 and later installs. The Hyper-V provider is compatible with Windows 8.1 and later only.

How do I enable Hyper-V Commandlets in PowerShell?

To use Server Manager to enable Hyper-V’s PowerShell module, open the Add Roles and Features wizard and proceed through to the Features page. Navigate to Remote Server Administration Tools -> Role Administration Tools -> Hyper-V Management Tools and check Hyper-V Module for Windows PowerShell.

How do I enable configure and use Hyper-V in Windows 10?

Enable the Hyper-V role through Settings

Right click on the Windows button and select ‘Apps and Features’. Select Programs and Features on the right under related settings. Select Turn Windows Features on or off. Select Hyper-V and click OK.

How do I enable vagrant GUI?

On console: you might simply do what @terry-wang wrote:

  1. suspend machine by VBoxManage controlvm <NAME_OR_UUID> savestate.
  2. restart with gui option VBoxManage startvm <NAME_OR_UUID> —type gui. alternative: start gui manager yourself as terry wrote.

How do I open vagrant on Windows?

Using Vagrant. The primary commands to get started are vagrant init and vagrant up . Open a command line and change directories to your test project folder. Run vagrant init and a new vagrant file will be created in the current directory called “Vagrantfile” (no extension) which holds a basic starter configuration.

Can Docker and Vagrant be used on same machine?

The same can be said about Windows machines, what if your production environment is all Ubuntu with Docker. You can emulated with Vagrant and VirtualBox too. Often considered two alternative tools, Docker and Vagrant can be used together to build isolated and repeatable development environments.

Is vagrant a container?

Vagrant from Hashicorp is a solution that enables quick configuration and provisioning of virtual machines (VMs) that help to isolate the application in its own development environment. … While a single container is created to run a single app, one Vagrant VM can run multiple interacting apps at once.

How do you use vagrant?

Starting Over with VirtualBox and Vagrant

  1. Install VirtualBox.
  2. Install Vagrant.
  3. Create a local directory for Vagrant.
  4. Create a Vagrantfile in your newly created directory.
  5. Run vagrant up and provisioning your virtual machine.

How do I enable Windows Container features?

This provider enables the containers feature in Windows and installs the Docker engine and client. Here’s how: Open an elevated PowerShell session and install the Docker-Microsoft PackageManagement Provider from the PowerShell Gallery. If you’re prompted to install the NuGet provider, type Y to install it as well.

What should I enable in BIOS Hyper-V?

Step 2: Setting Up Hyper-V

  1. Ensure that hardware virtualization support is turned on in the BIOS settings.
  2. Save the BIOS settings and boot up the machine normally.
  3. Click the search icon (magnified glass) on the taskbar.
  4. Type turn windows features on or off and select that item.
  5. Select and enable Hyper-V.

How do I know if Hyper-V is working?

Click Start, click Administrative Tools, and then click Event Viewer. Open the Hyper-V-Hypervisor event log. In the navigation pane, expand Applications and Services Logs, expand Microsoft, expand Hyper-V-Hypervisor, and then click Operational. If Windows hypervisor is running, no further action is needed.

Время на прочтение
7 мин

Количество просмотров 20K

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

Наша компания Wild Apricot занимается разработкой ПО (SaaS), которое работает на ASP и .NET, а в качестве базы данных использует MS SQL Server. Поэтому львиная доля инфраструктуры у нас работает под управлением Windows, преимущественно Server 2012 R2. Соответственно, отделу сисопов периодически приходится поднимать новые машины с ней, а иногда и разворачивать целые фермы, как на живом окружении, так и на тестовом. В настоящее время у нас порядка 20 гипервизоров и, соответственно, более сотни разнообразных машин, из которых абсолютное большинство — это ВМ с Windows. Сейчас планируется установка ещё полудюжины девелоперских окружений, каждое из которых состоит из десятка компонент, которые желательно изолировать друг от друга. Для решения подобных задач мы и задумали автоматизацию всего процесса. Описание всего пути я сделал довольно детальным, так что статья разрослась и поэтому я решил разделить её на три части. В этой части я постараюсь затронуть общие вопросы, объяснить выбор инструментов и рассказать, как подготовить окружение для дальнейшей работы.

Почему Windows, почему Hyper-V?

Исторически сложилось, что все новые ВМ у нас находятся под управлением гипервизора Microsoft Hyper-V.

Причин тому несколько:

  • За последние годы он достаточно сильно развился и в целом обладает достаточным функционалом для наших задач. Самое главное — его начал по человечески поддерживать Vagrant, о чём я подробнее расскажу чуть попозже. Также появилась поддержка множества Linux дистрибутивов, что позволяет с некоторыми оговорками хостить на Hyper-V зоопарк разных машин, в случае, если используется несколько операционок (а у кого-то не так?);
  • Им удобно управлять при помощи нативных инструментов (MMC остнастки и Powershell), встроенных как в серверные, так и клиентские операционки от Microsoft;
  • Роль Hyper-V очень легко добавляется серверу, и в целом установка доступна более широкому кругу администраторов (нежели, скажем, в случае с KVM или ESXi), имеется множество документации, гидов, виртуальных лабораторий и так далее, многое из этого доступно и на русском языке. Это позволяет легко установить его не только администраторам, но и разработчикам или тестировщикам (которым также часто нужно быстро поднять среду для своих целей), что расширяет спектр возможных применений;
    Миграция физических машин в виртуальные происходит очень легко и быстро при помощи простенькой утилиты Disk2VHD — она использует механизм снапшотов и за счёт этого позволяет сделать VHD образ даже рабочей системы, запущенной в живом окружении. Это сильно помогло, когда мы виртуализовывали нашу инфраструктуру. Этим же способом мы мигрировали хосты VMWare.
  • Microsoft Hyper-V Server не нужно покупать, он бесплатен. Для нас это было не очень актуально, однако это прекрасная возможность “поиграться” с ней без каких-либо дополнительных затрат.
  • Из Hyper-V позже при желании можно будет легко мигрировать на облачную платформу Azure, продолжая управлять ей при помощи тех же инструментов.

Цели

Передо мной стояла задача автоматизации создания новых виртуальных машин. Необходимо в короткий срок поднять на гипервизоре операционную систему со всем необходимым софтом и настройками. Всё это есть по сути первый шаг к полноценной системе непрерывного развёртывания с системой управления конфигурациями, которую мы и планируем внедрить. Это сильно выходит за рамки этой статьи, но материалов по этой теме достаточно, а я собираюсь продолжить рассказ обо всех нюансах работы в мире продуктов Microsoft в следующей статье, если этот материал окажется интересным и полезным. В итоге поставленную задачу удалось успешно решить при помощи довольно традиционного набора инструментов, многие из которых уже давно известны в мире открытого ПО, однако применить их полноценно в мире Windows получилось не так просто из-за обилия разного рода подводных камней. В результате мы остановились на следующем “тулките”:

  • Chocolatey;
  • Vagrant;
  • Boxstarter;
  • Chef.

В этой статье речь зайдёт про первые три пункта списка.

Почему Vagrant и Chef, Chocolatey и Boxstarter?

Итак, что же они делают и почему были выбраны именно они?

  • Chocolatey — это менеджер пакетов для Windows. Конечно, Microsoft анонсировал, что в Windows Server 10 будет свой, интегрированный менеджер пакетов, однако до её внедрения в наш продакшн ещё далеко и пока вполне успешно можно использовать и шоколатье. Он позволяет автоматизировать установку нужного ПО вместе со всеми зависимостями. Для этого используются NuGet пакеты, которые можно вполне успешно создавать самому, что очень удобно, когда нужно установить собственный серверный софт.
  • Vagrant позволяет создать и использовать бокс — образец виртуальной машины, чтобы впоследствии из него автоматически разворачивать одну (или несколько, или несколько десятков) виртуалок, настраивать необходимые параметры, а также осуществлять так называемый провижионинг — процесс установки и настройки необходимого ПО. Например, там могут ставиться IIS и Chef-client, устанавливаться последние обновления Windows, настраиваться внешний вид папок (чтобы были видны расширения файлов и скрытые файлы), открываться порты на файерволе, настраиваться учётные записи пользователей и так далее — и всё это без непосредственного участия администратора, с автоматическими перезагрузками при необходимости, согласно заранее описанному сценарию.
    Из аналогов сразу приходит на ум System Center, который также позволяет создавать шаблон и выкатывать из него несколько виртуальных машин. Однако, я по многим причинам предпочёл Vagrant — он легче, не требует тяжёлого центрального сервера, а диск новой виртуалки не становится зависимым от диска оригинального шаблона. К тому же Vagrant работает из обычной командной строки, что позволяет легко его использовать на гипервизорах без GUI.
    В статье будет довольно много отсылок на различные подводные камни — хочу сразу сказать, что рассматривается последняя на данный момент версия — 1.7.2, соответственно в последующих версиях (я надеюсь) многие проблемы будут исправлены и ненужные костыли отвалятся. Зато наверняка добавят новых багов, что позволит мне сделать целый цикл статей.
  • Boxstarter — набор полезных скриптов, позволяющих сильно упростить настройку как готовых машин, так и только что поднятых. Он достаточно тесно работает с Chocolatey и позволяет настроить конечную систему одной командой, загружая сценарий с веб-узла или сетевой папки. К тому же под него есть уже готовые рецепты для Chef от автора.
  • Chef используется для централизованного управления конфигурациями в самом широком смысле, включая как первоначальную инициализацию, так и поддержанием их в актуальном состоянии. Вместо него можно использовать и другие системы, однако я остановился на нём из-за его распространённости, мощному сообществу и активному развитию: например, совсем недавно появилась новая, значительно улучшенная версия комьюнити кукбуков для IIS. Ну и, конечно, повлияло то, что с ним уже был небольшой опыт работы до этого.

Использование этого инструментария позволяет в результате получить всё волшебство Continuous Delivery в одном флаконе под привычную систему.

Основные этапы развёртывания

Что ж, давайте приступим к самому интересному, к прикладной технической части развёртывания.

Установка Hyper-V и ПО для управления

Для начала необходимо подготовить хост — ту систему, на которой будут разворачиваться виртуальные машины. В случае если они нужны для локальных тестов и всё будет крутиться на том же компьютере, где вы сидите — всё просто и прозрачно. Однако, зачастую получается ситуация, когда виртуалки нужны в итоге в совершенно другом месте — в датацентре на живом окружении, на соседнем сервере или на бабушкином нетбуке. Дело в том, что из коробки скрипты Vagrant делают все операции на локалхосте. В принципе, никто не мешает сначала развернуть это у себя, настроить-поиграться, а потом смигрировать на далёкий гипервизор, но тут оказывается, что это занимает прилично времени даже когда сервер находится в одном сегменте сети с вами. В случае же, когда надо разворачиваться через VPN в датацентре на другом краю земли — это может занимать больше часа на каждый инстанс, и при этом может понадобиться совершать лишние действия: экспорт-импорт в моём случае, плюс перенастройка сети, если виртуальные коммутаторы называются по разному.
Поэтому оптимальным решением я для себя выбрал поднятие Vagrant на всех гипервизорах, где планируется его частое использование. Это ускоряет процесс (даже для одной машины — ведь бокс весит значительно меньше VHD файла развёрнутого образа), однако добавляет лишнего софта на сервера. К счастью, Chocolatey и Vagrant не требуют GUI, так что их легко можно установить даже на бесплатном Hyper-V Server.
Задача эта в целом довольно тривиальная:

  • Установка роли Hyper-V в Windows 8 или Server 2012 требует перезагрузки и делается через Server Manager для любителей GUI (ссылка есть в материалах в конце статьи) или при помощи PowerShell c административными привилегиями:

    Install-WindowsFeature –Name Hyper-V -IncludeManagementTools

  • Шоколатье ставится из Powershell одной командой:

    iex ((new-object net.webclient).DownloadString(‘https://chocolatey.org/install.ps1’))

  • Ну, а Vagrant поднимается уже из Chocolatey:

    choco install vagrant

Вообще, если вы не любите засорять сервера лишними программами или предпочитает всегда использовать наисвежайшие версии (следует понимать, что, несмотря на то, что в репозитарии обычно лежит самая последняя версия — появляется она там не мгновенно) — можно вполне обойтись без Шоколатье, установив Vagrant вручную из дистрибутива. Он поставляется в виде msi-пакета, так что проблем с установкой из консоли быть не должно. Но лично я предпочитаю первый вариант не только потому, что люблю шоколад — просто я привык так ставить вообще весь софт, даже на домашнем ноутбуке.
В этот момент мы сталкиваемся с первым подводным камнем (я уже предупреждал, что путь будет тернист?). Дело в том, что наш бродяга (а именно так переводится “vagrant”) от версии к версии ставит себя в разные каталоги, и в последнем на данный момент релизе он снова начал устанавливаться прямо в корень системного диска в папку C:\HashiCorp\Vagrant. Всё бы ничего, но он периодически забывает прописывать путь к своей папке в переменную окружения, поэтому система может не находить его, если не вводить полный путь к бинарнику. Лечится это простой командой в Powershell:

$env:Path+=”;C:\HashiCorp\Vagrant\bin”

Для командной строки нужно использовать команду setx c ключом /M. Например, если нужно поменять расположение папки, где он будет хранить боксы (по умолчанию он хранит их на своей папке на диске C, что может не очень понравится, когда на системном диске немного места):

setx VAGRANT_HOME «X:/your/path» /M

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

HarshiCorp promises that Vagrant is a tool for building and managing virtual machine environments in a single workflow. With an easy-to-use workflow and focus on automation, Vagrant lowers development environment setup time, increases production parity, and makes the “works on my machine” excuse a relic of the past.

Please note that the Hyper-V provider is compatible with Windows 8.1 and later only. Prior versions of Hyper-V do not include the necessary APIs for Vagrant to work.

If you have Hyper-V installed and SMB enabled, you can skip Step 1.

Step 1: Enable Hyper-V and SMB

Follow the steps below to enable Hyper-V and SMB on your Windows machine.

Search for Control Panel

Hit Windows key and search for “Control Panel“. Launch it when it comes up.

<img alt=»» data-ezsrc=»https://kirelos.com/wp-content/uploads/2020/02/echo/hyper-v-1-control-panel-1.png» data-ez ezimgfmt=»rs rscb4 src ng ngcb4 srcset» height=»351″ src=»data:image/svg xml,” width=”691″>

Click on Programs

<img alt=»» data-ezsrc=»https://kirelos.com/wp-content/uploads/2020/02/echo/hyper-v-2-click-programs-1.png» data-ez ezimgfmt=»rs rscb4 src ng ngcb4 srcset» height=»425″ src=»data:image/svg xml,” width=”692″>

Click on “Turn Windows features on or off”

<img alt=»» data-ezsrc=»https://kirelos.com/wp-content/uploads/2020/02/echo/hyper-v-3-turn-on-off-features-1.png» data-ez ezimgfmt=»rs rscb4 src ng ngcb4 srcset» height=»378″ src=»data:image/svg xml,” width=”684″>

Scroll down, look for “Hyper-V” and expand it.

<img alt=»» data-ezsrc=»https://kirelos.com/wp-content/uploads/2020/02/echo/hyper-v-4-check-hypervall.png» data-ez ezimgfmt=»rs rscb4 src ng ngcb4 srcset» height=»437″ src=»data:image/svg xml,” width=”472″>

Check both Hyper-V Management Tools and Hyper-V Platform then click “OK” as shown above.

Look for SMB 1.0/CIFS File Sharing Support and check it.

<img alt=»» data-ezsrc=»https://kirelos.com/wp-content/uploads/2020/02/echo/hyper-v-3-1-turn-on-off-features.png» data-ez ezimgfmt=»rs rscb4 src ng ngcb4 srcset» height=»431″ src=»data:image/svg xml,” width=”408″>

Restart your computer

<img alt=»» data-ezsrc=»https://kirelos.com/wp-content/uploads/2020/02/echo/hyper-v-3-2-turn-on-off-features-restart.png» data-ez ezimgfmt=»rs rscb4 src ng ngcb4 srcset» height=»397″ src=»data:image/svg xml,” width=”550″>

If you like PowerShell simply run the following commands. Ensure you are running Powershell as Administrator:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
 Enable-WindowsOptionalFeature -Online -FeatureName "SMB1Protocol" -All

Step 2: Install Executable File

Navigate to the folder you downloaded your Vagrant executable file and double-click on it to start the installation process.

<img alt=»» data-ezsrc=»https://kirelos.com/wp-content/uploads/2020/02/echo/vagrant-1-install-executable.png» data-ez ezimgfmt=»rs rscb4 src ng ngcb4 srcset» height=»331″ src=»data:image/svg xml,” width=”624″>

Step 3: Follow the Installation Steps

Follow the screenshots below to install Vagrant

If you get a message like below, simply click on “More info

<img alt=»» data-ezsrc=»https://kirelos.com/wp-content/uploads/2020/02/echo/vagrant-1-1-install-warning.png» data-ez ezimgfmt=»rs rscb4 src ng ngcb4 srcset» height=»440″ src=»data:image/svg xml,” width=”469″>

Then “Run it anyway”

<img alt=»» data-ezsrc=»https://kirelos.com/wp-content/uploads/2020/02/echo/vagrant-1-2-install-anyway.png» data-ez ezimgfmt=»rs rscb4 src ng ngcb4 srcset» src=»data:image/svg xml,”>

That should open an installation wizard as shown below. Simply follow the “Next” steps as you make configurations depending on what you want

<img alt=»» data-ezsrc=»https://kirelos.com/wp-content/uploads/2020/02/echo/vagrant-2-start-next.png» data-ez ezimgfmt=»rs rscb4 src ng ngcb4 srcset» src=»data:image/svg xml,”>

Accept terms in the License Agreement and click “Next

<img alt=»» data-ezsrc=»https://kirelos.com/wp-content/uploads/2020/02/echo/vagrant-2-1-accept-terms-next.png» data-ez ezimgfmt=»rs rscb4 src ng ngcb4 srcset» src=»data:image/svg xml,”>

You can choose to install Vagrant in a different location here if it suits your requirements.

<img alt=»» data-ezsrc=»https://kirelos.com/wp-content/uploads/2020/02/echo/vagrant-2-2-next.png» data-ez ezimgfmt=»rs rscb4 src ng ngcb4 srcset» src=»data:image/svg xml,”>

Click “Install” to begin the installation process.

<img alt=»» data-ezsrc=»https://kirelos.com/wp-content/uploads/2020/02/echo/vagrant-2-3-Install.png» data-ez ezimgfmt=»rs rscb4 src ng ngcb4 srcset» src=»data:image/svg xml,”>

<img alt=»» data-ezsrc=»https://kirelos.com/wp-content/uploads/2020/02/echo/vagrant-2-4-Install-progress.png» data-ez ezimgfmt=»rs rscb4 src ng ngcb4 srcset» src=»data:image/svg xml,”>

After everything is done installing, the wizard should end as shown below. Simply click “Finish” to complete this phase of work.

<img alt=»» data-ezsrc=»https://kirelos.com/wp-content/uploads/2020/02/echo/vagrant-2-5-Finish.png» data-ez ezimgfmt=»rs rscb4 src ng ngcb4 srcset» src=»data:image/svg xml,”>

Step 4: Restart Computer

Once you’ve completed setup steps, restart your computer for the changes to take effect.

Step 5: Adding our First Vagrant Box

Boxes are the package format for Vagrant environments. A box can be used by anyone on any platform that Vagrant supports to bring up an identical working environment. The easiest way to use a box is to add a box from the publicly available catalog of Vagrant boxes. You can also add and share your own customized boxes on this website.

Fire up your Powershell as Administrator and enter the commands below:

vagrant box add hashicorp/bionic64

<img alt=»» data-ezsrc=»https://kirelos.com/wp-content/uploads/2020/02/echo/adding-vagrant-box-1.png» data-ez ezimgfmt=»rs rscb4 src ng ngcb4 srcset» height=»400″ src=»data:image/svg xml,” width=”630″>

That will get us a Standard Ubuntu 18.04 LTS 64-bit box

Confirm later with the command below

vagrant box list

<img alt=»» data-ezsrc=»https://kirelos.com/wp-content/uploads/2020/02/echo/adding-vagrant-box-list-3.png» data-ez ezimgfmt=»rs rscb4 src ng ngcb4 srcset» height=»368″ src=»data:image/svg xml,” width=”490″>

After the download is done, navigate to a folder you would wish to keep Vagrantfile and run the command below.

vagrant init hashicorp/bionic64

<img alt=»» data-ezsrc=»https://kirelos.com/wp-content/uploads/2020/02/echo/adding-vagrant-box-init-2-1.png» data-ez ezimgfmt=»rs rscb4 src ng ngcb4 srcset» height=»242″ src=»data:image/svg xml,” width=”708″>

To bring the Virtual Machine up, run the command below in your PowerShell

vagrant up --provider hyperv

You can then connect to your VM using

vagrant ssh

<img alt=»» data-ezsrc=»https://kirelos.com/wp-content/uploads/2020/02/echo/adding-vagrant-up-4.png» data-ez ezimgfmt=»rs rscb4 src ng ngcb4 srcset» src=»data:image/svg xml,”>

Our Virtual Machine should now be seen in Hyper-V Manager as shown below

<img alt=»» data-ezsrc=»https://kirelos.com/wp-content/uploads/2020/02/echo/confirm-vm-in-hypervmanager-1024×421.png» data-ez ezimgfmt=»rs rscb4 src ng ngcb4 srcset» height=»287″ src=»data:image/svg xml,” width=”699″>

We have successfully enabled Hyper-V, installed Vagrant and launched our Virtual Machine. We thank you for visiting and following through the guide.

Other related guides are shared below for your consideration in case you would wish to run Vagrant in a different environment.

How To Install Vagrant on CentOS 8 / RHEL 8

How To Use Vagrant with Libvirt on Linux

Run CentOS 8 VM using Vagrant on KVM / VirtualBox / VMWare / Parallels

How To Install Vagrant and VirtualBox on Fedora 31/30/29

How To run Kali Linux on VirtualBox with Vagrant

How To run Kali Linux on VirtualBox with Vagrant

  • V3 771g drivers windows 10
  • Vagkkl fiatecuscan как установить на windows
  • V193w acer драйвер windows 10 для монитора
  • Vag kkl fiatecuscan драйвер скачать windows 10
  • Vag com driver windows 10