Máy ảo và TRIM


18

Mặc dù hỗ trợ TRIM được giới thiệu để giúp SSD hoạt động tốt hơn, nhưng nó cũng sẽ giúp các máy ảo tối ưu hóa các đĩa ảo (ví dụ để biết phần nào của đĩa ảo không cần lưu trữ trên các phân vùng vật lý). Có máy VM nào sử dụng TRIM theo cách này không?

Câu trả lời:


10

Virtualbox hỗ trợ TRIM kể từ phiên bản 4.2

  • Lưu trữ: đã hỗ trợ triển khai để loại bỏ các khối hình ảnh không sử dụng thông qua TRIM cho SATA và IDE và UNMAP cho SCSI khi sử dụng hình ảnh VDI

Bạn sẽ cần sử dụng --nonrotational on--discard oncác tùy chọn :

  • --discard

    Cho phép tính năng tự động loại bỏ cho một đĩa cứng ảo. Điều này xác định rằng hình ảnh VDI sẽ được thu nhỏ để đáp ứng với lệnh trim từ hệ điều hành khách. Các yêu cầu sau đây phải được đáp ứng:

    • Định dạng đĩa phải là VDI.
    • Kích thước của khu vực bị xóa phải tối thiểu 1 MB.
    • Oracle VM VirtualBox sẽ chỉ cắt toàn bộ khối 1 MB. Bản thân các VDI ​​được tổ chức thành các khối 1 MB, do đó, điều này sẽ chỉ hoạt động nếu không gian được cắt bớt ít nhất là một khối liền kề 1 MB ở ranh giới 1 MB. Trên Windows, việc chống phân mảnh thỉnh thoảng với defrag.exe /Dhoặc trên Linux chạy btrfs filesystem defragnhư một công việc định kỳ nền có thể có lợi.

Thêm thông tin có thể được tìm thấy trong


Hyper-V cũng có thể thu nhỏ hình ảnh VHD và VHDX

Trường hợp sử dụng

  • ...
  • VHD tiêu dùng gắn trên SAN được cung cấp mỏng:

    VHD ban đầu được gắn trên một tấm tối thiểu của môi trường được cung cấp mỏng. Khi các tệp được lưu trữ trong VHD, dấu chân lưu trữ của VHD tăng lên theo bội số của các tấm. Khi các tệp được xóa trong VHD, Hyper-V gọi File_TRIM đến SAN được cung cấp mỏng bên dưới. Nếu TRIM lớn hơn độ chi tiết SLAB, giờ đây SAN có thể xóa SLAB và do đó giảm dấu chân của VHD trên SAN đó.

Nếu VHD thường trú trên máy chủ chạy Windows 8, Trình tối ưu hóa lưu trữ cũng sẽ gửi TRIM để giảm dấu chân của VHD từ bên trong VHD được gắn.

API mới cho phép các ứng dụng gửi gợi ý "TRIM và Unmap" tới phương tiện lưu trữ

Xem thêm


VMware Workstation 10 tuyên bố hỗ trợ thông qua SSD

  • SSD Pass-through Windows 8 có khả năng phát hiện khi nó đang được chạy từ ổ đĩa trạng thái rắn (SSD) và tối ưu hóa chính nó cho phần cứng này. Trong Workstation 10, hệ điều hành khách sẽ có thể phát hiện khi tệp Đĩa của máy ảo đang được lưu trữ trên ổ SSD và hệ điều hành có thể thực hiện các tối ưu hóa tương tự khi chạy trong máy ảo

Ghi chú phát hành VMware Workstation 10.0

Điều đó cũng được đề cập trong Yêu cầu Ổ đĩa của Trung tâm Tài liệu VMWare Workstation Pro cho Hệ thống Máy chủ - Ổ đĩa thể rắn :

Nếu máy chủ của bạn có ổ đĩa trạng thái rắn (SSD) vật lý, máy chủ sẽ thông báo cho các hệ điều hành khách mà chúng đang chạy trên ổ SSD.

Điều này cho phép các hệ điều hành khách để tối ưu hóa hành vi. Cách các máy ảo nhận ra SSD và sử dụng thông tin này tùy thuộc vào hệ điều hành khách và loại đĩa của đĩa ảo (SCSI, SATA hoặc IDE).

Nhưng từ văn bản, có vẻ như lệnh TRIM chỉ được truyền cho SSD vật lý cơ bản thay vì thu nhỏ hình ảnh VMDK

Các sản phẩm VMware khác như vSphere và ESXi cũng hỗ trợ TRIM, nhưng vẫn chưa rõ liệu họ có sử dụng nó để thu nhỏ hình ảnh hay không

Q. VMware có hỗ trợ UNMAP trực tiếp từ Hệ điều hành khách trong vSphere 6.0 không.

Đúng. Các UNMAP phát hành trực tiếp từ Hệ điều hành khách để lấy lại không gian được hỗ trợ trong vSphere 6.0.

H: Những điều kiện tiên quyết cần thiết để UNMAP chạy là gì?

Có một số điều kiện tiên quyết phải được đáp ứng. Đó là:

  • VMDK phải được cung cấp mỏng
  • Phiên bản phần cứng máy ảo phải là 11 (ESXi 6.0)
  • Cài đặt nâng cao EnableBlockDelete phải được đặt thành 1
  • Hệ điều hành khách phải có thể xác định đĩa là mỏng (Windows 2012 [cập nhật ngày 30 tháng 10 năm 2015] sử dụng trang chế độ B2 để đạt được điều này)

Q. Việc đòi lại chỉ hoạt động cho UNMAP? Thế còn TRIM thì sao?

Đây là một câu hỏi mà nó phụ thuộc vào câu trả lời. TRIM chỉ được sử dụng khi thiết bị bên dưới là SSD - Solid State Disk. Theo những gì tôi hiểu, TRIM được chuyển đổi thành UNMAP trong ngăn xếp I / O. Tuy nhiên, có một số vấn đề với TRIM được chuyển đổi thành UNMAP. UNMAP hoạt động ở các ranh giới khối nhất định trên VMFS, trong khi TRIM không có các hạn chế như vậy. Vì vậy, một số TRIM nhất định được chuyển đổi thành UNMAP có thể không thành công do các vấn đề căn chỉnh khối.

Các tính năng lưu trữ của vSphere 6.0 Phần 8: Thay đổi VAAI UNMAP

Xem thêm


1
Tôi tin rằng VMware đã loại bỏ tuyên bố tiếp thị này khỏi các phiên bản trong tương lai vì nó bị tê liệt vì chúng không hỗ trợ TRIM. Xem tại đâyđây
Tom Hale

1

Hỗ trợ TRIM đòi hỏi kiến ​​thức sâu sắc về phần cứng cơ bản. Do các máy ảo ( VM Guest ) theo định nghĩa chạy trên phần cứng ảo, chúng không nhận thức được các chi tiết của ổ cứng hoặc SSD mà chúng cư trú.

Vì vậy, nếu hệ điều hành VM Host hiểu TRIM, thì điều đó là đủ cho tất cả các Khách VM chạy trên nó.

Một số Máy chủ VM có thể "chuyển qua" ổ đĩa vật lý và gắn trực tiếp vào hệ điều hành trên Máy khách VM. Tùy thuộc vào việc triển khai chính xác, về mặt lý thuyết, Khách có thể hỗ trợ tính năng TRIM của SSD. Như với hầu hết mọi thứ, số dặm của bạn có thể thay đổi, và nếu nó quan trọng đối với môi trường của bạn, bạn nên kiểm tra kỹ trước khi bạn cam kết.


1
Điều duy nhất tôi muốn thêm là nếu tệp ổ cứng vm là động, bạn có thể thu nhỏ nó và sau đó, nếu phù hợp, hãy nói với SSD để cắt các khu vực mới được giải phóng. Điều này có thể tăng tốc độ ghi tập tin ổ cứng vm bởi vì khi tập tin phát triển không sửa đổi các khu vực máy chủ hiện có, các khu vực mới / cắt xén có thể được sử dụng cho ghi khách. Thông thường tôi sửa kích thước trên các tệp ổ cứng vm của mình, nhưng đó là để ngăn sự phân mảnh trên HD. Với SSD, tôi có thể sẽ thu nhỏ động và định kỳ.
Scott McClenning

2
-1. Bạn đang thiếu thực tế là TRIM / unmap được sử dụng để thu nhỏ tệp hình ảnh VM có kích thước động. Và kết quả là, hệ điều hành máy chủ có thể phát hành TRIM / unmap trên phần cứng cơ bản. Đó là một phần quan trọng của khái niệm cung cấp mỏng.
rustyx

-1

TRIM được phát minh vì việc ghi vào ổ SSD phải được thực hiện trong các khối 512K và làm giảm số lượng khối thực sự được sử dụng bởi một tệp hoặc tệp là không thể đối với ổ SSD và phải được hệ điều hành và hệ thống tệp truyền thông.

Xem

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

BIÊN TẬP:

Liên kết wiki nói nó tốt hơn tôi có thể:

Lệnh TRIM không hoạt động với các đĩa được lưu trữ trong các tệp hình ảnh đĩa. Điều này được gây ra bởi thực tế là các tệp máy tính chỉ có thể bị xóa hoàn toàn hoặc bị cắt bớt ở cuối. Vấn đề này ảnh hưởng đến các ứng dụng như dịch vụ đĩa ảo, máy ảo, v.v.


6
VM có thể giữ thông tin về các khối đã được cắt để sử dụng khi người dùng yêu cầu đóng gói lại và thu nhỏ đĩa ảo. VMWare hiện có một hoạt động tương tự, nhưng nó hoạt động bằng cách ghi đè lên tất cả không gian trống trong VM trước tiên.
liori

6
Câu hỏi không phải là về việc dịch một hoạt động TRIM trên đĩa ảo sang hoạt động TRIM trên đĩa chủ. Như bạn chỉ ra, nó không hoạt động trực tiếp như vậy. Câu hỏi rõ ràng là về việc dịch một cuộc gọi TRIM trên đĩa ảo để rút ngắn tệp hình ảnh trên đĩa máy chủ (điều này, tình cờ, có thể lần lượt kích hoạt một hoạt động TRIM trên đĩa máy chủ, nhưng câu hỏi là về bước đầu tiên)
Pascal Cuoq

1
các tệp phụ tùng , rất lý tưởng để được sử dụng làm hình ảnh đĩa có thể cắt cho vm.
không phải người dùng
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.