Dell NativeEdge: Поведение общего хранилища данных с известным дефектом ядра
Summary: В этой статье базы знаний описано ожидаемое и преднамеренное поведение для выпуска NativeEdge v4.2.0.0: Чтобы предотвратить повреждение дисков виртуальных машин, NativeEdge отключает discard="unmap" в общих хранилищах данных. В результате автоматическое освобождение хранилища не выполняется до тех пор, пока не будет устранена основная проблема ядра Ubuntu. ...
Symptoms
В выпуске NativeEdge v4.2.0.0 в «Shared_DataStore» пользователи отмечают, что используемая емкость хранилища постепенно увеличивается, даже когда файлы внутри виртуальной машины удалены. Кроме того, освобождение хранилища не происходит автоматически.
Такое поведение является результатом внутреннего наблюдения, согласно которому в масштабируемых средах с большим количеством виртуальных машин, развернутых на Shared_DataStore, виртуальные машины могут:
- Не удается загрузиться,
- Зависание на экране прошивки или загрузчика,
- Или испытывать ошибки дискового ввода-вывода, такие как
"Block device libvirt-3-format is ejected."
Проблема появилась через несколько часов после успешного развертывания (обычно ~8 часов).
Cause
В выпуске NativeEdge v4.2.0.0 появился новый параметр виртуальной машины: discard="unmap"
Это было добавлено для поддержки возможности TRIM и решения для более раннего заказчика освободить неиспользуемое пространство в виртуальной машине. Однако при развертывании виртуальных машин на Shared_DataStore включение discard="unmap" приводит к повреждению диска виртуальной машины из-за проблемы ядра в Ubuntu 24.04, затрагивающей block-discard операций на CephFS.
Когда? discard="unmap" был отключен (discard="ignore") для хранилища общего доступа все операции TRIM/отмены виртуальных машин, которые выполняются из ОС в файловой системе CephFS, игнорируются. Это приведет к тому, что удаленные блоки внутри виртуальной машины (неиспользуемое пространство) не смогут быть повторно освобождены или не вернутся в общее хранилище данных, что со временем приведет к устойчивому росту использования общего хранилища данных.
Это не регрессия, а поведение выпущенного программного обеспечения до тех пор, пока не будет восстановлена поддержка ядра основной ветки разработки.
Resolution
- Продолжить использование
`discard="ignore"`Для`Shared_DataStore`Виртуальные машины в NativeEdge версии 4.2.0.0 для предотвращения повреждения виртуальных машин. - Повторно включить
discard="unmap"только после выпуска проверенного исправления ядра Ubuntu. Текущая цель неизвестна