Как безопасно удалить локальный датастор в ESXi 8 (file system is busy)

Автор George, Сен. 19, 2026, 07:27

« назад - далее »

George

Как безопасно удалить локальный датастор в ESXi 8 (Решение ошибки "file system is busy")

При попытке удалить самый первый (локальный) датастор в ESXi часто возникает ошибка:
Код: bash
The resource 'Datastore Name' is in use. Cannot remove datastore because "file system is busy".
Это происходит потому, что ESXi по умолчанию создает на первом диске скрытые системные разделы: Scratch (логи) и Core Dump (дампы ядра). Пока система их использует, она не отпустит файловую систему, даже если все виртуалки мигрированы.

ВАЖНО ЕСЛИ ХОСТ В КЛАСТЕРЕ (vSphere HA):
Если ваш хост находится в кластере HA, этот датастор может удерживаться службой мониторинга (Heartbeat Datastores). Чтобы избежать блокировки, перед началом работ обязательно переведите хост в Maintenance Mode (Режим обслуживания) — это отключит службы HA на хосте и освободит диски. Либо вручную перенастройте Heartbeat Datastores в настройках кластера vSphere Availability.

Ниже пошаговый гайд, как перенести все «хвосты» через SSH на новый датастор и успешно удалить старый.



Шаг 1. Перенос Scratch-логов

1. Подключаемся к хосту ESXi по SSH.
2. Смотрим UUID или имя нового датастора, куда будем переносить логи:
Код: bash
ls -la /vmfs/volumes/
3. Создаем на новом датасторе папку для логов (замените UUID_НОВОГО_ДАТАСТОРА на ваш):
Код: bash
mkdir /vmfs/volumes/UUID_НОВОГО_ДАТАСТОРА/.locker-esxi2
4. В ESXi 8 управление логами выполняется через встроенную утилиту vim-cmd и службу syslog. Прописываем новый путь:
Код: bash
vim-cmd hostsvc/advopt/update ScratchConfig.ConfiguredScratchLocation string "/vmfs/volumes/UUID_НОВОГО_ДАТАСТОРА/.locker-esxi2"
esxcli system syslog config set --logdir="/vmfs/volumes/UUID_НОВОГО_ДАТАСТОРА/.locker-esxi2"
esxcli system syslog reload



Шаг 2. Освобождение и перенос Core Dump (дампов памяти)

1. Отключаем старый файл дампа, который держит удаляемый диск:
Код: bash
esxcli system coredump file set -e false
2. Отправляем хост в перезагрузку (reboot). Это обязательно, чтобы ESXi освободил дескрипторы файлов на старом датасторе.
3. После перезагрузки заходим в vSphere Client и спокойно удаляем старый датастор (Unmount -> Delete) — теперь он освободится без ошибок.



Шаг 3. Возвращаем Core Dump на новый датастор

Чтобы в случае розового экрана (PSOD) хост мог сохранить логи, создаем новый файл дампа на новом датасторе.

1. Генерируем файл дампа (система сама рассчитать размер под вашу оперативку):
Код: bash
esxcli system coredump file add -d UUID_НОВОГО_ДАТАСТОРА -f vmkdump/coredump-esxi2
2. Проверяем точное имя созданного файла (ESXi 8 добавит расширение .dumpfile):
Код: bash
ls -la /vmfs/volumes/UUID_НОВОГО_ДАТАСТОРА/vmkdump/
3. Прописываем путь к новому файлу:
Код: bash
esxcli system coredump file set -p "/vmfs/volumes/UUID_НОВОГО_ДАТАСТОРА/vmkdump/coredump-esxi2.dumpfile"
4. Включаем его:
Код: bash
esxcli system coredump file set -e true

Проверяем статус:
Код: bash
esxcli system coredump file list
Напротив нового файла в колонках Active и Configured должно стоять true.

На этом всё! Старый датастор удален, логи и дампы безопасно перенесены. Можно приступать к физическому разбору старого RAID-массива.
  •  

🡱 🡳

Отметьте интересные вам фрагменты текста и они станут доступны по уникальной ссылке в адресной строке браузера.