Unter Windows: Ist es sicher, eine Robokopie durchzuführen, um das System zu klonen?

16

Lassen Sie mich zunächst einen kleinen Hintergrund geben. Auf Linux-Systemen verlasse ich mich häufig auf die Tatsache, dass ich, solange ich alle Dateien von einer Festplatte auf eine andere übertragen kann und den Bootloader repariere, eine identische, vollständig bootfähige Datei zur Verfügung habe Funktionssystem. Dasselbe gilt für Sicherungen und Wiederherstellungen (keine spezielle Sicherung des Systemstatus erforderlich, nur die Dateien). Sogar MySQL kann manchmal wiederhergestellt werden, auch wenn es zum Zeitpunkt der Sicherung nicht eingefroren war

Unter Windows hatte ich noch nie Glück, das System auf Dateiebene zu klonen. Ich benötige immer ein Tool wie VMWare Converter, Ghost, diXML usw. Sie basieren auf dem Image des gesamten Laufwerks. Zuerst nahm ich an, dass dies hauptsächlich auf die spezielle / magische Art und Weise zurückzuführen war, wie Windows die Registrierung durchführt, und stellte dies nicht in Frage (es funktionierte). Bis heute. Mir wurde klar, dass diese Art des Denkens dumm war und dass Windows in Wirklichkeit auch nur eine Sammlung von Dateien ist. Als Test habe ich ein Offline-Windows 2003-Serverlaufwerk verwendet, die Dateien auf eine leere Festplatte kopiert, das Laufwerk aktiviert und ... es hat einwandfrei funktioniert!

Oder hat es getan? Warum habe ich diese irrationale Angst, dass es scheitert, nur weil es kein wörtlicher Klon ist, wie ich es mit Ghost erwartet hätte? Sollte ich Angst haben? Warum war es so einfach? Sind AD-Server anders? Gibt es Fälle, in denen diese Methode fehlschlägt?

Wenn Datei für Datei kopiert werden muss, warum ist dann derselbe Ansatz fehlgeschlagen, als ich versucht habe, dasselbe mit VSS zu tun (Schattenkopiertes Laufwerk C: als Laufwerk S: verfügbar zu machen)? Genauer gesagt habe ich ein Boot-System bis zum Anmeldebildschirm. Es hat sogar mein Passwort akzeptiert, sich dann aber ohne Fehler in der Benutzeroberfläche sofort von meinem Benutzer abgemeldet. Ich habe sogar versucht, alle bis auf unaufhaltsame Dienste auszuschalten, bevor ich ... dasselbe Ergebnis kopierte.

Übrigens benutze ich robocopy /E /SECfür all diese Kopiervorgänge

Suche ich nur nach Problemen, wenn ich diese Methoden verwende? Ich weiß, dass Ghost usw. bewiesen sind. Warum also das Rad neu erfinden? ... Ich verstehe das alles ... aber als Profi möchte ich wissen, warum die Dinge so funktionieren, wie sie funktionieren. Deshalb ist es mir wichtig, das herauszufinden. (Ganz zu schweigen von der seltenen Möglichkeit, auf einem System, auf dem ich noch nie eine Systemstatussicherung durchgeführt habe, eine Bare-Metal-Wiederherstellung durchführen zu müssen.)

ixnaum
quelle
2
Behebung des besonderen Falls von Domänencontrollern: Beachten Sie, dass es keine sichere Möglichkeit gibt, einen Domänencontroller zu klonen, da dies die Active Directory-Replikation durcheinander bringt. Ich bin unsicher bei den Details, aber im Grunde hat jeder DC eine eindeutige Kennung, die wesentlich ist, um die Sequenz der AD-Änderungen konsistent zu halten. Wenn zwei Domänencontroller versuchen, denselben Bezeichner zu verwenden, bricht das gesamte System in einem schreienden Haufen zusammen.
Harry Johnston
Beachten Sie außerdem, dass das Heraufstufen eines geklonten Servers zu einem Domänencontroller nicht sicher ist. Wenn eine Windows-Instanz ein DC sein soll, muss sie über Windows Setup installiert werden. Die Nichtbeachtung dieser Vorsichtsmaßnahme kann zu einer Reihe sehr merkwürdiger Symptome führen.
Harry Johnston

Antworten:

4

AD-Server sind unterschiedlich. Ein Domänencontroller verfügt über eine Verzeichnisverknüpfung im Verzeichnis C: \ Windows \ SYSVOL \ sysvol, die auf das Domänenverzeichnis C: \ Windows \ SYSVOL \ verweist:

 Directory of C:\Windows\SYSVOL\sysvol

04/13/2011  01:22 PM    <DIR>          .
04/13/2011  01:22 PM    <DIR>          ..
04/13/2011  01:22 PM    <JUNCTION>     domainName.acme.com [C:\Windows\SYSVOL\domain]

Nahezu jede Art von manuellem Kopiervorgang würde dazu führen, dass SYSVOL aufgrund einer Verzweigung nicht online geschaltet wird. Um genau zu sein, kann dies in normalen Wiederherstellungsszenarien vorkommen. Daher ist es immer ratsam, die SYSVOL-Junction zu überprüfen und bei Bedarf neu zu erstellen.

Apropos Links: Jedes Windows 2008 / Vista / Windows 7-System verfügt möglicherweise über Tausende von Links im Ordner% SYSTEMROOT% \ System32 für die Binärdateien. Diese Verknüpfungsziele befinden sich tatsächlich im Ordner% SYSTEMROOT% \ Winsxs.

Ich habe dies nicht bestätigt, aber Robocopy kopiert möglicherweise das Ziel anstelle des Links. Was den Schalter / SL erklären würde: "Kopiere symbolische Links gegen das Ziel".

Möglicherweise scheint das System ordnungsgemäß zu funktionieren. Was würde jedoch passieren, wenn eine Systemaktualisierungsaktivität durchgeführt werden muss, um die Dateien zu verwalten, auf denen sich die Verbindungsziele normalerweise befinden? Vielleicht würde es sie neu erschaffen, aber das wäre eine Prüfung wert.

Wenn Sie neugierig sind, wie diese Links auf die kopierte Festplatte übertragen wurden, können Sie einen Vorher- und Nachher-Schnappschuss erstellen und die Dateien mit Windiff oder Notepad ++ vergleichen.

Sie können den folgenden Befehl verwenden, um die Verbindungspunkte auf einem Laufwerk auszugeben:

dir C:\ /aL /s  >> junctions.txt  

Sie können das folgende Skript in einer Datei verwenden, um eine Ausgabe der Links für einen Speicherort abzurufen (z. B. Systemroot):

for /r %systemroot% %%i in (*.exe,*.dll) do (
  echo Checking file: %%i >> file.txt
  fsutil.exe hardlink list "%%i" >> file.txt 2>&1
  echo . >> file.txt
)
Greg Askew
quelle
Du hast recht. Knotenpunkte sind das Hauptproblem. Nach eingehenderer Recherche werden Junctions nicht nur von AD-Servern verwendet. Windows 7 verwendet sie auch stark. Robocopy kann keine Junctions kopieren "Beim Robocopy können Junctions auftreten ... Dies können Volume Mount Points sein, die mit dem Befehl MOUNTVOL erstellt wurden, oder Directory Links, die mit dem Befehl LINKD erstellt wurden. Robocopy verarbeitet Junctions in der Quelle, indem ein normales Verzeichnis von erstellt wird denselben Namen im Ziel, da es möglicherweise nicht möglich ist, die Junction im Ziel zu replizieren. " ... gibt es ein Dateikopierwerkzeug das kann?
Ixnaum
Hier finden Sie weitere Informationen zu Robocopy, bei dem Junctions unter Windows 7 nicht kopiert werden können . Fastcopy kann angeblich Junctions kopieren ... wird es als nächstes versuchen
ixnaum
1
Ein weiteres potenzielles Problem, Windows 7 (wahrscheinlich auch 2008), weist in jedem Benutzerprofilordner unter C: \ users \ <Benutzer> \ AppData \ Local \ für "Anwendungsdaten" eine kreisförmige Verknüpfung auf. Wenn Sie Robocopy mit einem Konto mit der Berechtigung "Sichern" ausführen oder die Ordnerberechtigungen ändern, können Sie an dieser Junction in eine Endlosschleife wechseln.
Greg Askew
7

Ich habe Klone auf Dateiebene (mit dem ntfscloneDienstprogramm Linux NTFS Tools ) unter Windows 2000 und Windows XP ausgeführt. Ich habe es nicht ntfsclonemit Windows Vista oder neueren Versionen versucht, aber ich würde keine Probleme erwarten. Ich verwende das Microsoft-Tool zum Klonen auf Dateiebene ImageX, ziemlich regelmäßig unter Windows XP und Windows 7, und habe auch dort keine Probleme. Im Allgemeinen klone ich keine Server-Computer, aber ich würde erwarten ImageX, dass sie gut mit Server-Betriebssystemen funktionieren.

Das Kopieren eines Live-Dateisystems wird immer eine Herausforderung sein. Volume Shadow Copy soll ein ruhendes Dateisystem verfügbar machen, aber ich denke, dass Sie immer noch Ihr Risiko eingehen. (Ich kann Ihnen nicht sagen, was mit Ihrem VSS-geklonten Volume passiert ist, bei dem Sie sich nicht anmelden konnten. Ohne den fehlgeschlagenen Klon sehen zu können, ist die Diagnose wirklich sehr schwierig.) Ich rate Ihnen immer, wenn möglich Systeme zu klonen, die offline sind.

Angenommen, Sie kopieren ein vollständig ruhendes Dateisystem und sind in der Lage, alle Dateien abzurufen.

  • Einen guten Master Boot Record (MBR) und Partition Boot Record (PBR) haben
  • Einen guten Bootloader haben

Microsoft bootsect.exekann verwendet werden, um gute MBRs und PBRs für ältere NTLDR-basierte Versionen von Windows NT (NT 3.5 bis Windows Server 2003) und BOOTMGR-basierte Versionen (Windows Vista und höher) zu schreiben. Ihr Windows 2003-Klon muss sich auf einem Datenträger befunden haben, auf dem sich ein PBR im NT 5.2-Format befand (seit dem Start).

Der NTLDR-Bootloader wird in einer Kopie auf Dateiebene kopiert. Dies erklärt, warum Ihre Windows 2003-Kopie ohne Probleme funktioniert hat. Der BOOTMGR-Bootloader kann mit dem bcdboot.exeDienstprogramm installiert werden (enthalten auf BOOTMGR-basierten Windows- Installationsmedien ).

Auf diese Weise würde ich keine Active Directory-Domänencontroller-Computer klonen. Sie möchten keinen Klon eines Domänencontrollers im selben Netzwerk wie den ursprünglichen Domänencontroller starten, da dies ein vollständig nicht unterstütztes und wahrscheinlich ungeplantes Szenario ist.

Bearbeiten (jetzt, wo ich ein paar Minuten auf einem echten Computer habe):

Die oben beschriebenen Tools ImageXund ntfsclonesind Klon-Tools auf Dateisystemebene (wie Ghost, wenn es nicht im Raw-Sektor-Modus ausgeführt wird). Sie interpretieren das NTFS-Dateisystem, anstatt Sektor für Sektor zu kopieren. Beide Tools haben keine Probleme mit Knotenpunkten oder Hardlinks wie ROBOCOPY(ohne /SLArgument) und XCOPY(mit Argumenten).

Im Allgemeinen plant Microsoft nicht, dass Sie das kopierbasierte Klonen von Systemen auf Dateiebene durchführen. Ja, du kannst es schaffen, aber wenn es kaputt geht, darfst du die Teile behalten.

Evan Anderson
quelle
Aber ntfsclone und ImageX sind Image-basiert, ähnlich wie Ghost ... was ist mit Datei-für-Datei-Kopieren?
Ixnaum
1
ImageX generiert keine Kopie der Festplatte auf Blockebene, sondern ist definitiv dateibasiert. (Es wird natürlich eine "Image-Datei" generiert, aber dies ähnelt eher einer Zip-Datei als beispielsweise einer ISO-Datei.) ImageX ist die einzige unterstützende Möglichkeit, dies zu tun.
Harry Johnston
4

Das Problem beim Kopieren eines Live-Dateisystems VSSbesteht darin, dass die vorhandene Windows-Instanz wahrscheinlich die Signatur des neuen Datenträgers bereits in der Registrierung hat. Wenn Sie die Kopie booten, wird die Signatur der Partition, von der aus gebootet wird, mit der Registrierung abgeglichen und wie D:oder gemountet E:, anstatt wie C:es sein sollte.

Sie können dies beheben, indem Sie die Registrierungsdatei bereitstellen und aktualisieren. Führen HKLM\SYSTEM\MountedDevices Sie dies nach dem Kopieren, jedoch vor dem Neustart durch. Sie möchten nur den \DosDevices\C:Eintrag löschen und den Eintrag für Ihr neues Laufwerk in ändern C:.

Chris Griffiths
quelle