Csoportházirend és ntfrs és sysvol és netlogon halál

Az egyik teszt célra használt Windows Server 2003 gépre véletlenül benéztem, és az eseménynaplóban nagy adag piros felkiáltójel fogadott. A gép anno még ment rendesen, aztán, mivel nem használtuk, VMware Converterrel virtuális gépet csináltunk belőle, felpakoltuk egy VMware ESX szerverre, aztán tulajdonképpen magára is hagytuk. A gép tartományvezérlő volt egy olyan tartományban, ahol csak ő volt egyedülJ

Az alkalmazásnaplót a következő hibaüzenet töltötte meg:

Event Source:    Userenv
Event ID:    1058
Description: Windows cannot access the file gpt.ini for GPO CN={XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX},CN=Policies,CN=System,DC=testdomain,DC=local. The file must be present at the location <\\testdomain.local\sysvol\testdomain.local\Policies\{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}\gpt.ini>. (The system cannot find the path specified. ). Group Policy processing aborted.

No, már csak ez hiányzott nekem, AD-hoz nem értek, de azért kíváncsi voltam, meg tudom-e találni a hiba okát. A biztonság kedvért én is ellenőriztem a megadott elérési utat, de a \\testdomain.local\sysvol mappa üres volt. No ez aztán tényleg érdekes. Körbenéztem még, hogy mije fáj még a szervernek, az eseménynapló File Replication Service része is tele volt hibával:

Event Source:    NtFrs
Event ID:    13559
Description: The File Replication Service has detected that the replica root path has changed from "c:\windows\sysvol\domain" to "c:\windows\sysvol\domain". If this is an intentional move then a file with the name NTFRS_CMD_FILE_MOVE_ROOT needs to be created under the new root path.

This was detected for the following replica set: "DOMAIN SYSTEM VOLUME (SYSVOL SHARE)"

Changing the replica root path is a two step process which is triggered by the creation of the NTFRS_CMD_FILE_MOVE_ROOT file.

[1] At the first poll which will occur in 60 minutes this computer will be deleted from the replica set.
[2] At the poll following the deletion this computer will be re-added to the replica set with the new root path. This re-addition will trigger a full tree sync for the replica set. At the end of the sync all the files will be at the new location. The files may or may not be deleted from the old location depending on whether they are needed or not.

No ez aztán érdekes, c:\windows\sysvol\domain könyvtárról c:\windows\sysvol\domain mappára változott a helye a replikának?? Viszont egyébként a hibajelenség stimmel, a sysvol megosztást egész biztosan nem replikálja rendesen. A hibaüzenet többi része viszont nagyon jó, értelmesen leírja, hogy mit kell tenni a hiba elhárításához. Bárcsak minden hibaüzenet ilyen lenne!J Kicsit viszont ódzkodtam az említett fájl létrehozásához, mert most mi van akkor, hogy ha fogja és letörli az adatokat a régi helyről, ami mellékesen az új hely is. Eventid.net oldalon is rákerestem a hibára, de ott is nagyjából az volt a válasz, hogy szépen létre kell hozni a fájlt, aztán az megoldja a gondot.

Nosza, rajta, hozzuk létre az NTFRS_CMD_FILE_MOVE_ROOT fájlt! Előtte azért még csináltam egy sysstate mentést gyorsan, biztos, ami biztosJ Azaz csak készítettem volna, ugyanis a Prepearing backup wiht volume shadow copy rész közben leállt, a mentés el se indult, és a végén hiba okának azt adta meg, hogy nincs elég hely. Ezt meg hogyan sikerült, kb. 10 GB szabad hely volt még? A rendszernapló megadta a választ, ott már értelmes hibaüzenet volt:

Event Source:    VolSnap
Event ID:    21
Description: The flush and hold operation for volume C: was aborted because of low available system memory.

És valóban, volt vagy 50 MB szabad memória az 1 GB-ból. Akkor irány a feladatkezelő, és mivel tudtam, hogy annak nem lehet hinni, előkerült a Process Explorer és a perfmon is. No nem mintha hazudna a feladatkezelő, csak a Windows memóriakezelésének mindenféle optimalizálása miatt az nem feltétlenül a ténylegesen szabad memória, ami ott látható. Egy jó kis összefoglaló a memóriakezelés alapjairól, meg, hogy mit is mutat a feladatkezelő valójában elérhető itt: The Memory Shell Game. (Egyébként az ntdebugging blogot érdemes nézni, ritkán írnak, de akkor nagyon ütőset, a probléma debuggolás náluk általában a végén tényleg mindig alacsony szintű kernel debuggolásba torkollik:) Szóval, ezen tudással felvértezve, elkezdtem összeszámolni, hogy mi a fene fogyaszt ennyi memóriát. Van egy IIS és egy SQL Server is fent a gépen, de nem csinálnak semmit jelenleg, így nem kéne megenni annyi RAM-ot. Process Explorerben se találtam semmi rejtett dolgot, ott is így ránézésre ~400 MB-nyi memória volt felhasználva. Perfmon-ban is megnéztem a Process / Working Set / _Total és a Process / Virtual Bytes / _Total számlálókat, az egyik 250 míg a másik 500 MB körül volt, a system cache pedig a feladatkezelő szerint 170 MB volt, a nem lapozható kernel memória pedig 15 MB. Akárhogy számolom, hiányzik vagy 500 MB fizikai memória (és ez még durva becslés, mert a munkakészletbe duplán számolja a megosztott lapokat, stb.). Ráadásul az egészben az a legszebb, hogy mindenki azt mondja, hogy a teljes memória viszont 1 GB, tehát nem is lehet arra fogni, hogy valaki ellopott 512 MB-otJ. Itt kezdtem el gyanakodni, hogy az ESX lesz a hunyó, ott is elég sok sötét mágiát alkalmaznak, úgyhogy egyelőre hagytam a dolgot. (Most, amikor írtam ezt a bejegyzést, nekiálltam, és azért is megpróbáltam megkeresni, hogy hova dugja el az ESX azt a memóriát. De ez végül 2 órás nyomozást eredményezett, úgyhogy az marad egy későbbi bejegyzésre.) Enyhe kitérő után akkor vissza a mentés készítéshez! Mivel nem tudtam system state mentést csinálni, ezért legalább a \windows\sysvol mappa tartalmát kézzel lementettem.

Most már tényleg hozzuk létre azt a nevezetes NTFRS_CMD_FILE_MOVE_ROOT fájlt! Újra kell indítani az ntfrs szolgáltatást, majd türelemmel várni. Vagy negyed óra múlva megnéztem a rendszert. Még mentJ Az eseménynapló pedig jó hírrel várt, először jelezte, hogy a ténykedésünk eredménnyel járt:

Event Type:    Warning
Event Source:    NtFrs
Event ID:    13560
Description: The File Replication Service is deleting this computer from the replica set "DOMAIN SYSTEM VOLUME (SYSVOL SHARE)" as an attempt to recover from the error state, Error status = FrsErrorMismatchedVolumeSerialNumber. At the next poll, which will occur in 5 minutes, this computer will be re-added to the replica set. The re-addition will trigger a full tree sync for the replica set.

A következő pedig már a sikeres eredmény:

Event Type:    Information
Event Source:    NtFrs
Event ID:    13553
Description: The File Replication Service successfully added this computer to the following replica set:

"DOMAIN SYSTEM VOLUME (SYSVOL SHARE)"

Information related to this event is shown below:
Computer DNS name is "server.testdomain.local"
Replica set member name is "SERVER"
Replica set root path is "c:\windows\sysvol\domain"
Replica staging directory path is "c:\windows\sysvol\staging\domain"
Replica working directory path is "c:\windows\ntfrs\jet"

A File Replication rendes szolgáltatás, és elviszi az örömhírt másoknak is:

Event Type:    Information
Event Source:    NtFrs
Event ID:    13516
Description: The File Replication Service is no longer preventing the computer SERVER from becoming a domain controller. The system volume has been successfully initialized and the Netlogon service has been notified that the system volume is now ready to be shared as SYSVOL. Type "net share" to check for the SYSVOL share.

Én viszont még annyira nem örültem, mert a SYSVOL megosztás továbbra is üres volt. Eventid.net-en az egyik megjegyzésben találtam linket a File Replication Service Diagnostic eszközre (frsdiag). Megnéztem, hátha tud valami okosat mondani, egy csomó ellenőrzést végrehajtott, és egyből kibökte mi a gond:

Checking Overall Disk Space and SYSVOL structure (note: integrity is not checked)…
    ERROR: Junction Point missing on "c:\windows\sysvol\sysvol"
    ERROR: Junction Point missing on "c:\windows\sysvol\staging areas"

És igaza volt, ezek tényleg nem mutattak sehova. A következő KB cikk összefoglalja, hogy milyen linkeknek kéne létezni: Best Practices for Sysvol Maintenance.

Most már csak az hiányzik, hogy hogyan lehet junction pontokat létrehozni. Ezt a KB cikket dobta ki a Google: How to create and manipulate NTFS junction points. Ez Windows 2000-re van, és nem találtam újabbat, de működik. Windows Server Resource Kit-et kell letölteni, és az abban lévő linkd.exe segít nekünk:

>"c:\Program Files\Windows Resource Kits\Tools\linkd.exe" c:\WINDOWS\SYSVOL\sysvol\testdomain.local c:\WINDOWS\SYSVOL\domain
Link created at: c:\WINDOWS\SYSVOL\sysvol\testdomain.local

>"c:\Program Files\Windows Resource Kits\Tools\linkd.exe" "c:\WINDOWS\SYSVOL\staging areas\testdomain.local" c:\WINDOWS\SYSVOL\staging\domain
Link created at: c:\WINDOWS\SYSVOL\staging areas\testdomain.local

Most már csak a netlogon-t kell újraindítani:

net stop netlogon
net start netlogon

És láss csodát, a sysvol megosztásban megjelent a szükséges Policies és Scripts mappa, valamint a netlogon megosztás is. Próbaképp nézzük még meg a csoportházirendet is:

gpupdate /force

A frissítés az eseménynapló szerint sikeresen lefutott. Hurrá, úgy néz ki megy mindenJ!

Zárszóként: a szerencsém az volt, hogy maga az adat nem sérült, a \windows\sysvol\domain könyvtárban ott volt minden, csak nem replikálta rendesen a megfelelő helyre. Hogy mi miatt bolydult meg a replikáció, nem tudom. Talán a fizikai -> virtuális konverziónál csináltunk valamit rosszul. Az elején nem hittem volna, hogy sikerül megoldani, de végül is mindenhol csak a hibaüzenetek javaslatait kellett követni. Ma is tanultam valamitJ

Reklámok
Kategória: Tech | Közvetlen link a könyvjelzőhöz.

Egy hozzászólás a(z) 0ejegyzéshez

  1. Qvasz szerint:

    Köszi, nagyon nagy szükségem volt az infóra, megspóroltál nekem több órányi szenvedést és utánajárást 🙂

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s