On 08/24/2012 05:39 PM, Iustin Pop wrote:
On Fri, Aug 24, 2012 at 04:33:21PM +0300, Constantinos Venetsanopoulos wrote:
Hello team,

I seem to not have actually understood how hail's algorithm works,
and I would like some insight if possible.

I have a Ganeti cluster with 13 VM-capable nodes running the latest
Ganeti 2.6.0 stable.

I see that when adding instances of type 'plain' or 'rbd' all instances
go to the same node, until i hit the IPolicy vcpu or spindle ratio. Then,
another node is picked up and again all instances go to that node,
until this node is full too. Is that the expected functionality of hail?
No, not at all.


Pheww, that's what I thought too :)


Shouldn't it balance the cluster somehow?
Yes. I'm not sure what is the problem, especially in case of plain, it
should work well; while I can imagine rbd doesn't work well (not enough
tested), I'm surprised that plain is broken.

I see that when adding instances of type 'drbd' everything works
as I would expect, meaning that  hail picks different nodes of the
cluster for each instance, resulting in a balanced cluster.

Migration/Failover works well with all templates. Hail picks different
nodes everytime.
Hmm, very surprising. I'll test if I can reproduce this with plain.

Alternatively, if you can give me:

- "hscan -L" output after a few instances have been mis-allocated
- gnt-debug allocator - wait, there's a bug in it, so instead the
   command line you use to add another instance

it would help to understand the issue.

Thanks for the report!
iustin

Here is some output of the cluster:

# gnt-instance list -o +vcpus,disk_template
Instance Hypervisor OS Primary_node Status Memory ConfigVCPUs Disk_template snf-45 kvm snf-image+default demo9.xxxxxx.gr running 1.0G 1 drbd snf-169 kvm snf-image+default demo11.xxxxxx.gr running 1.0G 1 rbd snf-170 kvm snf-image+default demo11.xxxxxx.gr running 1.0G 1 rbd snf-171 kvm snf-image+default demo11.xxxxxx.gr running 4.0G 4 plain snf-172 kvm snf-image+default demo11.xxxxxx.gr running 4.0G 4 plain snf-173 kvm snf-image+default demo11.xxxxxx.gr running 4.0G 4 plain snf-174 kvm snf-image+default demo11.xxxxxx.gr running 2.0G 2 plain snf-175 kvm snf-image+default demo11.xxxxxx.gr running 4.0G 4 plain snf-176 kvm snf-image+default demo11.xxxxxx.gr running 1.0G 1 rbd snf-177 kvm snf-image+default demo13.xxxxxx.gr running 1.0G 1 drbd snf-178 kvm snf-image+default demo10.xxxxxx.gr running 1.0G 1 drbd snf-179 kvm snf-image+default demo11.xxxxxx.gr running 1.0G 1 plain
#

# hscan -L
Name  Nodes  Inst BNode BInst  t_mem  f_mem t_disk f_disk      Score
LOCAL    13    12     0     0 1744299 1730423  34204  33942 11.59884147
#

#gnt-instance add -o snf-image+default --os-parameters
img_format=diskdump,img_id=debian_base-6.0-7-x86_64.diskdump,img_passwd=example_passw0rd,img_properties='{"OSFAMILY":"linux"\,"ROOT_PARTITION":"1"}'
-t drbd --disk 0:size=2G --no-name-check --no-ip-check
                             --net 0:ip=pool,network=snf-net-1
                             snf-178


Thanks for the quick reply,
Constantinos

Reply via email to