Май 2022
Пн Вт Ср Чт Пт Сб Вс
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

Cumulus-VX и Windows 10

Нашел в инете описание сетевой OS – Cumulus Linux, решил посмотреть в близи на своем ноутбуке. Итак описание установки и настройки необходимых компонентов для запуска виртуальной версии Cumulus-VX, если интересно, то

Для автоматизации процесса разворачивания виртульных инстансов Cumulus-VX в Virtualbox я решил, после прочтения доков на сайте, поставить еще Vagrant – ссылка. Установка Virtualbox последней версии ничем не примечательна, описывать ее нет смысла, главное перед установкой удалить роль hyper-v на windows10, слышал что иначе будут проблемы при запуске 64-х битных VM Virtualbox.

Установка и первоначальная настройка Vagrant расписана достаточно подробна например тут – ссылка.

далее для примера развернул топологию как описано тут, с небольшими изменениями – см. картинку топологии ниже.

создадим папку VM\, где будет в дальнейшем размещены папки и файлы этого проекта, в папке VM\vbox\ я разместил скаченный дистрибутив cumulus-linux-3.7.3-vx-amd64-vbox.box, далее запускаем cmd и переходим в папку VM:

C:\VM>vagrant box add c:\VM\vbox\cumulus-linux-3.7.3-vx-amd64-vbox.box --name cumulus-vx
==> box: Box file was not detected as metadata. Adding it directly...
==> box: Adding box 'cumulus-vx' (v0) for provider:
    box: Unpacking necessary files from: file:///c:/VM/vbox/cumulus-linux-3.7.3-vx-amd64-vbox.box
    box: Progress: 100% (Rate: 261M/s, Estimated time remaining: --:--:--)
==> box: Successfully added box 'cumulus-vx' (v0) for 'virtualbox'!

C:\VM>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.

теперь у нас в папке VM появился файл Vagrantfile с базовыми настройками, внесем в него правки для нашей топологии, у меня получилось так (исправил секцию Vagrant.configure):

Vagrant.configure("2") do |config|
  # The most common configuration options are documented and commented below.
  # For a complete reference, please see the online documentation at
  # https://docs.vagrantup.com.

  # Every Vagrant development environment requires a box. You can search for
  # boxes at https://vagrantcloud.com/search.
  # config.vm.box = "cumulus-vx"

  config.vm.define "spine1" do |spine1|
    spine1.vm.box = "cumulus-vx"
 
    # Internal network for swp* interfaces.
    spine1.vm.network "private_network", virtualbox__intnet: "swp1_net1", auto_config: false
    spine1.vm.network "private_network", virtualbox__intnet: "swp2_net1", auto_config: false
    spine1.vm.network "private_network", virtualbox__intnet: "swp3_net2", auto_config: false
    spine1.vm.network "private_network", virtualbox__intnet: "swp4_net2", auto_config: false
  end
 
  config.vm.define "spine2" do |spine2|
    spine2.vm.box = "cumulus-vx"
 
    # Internal network for swp* interfaces.
    spine2.vm.network "private_network", virtualbox__intnet: "swp1_net4", auto_config: false
    spine2.vm.network "private_network", virtualbox__intnet: "swp2_net4", auto_config: false
    spine2.vm.network "private_network", virtualbox__intnet: "swp3_net3", auto_config: false
    spine2.vm.network "private_network", virtualbox__intnet: "swp4_net3", auto_config: false
  end
 
  config.vm.define "leaf1" do |leaf1|
    leaf1.vm.box = "cumulus-vx"
 
    # Internal network for swp* interfaces.
    leaf1.vm.network "private_network", virtualbox__intnet: "swp1_net1", auto_config: false
    leaf1.vm.network "private_network", virtualbox__intnet: "swp2_net1", auto_config: false
    leaf1.vm.network "private_network", virtualbox__intnet: "swp3_net3", auto_config: false
    leaf1.vm.network "private_network", virtualbox__intnet: "swp4_net3", auto_config: false
  end
 
  config.vm.define "leaf2" do |leaf2|
    leaf2.vm.box = "cumulus-vx"
 
    # Internal network for swp* interfaces.
    leaf2.vm.network "private_network", virtualbox__intnet: "swp1_net4", auto_config: false
    leaf2.vm.network "private_network", virtualbox__intnet: "swp2_net4", auto_config: false
    leaf2.vm.network "private_network", virtualbox__intnet: "swp3_net2", auto_config: false
    leaf2.vm.network "private_network", virtualbox__intnet: "swp4_net2", auto_config: false
  end

далее в командной строке запускаем топологию: vagrant up

C:\VM>vagrant up
Bringing machine 'spine1' up with 'virtualbox' provider...
Bringing machine 'spine2' up with 'virtualbox' provider...
Bringing machine 'leaf1' up with 'virtualbox' provider...
Bringing machine 'leaf2' up with 'virtualbox' provider...
...
C:\VM>vagrant status
Current machine states:

spine1                    running (virtualbox)
spine2                    running (virtualbox)
leaf1                     running (virtualbox)
leaf2                     running (virtualbox)

This environment represents multiple VMs. The VMs are all listed
above with their current state. For more information about a specific
VM, run `vagrant status NAME`.

Далее через команды vagrant port spine1 узнаем ssh порт для подключения к консоли соотв виртуалки и подключаемся либо самостоятельно указав номер порта (как пример 2222) в свойствах подключения putty ssh либо vagrant ssh spine1.

Для дальнейшей настройки виртульных машин cumulus-vx можно воспользоваться официальной докой тут.

cumulus-linux, Mellanox

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

All rights reserved, 2019