เครื่องเสมือนจริงและ TRIM


18

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

คำตอบ:


10

Virtualbox รองรับ TRIM ตั้งแต่รุ่น 4.2

  • ที่เก็บข้อมูล: รองรับการทิ้งบล็อกภาพที่ไม่ได้ใช้ผ่าน TRIM สำหรับ SATA และ IDE และ UNMAP สำหรับ SCSI เมื่อใช้ภาพ VDI

คุณจะต้องใช้--nonrotational onและ--discard onตัวเลือก :

  • --discard

    เปิดใช้งานคุณสมบัติการทิ้งอัตโนมัติสำหรับฮาร์ดดิสก์เสมือน สิ่งนี้ระบุว่าอิมเมจ VDI จะหดลงเพื่อตอบสนองคำสั่ง trim จาก guest OS ต้องเป็นไปตามข้อกำหนดต่อไปนี้:

    • รูปแบบดิสก์ต้องเป็น VDI
    • ขนาดของพื้นที่เคลียร์ต้องมีอย่างน้อย 1 MB
    • Oracle VM VirtualBox จะตัดแต่งบล็อกทั้งหมด 1 MB เท่านั้น VDIs นั้นถูกจัดเป็นบล็อกขนาด 1 MB ดังนั้นจะใช้งานได้หากพื้นที่ที่ถูกตัดแต่งนั้นมีบล็อกที่ต่อเนื่องกันอย่างน้อย 1 MB ที่ขอบเขต 1 MB บน Windows การดีแฟรกเมนต์เป็นครั้งคราวด้วยdefrag.exe /Dหรือบน Linux ที่ใช้btrfs filesystem defragเป็นงาน cron แบ็คกราวน์อาจเป็นประโยชน์

ข้อมูลเพิ่มเติมสามารถพบได้ใน


Hyper-V ยังสามารถย่อขนาดรูปภาพ VHD และ VHDX

ใช้กรณี

  • ...
  • Consumer VHD ที่เมาท์บน SAN ที่ถูกจัดเตรียมแบบ thin:

    VHD นั้นเริ่มต้นด้วยการติดตั้งบนพื้นต่ำสุดของสภาพแวดล้อมที่จัดเตรียมแบบบาง ๆ เมื่อไฟล์ถูกเก็บไว้ใน VHD พื้นที่เก็บข้อมูลของ VHD จะเพิ่มขึ้นเป็นทวีคูณของแผ่นพื้น เมื่อไฟล์ถูกลบใน VHD Hyper-V จะเรียก File_TRIM ไปยัง SAN ที่จัดเตรียมแบบบาง ๆ หาก TRIM นั้นมีขนาดใหญ่กว่า SLAB ที่มีความละเอียดเล็ก ๆ ในตอนนี้ SAN สามารถลบ SLAB ออกไปและลดการปล่อย VHD บน SAN นั้น

หาก VHD นั้นอาศัยอยู่บนเซิร์ฟเวอร์ที่ใช้ Windows 8 เครื่องมือเพิ่มประสิทธิภาพการจัดเก็บจะส่ง TRIMs เพื่อลดพื้นที่การปล่อย VHD จากภายใน VHD ที่ติดตั้ง

API ใหม่อนุญาตให้แอปส่งคำแนะนำ "TRIM และ Unmap" ไปยังสื่อเก็บข้อมูล

ดูสิ่งนี้ด้วย


VMware Workstation 10อ้างว่าสนับสนุน SSD passthrough

  • SSD Pass-through Windows 8 สามารถตรวจจับได้เมื่อเรียกใช้จากไดรฟ์โซลิดสเตต (SSD) และปรับแต่งสำหรับฮาร์ดแวร์นี้ ในเวิร์กสเตชัน 10 ระบบปฏิบัติการของแขกจะสามารถตรวจจับได้เมื่อเครื่องเสมือนไฟล์ดิสก์ถูกจัดเก็บไว้ในไดรฟ์ SSD และระบบปฏิบัติการสามารถทำการปรับให้เหมาะสมแบบเดียวกันเมื่อทำงานในเครื่องเสมือน

บันทึกย่อประจำรุ่นของ VMware Workstation 10.0

ที่กล่าวถึงในข้อกำหนดของดิสก์ไดรฟ์ของ VMWare Workstation Pro สำหรับระบบโฮสต์ - ไดรฟ์ Solid-State :

หากเครื่องโฮสต์ของคุณมีโซลิดสเตทไดรฟ์ (SSD) โฮสต์จะแจ้งให้แขกทราบถึงระบบปฏิบัติการของแขกที่ใช้งาน SSD

สิ่งนี้ทำให้ระบบปฏิบัติการของแขกสามารถปรับพฤติกรรมให้เหมาะสมได้ วิธีที่เครื่องเสมือนรู้จัก SSD และใช้ข้อมูลนี้ขึ้นอยู่กับระบบปฏิบัติการของแขกและประเภทดิสก์ของดิสก์เสมือน (SCSI, SATA หรือ IDE)

แต่จากข้อความดูเหมือนว่าคำสั่ง TRIM จะถูกส่งผ่านไปยังฟิสิคัล SSD พื้นฐานแทนการลดขนาดอิมเมจ VMDK

ผลิตภัณฑ์ VMware อื่น ๆ เช่น vSphere และESXiยังรองรับ TRIM แต่ก็ยังไม่ชัดเจนว่าจะใช้เพื่อย่อขนาดรูปภาพหรือไม่

ถาม VMware รองรับ UNMAP โดยตรงจาก Guest OS ใน vSphere 6.0 หรือไม่

ใช่. UNMAPs ที่ออกโดยตรงจาก Guest OS เพื่อเรียกคืนพื้นที่ได้รับการสนับสนุนใน vSphere 6.0

ถามสิ่งที่จำเป็นต้องมีสำหรับ UNMAP เพื่อเรียกใช้คืออะไร?

มีข้อกำหนดเบื้องต้นจำนวนหนึ่งซึ่งต้องปฏิบัติตาม เหล่านี้คือ:

  • VMDK ต้องถูกจัดเตรียมแบบบาง
  • ฮาร์ดแวร์เครื่องเสมือนต้องเป็น 11 (ESXi 6.0)
  • EnableBlockDelete การตั้งค่าขั้นสูงจะต้องตั้งค่าเป็น 1
  • Guest OS จะต้องสามารถระบุดิสก์ได้บาง ๆ (Windows 2012 [อัพเดท 30 ต.ค. 2558] ใช้หน้าโหมด B2 เพื่อให้ได้สิ่งนี้)

ถามการอ้างสิทธิ์ใช้งานได้กับ UNMAP เท่านั้นหรือไม่ TRIM เป็นอย่างไร

นี่คือคำตอบ“ มันขึ้นอยู่กับ” TRIM ใช้เฉพาะเมื่ออุปกรณ์ที่รองรับคือ SSD - Solid State Disk จากสิ่งที่ฉันเข้าใจ TRIM จะถูกแปลงเป็น UNMAP ใน I / O สแต็ก อย่างไรก็ตามมีปัญหาบางอย่างเกี่ยวกับการแปลง TRIM เป็น UNMAP UNMAP ทำงานที่ขอบเขตบล็อกบางอย่างบน VMFS ในขณะที่ TRIM ไม่มีข้อ จำกัด ดังกล่าว ดังนั้น TRIM บางส่วนที่แปลงเป็น UNMAP อาจล้มเหลวเนื่องจากปัญหาการจัดตำแหน่ง

คุณสมบัติการจัดเก็บ vSphere 6.0 ตอนที่ 8: การเปลี่ยนแปลง VAAI UNMAP

ดูสิ่งนี้ด้วย


1
ฉันเชื่อว่า VMware ลบข้อเรียกร้องทางการตลาดนี้ออกจากเวอร์ชันในอนาคตเนื่องจากมันไม่ได้รับการสนับสนุนเนื่องจากไม่สนับสนุน TRIM ดูที่นี่และที่นี่
Tom Hale

1

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

ดังนั้นหากระบบปฏิบัติการVM Hostเข้าใจ TRIM นั่นควรจะเพียงพอสำหรับแขก VM ทุกคนที่ทำงานอยู่ด้านบน

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


1
สิ่งเดียวที่ฉันจะเพิ่มคือถ้าไฟล์ฮาร์ดไดรฟ์ vm เป็นแบบไดนามิกคุณสามารถลดขนาดลงได้และโฮสต์ก็จะบอก SSD ให้ตัดส่วนที่เป็นอิสระออกใหม่หากเหมาะสม สิ่งนี้อาจเพิ่มความเร็วในการเขียนไฟล์ฮาร์ดไดรฟ์ vm เพราะเมื่อไฟล์ของคุณเติบโตขึ้นโดยไม่ได้แก้ไขภาคโฮสต์ที่มีอยู่คุณสามารถใช้ส่วนใหม่ / ตัดส่วนสำหรับการเขียนของแขก ปกติฉันจะกำหนดขนาดของไฟล์ฮาร์ดไดรฟ์ vm ของฉัน แต่นั่นก็เพื่อป้องกันการแตกแฟรกเมนต์บน HDs ด้วย SSD ฉันอาจจะลดขนาดลงอย่างต่อเนื่อง
Scott McClenning

2
-1 คุณพลาดข้อเท็จจริงที่ว่า TRIM / unmap ถูกใช้เพื่อย่อขนาดไฟล์อิมเมจ VM แบบไดนามิก และเป็นผลให้ระบบปฏิบัติการโฮสต์อาจออก TRIM / unmap บนฮาร์ดแวร์พื้นฐาน เป็นส่วนสำคัญของแนวคิดการจัดเตรียมแบบบาง
rustyx

-1

TRIM ถูกประดิษฐ์ขึ้นเนื่องจากการเขียนลง SSD จะต้องทำในบล็อก 512K และแยกแยะว่าบล็อกหรือไฟล์ที่ใช้เป็นจำนวนมากเป็นไปไม่ได้สำหรับไดรฟ์ SSD และต้องสื่อสารโดยระบบปฏิบัติการและระบบไฟล์

ดู

http://en.wikipedia.org/wiki/TRIM

แก้ไข:

ลิงค์ wiki บอกว่าดีกว่าที่ฉันสามารถทำได้:

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


6
VM สามารถเก็บข้อมูลเกี่ยวกับบล็อกที่ถูกตัดแต่งเพื่อใช้เมื่อผู้ใช้ร้องขอเพื่อบรรจุใหม่และลดขนาดดิสก์เสมือน ขณะนี้ VMWare มีการดำเนินการที่คล้ายกัน แต่ทำงานโดยเขียนทับพื้นที่ว่างทั้งหมดใน VM ก่อน
liori

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

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