Skip to content

Commit e54a5ec

Browse files
authored
Documentation related to VM and Volume allocators (#499)
1 parent 90fff08 commit e54a5ec

File tree

2 files changed

+81
-0
lines changed

2 files changed

+81
-0
lines changed

source/adminguide/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ Managing VM and Volume Allocation
140140

141141
host_and_storage_tags
142142
arch_types
143+
vm_volume_allocators
143144

144145
Managing Networks and Traffic
145146
-----------------------------
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
.. Licensed to the Apache Software Foundation (ASF) under one
2+
or more contributor license agreements. See the NOTICE file
3+
distributed with this work for additional information#
4+
regarding copyright ownership. The ASF licenses this file
5+
to you under the Apache License, Version 2.0 (the
6+
"License"); you may not use this file except in compliance
7+
with the License. You may obtain a copy of the License at
8+
http://www.apache.org/licenses/LICENSE-2.0
9+
Unless required by applicable law or agreed to in writing,
10+
software distributed under the License is distributed on an
11+
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
12+
KIND, either express or implied. See the License for the
13+
specific language governing permissions and limitations
14+
under the License.
15+
16+
17+
VM and Volume Allocators
18+
======================
19+
20+
Each Instance must be deployed in suitable deployment destination. Deployment destination is set of recommended resources that you can choose for deploying an instance.
21+
A deployment planner provides the suitable deployment destination that is required for a instance.
22+
23+
Allocators are used to figure out suitable host and storage pools for deploying the Instance:
24+
25+
#. VM Allocator
26+
#. Volume Allocator
27+
28+
29+
VM Allocator
30+
------------
31+
32+
VM allocator returns suitable hosts in the cluster where you can deploy the given instance. Various parameters e.g. CPU and
33+
RAM capacity, current state of the host are considered to decide the host.
34+
35+
VM allocator supports following algorithms to select a host in the cluster:
36+
37+
.. cssclass:: table-striped table-bordered table-hover
38+
39+
============================= ========================
40+
Algorithm Description
41+
============================= ========================
42+
random Selects a host in the cluster randomly.
43+
firstfit Selects the first available host in the cluster.
44+
userdispersing Selects the host running least instances for the account, aims to spread out the instances belonging to a single user account.
45+
userconcentratedpod_random Selects the host randomly aiming to keep all instances belonging to single user account in same pod.
46+
userconcentratedpod_firstfit Selects the first suitable host from a pod running most instances for the user.
47+
firstfitleastconsumed Selects the first host after sorting eligible hosts by least allocated resources (such as CPU or RAM).
48+
============================= ========================
49+
50+
Use global configuration parameter:
51+
**vm.allocation.algorithm** to specify the algorithm that the Allocator must use. By default it is configured to use "random" algorithm.
52+
53+
54+
Volme Allocator
55+
--------------
56+
57+
Volume allocator returns suitable storage pools available in the cluster where volumes of the given instance can be created.
58+
To decide the storage pools, it considers factors such as disk offering, storage capactiy, availability scope etc.
59+
60+
Volume allocator supports following algorithms to select a host in the cluster:
61+
62+
.. cssclass:: table-striped table-bordered table-hover
63+
64+
============================= ========================
65+
Algorithm Description
66+
============================= ========================
67+
random Selects a storage pool in the cluster randomly.
68+
firstfit Selects the first available storage pool in the cluster.
69+
userdispersing Selects the storage pool running least instances for the account, aims to spread out the instances belonging to a single user account.
70+
userconcentratedpod_random Selects the storage pool randomly aiming to keep all instances belonging to single user account in same pod.
71+
userconcentratedpod_firstfit Selects the first suitable pool from a pod running most instances for the user.
72+
firstfitleastconsumed Selects the first storage pool after sorting eligible pools by least allocated resources.
73+
============================= ========================
74+
75+
.. note::
76+
Since 4.21.0, dedicated named configuration is provided for admin to configure volume allocation algorithm.
77+
78+
**volume.allocation.algorithm**: random (default)
79+
80+
Before 4.21.0, **vm.allocation.algorithm** was used for both VM as well as Volume allocation.

0 commit comments

Comments
 (0)