जाहिरा तौर पर रोबोकॉपी विंडोज सर्वर 2016 डिडुप्लीकेशन को नहीं समझती है। क्या वॉल्यूम को दूषित किए बिना इसे काम करने का एक तरीका है?


13

परिदृश्य:

  • पुराने सर्वर 2008 R2 से नए सर्वर 2016 में एक सर्वर माइग्रेशन करना, इस सर्वर फॉल्ट गाइड का पालन करना: रोबोकॉपी का उपयोग करके फ़ाइल सर्वर माइग्रेशन

  • Robocopy पूरा होने के बाद, कॉपी किए गए वॉल्यूम के लिए सर्वर 2016 पर डिडुप्लीकेशन सक्षम करें, और फिर मैन्युअल रूप से डिडप्युलेटिंग शुरू करने के लिए PowerShell का उपयोग करें। कई घंटों के बाद यह लगभग 25% डिस्क स्थान को पूरा करता है और पुनर्प्राप्त करता है।

  • नए सर्वर के अंतिम चेक के रूप में, प्रारंभिक प्रतिलिपि में छूट गई किसी भी चीज़ को कॉपी करने के लिए फिर से रोबोकॉपी चलाएं।

.... लेकिन रोबोकॉपी (सर्वर 2016 से रन) डिडुप्लीकेशन को नहीं समझती है और इसलिए डिडुप्लीकेशन chunkstore को ट्रैश करने के लिए आगे बढ़ती है।

-------------------------------------------------------------------------------
   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

[......]

मैंने लॉग में इस मक्खी को देखने और पहचानने के बाद कि यह क्या हो रहा था, मैंने इसे क्षणों में निरस्त कर दिया। लेकिन नुकसान पहले से ही हो गया है, कटौती किए गए नए सर्वर पर डेटा को रोबोकॉपी द्वारा तुरंत भ्रष्ट कर दिया गया था क्योंकि यह \ System वॉल्यूम जानकारी के माध्यम से आया था। नए सर्वर ड्राइव विभाजन को सर्वर 2008 से फिर से फॉर्मेट और रिकॉप किया गया है।

क्या रोबोकॉपी का उपयोग करने का एक सुरक्षित तरीका है ताकि वह डुप्लीकेशन वॉल्यूम डेटा को न छू सके?

इसके अलावा, मुझे एक नई चिंता है .. अगर रोबोकॉपी एक डिडुप्लिकेटेड वॉल्यूम को नष्ट कर सकता है, तो एक डिसप्लिकेटेड वॉल्यूम के साथ और क्या उपयोग करना असुरक्षित है, जो इसके माध्यम से सही देखता है और अंतर्निहित डेटा को नष्ट कर सकता है जो केवल सर्वर द्वारा पहुंच योग्य होना चाहिए? (शायद एक अलग सवाल होना चाहिए ..)


5
आपको /MIRस्विच के साथ क्या होने की उम्मीद थी जो MIRror a directory tree (equivalent to /E plus /PURGEकहाँ है /PURGE :: delete dest files/dirs that no longer exist in source? "मिरर" का अर्थ है गंतव्य को स्रोत की प्रतिलिपि बनाना। रोबोकॉपी शक्तिशाली है ... और निश्चित रूप से हम जानते हैं कि इसका क्या मतलब है: महान शक्ति के साथ महान जिम्मेदारी आती है!
द्विविदक

"" सिस्टम वॉल्यूम जानकारी "सामान्य रूप से दुर्गम है और सभी कार्यक्रमों को सामान्य रूप से इसे एक्सेस करने से रोक दिया जाता है। किसी भी तरह से ऐसा नहीं होना चाहिए कि व्यवस्थापक कमांड प्रॉम्प्ट से चलने पर भी रोबोकॉपी वहां पहुंच सके। आइए इसे उसी सर्वर 2016 पर मैन्युअल रूप से एक्सेस करने का प्रयास करें: प्रारंभ -> कमांड प्रॉम्प्ट -> प्रशासक के रूप में चलाएं। सीडी \ सिस्टम वॉल्यूम जानकारी। प्रवेश निषेध है।
डेल महलको

यह सच है। मुझे यह भी बताना चाहिए था कि आपने /ZB :: use restartable mode; if access denied use Backup modeबैकअप मोड का उपयोग किया था, जिसमें पूरी तरह से बैकअप को बनाने के लिए "सामान्य रूप से" अपठनीय फ़ाइलों को पढ़ने में सक्षम होने के लिए अधिकांश अनुमतियों को हराया गया था। तो यह संयोजन था /Bऔर /MIRजो आपने किया था।
रोबोकॉपी

ग्रेग के शानदार जवाब के बाद - जब तक आप प्रवास समाप्त नहीं कर लेते तब तक चुनाव को छोड़ देना चाहिए।
टिम ब्रिघम

जवाबों:


16

System Volume Informationनिर्देशिका / एक्सडी स्विच का उपयोग बाहर रखा जाना चाहिए। संभवतः अन्य छिपी / सिस्टम निर्देशिका जैसे कि बाहर करने के लिए एक अच्छा विचार है $RECYCLE.BIN


5

दो कमांड लाइन स्विच जिनका उपयोग इसके लिए किया गया था: /MIRऔर /ZB। जैसा कि प्रलेखन ( robocopy /???) वर्णन करता है:

/ MIR :: MIRror एक निर्देशिका वृक्ष (/ E plus / PURGE के बराबर)।
/ ZB :: पुनरारंभ मोड का उपयोग करें; यदि पहुँच अस्वीकृत बैकअप मोड का उपयोग करें।

यह वह संयोजन है जो आपने इसमें किया था: /MIR(जब आप robocopyबिना तर्क के चलाते हैं, तो हटा देगा ) और "बैकअप मोड" पूरी तरह से बैकअप बनाने के लिए "सामान्य रूप से" अपठनीय फ़ाइलों को पढ़ने में सक्षम होने के लिए अधिकांश अनुमतियों को हरा देता है।

"सहायता" विवरण में "बैकअप मोड" विशेष रूप से अपरिभाषित है। आपको पता चला है कि विंडोज CreateFileएपीआई नामक एक ध्वज का समर्थन करता है FILE_FLAG_BACKUP_SEMANTICS, जो एक निश्चित पहुंच अधिकार के साथ संयोजन में SE_BACKUP_NAME(जो कि डिफ़ॉल्ट रूप से प्रशासक समूह को दिया जाता है - बैकअप ऑपरेटर समूह, डुह) सामान्य फ़ाइल सुरक्षा को बायपास करता है।

तुम्हें पता नहीं था? तब आप यह भी नहीं जान सकते हैं कि रोबोकॉपी मूल रूप से विंडोज का हिस्सा नहीं था - यह "विंडोज रिसोर्स किट" नामक एक सप्लीमेंट का हिस्सा था, जिसे मुख्य रूप से प्रोग्रामर और हार्ड-कोर sysadmins द्वारा दिन में वापस इस्तेमाल किया गया था, और हालांकि विंडोज सर्वर 2008 में विंडोज वितरण में वापस दादाजी था, इसे कभी भी कोई ध्यान नहीं मिला - अतिरिक्त प्रदर्शन विकल्पों को छोड़कर, वूट! विशेष रूप से, यूआई या उपयोगिता के लिए समर्पित कार्यक्रम प्रबंधकों का कोई ध्यान नहीं है । तो यह एक कच्ची शक्ति है जिसका उपयोग किया जा सकता है - या इसका दुरुपयोग किया जा सकता है! - अपनी जिम्मेदारी पर।

(अंगूठे का एक अच्छा नियम: कमांड लाइन विकल्पों का उपयोग न करें जिन्हें आप वास्तव में नहीं समझते हैं।)

ऐसी जानकारी जो आप "बैकअप मोड" फ़ाइल एक्सेस के बारे में जानना चाहते हैं:

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


1
BTW /Z"रिस्टेबल मोड" के बारे में खतरनाक (AFAIK) कुछ भी नहीं है । यह Bसमस्याग्रस्त है ...
davidbak

क्या प्रत्येक डोमेन निर्देशिका में अपने अलग मालिक और सुरक्षा डेटा के साथ सर्वर डोमेन खाते दाखिल कर सकते हैं, पूरी तरह से और पूरी तरह से कॉपी (/ COPYALL या / COPY: DATSOU) व्यवस्थापक खाते का उपयोग किए बिना, / B का उपयोग किए बिना?
डेल महाल्को

@ डेलमेको - टीबीएच मुझे नहीं पता। हालाँकि, मैं कुछ दशकों से विंडोज़ की प्रोग्रामिंग कर रहा हूँ, ऐसे पहलू हैं जिनसे मैं बचता हूँ, और इसलिए मैं केवल आवश्यक होने पर मुझे अवांछित पाने के लिए Windows सुरक्षा के बारे में पर्याप्त जानता हूँ ... मैं उस तरह का आदमी हूँ जो हमेशा एक रचना के रूप में लॉग इन किया जाता है प्रशासक के सदस्य, मैं समूह नीति में जाता हूं और सब कुछ पूरी तरह से लागू कर देता हूं, आदि शायद कोई और जानता है?
davidbak

1

यहां दिए गए अन्य उत्तरों का उपयोग करते हुए अनुवर्ती परिणाम दिए गए हैं, और एक गंतव्य स्थान के साथ परीक्षण किया गया है। ( मेटा: मुझे नहीं पता कि क्या मुझे इसे अपने मूल प्रश्न के निचले हिस्से में एक संपादन के रूप में शामिल किया जाना चाहिए। )

रोबोकॉपी कमांड लाइन अंत में इस तरह दिखाई देती है:

robocopy \\OLD-SERVER\e$\ \\NEW-SERVER\e$\ /MIR /COPYALL /DCOPY:DAT /NP /Z /B /J /SL /MT:128 /R:1 /W:10 /LOG+:robocopy-log.txt /TEE /XD "Recycler" "Recycled" "$Recycle.bin" "System Volume Information" /XF "pagefile.sys" "swapfile.sys" "hiberfil.sys"

विकल्प और उद्देश्य:

  • / MIR - गंतव्य पर मिरर स्रोत, और फ़ाइलों और निर्देशिकाओं को हटा दें, यदि वे स्रोत पर मौजूद नहीं हैं
  • / COPYALL - सभी फ़ाइल जानकारी की प्रतिलिपि बनाएँ: डेटा, विशेषताएँ और टाइमस्टैम्प, NTFS सुरक्षा ACLs, स्वामी जानकारी, ऑडिटिंग जानकारी (डिफ़ॉल्ट रूप से सभी शामिल नहीं)
  • / DCOPY: DAT - सभी निर्देशिका जानकारी की प्रतिलिपि बनाएँ - डेटा, विशेषताएँ, टाइमस्टैम्प (मूल निर्माण टाइमस्टैम्प को डिफ़ॉल्ट रूप से कॉपी किया जाता है; आम तौर पर यह उस तिथि में परिवर्तन होता है जो इसे Robocopy द्वारा कॉपी किया गया था)
  • / NP - प्रगति प्रदर्शित न करें
  • / Z - पुनरारंभ मोड का उपयोग करें
  • / B - बैकअप मोड में फ़ाइलों की प्रतिलिपि बनाएँ (मुझे नहीं पता कि यह उपयोगकर्ता निर्देशिकाओं के लिए आवश्यक है, जहां वे अनन्य स्वामी हैं, व्यवस्थापक को छोड़कर। यह विकल्प "सिस्टम वॉल्यूम जानकारी" को बाहर किए बिना एक गंतव्य स्थान की मात्रा को नष्ट कर देगा)
  • / जे - असंबद्ध I / O का उपयोग करते हुए कॉपी करें (बड़ी मल्टी-गिग फ़ाइलों की तेजी से प्रतिलिपि)
  • / SL - लक्ष्य के बजाय प्रतीकात्मक लिंक कॉपी करें
  • / MT: 128 - अधिकतम सीपीयू थ्रेड्स (10 गीगाबिट ईथरनेट और कई सीपीयू कोर का बेहतर उपयोग)
  • / R: 1 - यदि फ़ाइल अभिगम त्रुटि, 1 बार पुनः प्रयास करें
  • / W: 10 - यदि फ़ाइल की त्रुटि है, तो पुनः प्रयास करने से पहले 10 सेकंड प्रतीक्षा करें
  • / Log + - टेक्स्ट फ़ाइल में आउटपुट लॉग करें, लॉग फ़ाइल पहले से मौजूद है तो अपेंड करें
  • / टीईई - स्क्रीन और लॉग फ़ाइल के लिए परिणाम प्रिंट करें
  • / XD - निर्देशिकाओं को छोड़ दें, और उनके भीतर सब कुछ। उनमें रिक्त स्थान वाले नामों को उद्धरणों में संलग्न किया जाना चाहिए: "रिसाइकलर" "पुनर्नवीनीकरण" "$ रीसायकल।बिन" "सिस्टम वॉल्यूम जानकारी"
  • / XF - फ़ाइलों को छोड़ दें: वर्चुअल मेमोरी और हाइबरनेशन फ़ाइलें यदि वे स्रोत पर मौजूद हों: "pagefile.sys" "swapfile.sys" "hiberfil.sys"

फ़ाइनल री-रन:

            Total    Copied   Skipped  Mismatch    FAILED    Extras 
 Dirs :    158189    153466    158186         0         0         0
Files :   1116292         0   1116296         0         0         0
Bytes :   1.350 t         0   1.350 t         0         0         0
Times :   0:01:04   0:00:00                       0:00:00   0:01:04

डुप्लीकेशन रिपोर्ट

,

इसके अलावा, मैं Microsoft को बग रिपोर्ट करने के लिए उचित चैनल नहीं जानता, लेकिन मैंने इस चर्चा को Microsoft के डुप्लीकेशन डॉक्यूमेंटेशन के निचले भाग में, उनके विंडोज आईटी प्रो सेंटर की वेबसाइट पर जोड़ा है :

https://docs.microsoft.com/en-us/windows-server/storage/data-deduplication/overview


/MT:128बल्कि उच्च लगता है; क्या आपको पता चला कि इसे स्थापित करने के लिए वास्तव में प्रभावी था कि उच्च (और कम मूल्य के अतीत में जाने के लिए प्रतिगामी नहीं)?
दाविदबक

1
PS मुझे कमांड लाइन में काम करना बहुत पसंद है। इस सटीक कार्यक्षमता को प्राप्त करने के लिए आपको खराब टैब्ड डायलॉग बॉक्स की कल्पना करनी होगी। और उन UI में से कोई भी "सेव" मोड नहीं है, इसलिए आपको इसे हर बार करना होगा!
दाविदबक

मुझे नहीं पता कि वे अंत उपयोगकर्ता को थ्रेडिंग नियंत्रण को उजागर करने के लिए क्यों परेशान करते हैं। अंत में यह 1.5TB डेटा के माध्यम से एक मिनट में कोई परिवर्तन नहीं दिखाता है, इसलिए अधिकतम थ्रेड का उपयोग करके जो भी "प्रभाव" होता है, वह कोई फर्क नहीं पड़ता है। यह प्रदर्शन मेरे लिए काफी स्वीकार्य है।
डेल महाल्को

@ डेलमैल्को - मैंने व्यक्तिगत रूप से इसे अधिकतम थ्रेड को नियंत्रित करने में सक्षम होने के लिए उपयोगी पाया। अगर मेरे पास कॉपी करने के लिए 10 फाइलें हैं जहां प्रत्येक को MT सेट करने में कुछ घंटे लगते हैं: 2 मुझे एक समय में सक्रिय होने के लिए केवल 2 फाइल कॉपी थ्रेड्स की अनुमति देता है। अविश्वसनीय या जटिल बुनियादी ढांचे पर जहां रुकावट एमटी: 2 सुनिश्चित करता है कि केवल 2 फ़ाइल प्रतियां 10 के बजाय गर्भपात हो जाएंगी यदि मेरे पास एमटी: 10 थी (एक ही समय में सभी फाइल कॉपी)। इस स्थिति में, यदि 10 में से अंतिम 2 फ़ाइलों में व्यवधान उत्पन्न होता है, तो उन सभी के बजाय उन्हें पुनः आरंभ करने की आवश्यकता होगी (अन्य 8 पहले से ही कॉपी किए गए)।
रॉड

अब यह एक लंबा समय हो गया है जब मैंने आखिरी बार रोबोकॉपी का इस्तेमाल किया था, लेकिन मुझे याद है कि सीमित संख्या में थ्रेड्स दो सर्वरों के बीच नेटवर्क लिंक को संतृप्त नहीं करते हैं, लेकिन अधिक थ्रेड्स करते हैं। और यह वास्तव में फोकस होना चाहिए। अधिकतम थ्रेड निर्दिष्ट करना अस्वाभाविक है, लेकिन "धीरे-धीरे बैंडविड्थ कॉपी पार होने तक अधिक कॉपी थ्रेड्स जोड़ें, और यदि थ्रेशोल्ड के ऊपर, कॉपी थ्रेड के रूप में अधिक थ्रेड्स न जोड़ें" वास्तव में उपयोगी है और हमारी दोनों जरूरतों को पूरा करेगा।
दले महलको

0

मुझे लगता है कि आपको नहीं पता है कि यह क्या है रोबोकॉपी / रोबोकॉपी - यह विंडोज कमांड लाइन के लिए एक मजबूत फाइल कॉपी कमांड है जो आपको फाइलों, निर्देशिकाओं और यहां तक ​​कि एक स्थान से दूसरे स्थान तक ड्राइव करने की अनुमति देता है। यदि आप अधिक जानकारी चाहते हैं तो इस लेख को देखें https://rocketfiles.com/articles/what-is-robocopy-in-windows


2
मुझे यकीन नहीं है कि यह सवाल का स्पष्ट जवाब है। यह उत्तर डिडुप्लीकेशन समस्या से कैसे संबंधित है?
टोड विलकॉक्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.