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 csoportok ✔️ 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. 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 a hálózati forgalmat az időforrás és a számítógép között, amely beolvassa az időt.
Az Azure-t mostantól a Windows Server 2016-ot futtató infrastruktúra is felügyeli. A Windows Server 2016 továbbfejlesztett algoritmusokkal korrigálja az időt, és kondicionálhatja a helyi órát az UTC-vel való szinkronizáláshoz. A 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.
Feljegyzés
A Windows Time service gyors áttekintéséhez tekintse meg ezt a magas szintű áttekintő videót.
További információ: Pontos idő a Windows Server 2016-hoz.
Á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ák nemzetközi mintája határozza meg, amelyek 300 év alatt csak egy másodperccel kapcsolhatók ki. 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ép rendelkezik időszinkronizálási szolgáltatással, amely tudja, hogy milyen időkiszolgálókat kell használni, és rendszeres időközönként ellenőrzi, hogy a számítógép óráját ki kell-e javítani, és szükség esetén módosítja-e az időt.
Az Azure-gazdagépek olyan belső Microsoft-időkiszolgálókkal vannak szinkronizálva, amelyek a Microsoft tulajdonában lévő Stratum 1-eszközökről veszik át az idejüket GPS-antennákkal. Az Azure-beli virtuális gépek vagy attól függhetnek, hogy a gazdagép a pontos időt (gazdaidőt) adja át a virtuális gépnek, vagy a virtuális gép közvetlenül időt kaphat egy időkiszolgálótól, vagy mindkettő kombinációjától.
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 óra 10:00:00 óra és 28 másodpercig tart. A virtuális gép folytatása után a virtuális gépen az óra továbbra is 10:00:00-kor jelenik meg, ami 28 másodperc lenne. Ennek javítása érdekében a VMICTimeSync szolgáltatás figyeli a gazdagépen zajló eseményeket, és kéri, hogy a virtuális gépeken történjenek a módosítások kompenzálása.
A VMICTimeSync szolgáltatás minta- vagy szinkronizálási módban működik, és csak az óramutatót befolyásolja előre. A W32time futtatását igénylő minta mó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 több mint 5 másodperccel a gazdagép órája mögött sodródik. 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, összekapcsolt 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ő konzisztensségére támaszkodnak a rendszerekben.
- Nagyon nehéz kitalálni, 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ást helytelenül lehet kiszámítani.
A Windows-üzemelő példányok legjobb eredményei a Windows Server 2016 vendég operációs rendszerként való használatával érhetők el, amely biztosítja az időszinkronizálás legújabb fejlesztéseit.
Konfigurációs 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:
- Gazdaidő és time.windows.com. Ez az Azure Marketplace-rendszerképek alapértelmezett konfigurációja.
- Csak gazdagép.
- Használjon másik külső időkiszolgálót a gazdaidő használatával vagy anélkül. Ehhez a beállításhoz kövesse az Azure-beli Active Directory windowsos virtuális gépek idő mechanizmusát.
Az alapértelmezett beállítás használata
Alapértelmezés szerint a Windows OS rendszerű virtuálisgép-rendszerképek w32time-ra vannak konfigurálva két forrásból való szinkronizálásra:
- Az NtpClient-szolgáltató, amely információkat kap a time.windows.com.
- A VMICTimeSync szolgáltatás, amely a gazdaidőt közli 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 egy Azure-beli virtuális gépen a w32time a gazdagépidőt részesíti előnyben a kiértékelés miatt, amely mindkét időforrás összehasonlítása érdekében tenné.
A tartományhoz csatlakoztatott gépek esetében maga a tartomány hozza létre az időszinkronizálási hierarchiát, de az erdőgyökérnek továbbra is időt kell igénybe vennie valahol, és az alábbi szempontok továbbra is igaznak bizonyulnának.
Csak gazdagép
Mivel time.windows.com egy nyilvános NTP-kiszolgáló, a szinkronizálási idő az interneten keresztüli adatküldést igényli, a különböző csomagkésések negatívan befolyásolhatják az időszinkronizálás minőségét. A time.windows.com eltávolítása a csak gazdagépes szinkronizálásra való váltással néha javíthatja az időszinkronizálási eredményeket.
Ha az alapértelmezett konfiguráció használatával időszinkronizálási problémákat tapasztal, érdemes átváltani a csak gazdagépre való szinkronizálásra. Próbálja ki a csak gazdagép szinkronizálását, és ellenőrizze, hogy ez javítaná-e a virtuális gép időszinkronizálását.
Külső időkiszolgáló
Ha meghatározott időszinkronizálási követelményekkel rendelkezik, a külső időkiszolgálók használatára is lehetőség van. 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épekkel való időegyensúly 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 adjon.
A konfiguráció ellenőrzése
Ellenőrizze, hogy az NtpClient időszolgáltatója 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
Ha meg szeretné tekinteni, 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értelmezett értéket 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álnak.
w32tm /query /source
Itt láthatja a kimenetet, és azt, hogy mit jelentene:
- time.windows.com – az alapértelmezett konfigurációban a w32time időt kapna 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 szokásos kimenet, amelyet egy fizikai gépen kapna.
- Virtuálisgép-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.
- A 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 kifejezetten úgy 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-nak nem volt elég ideje újraindítás után elindulni, vagy ha az összes konfigurált időforrás nem érhető el.
Csak gazdagépre vonatkozó időszinkronizálás engedélyezése
Az Azure folyamatosan azon dolgozik, hogy javítsa az időszinkronizálást a gazdagépeken, és garantálhatja, hogy a szinkronizálási infrastruktúra minden alkalommal a Microsoft tulajdonában lévő adatközpontokban legyen csoportosítva. Ha időszinkronizálási problémákat tapasztal az alapértelmezett beállítással kapcsolatban, amely a time.windows.com elsődleges időforrásként szeretné használni, az alábbi parancsokkal engedélyezheti a csak gazdagépre vonatkozó 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 rendszerű virtuális gépek
A Windows Server 2012 és a 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 úgy van konfigurálva, hogy a szolgáltatás alacsony terhelése a pontos idő függvényében legyen előnyben.
Ha át szeretné helyezni a Windows Server 2012 és 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ési és frissítési időközöket a Windows Server 2016 beállításainak megfelelően.
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 NtpServer-eket használatukként kell megjelölni. Ha a 0x1
kiszolgálók bitflagmaszkkal vannak eljegyezve, 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 jelölőt 0x8
használják, vagy egyáltalán nem:
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: