VMware — возможна потеря данных в SEsparse

Благодаря подписке на рассылку от Veeam Community Forums, углядел наличие одной прелестной проблемы с vSphere.

При использовании SEsparse-снапшотов могут наблюдаться следующие симптомы:

  • СУБД могут репортовать о несогласованности блоков данных внутри БД;
  • гостевые операционные системы могут сообщить о сбоях блоков данных;
  • виртуальные машины могут перестать загружаться.

Круто, сказал я себе. А что же это за снапшоты такие?

Оказывается, SEsparse-снашоты используются на хранилищах VMFS-5/NFS при использовании виртуальных дисков (VMDK) размером больше 2ТБ, начиная с vSphere 5.5! Или кто-то вручную настроил такой тип снапшота для виртуальной машины.

В VMFS6 они используются для любых виртуальных дисков.

Соответственно, если вы используете любое (любое, Карл) средство резервного копирования, использующее vSphere API for Data Protection, на время создания резервной копии создается снапшот виртуальной машины.

О проблеме стало известно 4 октября, на текущий момент патчи вышли для vSphere 6.0, 6.5 и 6.7. Обратите внимание, что эти патчи имеют статус «Критичный»!

vSphere 5.5 в пролете, однако есть решение по отключению функционала «IO coalescing».

Необходимо:

  • отключить эту настройку на всех хостах;
  • выключить/включить ВМ или мигрировать ее на другой хост.

После отключения этой «фичи» может наблюдаться замедление в работе ВМ.

Для отключения вы можете воспользоваться утилитой esxcli:

Так посмотреть

esxcli system settings advanced list -o /COW/COWEnableIOCoalescing

А так — отключить

esxcli system settings advanced set -i 0 -o /COW/COWEnableIOCoalescing

P.S. Меня часто спрашивают «а зачем вообще нужна поддержка вендором версии vSphere? Закончилась она для vSphere 5.5 — ну и что»? 🙂

UPD: Решение под PowerSHell из комментариев, проставляющее параметр для всех хостов версии 5.5, подключенных к вашему vCenter:

Get-AdvancedSetting -Entity (Get-VMHost | Where-Object {$_.Version -eq '5.5.0'}) -Name 'COW.COWEnableIOCoalescing' | Set-AdvancedSetting -Value 0 -Confirm:$false
Запись опубликована в рубрике 5.5, 6.0, 6.5, 6.7, VMware, vSphere. Добавьте в закладки постоянную ссылку.

3 комментария на «VMware — возможна потеря данных в SEsparse»

  1. Anonymous говорит:

    Get-AdvancedSetting -Entity (Get-Cluster | Get-VMHost) -Name «COW.COWEnableIOCoalescing» | Set-AdvancedSetting -Value 0

  2. Anonymous говорит:

    Чтобы совсем красиво и с нормальными кавычками:
    Get-AdvancedSetting -Entity (Get-VMHost | Where-Object {$_.Version -eq '5.5.0'}) -Name 'COW.COWEnableIOCoalescing' | Set-AdvancedSetting -Value 0

  3. A.Vakhitov говорит:

    Спасибо большое!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *