Windows rendszerű virtuális gépek időszinkronizálása az Azure-ban

A következőkre vonatkozik: ✔️ Windows rendszerű virtuális gépek rugalmas méretezési ✔️ csoportjai ✔️ Egységes méretezési csoportok

Az időszinkronizálás fontos a biztonság és az esemény korrelációja szempontjából. Néha elosztott tranzakciók implementálására használják. A több számítógépes rendszer közötti időpontosság szinkronizálással érhető el. A szinkronizálást több dolog is befolyásolhatja, beleértve az újraindításokat és az időforrás és a számítógép közötti hálózati forgalmat.

Az Azure-t mostantól az Windows Server 2016 futtató infrastruktúra is felügyeli. Windows Server 2016 továbbfejlesztett algoritmusokkal korrigálta az időt, és kondicionálták a helyi órát az UTC-vel való szinkronizáláshoz. Windows Server 2016 továbbfejlesztettük a VMICTimeSync szolgáltatást is, amely szabályozza, hogy a virtuális gépek hogyan szinkronizálódnak a gazdagéppel a pontos idő érdekében. A fejlesztések közé tartozik a virtuális gép indításának pontosabb kezdeti ideje, illetve a virtuális gépek visszaállítása és a késés javítása a Windows-időhöz (W32time) biztosított minták esetében.

Megjegyzés

A Windows Time szolgáltatás gyors áttekintéséhez tekintse meg ezt a magas szintű áttekintő videót.

További információ: Pontos idő Windows Server 2016.

Áttekintés

A számítógépóra pontossága azt méri, hogy a számítógép órája milyen közel van az egyezményes világidő (UTC) időszabványához. Az UTC-t pontos atomórákból álló multinacionális minta határozza meg, amely 300 év alatt csak egy másodperccel lehet kikapcsolni. Az UTC közvetlen olvasásához azonban speciális hardver szükséges. Ehelyett az időkiszolgálók szinkronizálva vannak az UTC-sel, és más számítógépekről érhetők el a méretezhetőség és a robusztusság érdekében. Minden számítógépen fut egy időszinkronizálási szolgáltatás, amely tudja, hogy milyen időkiszolgálókat kell használni, és rendszeres időközönként ellenőrzi, hogy ki kell-e javítani a számítógép óráját, és szükség esetén módosítja az időt.

Az Azure-gazdagépek a Microsoft belső időkiszolgálóira vannak szinkronizálva, amelyek a Microsoft tulajdonában lévő Stratum 1-eszközökről veszik el az idejüket GPS-antennákkal. Az Azure-beli virtuális gépek attól függhetnek, hogy a gazdagépük pontosan adja-e át a pontos időt (gazdaidőt) a virtuális gépnek, vagy a virtuális gép közvetlenül kaphat időt egy időkiszolgálóról, vagy mindkettő kombinációját.

A gazdagéppel folytatott virtuálisgép-interakciók az órát is befolyásolhatják. A memóriamegőrző karbantartás során a virtuális gépek legfeljebb 30 másodpercig szünetelnek. Például a karbantartás megkezdése előtt a virtuális gép órája 10:00:00-kor jelenik meg, és 28 másodpercig tart. A virtuális gép folytatása után a virtuális gépen lévő óra továbbra is 10:00:00-kor jelenik meg, ami 28 másodperccel kikapcsolva. Ennek kijavításához a VMICTimeSync szolgáltatás figyeli, hogy mi történik a gazdagépen, és kéri a módosításoknak a virtuális gépeken történő kompenzálását.

A VMICTimeSync szolgáltatás minta- vagy szinkronizálási módban működik, és csak az óra előre állását befolyásolja. A W32time futtatását igénylő mintamódban a VMICTimeSync szolgáltatás 5 másodpercenként lekérdezi a gazdagépet, és időmintákat biztosít a W32time-nak. Körülbelül 30 másodpercenként a W32time szolgáltatás a legújabb időmintát használja, és a vendég órájának befolyásolására használja. A szinkronizálási mód akkor aktiválódik, ha egy vendég újraindult, vagy ha egy vendég órája 5 másodpercnél tovább sodródik a gazdagép órája mögött. Azokban az esetekben, amikor a W32time szolgáltatás megfelelően fut, az utóbbi eset soha nem fordulhat elő.

Az időszinkronizálás működése nélkül a virtuális gépen lévő óra hibákat halmozna fel. Ha csak egy virtuális gép van, a hatás csak akkor lehet jelentős, ha a számítási feladat nagyon pontos időtartást igényel. A legtöbb esetben azonban több, egymáshoz kapcsolódó virtuális gépünk van, amelyek időt használnak a tranzakciók nyomon követésére, és az időnek konzisztensnek kell lennie a teljes üzembe helyezés során. Ha a virtuális gépek közötti idő eltér, a következő hatások láthatók:

  • A hitelesítés sikertelen lesz. Az olyan biztonsági protokollok, mint a Kerberos vagy a tanúsítványfüggő technológia, az idő konzisztensek a rendszerekben.
  • Nagyon nehéz megállapítani, hogy mi történt a rendszerben, ha a naplók (vagy más adatok) nem egyeznek meg időben. Ugyanaz az esemény úgy nézne ki, mintha különböző időpontokban történt volna, ami megnehezíti a korrelációt.
  • Ha az óra ki van kapcsolva, a számlázás helytelenül számítható ki.

A windowsos üzemelő példányok legjobb eredményét a Windows Server 2016 vendég operációs rendszerként való használatával érheti el, amely biztosítja, hogy az időszinkronizálás legújabb fejlesztéseit használja.

Beállítási lehetőségek

Az Azure-ban üzemeltetett Windows rendszerű virtuális gépek időszinkronizálásának konfigurálására három lehetőség áll rendelkezésre:

Az alapértelmezett beállítás használata

Alapértelmezés szerint a Windows operációs rendszer virtuálisgép-lemezképei úgy vannak konfigurálva, hogy a w32time két forrásból szinkronizáljon:

  • Az NtpClient-szolgáltató, amely információkat kap time.windows.com.
  • A VMICTimeSync szolgáltatás, amellyel közli a gazdagép idejét a virtuális gépekkel, és javításokat végez a virtuális gép karbantartásra való szüneteltetése után. Az Azure-gazdagépek a Microsoft tulajdonában lévő Stratum 1-eszközöket használják a pontos idő megtartásához.

A w32time a következő prioritási sorrendben részesíti előnyben az időszolgáltatót: rétegszint, gyökérkésés, gyökér diszperzió, időeltolás. A legtöbb esetben az Azure-beli virtuális gépeken a w32time inkább a gazdagépidőt részesíti előnyben a kiértékelés miatt, mivel mindkét időforrást összehasonlítaná.

A tartományhoz csatlakoztatott gépek esetében maga a tartomány hoz létre időszinkronizálási hierarchiát, de az erdő gyökerének továbbra is el kell telnie valahol, és az alábbi szempontok továbbra is igaznak bizonyulnak.

Csak gazdagép

Mivel time.windows.com egy nyilvános NTP-kiszolgáló, a vele való szinkronizáláshoz az interneten keresztüli forgalom küldéséhez szükséges, a különböző csomagkésések negatívan befolyásolhatják az időszinkronizálás minőségét. Ha eltávolítja a time.windows.com a csak gazdagépes szinkronizálásra való váltással, néha javíthatja az időszinkronizálás eredményeit.

Ha az alapértelmezett konfiguráció használatával időszinkronizálási problémákat tapasztal, érdemes átváltani a csak gazdagépi időszinkronizálásra. Próbálja ki a csak gazdagép szinkronizálását, és ellenőrizze, hogy ez javítaná-e az időszinkronizálást a virtuális gépen.

Külső időkiszolgáló

Ha meghatározott időszinkronizálási követelményekkel rendelkezik, külső időkiszolgálók is használhatják. A külső időkiszolgálók adott időt biztosíthatnak, ami hasznos lehet tesztforgatókönyvekhez, a nem Microsoft-adatközpontokban üzemeltetett gépek időegyenlegének biztosításához, vagy a szökő másodpercek speciális kezeléséhez.

A külső kiszolgálókat kombinálhatja a VMICTimeSync szolgáltatással és a VMICTimeProviderrel, hogy az alapértelmezett konfigurációhoz hasonló eredményeket nyújtson.

A konfiguráció ellenőrzése

Ellenőrizze, hogy az NtpClient időszolgáltató explicit NTP-kiszolgálók (NTP) vagy tartományidő-szinkronizálás (NT5DS) használatára van-e konfigurálva.

w32tm /dumpreg /subkey:Parameters | findstr /i "type"

Ha a virtuális gép NTP-t használ, a következő kimenet jelenik meg:

Value Name                 Value Type          Value Data
Type                       REG_SZ              NTP

Annak megtekintéséhez, hogy az NtpClient időszolgáltató melyik időkiszolgálót használja, emelt szintű parancssori típussal:

w32tm /dumpreg /subkey:Parameters | findstr /i "ntpserver"

Ha a virtuális gép az alapértelmezettet használja, a kimenet a következőképpen fog kinézni:

NtpServer                  REG_SZ              time.windows.com,0x8

Annak megtekintéséhez, hogy jelenleg milyen időszolgáltatót használ.

w32tm /query /source

Itt látható a kimenet, és mit jelentene:

  • time.windows.com – az alapértelmezett konfigurációban a w32time időt kap time.windows.com. Az időszinkronizálás minősége az internetkapcsolattól függ, és a csomagkésések befolyásolják. Ez a fizikai gépen megszokott kimenet.
  • VM IC időszinkronizálási szolgáltató – a virtuális gép szinkronizálja az időt a gazdagépről. Ez a szokásos kimenet, amelyet egy Azure-on futó virtuális gépen kapna.
  • Tartománykiszolgáló – az aktuális gép egy tartományban van, és a tartomány határozza meg az időszinkronizálási hierarchiát.
  • Néhány másik kiszolgáló – a w32time explicit módon lett konfigurálva, hogy időt kapjon a másik kiszolgálótól. Az időszinkronizálás minősége az időkiszolgáló minőségétől függ.
  • Helyi CMOS-óra – az óra nincs szinkronizálva. Ezt a kimenetet akkor kaphatja meg, ha a w32time nem volt elég ideje az újraindítás utáni kezdéshez, vagy ha az összes konfigurált időforrás nem érhető el.

Csak gazdagépek szinkronizálásának engedélyezése

Az Azure folyamatosan azon dolgozik, hogy javítsa a gazdagépek időszinkronizálását, és garantálja, hogy a szinkronizálási infrastruktúra a Microsoft tulajdonában lévő adatközpontokban legyen szétválogatva. Ha időszinkronizálási problémákat tapasztal az alapértelmezett beállítással kapcsolatban, amely az time.windows.com elsődleges időforrásként szeretné használni, az alábbi parancsokkal engedélyezheti a csak gazdagépes időszinkronizálást.

Jelölje meg a VMIC-szolgáltatót engedélyezettként.

reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\TimeProviders\VMICTimeProvider /v Enabled /t REG_DWORD /d 1 /f

Jelölje meg az NTPClient-szolgáltatót letiltottként.

reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\TimeProviders\NtpClient /v Enabled /t REG_DWORD /d 0 /f

Indítsa újra a w32time szolgáltatást.

net stop w32time && net start w32time

Windows Server 2012 és R2 virtuális gépek

Windows Server 2012 és Windows Server 2012 R2 különböző alapértelmezett beállításokkal rendelkezik az időszinkronizáláshoz. A w32time alapértelmezés szerint olyan módon van konfigurálva, amely a szolgáltatás alacsony többletterhelését részesíti előnyben a pontos idő függvényében.

Ha át szeretné helyezni a Windows Server 2012 és a 2012 R2 üzemelő példányait a pontos időt előnyben részesítő újabb alapértelmezett beállítások használatára, az alábbi beállításokat alkalmazhatja.

Frissítse a w32time lekérdezést és a frissítési időközöket, hogy megfeleljenek Windows Server 2016 beállításoknak.

reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\Config /v MinPollInterval /t REG_DWORD /d 6 /f
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\Config /v MaxPollInterval /t REG_DWORD /d 10 /f
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\Config /v UpdateInterval /t REG_DWORD /d 100 /f
w32tm /config /update

Az w32time új lekérdezési időközök használatához az NtpServerst használatukként kell megjelölni. Ha a kiszolgálókat bitflag 0x1 maszkkal jegyzetelik, az felülírná ezt a mechanizmust, és w32time ehelyett használná SpecialPollInterval . Győződjön meg arról, hogy a megadott NTP-kiszolgálók vagy a jelzőt 0x8 használják, vagy egyáltalán nem használnak jelzőt:

Ellenőrizze, hogy milyen jelzőket használnak az NTP-kiszolgálókhoz.

w32tm /dumpreg /subkey:Parameters | findstr /i "ntpserver"

Következő lépések

Az alábbiakban az időszinkronizálással kapcsolatos további részletekre mutató hivatkozások találhatók: