Назад | Перейти на главную страницу

Как определить наличие моментального снимка VMware из виртуальной машины?

Я хочу запустить Linux fstrim или Windows degrag retrim в файловой системе в виртуальной машине для сжатия тонких дисков VMware vSphere. Однако это должно быть выполнено только если моментальный снимок отсутствует, то при fstrim файловой системы, созданной моментальным снимком, она вырастет до полного размера на тонких дисках VMware vSphere.

Ограничение: гостевая ОС ВМ не имеет доступа к интерфейсам управления vSphere / vCenter.

Есть ли способ обнаружить наличие моментального снимка из гостевой ОС виртуальной машины - например, с помощью инструментов VMware?

Q: Есть ли способ определить наличие моментального снимка из гостевой ОС виртуальной машины *

А: не то чтобы знаю. Однако вы можете использовать sg_vpd чтобы проверить, поддерживается ли UNMAP. Например:

# sg_vpd /dev/sdb -p lbpv
Logical block provisioning VPD page (SBC):
 Unmap command supported (LBPU): 1
 Write same (16) with unmap bit supported (LBWS): 0
 Write same (10) with unmap bit supported (LBWS10): 0
 Logical block provisioning read zeros (LBPRZ): 1
 Anchored LBAs supported (ANC_SUP): 0
 Threshold exponent: 1
 Descriptor present (DP): 0
 Provisioning type: 2

Некоторые пояснения:

  • provision type равно 2, значит, вы работаете с «тонкого» диска;
  • unmap command supported (LBPU) равно 1, поэтому ваш диск утверждает, что поддерживает UNMAP / TRIM

Тем не менее, выдача fstrim на снэпшот-диске должен не иметь какой-либо неблагоприятный эффект. На VMWare <= 6.5 это не должно иметь никакого эффекта, пока VMWare> = 6.7, похоже, поддерживает TRIM даже при использовании снимков.

РЕДАКТИРОВАТЬ: как подробно описано в комментариях ниже, проблема связана с исходной инфляцией диска во время / после "обрезанного" снимка. укрепление. Как показано Вот, этого побочного эффекта невозможно избежать даже в последней версии VMWare 6.7.