24
FOSDEM, February 2017 VM: Hey VM, can I share a host with you? Affinity rules in a virtual cluster ǸǸǵǵ 4 th of Feb 2017 Martin Sivák Senior Software Engineer Red Hat Czech 1

VM: Hey VM, can I share a host with you? Affinity rules in ... · Gradually migrate VMs off a host to lower the number of migrations when going into maintenance Balancing will gradually

  • Upload
    others

  • View
    5

  • Download
    1

Embed Size (px)

Citation preview

Page 1: VM: Hey VM, can I share a host with you? Affinity rules in ... · Gradually migrate VMs off a host to lower the number of migrations when going into maintenance Balancing will gradually

FOSDEM, February 2017

VM: Hey VM, can I share a host with you?

Affinity rules in a virtual cluster

4th of Feb 2017

Martin SivákSenior Software EngineerRed Hat Czech

1

Page 2: VM: Hey VM, can I share a host with you? Affinity rules in ... · Gradually migrate VMs off a host to lower the number of migrations when going into maintenance Balancing will gradually

FOSDEM, February 2017

About me and oVirt

Martin SivákWorking for Red Hat since 2007

oVirt SLA team

2

● oVirt | Red Hat Virtualization (since 2008)● Virtual datacenter management solution● Our virtual machines are pets, not cattle.

Page 3: VM: Hey VM, can I share a host with you? Affinity rules in ... · Gradually migrate VMs off a host to lower the number of migrations when going into maintenance Balancing will gradually

FOSDEM, February 2017

Agenda

● What is affinity● Why affinity - use cases● Overview of affinity types● Affinity conflicts● Affinity management in oVirt● Future ideas

3

Page 4: VM: Hey VM, can I share a host with you? Affinity rules in ... · Gradually migrate VMs off a host to lower the number of migrations when going into maintenance Balancing will gradually

FOSDEM, February 2017

● Attraction factor betweenvirtual machines

● Attraction factor between virtual machines and hosts

● Automatically enforced logical rules for virtual machineplacement○ Less strict than pinning○ Can dynamically adapt to the current cluster situation

and load

What is affinity

4

Page 5: VM: Hey VM, can I share a host with you? Affinity rules in ... · Gradually migrate VMs off a host to lower the number of migrations when going into maintenance Balancing will gradually

FOSDEM, February 2017

Why affinity?

● Licensing requirements● Security● Better performance● High availability● Planning● Customer locality

5

?

Page 6: VM: Hey VM, can I share a host with you? Affinity rules in ... · Gradually migrate VMs off a host to lower the number of migrations when going into maintenance Balancing will gradually

FOSDEM, February 2017

Why affinity? - licensing reasons

● Node-based licensing○ Software that can run only on certain amount of nodes / CPUs

according to some kind of license agreement

6

+$$$

Page 7: VM: Hey VM, can I share a host with you? Affinity rules in ... · Gradually migrate VMs off a host to lower the number of migrations when going into maintenance Balancing will gradually

FOSDEM, February 2017

Why affinity? - high availability

● VMs that provide failover to each other should not runon the same host to avoid compromising high availability

7

Page 8: VM: Hey VM, can I share a host with you? Affinity rules in ... · Gradually migrate VMs off a host to lower the number of migrations when going into maintenance Balancing will gradually

FOSDEM, February 2017

Why affinity? - security reasons

● Data protection enforcement○ There are ways to access other VMs' data

(e.g.: cache-based timing attacks)○ Sensitive VMs have to be placed so they only have good

neighbours

8

Page 9: VM: Hey VM, can I share a host with you? Affinity rules in ... · Gradually migrate VMs off a host to lower the number of migrations when going into maintenance Balancing will gradually

FOSDEM, February 2017

● Storage locality● Network overhead, microservices, databases

Why affinity? - performance aspects - VM

9

Page 10: VM: Hey VM, can I share a host with you? Affinity rules in ... · Gradually migrate VMs off a host to lower the number of migrations when going into maintenance Balancing will gradually

FOSDEM, February 2017

● Client locality○ continent locality (with failover) - details later

● Host hardware considerations○ not all hosts need to be equal○ better outside connectivity○ prefer faster CPUs, better NICs, or storage cards

● Dynamic subclusters○ accounting between teams○ zero downtime during resize, spare capacity utilization

Why affinity? - performance aspects - hosts

10

Page 11: VM: Hey VM, can I share a host with you? Affinity rules in ... · Gradually migrate VMs off a host to lower the number of migrations when going into maintenance Balancing will gradually

FOSDEM, February 2017

Why affinity – hardware pass-through

● VMs can use some devices directly○ But need to handle cases where they are not available○ Migration of VMs with pass-through devices is needed

11

��

?

Page 12: VM: Hey VM, can I share a host with you? Affinity rules in ... · Gradually migrate VMs off a host to lower the number of migrations when going into maintenance Balancing will gradually

FOSDEM, February 2017

Why affinity – operations and planning

● Gradually migrate VMs off a host to lower the numberof migrations when going into maintenance○ Balancing will gradually move VMs away○ No new VMs will be started on the host unless necessary

● Keep certain services close together (in the same rack or location)○ But handle maintenance or failures

12

Page 13: VM: Hey VM, can I share a host with you? Affinity rules in ... · Gradually migrate VMs off a host to lower the number of migrations when going into maintenance Balancing will gradually

FOSDEM, February 2017

Customer or management locality

● The goal is to keep services together and closeto users to improve performance

13

Page 14: VM: Hey VM, can I share a host with you? Affinity rules in ... · Gradually migrate VMs off a host to lower the number of migrations when going into maintenance Balancing will gradually

FOSDEM, February 2017

Customer or management locality - failure

● Failure of the preferred location does not prevent access to the service, but may hinder performance

14

Page 15: VM: Hey VM, can I share a host with you? Affinity rules in ... · Gradually migrate VMs off a host to lower the number of migrations when going into maintenance Balancing will gradually

FOSDEM, February 2017

Customer or management locality - recovery

● Once the preferred location is restored, service VMs are gradually migrated back to improve performance○ Live migration = no downtime

15

Page 16: VM: Hey VM, can I share a host with you? Affinity rules in ... · Gradually migrate VMs off a host to lower the number of migrations when going into maintenance Balancing will gradually

FOSDEM, February 2017

Affinity types summary

● Hard (strong)○ Does not allow violation

● Soft (weak)○ Best effort, might still allow violations○ Depends on scheduling policy factors

● Positive● Negative

● VM to VM● VM to Host

16

Page 17: VM: Hey VM, can I share a host with you? Affinity rules in ... · Gradually migrate VMs off a host to lower the number of migrations when going into maintenance Balancing will gradually

FOSDEM, February 2017

(Solving) affinity conflicts and violations

● During affinity rule creation○ A B C A○ H1 A B H2

● During runtime○ New rules can create violations○ Might conflict with balancing

○ Affinity rule enforcement manager○ Tries to resolve both hard and soft rule violations

17

Page 18: VM: Hey VM, can I share a host with you? Affinity rules in ... · Gradually migrate VMs off a host to lower the number of migrations when going into maintenance Balancing will gradually

FOSDEM, February 2017

● Affinity labels○ simple○ VM to host only○ strong positive affinity

● Affinity groups○ advanced○ all types

● Conflicts

Affinity management in oVirt

18

Page 19: VM: Hey VM, can I share a host with you? Affinity rules in ... · Gradually migrate VMs off a host to lower the number of migrations when going into maintenance Balancing will gradually

FOSDEM, February 2017

Affinity labels

Only hosts with all labels can run a VM.

19

DB

Finance

Strong

Finance

DB

Finance✗DB missing

✓OK

Weak

Page 20: VM: Hey VM, can I share a host with you? Affinity rules in ... · Gradually migrate VMs off a host to lower the number of migrations when going into maintenance Balancing will gradually

FOSDEM, February 2017

Affinity groups

● Define a group of VMs and their relationship

○ “No relationship” is important for pure VM to host groups

● Define a group of hosts and their relationship to VMs

20

Page 21: VM: Hey VM, can I share a host with you? Affinity rules in ... · Gradually migrate VMs off a host to lower the number of migrations when going into maintenance Balancing will gradually

FOSDEM, February 2017

● Affinity Groups○ VM – VM, all types – since 3.5 (1)(2)

○ VM – Host, all types – since 4.1 (2)

● Affinity Labels○ VM – Host, strong positive – since 4.0 (2)

○ https://www.ovirt.org/blog/2016/07/affinity-labels/

1. Configurable via the user interface2. Configurable via the API and SDKs

Current oVirt support for affinity

21

Page 22: VM: Hey VM, can I share a host with you? Affinity rules in ... · Gradually migrate VMs off a host to lower the number of migrations when going into maintenance Balancing will gradually

FOSDEM, February 2017

Future ideas

● Allow using Affinity labels in Affinity Groups○ To specify VMs and hosts○ Simplified management○ No need to edit all groups separately

■ the updated label will immediately propagate to all rules and relationships

● Inversion of a rule○ Match all VMs except A, B, and C○ Useful for the maintenance planning case

22

Page 23: VM: Hey VM, can I share a host with you? Affinity rules in ... · Gradually migrate VMs off a host to lower the number of migrations when going into maintenance Balancing will gradually

FOSDEM, February 2017

Summary

● Affinity allows you to define (complex) relationship rules between VMs and/or between VMs and hosts

● Affinity is enforced dynamically and takes the current cluster situation into account

23

Page 24: VM: Hey VM, can I share a host with you? Affinity rules in ... · Gradually migrate VMs off a host to lower the number of migrations when going into maintenance Balancing will gradually

FOSDEM, February 2017

THANK YOU !http://wiki.ovirt.org/wiki/Category:[email protected]@ovirt.org

#ovirt irc.oftc.net

24