Scenariusz:
Przeprowadzanie migracji serwera ze starego Server 2008 R2 na nowy Server 2016, zgodnie z tym przewodnikiem po błędzie serwera: Migracja serwera plików za pomocą Robocopy
Po zakończeniu Robocopy włącz deduplikację na serwerze 2016 dla skopiowanego woluminu, a następnie użyj programu PowerShell, aby ręcznie rozpocząć deduplikację. Po wielu godzinach uzupełnia i odzyskuje około 25% miejsca na dysku.
Uruchom ponownie Robocopy, aby skopiować wszystko, co mogło zostać pominięte w początkowej kopii, jako ostateczne sprawdzenie nowego serwera.
.... ale Robocopy (uruchamiany z serwera 2016) nie rozumie deduplikacji, więc zamiast tego przystępuje do niszczenia magazynu fragmentów deduplikacji ..
-------------------------------------------------------------------------------
ROBOCOPY :: Robust File Copy for Windows
-------------------------------------------------------------------------------
Started : Sunday, July 8, 2018 12:10:02 PM
Source : \\SERVER-2008\e$\
Dest : \\SERVER-2016\e$\
Files : *.*
Options : *.* /TEE /S /E /COPYALL /PURGE /MIR /ZB /NP /MT:32 /R:1 /W:10
------------------------------------------------------------------------------
*EXTRA Dir -1 \\SERVER-2016\e$\System Volume Information\Dedup\
*EXTRA Dir -1 \\SERVER-2016\e$\System Volume Information\Dedup\ChunkStore\
*EXTRA Dir -1 \\SERVER-2016\e$\System Volume Information\Dedup\ChunkStore\{B7E1F3A4-AAD9-4449-9DF7-5489421C9EC5}.ddp\
*EXTRA File 253504 \\SERVER-2016\e$\System Volume Information\Dedup\ChunkStore\{B7E1F3A4-AAD9-4449-9DF7-5489421C9EC5}.ddp\DedupFileList.1
*EXTRA File 253504 \\SERVER-2016\e$\System Volume Information\Dedup\ChunkStore\{B7E1F3A4-AAD9-4449-9DF7-5489421C9EC5}.ddp\DedupFileList.2
*EXTRA File 28 \\SERVER-2016\e$\System Volume Information\Dedup\ChunkStore\{B7E1F3A4-AAD9-4449-9DF7-5489421C9EC5}.ddp\stamp.dat
*EXTRA Dir -1 \\SERVER-2016\e$\System Volume Information\Dedup\ChunkStore\{B7E1F3A4-AAD9-4449-9DF7-5489421C9EC5}.ddp\COW\
*EXTRA Dir -1 \\SERVER-2016\e$\System Volume Information\Dedup\ChunkStore\{B7E1F3A4-AAD9-4449-9DF7-5489421C9EC5}.ddp\COW\00010000\
*EXTRA File 196608 \\SERVER-2016\e$\System Volume Information\Dedup\ChunkStore\{B7E1F3A4-AAD9-4449-9DF7-5489421C9EC5}.ddp\COW\00010000\00000046.00.RB
*EXTRA File 106496 \\SERVER-2016\e$\System Volume Information\Dedup\ChunkStore\{B7E1F3A4-AAD9-4449-9DF7-5489421C9EC5}.ddp\COW\00010000\00000048.00.RB
[.......]
*EXTRA File 30.3 m \\SERVER-2016\e$\System Volume Information\Dedup\ChunkStore\{B7E1F3A4-AAD9-4449-9DF7-5489421C9EC5}.ddp\Stream\000f0000.00000002.ccc
*EXTRA Dir -1 \\SERVER-2016\e$\System Volume Information\Dedup\Logs\
*EXTRA File 29.7 m \\SERVER-2016\e$\System Volume Information\Dedup\Logs\00000001.kmchange.log
*EXTRA File 999.8 m \\SERVER-2016\e$\System Volume Information\Dedup\Logs\changes.optimization.1.10.archive.etl
*EXTRA File 1000.0 m \\SERVER-2016\e$\System Volume Information\Dedup\Logs\changes.optimization.1.11.archive.etl
*EXTRA File 735.5 m \\SERVER-2016\e$\System Volume Information\Dedup\Logs\changes.optimization.1.12.archive.etl
*EXTRA File 999.8 m \\SERVER-2016\e$\System Volume Information\Dedup\Logs\changes.optimization.1.9.archive.etl
*EXTRA File 1.3 m \\SERVER-2016\e$\System Volume Information\Dedup\Logs\changes.optimization.2.1.archive.etl
*EXTRA Dir -1 \\SERVER-2016\e$\System Volume Information\Dedup\Settings\
*EXTRA File 76 \\SERVER-2016\e$\System Volume Information\Dedup\Settings\Dedup.00.cfg
*EXTRA File 76 \\SERVER-2016\e$\System Volume Information\Dedup\Settings\Dedup.01.cfg
*EXTRA File 2228 \\SERVER-2016\e$\System Volume Information\Dedup\Settings\dedupConfig.01.xml
*EXTRA File 2228 \\SERVER-2016\e$\System Volume Information\Dedup\Settings\dedupConfig.02.xml
*EXTRA File 0 \\SERVER-2016\e$\System Volume Information\Dedup\Settings\VolumeJobLock.bin
*EXTRA Dir -1 \\SERVER-2016\e$\System Volume Information\Dedup\State\
*EXTRA File 2982 \\SERVER-2016\e$\System Volume Information\Dedup\State\chunkStoreStatistics.xml
*EXTRA File 2592 \\SERVER-2016\e$\System Volume Information\Dedup\State\dedupStatistics.xml
*EXTRA File 11.5 m \\SERVER-2016\e$\System Volume Information\Dedup\State\GCReservedSpaceBitmap.tmp
*EXTRA File 1.0 g \\SERVER-2016\e$\System Volume Information\Dedup\State\GCReservedSpaceContainer.ccc
*EXTRA File 46.0 m \\SERVER-2016\e$\System Volume Information\Dedup\State\GCReservedSpaceDeleteLogs.tmp
*EXTRA File 1.0 m \\SERVER-2016\e$\System Volume Information\Dedup\State\GCReservedSpaceFileList.tmp
*EXTRA File 4096 \\SERVER-2016\e$\System Volume Information\Dedup\State\GroupCommitFlushControl0.bin
*EXTRA File 2066 \\SERVER-2016\e$\System Volume Information\Dedup\State\optimizationState.xml
[......]
Przerwałem to chwilę po tym, jak zobaczyłem tego latającego w dzienniku i rozpoznałem, co się dzieje. Ale szkody już zostały wyrządzone, dane na zduplikowanym nowym serwerze zostały natychmiast uszkodzone przez Robocopy, gdy szturmował \ System Volume Information. Nowa partycja dysku serwera została sformatowana i ponownie utworzona ponownie od wersji Server 2008.
Czy istnieje bezpieczny sposób korzystania z Robocopy, aby nie dotykał danych woluminu deduplikacji?
Mam też nowe obawy ... jeśli Robocopy może zniszczyć deduplikowany wolumin, czego jeszcze nie można bezpiecznie używać z deduplikowanym woluminem, który przejrzy go i może zniszczyć podstawowe dane, które powinny być dostępne tylko dla serwera? (prawdopodobnie powinno być osobnym pytaniem ..)
źródło
/MIR
przełącznikiem, który jestMIRror a directory tree (equivalent to /E plus /PURGE
gdzie/PURGE :: delete dest files/dirs that no longer exist in source
? „Mirror” oznacza, że miejsce docelowe jest kopią źródła. Robocopy jest potężny ... i oczywiście wiemy, co to znaczy: z wielką mocą wiąże się wielka odpowiedzialność!/ZB :: use restartable mode; if access denied use Backup mode
używałeś, gdy tryb Kopia zapasowa pokonuje większość uprawnień, aby móc czytać pliki „normalnie” nieczytelne w celu tworzenia pełnych kopii zapasowych. Więc to była kombinacja od/B
i/MIR
że prawda w Robocopy jest potężny ... jak wspomniałem powyżej ....Odpowiedzi:
System Volume Information
Katalogu powinny być wyłączone za pomocą przełącznika / xD. Prawdopodobnie dobrym pomysłem jest wykluczenie innych ukrytych / systemowych katalogów, takich jak$RECYCLE.BIN
.źródło
Prowadzą do tego dwa przełączniki wiersza poleceń:
/MIR
i/ZB
. Jakrobocopy /???
opisuje dokumentacja ( ):Jest to kombinacja, w której zostałeś:
/MIR
usunie się (jak wskazano, gdy uruchamiaszrobocopy
bez argumentów), a „Tryb kopii zapasowej” pokona większość uprawnień, aby móc odczytać pliki „normalnie” nieczytelne w celu wykonania pełnych kopii zapasowych.„Tryb tworzenia kopii zapasowych” jest wyraźnie niezdefiniowany w opisie „pomocy”. Musisz wiedzieć, że Windows
CreateFile
API obsługuje flagę o nazwieFILE_FLAG_BACKUP_SEMANTICS
, która w połączeniu z pewnym prawem dostępuSE_BACKUP_NAME
(które jest domyślnie przyznane grupie Administratora - także grupie Operatorów kopii zapasowych, duh) omija normalne bezpieczeństwo plików.Nie wiedziałeś tego? Wtedy możesz również nie wiedzieć, że robocopy nie była początkowo częścią systemu Windows - była to część dodatku o nazwie „Windows Resource Kit”, który był używany głównie przez programistów i hardkorowych administratorów w przeszłości, i chociaż został wprowadzony do dystrybucji Windows w systemie Windows Server 2008 i nigdy nie otrzymał żadnej uwagi - poza dodatkowymi opcjami wydajności, woot! W szczególności brak uwagi ze strony menedżerów programów poświęconych interfejsowi użytkownika lub użyteczności . Więc jest to surowa moc, którą można wykorzystać - lub wprowadzić w błąd! - na własne ryzyko.
(Dobra zasada: nie używaj opcji wiersza poleceń, których tak naprawdę nie rozumiesz.)
Informacje, które możesz chcieć wiedzieć o dostępie do plików w trybie kopii zapasowej:
https://isc.sans.edu/forums/diary/Use+The+Privilege/20483/
https://docs.microsoft.com/en-us/windows/desktop/api/FileAPI/nf-fileapi-createfilea
https://docs.microsoft.com/en-us/windows/desktop/FileIO/file-security-and-access-rights
źródło
/Z
„trybie restartu”. To jestB
problematyczne ...Oto wyniki dalszych badań z wykorzystaniem innych podanych odpowiedzi i testowania z deduplikowanym miejscem docelowym. ( Meta: Nie wiem, czy powinienem dołączyć to jako edycję na dole mojego pierwotnego pytania. )
Linia poleceń Robocopy ewoluowała, aby w końcu wyglądać tak:
Opcje i cel:
Ostateczne ponowne uruchomienie:
,
Ponadto nie znam odpowiednich kanałów zgłaszania błędów do firmy Microsoft, ale odsyłam do tej dyskusji na dole dokumentacji deduplikacji firmy Microsoft w witrynie Windows IT Pro Center :
https://docs.microsoft.com/en-us/windows-server/storage/data-deduplication/overview
źródło
/MT:128
wydaje się raczej wysoki; czy odkryłeś, że naprawdę skuteczne było ustawienie go tak wysoko (i nie przyniosło efektu przeciwnego do zamierzonego, aby przekroczyć niższą wartość)?myślę, że nie wiesz, co to jest robocopy / Robocopy - to solidne polecenie kopiowania plików dla wiersza poleceń systemu Windows, które pozwala kopiować pliki, katalogi, a nawet dyski z jednej lokalizacji do drugiej. Jeśli chcesz uzyskać więcej informacji, sprawdź ten artykuł https://rocketfiles.com/articles/what-is-robocopy-in-windows
źródło