Robocopy และการกระจายตัว


5

ในขณะที่คัดลอกไฟล์จำนวนมากบ่อยครั้งที่จะใช้หลายเธรดพร้อมตัวเลือก RoboCopy (/ MT [: n]) สิ่งนี้สามารถทำให้เกิดการกระจายตัวของไดรฟ์ปลายทางได้หรือไม่ บางครั้งฉันใช้ Beyond เปรียบเทียบสำหรับการคัดลอกโครงสร้างไฟล์เพื่อใช้ประโยชน์สูงสุดจากเครือข่าย / แบนด์วิดท์ HDD นี่เป็นวิธีในการสร้างหลายเธรด ทั้งสองอย่างนี้สามารถทำให้เกิดการกระจายตัวของ?


ขึ้นอยู่กับขนาดของไฟล์ที่คุณคัดลอก หากคุณกำลังคัดลอกไฟล์ขนาดเล็กจำนวนมากมันเหมาะสมที่จะใช้การคัดลอกเธรด หากคุณกำลังคัดลอกไฟล์ขนาดใหญ่จำนวนมากคุณควรหลีกเลี่ยง ดังที่กล่าวไว้ว่าฉันไม่พบสิ่งใดในเว็บไซต์ Microsoft ที่มีรายละเอียดสวิตช์นี้ดังนั้นฉันจึงไม่ทราบว่าคุณจะพบข้อมูลเกี่ยวกับคำถามของคุณที่ไม่ได้เป็นการเก็งกำไรมากเพียงใด (แค่เตือนคุณ)
Breakthrough

ฉันเพิ่งทดสอบการคัดลอกรูปภาพขนาด 50K + ไปยังไดรฟ์ใหม่โดยใช้ตัวเลือก / MT (8 เธรด) และน่าประหลาดใจที่ไม่มีการแยกส่วน
user986363

คำตอบ:


2

หากคุณไม่แน่ใจคุณสามารถตรวจสอบไฟล์ที่คัดลอกได้หากไฟล์นั้นมีการแยกส่วนและหากใช่ในจำนวนแฟรกเมนต์

ในการตรวจสอบไฟล์คุณสามารถใช้ "Contig" โดย Microsoft / Mark Russinovich ซึ่งอนุญาตให้ตรวจสอบการแตกแฟรกเมนต์โดยใช้สวิตช์ -a

contig -a <filename>

http://technet.microsoft.com/en-us/sysinternals/bb897428.aspx


ขอบคุณ. มีเครื่องมืออื่นนอกเหนือจากตัวจัดเรียงข้อมูลเริ่มต้นเพื่อจัดเรียงไฟล์หรือไม่
sarat

1
Contig ถูกออกแบบมาเพื่อจัดระเบียบไฟล์และโฟลเดอร์บางอย่าง ฟังก์ชั่นการวิเคราะห์ชิ้นส่วนเป็นเพียงฟังก์ชันด้านข้าง
Robert

2

(ไม่ใช่คำตอบ แต่เป็นผู้ใช้ใหม่ดูเหมือนว่าฉันไม่สามารถแสดงความคิดเห็นโดยตรงกับคำตอบก่อนหน้านี้)

ในการตอบสนองต่อเพลง 2 ปีสำเนาที่มีหลายเธรดซึ่งไม่ได้จัดสรรพื้นที่ล่วงหน้าสามารถนำไปสู่การแยกส่วนอย่างรุนแรง

สถานการณ์นี้คือ: fileA เริ่มคัดลอกเพื่อบล็อก N บนดิสก์ fileB เริ่มคัดลอกเพื่อบล็อก N + 1 บนดิสก์ fileC เริ่มคัดลอกเพื่อบล็อก N + 2 บนดิสก์ fileA ต้องการบล็อกอื่นและคัดลอกไปที่ N + 3 fileB ต้องการบล็อกอื่นและคัดลอกไปที่ N + 4 และอื่น ๆ ... จนกระทั่งทุกไฟล์มีการแยกส่วนอย่างสมบูรณ์โดยไม่มีบล็อกสองอันต่อเนื่องกัน fileA จบลงด้วยการอยู่ในบล็อก N, N + 3, N + 5, N + 10, N + 13 มากกว่า N, N + 1, N + 2, N + 3, N + 4

ตกลงนั่นคือสุดยอดเล็กน้อย มันอาจไม่กระจัดกระจายอย่างสมบูรณ์ แต่มันแสดงให้เห็นถึงปัญหากับยูทิลิตี้การคัดลอกแบบมัลติเธรดที่ไม่ได้จัดสรรพื้นที่ล่วงหน้า ที่กล่าวว่าฉันเพิ่งลอง robocopy ที่มาพร้อมกับ Server 2008R2 เพื่อคัดลอกไฟล์จำนวนมากที่มีขนาดแตกต่างกันและดูเหมือนว่าจะไม่สร้างการแตกแฟรกเมนต์ส่วนเกิน (ทราบว่า robocopy รุ่นก่อนหน้านี้ทำให้เกิดการแตกแฟรกเมนต์มาก) จำเป็นต้องมีการทดสอบเพิ่มเติม


จากประสบการณ์ส่วนตัวฉันพบปัญหาการกระจายตัวในขณะที่ใช้ robocopy จากคอนโซลการกู้คืนของ Windows 10 ที่พยายามสำรองข้อมูลของฉันในฮาร์ดไดรฟ์ 1TB (ที่มี BitLocker) ลงในการสำรองข้อมูล 8TB robocopy the volume is too fragmented to complete this operationเริ่มขว้างปาข้อผิดพลาดที่
mlt

1

ไม่ควรทำให้เกิดการแตกแฟรกเมนต์ใด ๆ มากกว่าการดำเนินการคัดลอกเธรดเดี่ยวซึ่งจะค้นหาพื้นที่ว่างที่มีอยู่เป็นอันดับแรกจากนั้นดำเนินการต่อไปตามลำดับ

ไดรฟ์ใด ๆ ที่มีการอ่าน / เขียนสูงและไฟล์ที่มีขนาดใหญ่ขึ้นหรือมีขนาดใหญ่ควรมีการจัดระเบียบอย่างสม่ำเสมอเว้นแต่คุณจะใช้ระบบไฟล์ที่ป้องกันการแตกแฟรกเมนต์

หากคุณกังวลเกี่ยวกับการแตกแฟรกเมนต์คุณควรพิจารณาถึงประโยชน์ที่คุณจะได้รับจากการใช้มัลติเธรด (ประโยชน์มากสำหรับไฟล์จำนวนมากประโยชน์น้อยกว่าสำหรับไฟล์ที่มีขนาดใหญ่กว่าเล็กน้อย) เทียบกับประสิทธิภาพที่คุณอาจพบจากการแตกแฟรกเมนต์


0

ฉันเคยเห็นสิ่งนี้:

  • จัดรูปแบบ E: ใหม่เป็น FAT32 (รูปแบบ M: / FS: FAT32 / Q) ดังนั้นจึงไม่มีอะไรเกิดขึ้น
  • รายการ E: (dir / AE :) และไม่มีอะไรอยู่ในนั้น
  • คัดลอกไฟล์เดียวจาก D: ถึง E: โดยไม่ทำอะไรเลยจนกว่าจะสิ้นสุด
  • รายการ E: (dir / AE :) และมีไฟล์ดังกล่าวเท่านั้น
  • ดูการแตกแฟรกเมนต์ของ E: และมันแย่มากการเริ่มต้นไฟล์อยู่กลางพาร์ติชันและอยู่ในแฟรกเมนต์จำนวนมาก (มากกว่า 10)

ฉันเคยลอง robocopy มาแล้วและไม่ประสบความสำเร็จ

ถ้าฉันพยายามจัดเรียงข้อมูลหลังจากการคัดลอกไม่มีอะไรทำ

จะหลีกเลี่ยงได้อย่างไร ฉันได้รับโดยการทำขั้นตอนพิเศษบางอย่าง ... และใช้คำสั่ง XCOPY / J ...

ฉันได้รับโดยทำสิ่งนี้:

  • จัดรูปแบบ E: ใหม่เป็น FAT32 (รูปแบบ M: / FS: FAT32 / Q) ดังนั้นจึงไม่มีอะไรเกิดขึ้น
  • รายการ E: (dir / AE :) และไม่มีอะไรอยู่ในนั้น
  • คัดลอกไฟล์เดียวจาก D: ถึง E: โดยไม่ทำอะไรเลยจนถึงสิ้นสุด (XCOPY /JD:\TEMP\TheFile. ส่วนขยาย E: \ AAA) ใช่แล้วเปลี่ยนชื่อเป็น AAA ในเวลาเดียวกัน
  • เปลี่ยนชื่อกลับเป็นชื่อจริง (REN E: \ AAA TheFile. ส่วนขยาย)
  • รายการ E: (dir / AE :) และมีไฟล์ดังกล่าวเท่านั้น
  • ดูการแตกแฟรกเมนต์ของ E: และไฟล์เป็นเพียงแฟรกเมนต์เดียวไม่มีการแตกแฟรกเมนต์เลย

ฉันได้ลองกับ "คัดลอก" และ "robocopy" โดยไม่ยอมแพ้

ฉันลองกับ "XCOPY / J ... " แล้วก็ทำตาม !!!

ทำไม? ฉันไม่รู้ ... แต่อย่างน้อยก็กับ "XCOPY / J ... " และทำงานเมื่อเปลี่ยนชื่อ dest แล้ว !!!

ดูเหมือนว่า Windows กำลังทำสิ่งผิดปกติบางอย่างเมื่อชื่อปลายทางมีชื่อพิเศษบางอย่าง

หากต้องการดูสิ่งที่ฉันพูดถึงลองใช้พาร์ติชัน FAT32 4113MB เพื่อถือ pagefile.sys 4095MB !!! และพยายามที่จะมีเพียงหนึ่งชิ้น !!! ไม่มีทางทำตามปกติ !!! แต่เดี๋ยวก่อนถ้าจากคอนโซลคุณฟอร์แมตพาร์ติชันใหม่และใช้ XCOPY / J pagefile.sys E: AAA แล้วเปลี่ยนชื่อมัน ... มันยังคงอยู่ในส่วนเดียว !!!

หวังว่านี่จะช่วยคนอื่นได้!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.