답변:
- 스토리지 : VDI 이미지 사용시 SATA 및 IDE 용 TRIM 및 SCSI 용 UNMAP을 통해 사용하지 않는 이미지 블록을 버리는 기능 지원
http://www.fb-developers.info/blog/2012/virtualbox-v4-2-is-coming/
VHDX는 Windows Server 2012에 도입 된 새로운 가상 하드 디스크 형식으로 최대 64TB의 탄력적 인 고성능 가상 디스크를 만들 수 있습니다. VHDX 형식은 다음과 같은 성능 이점도 제공합니다.
- ...
- 데이터 표현의 효율성으로 파일 크기가 작아지고 기본 물리적 저장 장치가 사용되지 않은 공간을 회수 할 수 있습니다. ( 트림에는 패스 스루 또는 SCSI 디스크와 트림 호환 하드웨어가 필요 합니다.)
https://msdn.microsoft.com/en-us/library/windows/hardware/dn567657(v=vs.85).aspx
사용 사례
SSD에 마운트 된 소비자 가상 하드 디스크 (VHD) :
VHD는 처음에는 사용하지 않은 '깨끗한'미디어에 마운트됩니다. VHD를 사용함에 따라 VHD는 파일 등을 위해 저장 매체의 일부를 소비합니다. 저장 매체에서 파일을 삭제하면 완전한 VHD가 SSD에 하나의 파일로 저장되므로 이러한 파일은 SSD에서 제거되지 않습니다. Hyper-V 환경은 VHD 환경에서 파일 삭제가 발생할 때 삭제 된 모든 리전에 대해 File TRIM을 호출합니다. File_TRIM은 SSD 성능으로 최적화 될 수 있도록 SSD로 변환됩니다.씬 프로비저닝 된 SAN에 마운트 된 소비자 VHD :
VHD는 초기에 씬 프로비저닝 환경의 최소 슬래브에 마운트됩니다. 파일이 VHD에 저장되면 VHD의 스토리지 풋 프린트는 여러 슬래브에서 커집니다. VHD에서 파일이 제거되면 Hyper-V는 File_TRIM을 기본 씬 프로비저닝 된 SAN으로 호출합니다. TRIM이 SLAB 입도보다 큰 경우 SAN에서 SLAB를 제거 할 수 있으므로 해당 SAN에서 VHD의 설치 공간을 줄일 수 있습니다.VHD가 Windows 8 기반 서버에 상주하는 경우 Storage Optimizer는 TRIM을 전송하여 마운트 된 VHD 내에서 VHD의 슬래브 설치 공간을 줄입니다.
https://msdn.microsoft.com/en-us/library/hh848053(v=vs.85).aspx
호스트 시스템에 대한 VMWare Workstation Pro 설명서 센터의 디스크 드라이브 요구 사항-SSD (Solid-State Drive) 에도 언급되어 있습니다 .
호스트 시스템에 물리적 SSD (Solid-State Drive)가있는 경우 호스트는 게스트 운영 체제에 SSD에서 실행되고 있음을 알려줍니다.
이를 통해 게스트 운영 체제가 동작을 최적화 할 수 있습니다. 가상 시스템이 SSD를 인식하고이 정보를 사용하는 방법은 게스트 운영 체제 및 가상 디스크의 디스크 유형 (SCSI, SATA 또는 IDE)에 따라 다릅니다.
- Windows 8, Windows 10, Ubuntu 및 Red Hat Enterprise Linux 가상 머신에서 모든 드라이브 유형은 가상 디스크를 SSD 드라이브로보고 할 수 있습니다.
- Windows 7 가상 머신에서는 IDE 및 SATA 가상 디스크 만 가상 디스크를 SSD로보고 할 수 있습니다. SCSI 가상 디스크는 가상 머신에서 시스템 드라이브로 사용될 때 SSD로, 또는 가상 머신 내에서 데이터 드라이브로 사용될 때 기계적 드라이브로만보고합니다.
- Mac 가상 머신에서는 SATA 가상 디스크 만 SSD로보고됩니다. IDE 및 SCSI 가상 디스크는 기계 드라이브로보고됩니다.
가상 머신 운영 체제를 사용하여 가상 머신이 SSD를 가상 디스크로 사용하고 있는지 확인하십시오.
Q. VMware는 vSphere 6.0의 게스트 OS에서 직접 UNMAP을 지원합니까?
예. vSphere 6.0에서는 공간을 확보하기 위해 게스트 OS에서 직접 발급하는 UNMAP을 지원합니다.
Q. UNMAP을 실행하는 데 필요한 전제 조건은 무엇입니까?
충족해야하는 여러 가지 전제 조건이 있습니다. 이것들은:
- VMDK는 씬 프로비저닝되어야합니다.
- 가상 머신 하드웨어 버전은 11이어야합니다 (ESXi 6.0)
- 고급 설정 EnableBlockDelete는 1로 설정해야합니다.
- 게스트 OS는 디스크를 씬으로 식별 할 수 있어야합니다 (Windows 2012 [2015 년 10 월 30 일 업데이트]는 B2 모드 페이지를 사용하여이를 수행함)
Q. 회수는 UNMAP에서만 작동합니까? TRIM은 어떻습니까?
이것은 "의존"답변입니다. TRIM은 기본 장치가 SSD – 솔리드 스테이트 디스크 인 경우에만 사용됩니다. 내가 이해 한 바에 따르면 TRIM은 I / O 스택에서 UNMAP으로 변환됩니다. 그러나 TRIM이 UNMAP으로 변환되는 데는 몇 가지 문제가 있습니다. UNMAP은 VMFS의 특정 블록 경계에서 작동하지만 TRIM에는 이러한 제한이 없습니다. 따라서 UNMAP으로 변환 된 특정 TRIM은 블록 정렬 문제로 인해 실패 할 수 있습니다.
http://cormachogan.com/2015/05/07/vsphere-6-0-storage-features-part-8-vaai-unmap-changes/
http://www.codyhosterman.com/2015/04/direct-guest-os-unmap-in-vsphere-6-0/
TRIM을 지원하려면 기본 하드웨어에 대한 자세한 지식이 필요합니다. 정의상 가상 머신 ( VM 게스트 )은 가상 하드웨어에서 실행되므로 해당 하드 드라이브 나 SSD의 세부 사항을 인식하지 못합니다.
따라서 VM 호스트 운영 체제가 TRIM을 이해하면 그 위에서 실행중인 모든 VM 게스트에 충분해야합니다.
일부 VM 호스트는 물리적 드라이브를 "통과"하여 VM 게스트의 운영 체제에 직접 마운트 할 수 있습니다. 정확한 구현에 따라 이론적으로 게스트가 SSD의 TRIM 기능을 지원할 수 있습니다. 대부분의 경우와 마찬가지로 마일리지가 다를 수 있으며 환경에 중요한 경우 커밋하기 전에 철저히 테스트해야합니다.
TRIM은 SSD에 대한 쓰기가 512K 블록으로 수행되어야하고 실제로 파일 또는 파일에 의해 사용되는 블록의 양을 결정하는 것이 SSD 드라이브 자체에서 불가능하며 OS 및 파일 시스템에 의해 통신되어야하기 때문에 발명되었습니다.
보다
http://en.wikipedia.org/wiki/TRIM
편집하다:
위키 링크는 내가 할 수있는 것보다 더 잘 말합니다.
TRIM 명령은 디스크 이미지 파일에 저장된 디스크에서는 작동하지 않습니다. 이것은 컴퓨터 파일을 완전히 삭제하거나 끝에서 잘릴 수 있기 때문입니다. 이 문제는 가상 디스크 서비스, 가상 시스템 등과 같은 응용 프로그램에 영향을줍니다.