“multisysta/virtualizationseminar/mava_cloud.pdf · openstack markku vajaranta 13.4.2016 32 •...

53
“Multi-tenant, highly scalable, performant, fault- tolerant, scriptable virtualization platform for lazy researchers“ Markku Vajaranta (53 slides)

Upload: others

Post on 04-Oct-2020

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

“Multi-tenant, highly

scalable, performant, fault-

tolerant, scriptable

virtualization platform for

lazy researchers“

Markku Vajaranta

(53 slides)

Page 2: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

“Multi-tenant, highly

scalable, performant, fault-

tolerant, scriptable

virtualization platform for

lazy researchers“

-

As we use to say

Page 4: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

Terminology

• IaaS, infrastructure as a service. E.g.

Openstack cloud. VMWare ESXi server.

• DFS, Distributed filesystem

• SW, Switch

13.4.2016 Markku Vajaranta 4

Page 5: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

Use case #1 - VMs for

research and development

13.4.2016 Markku Vajaranta 5

Page 6: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

Use case #2 VMs for students

13.4.2016 Markku Vajaranta 6

Page 7: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

Use case #3 – Student VMs

13.4.2016 Markku Vajaranta 7

Page 8: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

Multi-tenant

• Different permissions

• Different needs

• Different virtual machine requirements

13.4.2016 Markku Vajaranta 8

Page 9: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

High Scalable

• Did you see the amount of VMs on the use

cases?

– Not always

• Different use cases

13.4.2016 Markku Vajaranta 9

Page 10: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

Performant

• Did you see the amount of VMs on the use

cases?

• Peaks might occur e.g. in surveillance VMs in

research tenant

13.4.2016 Markku Vajaranta 10

Page 11: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

Scriptable

• Would you like to copy manually those 81

VMs ?

• Copy, Delete, Restore

13.4.2016 Markku Vajaranta 11

Page 12: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

Virtualization platform(s)

software stuff

• VMWare

• Xenserver

• Openstack

• HPE Helion

Eucalyptus

• KVM

• Microsoft Hyper-V

13.4.2016 Markku Vajaranta 12

• LXC

• OpenVZ

• Docker

• Vagrant

Page 13: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

Hold the horses!

• What is that we want ?

13.4.2016 Markku Vajaranta 13

Page 14: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

• Any VM, Anywhere

13.4.2016 Markku Vajaranta 14

Page 15: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

• Infrastructure as Code

13.4.2016 Markku Vajaranta 15

Page 16: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

VMWare

• Multi-tenant

• High scalable

• Performant

• Fault-tolerant

• Scriptable

• Virtualization platform

13.4.2016 Markku Vajaranta 16

Page 17: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

VMWare

• Multi-tenant

– Active Directory

– vSphere centralized management

– Costly licenses

– Management in 5.5. through vmware vsphere

client for Windows or WebUI

• in 6.x through WebUI

13.4.2016 Markku Vajaranta 17

Page 18: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

VMWare

• High Scalable

– Several Servers

– In 5.5.x requires fiber channel database

– 6.x can have VSAN

– Networking using virtual switches

13.4.2016 Markku Vajaranta 18

Page 19: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

VMWare

• Performant

– One HP Gen8 can handle

100 machines nicely

2x Xeon E5-2640 and 160Gb Ram

– resource pools

– Fast VM deployment… NOT

13.4.2016 Markku Vajaranta 19

Page 20: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

VMWare

• Fault-tolerant

– Live migration to host

– Requires FC disks

– Requires costly enterprise licenses

– Can though occur automatically

13.4.2016 Markku Vajaranta 20

Page 21: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

VMWare

• Scriptable

– NOT

– vSphere Management Assistant (VMA)

machine (SLES)

– Microsoft powershell

13.4.2016 Markku Vajaranta 21

Page 22: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

VMWare, VMA

source /opt/vmware/vma/bin/vifptarget -s seclab-esxi2.sec.rd.tut.fi

for i in {3801..3827}

do

vlan_number=$i

vlan_name=VLAN-$i-Shellshock_LAB

echo $vlan_number

echo $vlan_name

vicfg-vswitch -A $vlan_name vSwitch1

vicfg-vswitch -v=$vlan_number -p $vlan_name vSwitch1

done

13.4.2016 Markku Vajaranta 22

Page 23: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

VMWare, Powershell

$nameOfFW="Shellshock_FW_"

$nameOfXP="Shellshock_XP_"

$nameOfUBUNTU="Shellshock_UBUNTU_"

$nwPRE="VLAN-"

$nwPOST="-Shellshock_LAB"

$first_VLAN=3801

$last_VLAN=3827

for($i=$first_VLAN; $i -le $last_VLAN; $i++)

{

$nameIs=$nameOfUBUNTU + $i

$nwIs=$nwPRE + $i + $nwPOST

New-VM -name $nameIs -template TEMPLATE_piglet_Ubuntu_Apache -Resourcepool shellshock

Get-VM $nameIs | Get-NetworkAdapter -name "Network adapter 1" | Set-NetworkAdapter -NetworkName $nwIs -Confirm:$false

}

13.4.2016 Markku Vajaranta 23

Page 24: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

VMWare

• Virtualization platform

– Did I say about the licenses?

– Yearly renewal! (in academic licence)

– Clear separation for each single different

component in bigger environment

13.4.2016 Markku Vajaranta 24

Page 25: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

Xenserver

• Pros

– Scriptability

– Open source

– Pools

– Migration

– Xen-orchestra

brings the WebUI

and cloud-init

– Openvswitch

13.4.2016 Markku Vajaranta 25

• Cons

– Scriptability

– VM deployment

– Management SW

only for Windows

– FC, iSCSI NFS

– Messy component

structure

– User policies

Page 26: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

Xenserver, OVS

13.4.2016 Markku Vajaranta 26

Page 27: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

Xenserver, scripting

13.4.2016 Markku Vajaranta 27

For i in {1..100}

do

xe vm-clone vm="$TEMPLATE" new-name-label="$NAME_$i“

done

Page 28: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

DFS

13.4.2016 Markku Vajaranta 28

• GlusterFS + iSCSI / NFS

• Ceph

Page 29: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

GlusterFS

13.4.2016 Markku Vajaranta 29

• http://www.gluster.org/community/documentation/index.php/Setting_Volumes

Page 30: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

Openstack

• Very popular IaaS cloud

• Great number of great developers

• Used widely in industry

13.4.2016 Markku Vajaranta 30

Page 31: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

Openstack

• Pros

– Scriptable through

API

– Fast VM

deployment

– True multi-tenant

– High-scalable

– Performant

13.4.2016 Markku Vajaranta 31

• Cons

– Networking messy

– Installation messy

– * messy

– Big needs for HW

– Storage

Page 32: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

Openstack

13.4.2016 Markku Vajaranta 32

• Mirantis

• Foreman

• Ubuntu openstack cloud

– Requirements • At least five machines with two disks

• Two machines with x2 network interfaces (NICs)

• A dedicated switch to create a private cloud LAN

• Internet access through a router on that LAN

Page 33: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

Openstack

13.4.2016 Markku Vajaranta 33

Page 34: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

Openstack

13.4.2016 Markku Vajaranta 34

Page 35: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

Openstack

13.4.2016 Markku Vajaranta 35

Page 36: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

Openstack

13.4.2016 Markku Vajaranta 36

Page 37: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

Openstack

13.4.2016 Markku Vajaranta 37

Page 38: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

Openstack

13.4.2016 Markku Vajaranta 38

Page 39: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

Openstack

13.4.2016 Markku Vajaranta 39

Page 40: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

Openstack

13.4.2016 Markku Vajaranta 40

• Ridiculous requirements

• Must do everything manually, the whole stack

• Networking is terrible. Not gonna work. Using

floating IP and GRE(Generic routing

encapsulation)

• ”Where is my VM?”

• If network or storage has a bug, everything

stops.

Page 41: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

LXC / Docker / OpenVZ

• Not a VM environment

• Scriptable

• Fast to deploy – development tools

• User control since tools used through bash

• Fault-tolerant.. err

• Networking?

13.4.2016 Markku Vajaranta 41

Page 42: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

LXC / Docker / OpenVZ

• LXC Networking

13.4.2016 Markku Vajaranta 42

Page 43: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

LXC / Docker / OpenVZ

nano /var/lib/lxc/MavaHOST/config

# Network configuration

lxc.network.type = veth

lxc.network.flags = up

lxc.network.link = br0

lxc.network.hwaddr = 00:ca:fe:07:49:ba

lxc.network.ipv4 = 192.168.14.5/24

lxc.network.ipv4.gateway = 192.168.14.1

# autostart configuration

lxc.start.auto = 1

lxc.start.delay = 5

13.4.2016 Markku Vajaranta 43

Page 44: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

Vagrant + Oracle Virtualbox

• Fast to deploy directly from command line

• True VM

• Scriptable

• Fault tolerance as bad as LXC etc case

• Networking even more horrible. Not possible

in Virtualbox since Vagrant utilizes Cloudinit

and requires NAT interface

13.4.2016 Markku Vajaranta 44

Page 45: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

Lets forget the software and grab a

To see what we have and what we need

13.4.2016 Markku Vajaranta 45

Page 46: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

So, What did we need?

• Multi-tenant, highly scalable, performant,

fault-tolerant, scriptable virtualization platform

for lazy researchers

• Any VM, Anywhere

• Infrastructure as a code

13.4.2016 Markku Vajaranta 46

Page 47: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

So, What did we REALLY

need?

• User control

• Easy management

• Good network, several VLANs

• High availability for VMs

• Fast VM deployment

• Scriptability

13.4.2016 Markku Vajaranta 47

Page 48: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

Hardware to build it

• 2 identical servers

– Enough of RAM and CPU

– 10Tb disk per machine

– 6 Nics, 2x10Gb + 4x1Gb

13.4.2016 Markku Vajaranta 48

Page 49: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

What does it look like

13.4.2016 Markku Vajaranta 49

Page 50: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

And the software review

• VMware

• Openstack

• Xenserver

13.4.2016 Markku Vajaranta 50

Page 51: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

And the solution

• Debian: Platform, scriptability

• AD: User control

• KVM/XEN: Virtualization

• GlusterFS: Storage

• OpenvSwitch: Networking

• Vagrant/Cloudinit/??: for deployment

13.4.2016 Markku Vajaranta 51

Page 52: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

And the solution

• Debian: Platform, scriptability

• AD: User control

• KVM/XEN: Virtualization

• GlusterFS: Storage

• OpenvSwitch: Networking

• Vagrant/Cloudinit/??: for deployment

13.4.2016 Markku Vajaranta 52

Page 53: “Multisysta/VirtualizationSeminar/Mava_cloud.pdf · Openstack Markku Vajaranta 13.4.2016 32 • Mirantis • Foreman • Ubuntu openstack cloud –Requirements • At least five

Questions ?

13.4.2016 Markku Vajaranta 53