Vagrant

Виртуальные машины и среды исполнения

Модератор: Olej

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Vagrant

Непрочитанное сообщение Olej » 01 окт 2016, 15:04

Теперь в этой Fedora 23 пробую запускать другую ВМ из .box под провайдера VirtualBox, скачанную с другого места ... 1-я по порядку из добавленных ВМ:

Код: Выделить всё

[olej@dell viniciusfs]$ vagrant box list
vagrant-cent64     (virtualbox, 0)
vagrant-win81      (virtualbox, 0)
viniciusfs/centos7 (libvirt, 0.0.1)
Старт:

Код: Выделить всё

[olej@dell vagrant-cent64]$ pwd
/home/olej/Vagrant/vagrant-cent64

[olej@dell vagrant-cent64]$ vagrant init
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

[olej@dell vagrant-cent64]$ vagrant up --provider libvirt
Bringing machine 'default' up with 'libvirt' provider...
==> default: Box 'base' could not be found. Attempting to find and install...
    default: Box Provider: libvirt
    default: Box Version: >= 0
==> default: Box file was not detected as metadata. Adding it directly...
==> default: Adding box 'base' (v0) for provider: libvirt
    default: Downloading: base
An error occurred while downloading the remote file. The error
message, if any, is reproduced below. Please fix this error and try
again.

Couldn't open file /home/olej/Vagrant/vagrant-cent64/base
Ошибка №1.

2. Переименовываем имя ВМ в файле Vagrant:

Код: Выделить всё

[olej@dell vagrant-cent64]$ cat Vagrantfile | grep 'config.vm.box'
#  config.vm.box = "base"
config.vm.box = "vagrant-cent64"
  # config.vm.box_check_update = false


[olej@dell vagrant-cent64]$ vagrant up --provider virtualbox
The provider 'virtualbox' that was requested to back the machine
'default' is reporting that it isn't usable on this system. The
reason is shown below:

Vagrant has detected that you have a version of VirtualBox installed
that is not supported by this version of Vagrant. Please install one of
the supported versions listed below to use Vagrant:

4.0, 4.1, 4.2, 4.3, 5.0

A Vagrant update may also be available that adds support for the version
you specified. Please check www.vagrantup.com/downloads.html to download
the latest version.
Это потому, что Fedora сдуру при dnf update втихаря "обновила" VirtualBox из 5.0.26 в 5.1.6 (а это не свободная версия!)

3. Переустановил VirtualBox из 5.0.26...
И запускаем ВМ из .box :

Код: Выделить всё

[olej@dell vagrant-cent64]$ vagrant up --provider virtualbox
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'vagrant-cent64'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: vagrant-cent64_default_1475271978947_82358
==> default: Clearing any previously set forwarded ports...
==> default: Pruning invalid NFS exports. Administrator privileges will be required...
[sudo] пароль для olej:
...

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Vagrant

Непрочитанное сообщение Olej » 01 окт 2016, 15:06

Olej писал(а): 3. Переустановил VirtualBox из 5.0.26...
И запускаем ВМ из .box :
4. Заходим по SSH в новую ВМ:

Код: Выделить всё

[olej@dell vagrant-cent64]$ vagrant ssh
Welcome to your Vagrant-built virtual machine.

[vagrant@localhost ~]$ uname -a
Linux localhost.localdomain 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
    
[vagrant@localhost ~]$ ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:f7:3d:84 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global eth0
    inet6 fe80::a00:27ff:fef7:3d84/64 scope link
       valid_lft forever preferred_lft forever

[vagrant@localhost ~]$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=63 time=49.3 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=63 time=309 ms
^C
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1718ms
rtt min/avg/max/mdev = 49.395/179.676/309.958/130.282 ms
 
[vagrant@localhost ~]$ yum repolist
Loaded plugins: fastestmirror, security
Determining fastest mirrors
 * base: centos.itt-consulting.com
 * extras: centos.itt-consulting.com
 * updates: centos.itt-consulting.com
base                                                                                                           | 3.7 kB     00:00
http://centos.itt-consulting.com/6.8/os/x86_64/repodata/ad3a307dfd95da4d7a7aad136162378d18ead7271010822806902dfa3edb55f2-primary.sqlit
Trying other mirror.
base/primary_db                                                                                                | 4.7 MB     02:38
extras                                                                                                         | 3.4 kB     00:00
extras/primary_db                                                                                              |  37 kB     00:02
updates                                                                                                        | 3.4 kB     00:00
updates/primary_db                                                                                             | 2.1 MB     02:38
repo id                                                   repo name                                                             status
base                                                      CentOS-6 - Base                                                       6 696
extras                                                    CentOS-6 - Extras                                                        62
updates                                                   CentOS-6 - Updates                                                      499
repolist: 7 257
Но что особенно интересно, что после старта этого .box ВМ появляется в графическом менеджере VirtualBox!
Вложения
vagr-cent.png

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Vagrant

Непрочитанное сообщение Olej » 01 окт 2016, 17:41

5. Теперь нам остаётся только остановить ВМ:

Код: Выделить всё

/home/olej/Vagrant/vagrant-cent64
[olej@dell vagrant-cent64]$ vagrant halt
==> default: Attempting graceful shutdown of VM...
Olej писал(а):Но что особенно интересно, что после старта этого .box ВМ появляется в графическом менеджере VirtualBox!
Но зарегистрированная виртуальная машина остаётся в GUI менеджере VirtualBox и после остановки ВМ.
Вложения
vagr-cent1.png.png

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Vagrant

Непрочитанное сообщение Olej » 01 окт 2016, 19:02

Olej писал(а): Но зарегистрированная виртуальная машина остаётся в GUI менеджере VirtualBox и после остановки ВМ.
И теперь мы её можем запускать просто из GUI VirtualBox:
vagr-cent2.png
vagr-cent3.png
login:password => vagrant : vagrant
Там же теперь можно установить с помощью yum менеджер mc...
vagr-cent4.png

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Vagrant

Непрочитанное сообщение Olej » 01 окт 2016, 21:10

Olej писал(а): Записываю конспект, для себя - такое запомнить нельзя ... и, может, кому-то ещё пригодится...
И последнее, что осталось выяснить относительно Vagrant - это как там обстоят дела с этим не в RPM, а в DEB дистрибутивах?
Здесь провайдер по умолчанию: --provider virtualbox

1. Mint 17.1:

Код: Выделить всё

olej@nvidia ~ $ apt install vagrant
...

olej@nvidia ~ $ vagrant --version
Vagrant 1.4.3
2.

Код: Выделить всё

olej@nvidia ~ $ vagrant box list
There are no installed boxes! Use `vagrant box add` to add some.

Код: Выделить всё

olej@nvidia ~ $ vagrant box add lucid32 http://files.vagrantup.com/lucid32.box
Downloading box from URL: http://files.vagrantup.com/lucid32.box
Extracting box...te: 1603k/s, Estimated time remaining: 0:00:02)
Successfully added box 'lucid32' with provider 'virtualbox'!

olej@nvidia ~/.vagrant.d/boxes $ pwd
/home/olej/.vagrant.d/boxes

olej@nvidia ~/.vagrant.d/boxes $ tree
.
└── lucid32
    └── virtualbox
        ├── box-disk1.vmdk
        ├── box.ovf
        ├── info.json
        ├── metadata.json
        └── Vagrantfile

2 directories, 5 files
3. Оживляем полученный .box :

Код: Выделить всё

olej@nvidia ~ $ mkdir ~/vagrant

olej@nvidia ~ $ cd ~/vagrant

olej@nvidia ~/vagrant $ mkdir lucid32

olej@nvidia ~/vagrant $ cd lucid32

olej@nvidia ~/vagrant/lucid32 $ ls -l
итого 0

Код: Выделить всё

olej@nvidia ~/vagrant/lucid32 $ vagrant box list
lucid32 (virtualbox)

olej@nvidia ~/vagrant/lucid32 $ vagrant init
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

Код: Выделить всё

olej@nvidia ~/vagrant/lucid32 $ vagrant up base
The machine with the name 'base' was not found configured for
this Vagrant environment.
Ошибка №1 !

4. Заменяем в файле Vagrantfile:

Код: Выделить всё

olej@nvidia ~/vagrant/lucid32 $ cat Vagrantfile | grep "config.vm.box"
  config.vm.box = "base"
  # The url from where the 'config.vm.box' box will be fetched if it
  # config.vm.box_url = "http://domain.com/path/to/above.box"
Меняем на:

Код: Выделить всё

olej@nvidia ~/vagrant/lucid32 $ cat Vagrantfile | grep "config.vm.box"
  config.vm.box = "lucid32"
  # The url from where the 'config.vm.box' box will be fetched if it
  # config.vm.box_url = "http://domain.com/path/to/above.box"
5. Запуск:

Код: Выделить всё

olej@nvidia ~/vagrant/lucid32 $ vagrant up
Vagrant has detected that you have a version of VirtualBox installed
that is not supported. Please install one of the supported versions
listed below to use Vagrant:

4.0, 4.1, 4.2, 4.3
Эта версия (в дистрибутивах середины 2015г.) требуют для работы установленной старой версии VirtualBox.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Vagrant

Непрочитанное сообщение Olej » 01 окт 2016, 21:13

Вот теперь - всё просто и до конца понятно.
На этом можно и прекратить разбирательство с Vagrant.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Vagrant

Непрочитанное сообщение Olej » 01 окт 2016, 23:05

Olej писал(а):Вот теперь - всё просто и до конца понятно.
А тут как-раз вовремя на сайте помещён перевод по-верхам описания работы Vagrant : Просто о Vagrant
Как и в случае чистки зубов с помощью расчески, использование Vagrant для развертывании постоянно работающих виртуальных машин в датацентрах является не лучшей идеей. Разумеется, вы можете использовать его для описанных целей, но Vagrant является действительно удобным инструментом для быстрого создания и уничтожения виртуальных машин после окончания работы с ними. Фактически, большинство людей использует Vagrant для выполнения одной из двух операций: создания окружения разработки для тестирования кода и создания по запросу временных серверов при повышении нагрузки.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Vagrant

Непрочитанное сообщение Olej » 19 окт 2016, 14:34

Olej писал(а):Вот теперь - всё просто и до конца понятно.
На этом можно и прекратить разбирательство с Vagrant.
И самое время грамотно удалить то, что связано с Vagrant.
И вот почему:

Код: Выделить всё

[olej@dell dsp]$ vagrant box list
vagrant-cent64     (virtualbox, 0)
vagrant-win81      (virtualbox, 0)
viniciusfs/centos7 (libvirt, 0.0.1)

Код: Выделить всё

[olej@dell .vagrant.d]$ tree ~/.vagrant.d/boxes 
/home/olej/.vagrant.d/boxes
├── vagrant-cent64
│   └── 0
│       └── virtualbox
│           ├── box-disk1.vmdk
│           ├── box.ovf
│           ├── metadata.json
│           └── Vagrantfile
├── vagrant-win81
│   └── 0
│       └── virtualbox
│           ├── box-disk1.vmdk
│           ├── box.ovf
│           ├── metadata.json
│           └── Vagrantfile
└── viniciusfs-VAGRANTSLASH-centos7
    ├── 0.0.1
    │   └── libvirt
    │       ├── box.img
    │       ├── metadata.json
    │       └── Vagrantfile
    └── metadata_url

9 directories, 12 files

Код: Выделить всё

[olej@dell SCF]$
[olej@dell ~]$ du -hs
126G    .

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Vagrant

Непрочитанное сообщение Olej » 19 окт 2016, 15:29

Olej писал(а): И самое время грамотно удалить то, что связано с Vagrant.

Код: Выделить всё

[olej@dell Vagrant]$ vagrant box list
vagrant-cent64     (virtualbox, 0)
vagrant-win81      (virtualbox, 0)
viniciusfs/centos7 (libvirt, 0.0.1)

[olej@dell Vagrant]$ vagrant box remove --all vagrant-win81
Removing box 'vagrant-win81' (v0) with provider 'virtualbox'...
Vagrant-libvirt plugin removed box only from you LOCAL ~/.vagrant/boxes directory
From libvirt storage pool you have to delete image manually(virsh, virt-manager or by any other tool)

[olej@dell Vagrant]$ vagrant box list
vagrant-cent64     (virtualbox, 0)
viniciusfs/centos7 (libvirt, 0.0.1)

Код: Выделить всё

[olej@dell Vagrant]$ vagrant box remove --all vagrant-cent64
Box 'vagrant-cent64' (v0) with provider 'virtualbox' appears
to still be in use by at least one Vagrant environment. Removing
the box could corrupt the environment. We recommend destroying
these environments first:

default (ID: 90f4c9bc9ce34122a9c2a6a250abaf33)

Are you sure you want to remove this box? [y/N] y
Removing box 'vagrant-cent64' (v0) with provider 'virtualbox'...
Vagrant-libvirt plugin removed box only from you LOCAL ~/.vagrant/boxes directory
From libvirt storage pool you have to delete image manually(virsh, virt-manager or by any other tool)

[olej@dell Vagrant]$ vagrant box list
viniciusfs/centos7 (libvirt, 0.0.1)

Код: Выделить всё

[olej@dell Vagrant]$ vagrant box remove --all viniciusfs/centos7
Box 'viniciusfs/centos7' (v0.0.1) with provider 'libvirt' appears
to still be in use by at least one Vagrant environment. Removing
the box could corrupt the environment. We recommend destroying
these environments first:

default (ID: aaf5bab3a24c4cd785bd52d8fd42006b)

Are you sure you want to remove this box? [y/N] y
Removing box 'viniciusfs/centos7' (v0.0.1) with provider 'libvirt'...
Vagrant-libvirt plugin removed box only from you LOCAL ~/.vagrant/boxes directory
From libvirt storage pool you have to delete image manually(virsh, virt-manager or by any other tool)

[olej@dell Vagrant]$ vagrant box list
There are no installed boxes! Use `vagrant box add` to add some.

Код: Выделить всё

[olej@dell ~]$ du -hs ~/.vagrant.d
24K     /home/olej/.vagrant.d
126 Gb освобождено!

Ответить

Вернуться в «Виртуализация»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 15 гостей