| Když zapínáte Hyper-V live migration na Windows 2012, tak už nepotřebujete cluster (jak jsem tu psal zrovna před pár dny). K tomu, abyste live migration zapnuli mezi několika hyper-v hosty, musíte jim povolit Kerberos constrained delegation na hodnotu Trust this computer for delegation to specified services only - use Kerberos only. K tomu, aby Kerberos delegace fungovala, musí být počítačové účty nodeů vaší farmy členem skupiny Windows Authorization Access Group (WAAG) - viz článek o Kerberos delegaci.

Jenže to musíte povolit všem nodeům vzájemě a ještě navíc musíte povolit delegaci i do SMB storage. Což je drbačka i v případě dvou členů farmy, natož když jich máte více.
Tak jsem si na to napsal skript v PowerShell. Je to napsáno obecně pro Windows 2003 a novější, takže nepoužívám ActiveDirectory module, který nemám rád už z principu, že to nepoužívá LDAP, ale nějakou podivnou web servisu. Navíc ten ActiveDirectory mobule blbne na Windows 8.1, hanba :-)
Myslím, že je jasné, že změnit musíte akorát první tři proměnné.
$domain = 'gopas.virtual'
$nodes = @('noda', 'nodb', 'nodc')
$storages = @('stor', 'stor2')
$domainDN = ($domain.Split('.') | % { "DC=$_" }) -join ','
$WAAG = dsquery * $domainDN -filter "(&(sAMAccountName=Windows Authorization Access Group)(objectClass=group))" | % { $_.Trim('"') } | % { [ADSI] "LDAP://$_" }
$nodes | % {
dsquery * $domainDN -filter "(&(sAMAccountName=$_`$)(objectClass=computer))"
} | % { $_.Trim('"') } | % {
$oneNode = [ADSI] "LDAP://$_"
$spns = $nodes -ne $oneNode.name | % {
'Microsoft Virtual System Migration Service/{0}' -f $_
'Microsoft Virtual System Migration Service/{0}.{1}' -f $_, $domain
}
$spns += $storages | % {
'cifs/{0}' -f $_
'cifs/{0}.{1}' -f $_, $domain
}
Write-Host '-----------------------'
Write-Host ('One host: {0} | {1}' -f $oneNode.name.Value, $oneNode.dNSHostName.Value)
Write-Host ('SPNs: {0}' -f ($spns | Out-String))
$oneNode.PutEx(3, 'msDS-AllowedToDelegateTo', $spns)
$oneNode.SetInfo()
$WAAG.Add($oneNode.Path)
}
Tak užívejte :-) |