Přidání dodatečné síťové karty do Core edice Windows 2008 R2
Je to už rok a půl, co jsem si trhal vlasy nad nemožností přidat do již nainstalovaného a nakonfigurovaného Hyper-V clusteru, založeného na Windows Serveru 2008 R2, dodatečné síťové karty. Jednou nainstalovaná Core edice prostě ani zaboha nechtěla rozpoznat nově přidané síťové karty. Zkoušel jsem tenkrát rušit týmy, reinstalovat BACS (byly to Broadcomy), zkoušel jsem pomocí “pnputil.exe –d oemX.inf” odinstalovat ovladače síťových karet. Všechno marné, nově přidané síťovky jsem v OS nezprovoznil, takže jsem musel přistoupit ke kompletní reinstalaci všech tří serverů.
Od té doby mám docela panickou hrůzu, že se u nějakého Core serveru objeví potřeba přidat další síťovou kartu, případně vyrobit kvůli VLAN, u něhož by nebylo možné použít trunk, nějakou další virtuální síťovou kartu, kterou by Core edice zase nerozpoznala. Dnes jsem objevil KB2460786, který by snad mohl v těchto případech pomoci.
Popravdě jsem čekal hotfix, ale k dispozici je jen workaround. Využívá možnosti zakázat úplně či částečně IPv6 komponenty, restartovat server a následně spustit s příslušnými parametry devcon.exe. Nevěděl jsem, co devcon je, tak jsem si našel KB311272, který uvádí, že se jedná o CLI utilitu, která funguje jako alternativa k Device Manageru (Správce zařízení) a pomocí něj je možné povolovat, zakazovat, restartovat, aktualizovat, odebírat a dotazovat se na jednotlivá zařízení nebo skupiny zařízení.
Devcon.exe pro použití s Core edicemi je nutné stáhnout zde. Nechápu, proč to nemůže být jednoduché a je nutné stahovat WDK a z něj hrůzným způsobem extrahovat DevCon.exe do pomocného adresáře. Asi by to měli administrátoři moc jednoduché. No aspoň že si tím musí každý projít jen jednou, protože pak si ten exáč zatraceně dobře schová a zdokumentuje.
Když mám vše připravené, je možné přistoupit k následujícímu postupu:
- HKLM\SYSTEM\CurrentControlSet\services\Tcpip6\Parameters\
- Pokud neexistuje, je třeba vytvořit REG_DWORD s názvem DisabledComponents
- Této položce je třeba přiřadit třeba hodnotu 0xffffffff
- restart serveru
- spuštění příkazu “devcon.exe remove NICVendor_DRV\L2ND&PCI_*”
- spuštění příkazu “devcon.exe rescan”
- nastavení Tcpip6 parametru na původní požadovanou hodnotu
Výše uvedené nemám vlastnoručně odzkoušeno, zbourat případně kvůli tomu produkční server se mi nechce, nicméně pokud by k tomu v budoucnu opět došlo, je lepší být připraven.