ฉันควรจัดเรียงฮาร์ดไดรฟ์ที่ทำงานบนเครื่องเสมือนจริงหรือไม่


18

ฉันรู้ว่าไม่มีจุด (อันที่จริงมันเป็นความคิดที่ไม่ดี) ในการเรียกใช้ Defrag บน SSD สิ่งที่เกี่ยวกับเครื่องเสมือนที่ทำงานบน SSD ฉันควรจัดเรียงข้อมูลฮาร์ดไดรฟ์เนื่องจากใช้งานฮาร์ดไดรฟ์ในลักษณะเดียวกันหรือไม่


ไม่ทราบว่าทำไมจึงเป็นเช่นนั้น แต่อาจมีความเกี่ยวข้อง: stackoverflow.com/questions/281527/ …
Der Hochstapler

VSS อาจทำให้การจัดเก็บข้อมูลเพิ่มขึ้นหากคุณไม่ได้ใช้ตัวจัดระเบียบข้อมูล VSS

เฉพาะในกรณีที่ตัวเลือกการจัดเรียงข้อมูลเป็นส่วนหนึ่งของซอฟต์แวร์ระบบเสมือนจริงของคุณ
qasdfdsaq

คำตอบ:


14

ฉันทำการ Defrag VHD ของฉัน แต่ด้วยเหตุผลของพื้นที่ไม่ใช่เวลา:

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


ปัจจัยด้านพื้นที่อาจมีความเกี่ยวข้องเนื่องจาก VM อยู่บน SSD แต่โดยทั่วไปการจัดเรียงข้อมูลบน SSD ไม่จำเป็นสำหรับเหตุผลด้านประสิทธิภาพและไม่สนับสนุน
Bigbio2002

3

ไม่จำเป็นต้องทำการ Defrag SSD ฮาร์ดไดรฟ์ปกติจะต้องหมุนเพื่อหาไฟล์ (ส่วนต่าง ๆ ) SSD เปรียบได้กับ RAM ไฟล์ทั้งหมดสามารถเข้าถึงได้ด้วยความล่าช้าเดียวกัน

รัฐ Wikipediaว่า "ประสิทธิภาพการอ่านไม่เปลี่ยนแปลงตามที่จัดเก็บข้อมูลบน SSD"


โปรดระบุลิงก์ไปยังบทความWikipedia
wizlog

1
@wizlog Voila;)
Simon Verbeke

2

นี่เป็นความเห็นของฉันเท่านั้นฉันไม่มีผลการทดสอบสำรอง นี่คือการประมาณคร่าวๆว่าจะเกิดอะไรขึ้น:

ระบบปฏิบัติการจริง:

  1. แอปพลิเคชันขอข้อมูล X (เร็ว)
  2. ระบบปฏิบัติการถามดิสก์ไดรเวอร์สำหรับข้อมูล X (เร็ว)
  3. ฟิสิคัลดิสก์ดึงข้อมูล X และส่งคืนไปยัง OS ( ช้าถ้าแยกส่วน )

นี่จะเป็นเชนคำสั่งเทียบเท่าใน VM:

  1. แอปพลิเคชัน VM ขอข้อมูล X (เร็ว)
  2. VM OS ถามข้อมูล X (เร็ว)
  3. โฮสต์ VM ขอให้ระบบปฏิบัติการจริงรับข้อมูล X ที่เก็บไว้ในไฟล์ดิสก์เสมือน (เร็ว)
  4. ระบบปฏิบัติการจริงขอให้ไดรเวอร์ดิสก์รับข้อมูล X (เร็ว)
  5. ฟิสิคัลดิสก์ดึงข้อมูล X และส่งคืนไปยัง OS ( ช้าถ้าแยกส่วน )

อย่างที่คุณเห็นในทั้งสองกรณีการแตกแฟรกเมนต์จะกลายเป็นปัญหาในขั้นตอนของการดำเนินการซึ่งฮาร์ดไดรฟ์ทางกายภาพพยายามอ่านข้อมูลเท่านั้นและที่เกิดขึ้นในระบบปฏิบัติการจริงนอกบริบทของ VM ก่อนหน้านั้นทุกอย่างน่าจะเกิดขึ้นในความทรงจำ

โดยสรุปเนื่องจากเรารู้ว่า SSD ไม่ได้รับผลกระทบจากการแตกแฟรกเมนต์ในระบบปฏิบัติการจริงและปัญหาของการแตกแฟรกเมนต์ใน VM อาจเกิดขึ้นได้ในขั้นตอนสุดท้ายของการดำเนินการทางกายภาพเท่านั้นฉันจึงคาดเดาว่าการจัดเรียงข้อมูล ไฟล์ดิสก์เสมือนในระบบปฏิบัติการหลักของคุณจะไม่ปรับปรุงประสิทธิภาพใน SSD ในขณะที่เป็นอันตราย / ไร้ประโยชน์เช่นเดียวกับการจัดระเบียบระบบปฏิบัติการจริงของคุณ

แก้ไข: และถ้าถูกต้องก็เป็นเหตุผลที่ดีที่จะใส่ VM ลงใน SSD! บน HDD การแตกแฟรกเมนต์ในทุกขั้นตอน (เกสต์ OS, ไฟล์ดิสก์เสมือนจริง, OS จริง) จะแยกเป็นเส้นตรงและทำให้เกิดการแตกแฟรกเมนต์ในขั้นตอนฟิสิคัลดิสก์


2

ไม่ว่าเครื่องเสมือนของคุณกำลังเข้าถึงข้อมูลที่เก็บไว้ใน HDD แม่เหล็กดั้งเดิมหรืออิเล็กทรอนิกส์ SSD ไฟล์ Windows NTFS & การกระจายตัวของพื้นที่ว่างจะทำให้ความเร็วในการเข้าถึงแอปพลิเคชันที่ร้องขอข้อมูลช้าลง ไฟล์ NTFS และการกระจายตัวของพื้นที่ว่างเกิดขึ้นบ่อยกว่าที่คุณคาดเดา มันมีโอกาสที่จะเกิดขึ้นทันทีที่คุณติดตั้งระบบปฏิบัติการ มันสามารถเกิดขึ้นได้เมื่อคุณติดตั้งแอพพลิเคชั่นหรืออัปเดตระบบเข้าถึงอินเทอร์เน็ตดาวน์โหลดและบันทึกภาพถ่ายสร้างอีเมลเอกสารสำนักงาน ฯลฯ ... มันเป็นเหตุการณ์ปกติและพฤติกรรมของระบบคอมพิวเตอร์ แต่มีผลกระทบในทางลบมากกว่า แอปพลิเคชันและประสิทธิภาพของระบบทั้งหมด เมื่อการแตกแฟรกเมนต์เกิดขึ้นระบบคอมพิวเตอร์และที่จัดเก็บข้อมูลพื้นฐานกำลังทำงานมากกว่าที่จำเป็น คำขอ I / O แต่ละรายการใช้เวลาในการวัด แม้ในสภาพแวดล้อม SSD ไม่มีสิ่งเช่นคำขอ I / O "ทันที" เมื่อใดก็ตามที่แอปพลิเคชันร้องขอให้อ่านหรือเขียนข้อมูลและคำขอนั้นถูกแบ่งออกเป็นคำขอ I / O เพิ่มเติมที่ทำให้เกิดงานมากขึ้น งานพิเศษนี้ทำให้เกิดความล่าช้าในเวลานั้น

ดิสก์ไดรฟ์ได้รับเร็วกว่าปี แต่มี CPU ในความเป็นจริงแล้วช่องว่างระหว่างความแตกต่างของความเร็วระหว่างฮาร์ดดิสก์และ CPU นั้นกว้างขึ้นจริง ซึ่งหมายความว่าแอปพลิเคชันสามารถได้รับรอบ CPU มากมาย แต่พวกเขายังคงหิวโหยเพื่อรับข้อมูลจากที่เก็บข้อมูล ยิ่งไปกว่านั้นปริมาณของข้อมูลที่จัดเก็บเพิ่มขึ้นอย่างมาก แค่คิดถึงภาพถ่ายดิจิทัลทั้งหมดที่ถ่ายและแชร์ในช่วงวันหยุด ภาพถ่ายแต่ละภาพมีขนาดประมาณ 1MB ตอนนี้มีขนาดเกิน 15MB ต่อรูปและบางรูปถ่ายเกินขนาดนั้น การตัดต่อวิดีโอและการเรนเดอร์และการจัดเก็บภาพยนตร์ดิจิทัลก็เป็นที่นิยมเช่นกันและเนื่องจากแอปพลิเคชันผลลัพธ์กำลังจัดการข้อมูลหลายร้อยกิกะไบต์ ด้วยขนาดดิสก์คลัสเตอร์ทั่วไป 4k ไฟล์ขนาด 15MB สามารถแยกส่วนออกเป็นส่วนขยายได้เกือบ 4,000 รายการ นี่หมายถึงพิเศษ 4 คำขอดิสก์ I / O 000 รายการจำเป็นต้องใช้ในการอ่านหรือเขียนไฟล์ ไม่ว่าจะใช้หน่วยความจำประเภทใดก็จะใช้เวลาในการดำเนินการนานกว่า

ตำแหน่งทางกายภาพของข้อมูลบน SSD นั้นไม่สำคัญว่าจะเหมือนกับ HDD แม่เหล็กทั่วไป ด้วย SSD ไม่มีเวลาแฝงในการหมุนหรือการหาเวลาในการต่อสู้ ผู้เชี่ยวชาญหลายคนคิดว่าการแยกส่วนนั้นไม่เป็นปัญหาอีกต่อไป แต่ความเร็วในการเข้าถึงข้อมูลแอปพลิเคชันไม่ได้ถูกกำหนดไว้ในเงื่อนไขเหล่านั้น คำขอ I / O แต่ละรายการและทุกครั้งที่ดำเนินการใช้เวลาที่วัดได้ SSD นั้นเร็ว แต่ก็ไม่ได้รวดเร็ว ระบบไฟล์ Windows NTFS ไม่ทำงานแตกต่างกันเพราะที่เก็บข้อมูลอ้างอิงเป็น SSD เทียบกับ HDD และดังนั้นจึงยังคงมีการแยกส่วน การลด I / O ที่ไม่จำเป็นโดยการป้องกันและกำจัดการแตกแฟรกเมนต์จะลดจำนวนการร้องขอ I / O และทำให้ความเร็วในการตอบสนองข้อมูลแอพพลิเคชั่นเร็วขึ้นและปรับปรุงอายุการใช้งานโดยรวมของ SSD ในสาระสำคัญ,

นอกจากนี้ SSD ยังต้องการให้ลบข้อมูลเก่าก่อนที่จะมีการเขียนข้อมูลใหม่มากกว่าที่จะเขียนทับข้อมูลเก่าเช่นเดียวกับ HDD สิ่งนี้จะเพิ่มการสึกหรอและฉีกขาดเป็นสองเท่าและอาจทำให้เกิดปัญหาสำคัญกับประสิทธิภาพความเร็วและอายุการใช้งานของ SSD ผู้ผลิต SSD ส่วนใหญ่มีเทคโนโลยีการปรับระดับการสึกหรอที่ซับซ้อนมากเพื่อช่วยในเรื่องนี้ ปัญหาหลักคือการลดความเร็วในการเขียนเนื่องจากการกระจายตัวของพื้นที่ว่าง พื้นที่ว่างขนาดเล็กที่กระจัดกระจายไปทั่ว SSD ทำให้ระบบไฟล์ NTFS เขียนไฟล์ในส่วนที่กระจัดกระจายไปยังพื้นที่ว่างขนาดเล็กที่มีอยู่ นี่เป็นผลของการก่อให้เกิดการรับส่งข้อมูล I / O แบบสุ่มที่ช้ากว่าการดำเนินการตามลำดับ

ฉันมีผลลัพธ์มาตรฐานเพื่อสำรองข้อมูลนี้ หากคุณต้องการโพสต์ความคิดเห็นขอผลลัพธ์เหล่านี้และฉันยินดีที่จะแบ่งปันกับคุณ


Howard Butler คุณยังใหม่ต่อเว็บไซต์นี้ยินดีต้อนรับ โดยทั่วไปไม่แนะนำให้เผยแพร่ข้อมูลส่วนตัวทางอินเทอร์เน็ต
wizlog

@wizlog ไม่มีอะไรผิดปกติในการโพสต์ข้อมูลส่วนบุคคลบนอินเทอร์เน็ตหากข้อมูลนั้นเป็นของคุณเอง อย่างไรก็ตามสำหรับจุดประสงค์ใน StackExchange การโพสต์ข้อมูลผู้ติดต่อของคุณหรือ 'ลายเซ็น' ในคำตอบนั้นซ้ำซ้อน ผู้ใช้สามารถคลิกผ่านไปยังโปรไฟล์ของคุณสำหรับข้อมูลเพิ่มเติมหากต้องการ
iglvzx

@iglvzx ฉันเป็นเพียงการเขียนแสดงความคิดเห็นที่เป็นหลักจะแนะนำสิ่งเดียวกัน ... ตามคำแนะนำนี้คำตอบ
wizlog

2

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

เครื่องเสมือนที่ใช้ Windows เป็นระบบปฏิบัติการการแตกแฟรกเมนต์จะยังคงเกิดขึ้นและเอฟเฟกต์รวมของทราฟฟิก I / O พิเศษจะช่วยลดความเร็วและประสิทธิภาพของระบบเกสท์ไม่เพียง แต่กับโฮสต์เท่านั้น ทั้ง Microsoft และ VMware แนะนำความจำเป็นในการแยกส่วนที่อยู่ระดับแขก

นี่คือเหตุผล ...

  1. แอปพลิเคชันขอข้อมูล X

  2. คำขอถูกประมวลผลโดย NTFS.sys

  3. แอ็ตทริบิวต์ไฟล์ถูกตรวจสอบ ($ MFT) และหากข้อมูลไม่ได้อยู่ในขอบเขตเดียว (แฟรกเมนต์) ดังนั้นคำขอ I / O เพิ่มเติมจะถูกสร้างขึ้นสำหรับแต่ละขอบเขต / แฟรกเมนต์เพื่อตอบสนองคำขอข้อมูลต้นฉบับ

  4. คำขอเหล่านี้แต่ละรายการจะถูกส่งไปยังไดรเวอร์หน่วยเก็บข้อมูลดิสก์

  5. เมื่อข้อมูลถูกเรียกคืนข้อมูลจะถูกส่งกลับไปยังสแต็กไปยังผู้ใช้ / แอปพลิเคชัน

เครื่องเสมือน Windows แต่ละเครื่องกำลังส่งทราฟฟิก I / O ประเภทนี้ไปยังระบบโฮสต์ หากโครงสร้างระบบไฟล์มีการแตกแฟรกเมนต์ที่ระดับเครื่อง Guest / Virtual ดังนั้นสิ่งนี้จะแปลเป็นทราฟฟิก I / O เพิ่มเติมและไม่จำเป็นโดยโฮสต์จะต้องจัดการและทำแบ็กเอนด์หน่วยเก็บข้อมูล สิ่งนี้จะได้รับการทบต้นเพิ่มเติมเมื่อคุณเพิ่มเครื่องเสมือนมากขึ้นเรื่อย ๆ ในความเป็นจริงคุณสามารถมีการแตกแฟรกเมนต์ภายในการแตกแฟรกเมนต์ที่ระดับระบบไฟล์โฮสต์

ไม่ว่าข้อมูลจะถูกจัดเก็บใน SSD หรือ HDD แบบดั้งเดิมหากคุณใช้ Windows ระบบไฟล์ NTFS จะแยกส่วนและดังนั้นคุณจะไม่ประสบความสำเร็จในการผลิตความเร็วและปริมาณงานที่ได้รับเนื่องจากไฟล์ NTFS และการกระจายตัวของพื้นที่ว่าง เอฟเฟกต์สามารถวัดได้ผ่าน PerfMon โดยดูที่ความยาวคิวการอ่านดิสก์เฉลี่ยความยาวคิวการเขียนเฉลี่ยและที่สำคัญที่สุดคือแยก IO / Sec


1

เริ่มต้นด้วย Windows Server 2008 และ Windows Vista ให้ระวังงาน defrag ตามกำหนดการที่เป็นค่าเริ่มต้นของ Windows

มันสามารถปิดการใช้งานด้วย: schtasks /change / tn “microsoft\windows\defrag\ScheduledDefrag” /disable

หรือใช้ PowerShell:

Get-ScheduledTask ScheduledDefrag | Disable-ScheduledTask

แยกจาก: http://www.sysadmit.com/2015/10/vmware-y-gpo-defrag-windows.html


0

ฉันเพิ่งจัดระเบียบ VMLite XPMode VM โดยใช้ windows defrag โฮสต์บน 240Gb INTEL SSDSC2CW240A3

ขนาด Defrag VM ล่วงหน้าบนโฮสต์ - 7.83Gb (ใช้พื้นที่บน C: บน VM, 5.81Gb จาก 121Gb)

โพสต์ defrag - 9.86Gb (ใช้พื้นที่บน C: บน VM, 5.80Gb จาก 121Gb)

ไม่ใช่ผลลัพธ์ที่ฉันคาดหวังและฉันได้กู้คืนรุ่นก่อนการจัดเรียงข้อมูลล่วงหน้า


-1

ไม่ไม่ได้จริงๆ มีสิ่งต่าง ๆ เช่น "Hyperfast" โดย Diskeeper แต่ฉันไม่รู้ว่าเทคโนโลยีเหล่านี้มีประสิทธิภาพเพียงใด (อาจเป็นเพียงการริพเพื่อพวกเขาจะไม่ตกตลาดหลังจาก SSD จะกลายเป็นกระแสหลัก)


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