ArchipelProject / Archipel

XMPP Based Orchestrator
http://archipelproject.org
GNU Affero General Public License v3.0
800 stars 126 forks source link

Suggestion: hypervisor pools and load balancing #1117

Open bitchecker opened 9 years ago

bitchecker commented 9 years ago

it is possible to enable hypervisor pools for use it as a cluster and when a new vm is created/started will scheduled with nodes load balancing? i think also that monitor physical loads and re-organize vms into pools resources can be used better

CyrilPeponnet commented 9 years ago

Actually this should be done using the central-agent and the new vm (cloud icon) in the UI but there are a lot of missing parts for now. Regarding workload management, nothing is implemented right now.

bitchecker commented 9 years ago

so, for the moment physical hypervisors are organized into pools?

for workload management, it will be possible to have this feature?

CyrilPeponnet commented 9 years ago

Kind of but it assume that everyone is sharing the same shared storage which is wrong to me.

Those features are possible but unfortunately no eta/plan for now.

But feel free to contribute :)

On Mar 5, 2015, at 4:45 AM, bitchecker notifications@github.com wrote:

so, for the moment physical hypervisors are organized into pools?

for workload management, it will be possible to have this feature?

— Reply to this email directly or view it on GitHub.

bitchecker commented 9 years ago

what's wrong for you? °_°

CyrilPeponnet commented 9 years ago

Actually it assumes that ALL hypervisors shared the same shared storage. For me it should be more like several groups of hypervisors can shared a common shared storage for the group (or not). Like a production setup and a preproduction setup and standalone hypervisors...

bitchecker commented 9 years ago

to have a dedicated share for pool is not possible at the moment?

CyrilPeponnet commented 9 years ago

This is possible to have only one shared storage for all hypervisors. Basically this is used to have stateless hypervisors (check ANSOS) and a shared storage parking. This is not really documented for now. 

In the headline:  - You have a central agent storing state of hypervisors / vms in it’s own central database  - You have a shared storage for vm and shared libvirt directory across several stateless hypervisors

When an hypervisors goes down, its vms appear in the parking list and you are able to unpark them to another hypervisor. That’s all.

The automation to start automatically down vm to other online hypervisor is not yet implemented. And today there is not way in the UI to see if several Hypervisors shared the same shared storage for vm.

On Mar 5, 2015, at 8:21 AM, bitchecker notifications@github.com wrote:

to have a dedicated share for pool is not possible at the moment?

— Reply to this email directly or view it on GitHub .

bitchecker commented 9 years ago

oh...ok...but automatic restart can be simple to add...i guess!

so, if you can install two central agents with his nodes, it's possible to share vm from one to another?

CyrilPeponnet commented 9 years ago

Only one central agent is required as every hypervisor will update this central database with current vm and hypervisor state.

But yes this is the current behavior.

On Mar 5, 2015, at 8:32 AM, bitchecker notifications@github.com wrote:

oh...ok...but automatic restart can be simple to add...i guess!

so, if you can install two central agents with his nodes, it's possible to share vm from one to another?

— Reply to this email directly or view it on GitHub .

bitchecker commented 9 years ago

you're talking about to have a shared storage for every hypervisor pool, so, if you want to have different environments, the only way is to have more different central agents with dedicated shared storage for every hypervisor pool environment, for example, production environment and testing environment, ok?

so, it is possible to move vms from one environment to another, at the moment?

CyrilPeponnet commented 9 years ago

This is the way I’d like to improve the current state. CentralAgent is only a central database containing vm / hypervisors and one day pool for hypervisors. Your shared storage is not related to the central agent (and central agent don’t need to access to the hypervisor shared storage).

You can move vm using libvirt migration on a common shared storage.

On Mar 5, 2015, at 8:39 AM, bitchecker notifications@github.com wrote:

you're talking about to have a shared storage for every hypervisor pool, so, if you want to have different environments, the only way is to have more different central agents with dedicated shared storage for every hypervisor pool environment, for example, production environment and testing environment, ok?

so, it is possible to move vms from one environment to another, at the moment?

— Reply to this email directly or view it on GitHub .