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

Post on 04-Oct-2020

15 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

“Multi-tenant, highly

scalable, performant, fault-

tolerant, scriptable

virtualization platform for

lazy researchers“

Markku Vajaranta

(53 slides)

“Multi-tenant, highly

scalable, performant, fault-

tolerant, scriptable

virtualization platform for

lazy researchers“

-

As we use to say

Terminology

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

Openstack cloud. VMWare ESXi server.

• DFS, Distributed filesystem

• SW, Switch

13.4.2016 Markku Vajaranta 4

Use case #1 - VMs for

research and development

13.4.2016 Markku Vajaranta 5

Use case #2 VMs for students

13.4.2016 Markku Vajaranta 6

Use case #3 – Student VMs

13.4.2016 Markku Vajaranta 7

Multi-tenant

• Different permissions

• Different needs

• Different virtual machine requirements

13.4.2016 Markku Vajaranta 8

High Scalable

• Did you see the amount of VMs on the use

cases?

– Not always

• Different use cases

13.4.2016 Markku Vajaranta 9

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

Scriptable

• Would you like to copy manually those 81

VMs ?

• Copy, Delete, Restore

13.4.2016 Markku Vajaranta 11

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

Hold the horses!

• What is that we want ?

13.4.2016 Markku Vajaranta 13

• Any VM, Anywhere

13.4.2016 Markku Vajaranta 14

• Infrastructure as Code

13.4.2016 Markku Vajaranta 15

VMWare

• Multi-tenant

• High scalable

• Performant

• Fault-tolerant

• Scriptable

• Virtualization platform

13.4.2016 Markku Vajaranta 16

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

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

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

VMWare

• Fault-tolerant

– Live migration to host

– Requires FC disks

– Requires costly enterprise licenses

– Can though occur automatically

13.4.2016 Markku Vajaranta 20

VMWare

• Scriptable

– NOT

– vSphere Management Assistant (VMA)

machine (SLES)

– Microsoft powershell

13.4.2016 Markku Vajaranta 21

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

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

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

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

Xenserver, OVS

13.4.2016 Markku Vajaranta 26

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

DFS

13.4.2016 Markku Vajaranta 28

• GlusterFS + iSCSI / NFS

• Ceph

GlusterFS

13.4.2016 Markku Vajaranta 29

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

Openstack

• Very popular IaaS cloud

• Great number of great developers

• Used widely in industry

13.4.2016 Markku Vajaranta 30

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

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

Openstack

13.4.2016 Markku Vajaranta 33

Openstack

13.4.2016 Markku Vajaranta 34

Openstack

13.4.2016 Markku Vajaranta 35

Openstack

13.4.2016 Markku Vajaranta 36

Openstack

13.4.2016 Markku Vajaranta 37

Openstack

13.4.2016 Markku Vajaranta 38

Openstack

13.4.2016 Markku Vajaranta 39

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.

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

LXC / Docker / OpenVZ

• LXC Networking

13.4.2016 Markku Vajaranta 42

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

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

Lets forget the software and grab a

To see what we have and what we need

13.4.2016 Markku Vajaranta 45

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

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

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

What does it look like

13.4.2016 Markku Vajaranta 49

And the software review

• VMware

• Openstack

• Xenserver

13.4.2016 Markku Vajaranta 50

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

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

Questions ?

13.4.2016 Markku Vajaranta 53

top related