Presentation is loading. Please wait.

Presentation is loading. Please wait.

Poor Man’s VIRL How to run VIRL 1.0.0 as Bare Metal on resource-constrained PC (works on 1.0.11 as well) Dec 30, 2015 Kaoru Yamashita.

Similar presentations


Presentation on theme: "Poor Man’s VIRL How to run VIRL 1.0.0 as Bare Metal on resource-constrained PC (works on 1.0.11 as well) Dec 30, 2015 Kaoru Yamashita."— Presentation transcript:

1 Poor Man’s VIRL How to run VIRL as Bare Metal on resource-constrained PC (works on as well) Dec 30, 2015 Kaoru Yamashita

2 20 nodes topology runs on Intel Core i5 (Dual Core), 16GB DRAM, 128GB SSD

3 My tiny VIRL Server : about 400 – 500 USD
Lenovo ThinkPad T520 Core i5-2540M 16GB DRAM Note: Hyper-Threading (HT) is disabled. USB NIC SSD

4 Limitations IPv4 address for eth0 should be static. (i.e. DHCP does not work) To save CPU power and DRAM, please start nodes one by one. (As far as I know) Hostname of Ubuntu should be “virl”.

5 Solution (maybe Tricky and Dirty)
Save CPU Power Launch each instance on by one --- check “Exclude node from simulation launch” Rename “dummy” Linux virtual NICs to “eth<n>” Run UKSM-enabled kernel to save DRAM UKSM (Ultra KSM) is a kernel patch to perform memory de-duplication

6 What you need Laptop PC (or x86 server) SSD
At least one physical NIC (in this document, two NICs are used) DVD-ROM Drive (Physical or Virtual) DVD-ROM Media of virl iso (Physical or Virtual) PC or Mac to run ssh client and VMmaestro (Or you can use graphical desktop of Ubuntu) DHCP Server (used during initial installation) Internet connection License of VIRL Don’t use VMware products if you want to achieve maximum performance.

7 1. Boot from DVD-ROM Select first item, “live”

8 1. Boot from DVD-ROM (cont.)
Wait for a while

9 2. Login Password: VIRL

10 2. Login (cont.)

11 3. Initialize SSD (if it is not new)
sudo sgdisk –Z /dev/sda

12 3. Initialize SSD (cont.)

13 4. Start Installer

14 5. Specify Parameters

15 5. Specify Parameters (cont.)
Make sure that primary NIC is connected

16 5. Specify Parameters (cont.)
Check this Item

17 5. Specify Parameters (cont.)

18 5. Specify Parameters (cont.)

19 5. Specify Parameters (cont.)

20 6. Installer is running

21 7. Installer ends

22 Caution! In most cases, VIRL ISO installer does not ask about hostname. In other word, the installer does not expose below dialog. This is known issue. So we have to fix this by changing hostname manually. (see later slides)

23 8. Boot from SSD, login and start xterm. Then...
sudo hostnamectl set-hostname virl sudo apt-get –y remove openssh-server sudo apt-get –y install openssh-server sudo reboot

24 9. Reboot and pick IPv4 address of eth0 Now you can ssh from your favorite client

25 10. Edit configuration files
/etc/hosts /etc/network/interfaces /etc/virl.ini /etc/virl/common.cfg /etc/modues (type “sudo –s” before editing but this is somewhat dangerous)

26 /etc/hosts Modify ubuntu to virl

27 /etc/network/interfaces
auto eth0 iface eth0 inet static address /24 gateway dns-nameservers auto lo iface lo inet loopback auto lo:1 iface lo:1 inet loopback address netmask auto eth1 iface eth1 inet static address /24 netmask post-up ip link set eth1 promisc on auto dummy0 iface dummy0 inet manual pre-up ip link set dev dummy0 name eth2 pre-up ifconfig eth /24 up post-up ip link set eth2 promisc on auto dummy1 iface dummy1 inet manual pre-up ip link set dev dummy1 name eth3 pre-up ifconfig eth /24 up auto dummy2 iface dummy2 inet manual pre-up ip link set dev dummy2 name eth4 pre-up ifconfig eth /24 pre-up ifconfig eth4 mtu 1500 post-up ip link set eth4 promisc on [Note] eth0 should be static. DHCP will not work.

28 /etc/virl.ini using_dhcp_on_the_public_port: False salt_master: us-virl-salt.cisco.com (or) salt_master: eu-virl-salt.cisco.com

29 /etc/virl/common.cfg ram_overcommit = 5 default = 2. 6 or larger will not be allowed.

30 /etc/modules dummy numdummies=3 default = 5. This is why there are dummy0 to dummy4 by default.

31 11. reboot and confirm settings
In this example, you can ssh to Check five NICs by typing “ifconfig eth0”, “ifconfig eth1”, “ifconfig eth2”, “ifconfig eth3” and “ifconfig eth4”.

32 12. “vinstall salt” and “vinstall rehost”
You don’t have to switch to root. These commands can run as “virl”. “vinstall rehost” takes some minutes to complete. Please reboot when “vinstall rehost” finishes.

33 13. Almost done! Your VIRL server is almost ready.
Run below commands to check status neutron agent-list nova service-list sudo virl_health_status Please perform activation. NTP setting Install VIRL license key Add CSR1000V image Upgrade IOSv image Once you can run small topologies on your VIRL server, proceed to next slide.

34 14. Introduce UKSM-enabled kernel
Visit to download kernel files (and latest copy of this document) Then switch to root, put two files under /usr/src, and perform “dpkg –i” twice. dpkg -i linux-headers ckt27_ UKSM_amd64.deb dpkg -i linux-image ckt27_ UKSM_amd64.deb Edit /etc/default/grub as next slide And “update-grub2” reboot

35 /etc/default/grub GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux ckt27”

36 Issues on UKSM-enabled kernel
LACP and LLDP do not work between nodes e.g. You can not form dynamic port-channel between vEOS nodes.

37 If you’re stuck


Download ppt "Poor Man’s VIRL How to run VIRL 1.0.0 as Bare Metal on resource-constrained PC (works on 1.0.11 as well) Dec 30, 2015 Kaoru Yamashita."

Similar presentations


Ads by Google