cat-scvmm

Error “The specified address is already allocated by the pool” in System Center Virtual ...

VIRTUAL MACHINE MANAGER

Das mit dem System Center Virtual Machine Manager weitaus mehr als Virtual Machine Management gemacht werden kann ist inzwischen kein Geheimnis mehr. Die Funktionen welche sehr stark genutzt werden sind jene im Bereich Network. Dazu wurde kürzlich auch bereits einige nützliche Ressourcen bereitgestellt.

In der Regel ist es keine schlechte Idee, den SCVMM in der Vergaben und Verwaltung von IP Adressen aktiv einzubeziehen. Sämtliche IP Adressen von Komponenten welche im SCVMM bekannt sind (VM Hosts, integrierte Infrastructure Servers, VMs, …) werden auch automatisch “reserviert”, respektive diesem Objekt zugewiesen.

Seit 2012 R2 kann es allerdings bei der Zuweisung der VM Host Cluster IP Adresse teilweise zu einer Fehlermeldung im Job Log kommen:

Error (25122)

The specified address ((AllocatedIPAddressData#40940) { id = 44e13773-08db-438a-b8e9-bbb736b0b5bf, LastUpdatedTimestamp = 28.12.2013 13:00:36 }) is already allocated by the pool (VLAN120 – Management). This address should be assigned to only a single entity.

Recommended Action

Resolve to which entity this address is allocated.

In solch einem Fall muss der Prozess manuell angestossen werden, indem anhand der erwähnten ID (im genannten Beispiel “44e13773-08db-438a-b8e9-bbb736b0b5bf“) die zugehörige IP Adresse ausgelesen und dem Cluster zugewiesen wird. Dies könnte mit folgendem PowerShell cmdlet erfolgen:

Grant-SCIPAddress -GrantToObjectType HostCluster -GrantToObjectID "d62826ad-3b2c-4f47-a7ae-b8ebc8d5db4d" -IPAddress "192.168.120.20" -StaticIPAddressPool "Management" -Description "Cluster.fqdn.name"

Da doch noch der eine oder andere Paramter ausgelesen werden muss, könnte zum Beispiel folgendes PowerShell Script behilflich sein:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ID = "0a99a2f5-3516-4ab9-be89-7d9edd3bb0d2"
$IPPoolName = "Management"
 
If (-not (Get-Module virtualmachinemanager)) {
Import-Module virtualmachinemanager }
 
$IP = Get-SCIPAddress | Where-Object {$_.ID -eq $ID}
$IPPool = Get-SCStaticIPAddressPool -Name $IPPoolName
# Looking up DNS Name based on IP Address
$VMHostClusterName = [System.Net.Dns]::GetHostbyAddress($IP.Name)
$VMHostCluster = Get-SCVMHostCluster -Name $VMHostClusterName.HostName
 
# Giving the IP Address back to the IP Pool
Get-SCIPAddress -IPAddress $IP | Revoke-SCIPAddress
 
# Allocating the IP Address to the VM Host Cluster
Grant-SCIPAddress -GrantToObjectType HostCluster -GrantToObjectID $VMHostCluster.ID -IPAddress $IP.Name -StaticIPAddressPool $IPPool -Description $VMHostCluster.Name

Der Artikel wurde auch in Englisch bei Niklas Åkerlund veröffentlicht.

Failover Cluster , Hyper-V , SCVMM , Troubleshooting

, , , , ,

About the Author

Michel Luescher is a solution architect in the worldwide Datacenter & Cloud Infrastructure Center of Excellence (CoE) at Microsoft Corporation based out of Zurich, Switzerland. Primarily, Michel is focused on hybrid cloud solutions (Hyper-V, System Center and Microsoft Azure). In addition Michel is speaker, blogger and author of several books.

Comments (3)

  • Daniel Neumann says:

    Hi Michel,

    als Alternative kann man die IP auch einfach im statischen IP-Pool als Reservierung eintragen, dann hat man auch Ruhe. 🙂

     
    • Michel Luescher says:

      Das hatte ich auch gemacht, bis ich dieses PS cmdlet entdeckt hatte 🙂

       

Leave a Reply.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Der neue Microsoft Virtual Machine Converter ist verfügbar 5 Jahre Microsoft, what will be next?