IT Blok

kutilovo živobytí

Na co si dát pozor při virtualizaci

Nedávno jsem u jednoho zákazníka řešil zajímavý problém. Zákazník si koupil nový server a chtěl na něj přenést aplikace a nastavení ze starého serveru, kde mimo jiné běželo Documentum.
Po tom, co jsme zvážili všechny možnosti, jsme se dohodli na postupu, že na nový server nainstalujeme VMware ESXi a ze starého vyrobíme virtuálu a ta pak poběží na ESXi…

Samotná instalace VMware ESXi proběhla naprosto bez problémů.
Je vidět, že VMware má tento svůj produkt dobře ošetřený. ESXi je v podstatě operační systém na bázi Linuxu, který je značně osekaný. V podstatě nabízí pouze funkční jádro s ovladači hardware a prostředí pro běh virtuálních strojů. Naprosto to ale stačí.

Vytvoření virtuály

Hned několik obtíží se objevilo při virtualizaci starého serveru. Jako operační systém zde byla standardní, 32bitová edice Windows 2003 server SP1 CZ.

Pro to, abych ze serveru mohl vyrobit virtuální server, musím nainstalovat VMware Converter. Což je aplikace, která z pevného serveru vyrobí virtuálu se zadanými parametry.

První zádrhel se objevil při spuštění instalace Converteru, kdy na serveru byl nainstalován software Acronis True Image, který tam historicky (tedy v současnosti už nebyl využíván) zajišťoval zálohování.
Když jsem se ho zbavil, podařilo se mi Converter nainstalovat.

Druhý zádrhel, který zkazil mojí radost, byl že Converter je sice nainstalovaný, ale neběží jeho služby a nejde spustit. Hlásilo to toto:

Failed to connect to server.
Check if the converter server is running on this computer.

Problém byl v tom, že neběžely služby, které se při instalaci vytvořily. Respektive služby běžely, ale neposlouchaly na portu 9089 na kterém měly.
Objevil jsem, že problém je v českých Windows a pomůže následující postup:

  • odinstalovat nefunkční VMware Converter
  • spustit regedit
  • v klíči HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerShell Folders v řetězci Common AppData nahradit Data Aplikací za DATAAP~1
  • v klíči HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerUser Shell Folders v řetězci Common AppData nahradit Data Aplikací za DATAAP~1
  • v klíči HKCUSOFTWAREMicrosoftWindowsCurrentVersionExplorerShell Folders v řetězcích AppData a Local AppData nahradit Data Aplikací za DATAAP~1
  • v klíči HKCUSOFTWAREMicrosoftWindowsCurrentVersionExplorerUser Shell Folders v řetězcích AppData a Local AppData nahradit Data Aplikací za DATAAP~1
  • znovu nainstalovat VMware Converter

Problém totiž byl v českých názvech adresáře [C:Documents and Settings<uzivatel>Local SettingsData Aplikací] do nějž se ukládají pracovní nastavení Converteru.
Po opravě již šlo aplikaci spustit a mohl jsem začít nastavovat parametry virtualizace.

A nakonec se objevil třetí zádrhel. Naštěstí poslední. Po nastavení parametrů virtuály a spuštění procesu virtualizace se po cca 1 minutě běhu objevilo toto chybové hlášení:

FAILED: Unable to create a VSS snapshot of the source volume(s). Error 2147754767 (0x8004230F)

a virtualizace se zastavila.
Kromě této chyby se objevovaly v Event Vieweru tyto události

Event ID 11
Event ID 12292

které všechny popisují problém s Volume Shadow Copy Service neboli VSS.
Na webu jsem objevil spoustu více či méně zajímavých návodů, jak to opravit, ale v podstatě žádný z nich můj problém nevyřešil.

A pak jsem na to přišel. Když jsem si v příkazové řádce vyhledal seznam vss providerů dostal jsem toto

C:>vssadmin list providers
vssadmin 1.0 - Volume Shadow Copy Service administrative command-line tool
(C) Copyright 2001 Microsoft Corp.

Provider name: 'MS Software Shadow Copy provider 1.0'
Provider type: System
Provider Id: {b5946137-7b9f-4925-af80-51abd60b20d5}
Version: 1.0.0.7

Provider name: Acronis VSS HW Provider
Provider type: Hardware
Provider ID: {f5dbcc43-b847-494e-8083-f030501da611}
Version: 1.0

Tady byl ten problém. Server si stále (i přes několik restartů) pamatoval, že na něm byl nainstalován Acronis True Image, který má svůj vlastní VSS provider.
Problém byl v tom, že poskytovatel VSS od Acronisu je hardwarový, takže má přednost před softwarovým VSS od Microsoftu.
A jelikož byl odinstalovaný bylo nutné jej odstranit i z tohoto výpisu poskytovatelů VSS. Provedl jsem to takto:

  • spustitl jsem regedit
  • smazal jsem klíč HKLMSYSTEMControlSet001ServicesVSSProviders{f5dbcc43-b847-494e-8083-f030501da611}
  • smazal jsem klíč HKLMSYSTEMControlSet003ServicesVSSProviders{f5dbcc43-b847-494e-8083-f030501da611}
  • restart serveru

V mém případě měl klíč označení {f5dbcc43-b847-494e-8083-f030501da611}, což bylo ID VSS providera. Po restartu se už v seznamu poskytovatelů VSS Acronis neobjevil a celá virtualizace doběhla v pořádku…

V podstatě všechny zádrhely, které se objevily byly dány specifčností tohoto prostředí, kde byl nainstalován Acronis True Image, který se s produkty VMware nemá moc rád a také česká verze Windows.
Na anglických Windows a bez instalovaného Acronisu by tedy tato situace nenastala.

Možné je, že kromě Acronisu by mohly způsobovat problémy i jiné zálohovací nástroje, které se ve Windows zaregistrují jako poskytovatelé VSS.