When a user deploys a virtual appliance with Abiquo, the allocation module will decide which is the most suitable physical machine in the physical infrastructure according to the User's enterprise limits and the availability of the candidate machine in terms of computing, network and storage resources.
For virtual datacenter allocation
The VLAN allocation algorithm allocates virtual datacenters to racks based on the available VLAN tags. It checks for available VLAN tags that will be required for all types of networks at virtual datacenter level. Public networks and their tags and IPs are managed manually by cloud administrators.
As an Abiquo user, you can define your own private network configuration in your virtual datacenters. You can configure your virtual machines' networks in the Virtual Machine Configuration. All of these networks will coexist with other users' networks in the physical infrastructure. In order to provide this network management without security issues and packet collisions, Abiquo uses VLANs. The number of VLANs an enterprise can use are defined in the User's enterprise limits. If no limits are set, the default is 8 VLANs per virtual datacenter, which can be changed in Abiquo Configuration Properties.
Abiquo infrastructure requirements specify that each rack must be connected to a switch to manage the internal VLANs. The switch attached to this rack will not allow the user-created networks to go outside the switch. If you require Internet access for all your machines, create a VM gateway. In short, in order for all the user's virtual machines to see each other on the private network, all the virtual machines within a virtual datacenter must be deployed in the same rack.
The VLAN allocation algorithm is used to decide:
The Rack Network Parameters are very important in the allocation process.
When the first virtual machine of a virtual datacenter is deployed the VLAN Allocation Algorithm decides which rack is the most suitable (then the rest of the virtual machines will be deployed in the same rack). The allocation algorithm obtains all the racks that can manage all the VLANs of the virtual datacenter then chooses the one with the most available resources for the VDC. This decision is based on an estimate of the average number of VLANs that each VDC will really use. And there is an additional pool of reserved VLANs to meet the needs of any datacenter that exceeds the estimate.
The VLAN pool size for VDCs that exceed reservation (VLANPS) is the percentage of VLANs you want to reserve for the future expansion of existing virtual datacenters that have already been deployed but have not yet used all of their VLANs. These VLANs will not be considered available for new virtual datacenter deployments. The VLAN allocation algorithm will only allocate these tags to existing datacenters. However, they are not reserved for any specific virtual datacenter or group of virtual datacenters. The cloud administrator should control how many VLANs a virtual datacenter can use by setting appropriate allocation limits and system properties.
This is a simplified version of the VLAN allocation algorithm:
The image below illustrates this example: there are 6 virtual datacenters deployed. Each virtual datacenter is using 2 physical machines. This means that 75% of computing resources are used and 25% are available. Each virtual datacenter is using 4 VLAN tags. This means that 24 tags are used and 8 tags are available. The VLANPS (percentage) is 15%, which means that these tags are reserved for deployments of existing machines.
We can calculate the number of available VLAN tags using the equation above.
As you can see, the result is negative: there are no tags available. This means that you will not be able to deploy another virtual datacenter in the rack. The unused resources on this rack (25% of the computer resources and 25% of the VLAN tags) have been kept for the future needs of the existing virtual datacenters.
The VLAN allocation algorithm is designed to balance quality of service and the advantages and flexibility of the cloud philosophy. A user with the Manage infrastructure elements privilege can use the Reserved VLANs per VDC and the VLAN pool size for VDCs that exceed reservation fields to implement an appropriate service policy.
The following configurations are examples of how to use the VLAN parameters. The default balanced configuration is recommended.
Default Balanced Configuration
Guaranteed Maximum Number of VLANs for Each Virtual Datacenter
Minimum Number of VLANs for Each Virtual Datacenter
To decide which VLAN Tag will be assigned to the VLAN, the allocation algorithm returns the next free available tag in the switch range tags defined by the fields VLAN ID min, VLAN ID max and Excluded VLANs ID in the Network Parameters form for the rack.
If the allocation algorithm allowed for the maximum number of VLANs per VDC for each datacenter, there would be many VLANs that would remain unused. For example: if reserved tags = 8 and used tags = 4 per VDC, then no more VDCs can deploy and 50% of resources are wasted.
To ensure that there are not too many unused tags, the allocation algorithm calculates the Reserved VLANs per VDC instead of the maximum number.
Some users will probably create more VLANs than the reservation. So if only the reserved average VLANs per VDC are allowed for, some users may not be able to create all the VLANs they need. For example: if reserved tags = 4 and used tags = 4 per VDC, and another VDC deploys, then no users can create more than the reservation.
For this reason a pool of VLANs are reserved for any VDC that requires more VLANs.