Windowsの場合:システムを複製するためにロボコピーを実行しても安全ですか?


16

少し背景を説明することから始めましょう。Linuxシステムでは、すべてのファイルを1つのハードドライブから別のハードドライブに引き継ぐことができ、ブートローダーを修正する限り、同一のブート可能な完全に残されるという事実に頻繁に依存しています機能システム。同じことが...でも、MySQLは回復可能です(特別なシステム状態のバックアップは、ファイルだけを必要としない)バックアップとリストアのために働く、時にはそれは、バックアップの時点で凍結されていなかった場合でも、

Windowsでは、ファイルレベルでシステムを作成してシステムを複製することはできませんでした。VMWare Converter、Ghost、diXMLなどのツールが常に必要です。これらは、ドライブ全体のイメージを取得することに基づいています。最初は、これは主にWindowsがレジストリを処理する特別な/魔法の方法によるものであり、私はそれを疑問視しませんでした(動作しました)。今日まで。この種の考え方は愚かであり、実際にはWindowsも単なるファイルのコレクションであることがわかりました。そのため、テストとしてオフラインのWindows 2003サーバードライブを使用して、ファイルを空のハードドライブにコピーし、ドライブをアクティブにして、完全に機能しました。

それともしましたか?Ghostで期待していたような逐語的なクローンではないという理由だけで失敗するという不合理な恐怖を抱いているのはなぜですか?怖いの?なぜそんなに簡単だったのですか?ADサーバーに違いはありますか?この方法が失敗する場合はありますか?

ファイルごとのコピーが方法である場合、VSS(シャドウコピーされたC:ドライブをS:ドライブとして公開)で同じことをしようとしたときに、同じアプローチが失敗したのはなぜですか。より具体的には、ログイン画面までブートシステムを取得しました。パスワードも受け入れましたが、GUIでエラーなしにすぐにユーザーをログオフしました。コピーする前に、停止できないサービスを除くすべてのサービスをシャットダウンしようとしましたが、同じ結果になりました。

ちなみに私はrobocopy /E /SECこれらすべてのコピー操作に使用しています

これらの方法を使用してトラブルを探していますか?私はゴーストなどが証明されていることを知っています..なぜ車輪を再発明するのですか?...私はすべてを得る...しかし、専門家として、私は物事が彼らのやり方で機能する理由を知りたい。それが私がこれを理解することが重要である理由です。(言うまでもなく、システム状態のバックアップがなかったシステムでベアメタルリストアを実行する必要があることはまれです)


2
ドメインコントローラーの特定のケースに対処する:ドメインコントローラーを複製すると、Active Directoryの複製が台無しになるため、ドメインコントローラーを複製する安全な方法がないことに注意してください。詳細についてはあいまいですが、基本的に各DCには、ADの変更シーケンスの一貫性を保つために不可欠な一意の識別子があります。2つのDCが同じ識別子を使用しようとすると、システム全体が悲鳴の山に崩壊します。
ハリージョンストン

また、クローンサーバーをドメインコントローラーに昇格させるのは安全ではないことに注意してください。WindowsのインスタンスがDCになる場合、Windowsセットアップを介してインストールする必要あります。この予防措置に従わないと、さまざまな非常に奇妙な症状を引き起こす可能性があります。
ハリージョンストン

回答:


4

ADサーバーは異なります。ドメインコントローラーのC:\ Windows \ SYSVOL \ sysvolディレクトリには、C:\ Windows \ SYSVOL \ domainディレクトリを指すディレクトリジャンクションがあります。

 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]

ほぼすべてのタイプの手動コピー操作では、ジャンクションが破損したためにSYSVOLがオンラインになりません。正確ではありますが、これは通常の復元シナリオで発生する可能性があるため、必要に応じてSYSVOLジャンクションを確認して再作成することを常にお勧めします。

リンクといえば、Windows 2008 / Vista / Windows 7システムでは、バイナリの%SYSTEMROOT%\ System32フォルダーに数千のリンクが存在する場合があります。これらのリンクターゲットは、実際には%SYSTEMROOT%\ Winsxsフォルダーにあります。

私はこれを確認していませんが、Robocopyはリンクの代わりにターゲットをコピーする場合があります。スイッチ/ SL :: "シンボリックリンクをターゲットに対してコピーする"を説明します。

システムが正しく機能しているように見える可能性がありますが、システム更新アクティビティを実行するときに、リンクターゲットが通常存在するファイルを維持する必要がある場合はどうなりますか?おそらくそれはそれらを再作成するでしょうが、それはテストする価値のあるものです。

これらのリンクがコピーされたディスクにどのように転送されるかを知りたい場合は、スナップショットの前と後を取り、WindiffまたはNotepad ++を使用してファイルを比較できます。

次のコマンドを使用して、ドライブのジャンクションポイントの出力を取得できます。

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

ファイル内の次のスクリプトを使用して、場所のリンク(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
)

あなたが正しいです。ジャンクションポイントが主な問題です。これについてさらに調査を行った結果、ジャンクションを使用するのはADサーバーだけではありません。Windows 7もそれらを頻繁に使用します。Robocopyはジャンクションをコピーする方法を知りません。「Robocopyはジャンクションに遭遇する可能性があります...これらは、MOUNTVOLコマンドを使用して作成されたボリュームマウントポイント、またはLINKDコマンドを使用して作成されたディレクトリリンクです。Robocopyは、宛先でジャンクションを複製できない場合があるため、宛先で同じ名前。」...ファイルコピーツールの缶はありますか?
ixnaum

ここ 7. Windows上で接合をコピーすることができないのrobocopyの詳細である FastCopyのは、おそらくジャンクションをコピーすることができますが...その次しようとします
ixnaum

1
別の潜在的な問題であるWindows 7(おそらく2008も)には、「アプリケーションデータ」のC:\ users \ <user> \ AppData \ Local \の下の各ユーザープロファイルフォルダーに円形のジャンクションがあります。バックアップ特権を持つアカウントを使用してRobocopyを実行した場合、またはフォルダーのアクセス許可を変更した場合、そのジャンクションで無限ループに入る可能性があります。
グレッグアスキュー

7

ntfscloneWindows 2000およびWindows XPの(Linux NTFSツールユーティリティを使用して)ファイルレベルのクローンを実行しました。ntfscloneWindows Vista以降のバージョンでは試していませんが、問題はないと思います。MicrosoftのファイルレベルのクローンツールImageXをWindows XPおよびWindows 7で非常に定期的に使用していますが、問題もありません。私は通常、サーバーコンピューターのクローンを作成しませんがImageX、サーバーOSで正常に動作することを期待しています。

ライブファイルシステムのコピーは、常に課題となります。ボリュームシャドウコピーは静止ファイルシステムを公開することになっていますが、まだチャンスをつかんでいると思います。(VSSクローンボリュームで何が起きてログオンできないかはわかりません。失敗したクローンを確認できないと、診断が非常に困難になります)。可能であれば、オフラインのシステムを複製することを常にお勧めします。

完全に静止したファイルシステムをコピーし、すべてのファイルを取得できると仮定した場合の懸念事項は次のとおりです。

  • 適切なマスターブートレコード(MBR)とパーティションブートレコード(PBR)を持っている
  • 良いブートローダーを持つ

Microsoftをbootsect.exe使用して、古いNTLDRベースのバージョンのWindows NT(NT 3.5からWindows Server 2003)およびBOOTMGRベースのバージョン(Windows Vista以降)に適したMBRおよびPBRを作成できます。Windows 2003のクローンは、NT 5.2形式のPBRがインストールされているディスクに起動されている必要があります。

NTLDRブートローダーはファイルレベルのコピーでコピーされるため、Windows 2003のコピーが問題なく機能した理由がわかります。BOOTMGRブートローダーは、bcdboot.exeユーティリティを使用してインストールできます(BOOTMGRベースのWindowsセットアップメディアに含まれています)。

この方法では、Active Directoryドメインコントローラー(DC)コンピューターを複製しません。元のDCと同じネットワーク上でDCのクローンを起動したくないのは、これが完全にサポートされておらず、おそらく計画外のシナリオだからです。

編集(実際のコンピューターで数分しました):

上で説明したツール、ImageXおよびはntfsclone、ファイルシステムレベルのクローンツールです(rawセクターモードで実行されていない場合のGhostと同様)。セクタごとにコピーするのではなく、NTFSファイルシステムを解釈します。これらのツールはどちらも、ジャンクションポイントやROBOCOPY/SL引数なし)およびXCOPY(引数付き)のようなハードリンクに問題はありません。

一般に、マイクロソフトは、ファイルレベルのコピーベースのシステムのクローン作成を計画していません。ええ、あなたはそれをすることができます、しかし、それが壊れるならば、あなたは断片を保つようになります。


しかし、ntfscloneとImageXはGhostによく似た画像ベースです...ファイルごとのコピーはどうですか?
ixnaum

1
ImageXはディスクのブロックレベルのコピーを生成しません。これは間違いなくファイルベースです。(もちろん、「イメージファイル」を生成しますが、これはISOなどよりもzipファイルに似ています。)ImageXは、これを行う唯一のサポート方法です。
ハリージョンストン

4

ライブファイルシステムのコピーに関する問題VSSは、既存のWindowsインスタンスのレジストリに新しいディスクの署名が既にある可能性があることです。コピーを起動すると、起動元のパーティションの署名がレジストリに一致し、本来あるべきではなく、D:またはとしてマウントされます。E:C:

レジストリファイルをマウントして更新することでこれを整理できますHKLM\SYSTEM\MountedDevices 。コピー後、再起動する前にこれを実行します。\DosDevices\C:エントリを削除し、新しいドライブのエントリをに変更するだけですC:

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.