Ошибка удаления диска в ESXI: The resource is in use

Обновлено 26.08.2023

vmware logo

Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org. В прошлый раз мы с вами успешно разобрали ошибку с библиотекой VCRUNTIME140.dll и выяснили ее важное влияние на работу программ. Сегодня я с вами хочу поделиться информацией, что можно сделать когда у вас не удаляется диск (Datastore) в vCenter или ESXI показывая в ошибке, что он используется в данный момент "The resource is in use". Давайте смотреть как выкручиваться из такой ситуации.

Описание ошибки "The resource is in use"

У меня есть vCenter 7 и добавленные в него серверы Dell PowerEdge R740. Поступила задача отманитровать от данных серверов LUN с системы хранения данных и удалить их, это тривиальная задача, но один из четырех datastore не захотел удаляться, показав ошибку:

"The resource "имя датастора" is in use"

The resource is in use

Что вызывает ошибку, при которой невозможно размонтировать/удалить хранилище данных VMFS

✅Нулевое действие:) просто попробуйте перезагрузить ESXI хост.

✅Первое на что я вам хочу обратить внимание это проверить не остались ли какие-то данные от старых виртуальных машин, смонтированные ISO образов, снапшот или шаблонов. Проверить это можно визуально, сравнив общий объем дискового массива (Capacity) и столбец "Free". В моем примере видно, что LUN у меня 10 ТБ, а свободного пространства 9,77 ТБ. Значит, что-то осталось.

Просмотр объема datastore esxi

Откроем вкладку "Files" и проведем анализ. В моем примере остался диск vmdk от старой виртуальной машины.

 

Список файлов на datastore esxi

Произведем его удаление если он уже не актуальный.

Удаление файла виртуальной машины

В результате у вас должны остаться три технические папки:

  • dvsData
  • sdd.sf
  • vSphere-HA

Как вариант вы можете перенести виртуальные машины в другое хранилище данных VMFS, отключить и удалить их или отменить регистрацию виртуальных машин в vSphere

Пустой datastore ESXI

Попробуем произвести отключение хранилища. Правым кликом по нужному datastore и из контекстного меню выбираем пункт "Unmount Datastore".

Unmount datastore esxi

Указываем ESXI хост(ы) от которых нужно выполнить размантирование LUN.

Выбор хоста для Unmount datastore

Пробуем удалить данный датастор, через опцию "Delete Datastore".

 

Delete datastore esxi

✅В моем случае это не помогло, а я так и люблю, значит дальнейший траблшутинг. Во вторых проверьте не является ли данный датастор местом хранения ваших логов ESXI. Для этого выберите нужный ESXI хост, где есть проблемы с удалением датастора. Перейдите в раздел "Configure - Advanced System Settings". Тут будет куча разных настроек.

 

Вкладка Advanced System Settings ESXI

Быстро найти нужные можно через фильтр введя там и(Это начало параметров ScratchConfig.CurrentScratchLocation и Syslog.global.logDir), в следующей проверке Syslog. В результате вы увидите в столбце "Value" UID вашего датастора. это пригодится.

ScratchConfig.CurrentScratchLocation

Если вы знаете UID другого диска куда нужно перенастроить логи, то через редактирование произведите перенастройку.

ScratchConfig.ConfiguredScratchLocation

✅Далее если ваше хранилище было подключено к кластеру, то проверьте нет ли на нем работающих виртуальных машин vCLS, они используются для определения доступности хостов.

Оговорюсь, что данные виртуальные машины вы можете посмотреть только из под учетной записи Administrator@vsphere.local

Недоступные vCLS

Тут вам советую отключить vCLS для текущего кластера, чтобы он мог высвободить текущее хранилище, вы исправите этим ошибку "The resource is in use",. Когда удалите хранилище, заново подключите vCLS машинки

✅Если после перенастройки логов вы все так же видите ошибку "The resource is in use", то идем в консоль. для этого включите ssh на ESXI хосте.  Первое, что вы должны сделать, это посмотреть список ваших датасторов, сделать это можно через команду:

esxcli storage filesystem list

Полный Список команд ESXI смотрите по ссылке

Тут мы увидим точки монтирования "Mount Point", UUID дисков, что так же важно и понятное вам имя "Volume name", то что вы видите в интерфейсе vCenter.

esxcli storage filesystem list

Теперь попытаемся найти уникальный идентификатор LUN в котором находится удаляемое хранилище данных, выполните следующую команду:

esxcfg-scsidevs -m

esxcfg-scsidevs -m

Можно еще вот так посмотреть, заранее подставив из верхней команды:

esxcfg-scsidevs -c | grep naa.6f402700b5907d002ba4316715160cee

Теперь давайте проверим информацию о таблице разделов в хранилище данных

partedUtil getptbl /vmfs/devices/disks/naa.6f402700b5907d002ba4316715160cee

В этом случае LUN ​​имеет один раздел с файловой системой под номером 8. Давайте удалим его. (Главное не перепутайте LUN, а то так можно убить и систему)

partedUtil delete /vmfs/devices/disks/naa.6f402700b5907d002ba4316715160cee 8

После удаления раздела мы можем размонтировать LUN в vSphere. Ошибка «хранилище данных используется» больше не появится. Если проблема сохранилась, то попробуйте. Размонтируйте хранилище данных, выполнив следующую одну из команд:

esxcli storage filesystem unmount -u 6f402700b5907d002ba4316715160cee
esxcli storage filesystem unmount -p /vmfs/devices/disks/naa.6f402700b5907d002ba4316715160cee

Размонтированное состояние хранилища данных VMFS сохраняется после перезагрузки. Это поведение по умолчанию

Чтобы отсоединить устройство/LUN, выполните следующую команд:

esxcli storage core device set --state=off -d naa.6f402700b5907d002ba4316715160cee

esxcli storage core device detached remove -d naa.6f402700b5907d002ba4316715160cee

esxcli storage core adapter rescan --all

После этого можно перезагрузить ESXI хост. На этом у меня все, с вами был Иван Сёмин, автор и создатель IT портала Pyatilistnik.org.

Так же еще стоит проверить

  • Хранилище данных не является частью кластера хранилища данных.
  • LUN не используется в качестве устройства RDM
  • Хранилище данных VMFS не используется для хранения данных vSphere HA, Storage DRS, журналов, дампов (/vmkdump/), данных vSAN (/vsantraced/), данных технической поддержки (рабочий раздел) или файлов подкачки виртуальных машин.
  • Storage I/O Control отключен для хранилища данных

Дополнительные ссылки

  • https://kb.vmware.com/s/article/2004605
  • https://tomaskalabis.com/wordpress/how-remove-unmountedinaccessible-datastore-from-esxi-host/
  • https://serverfault.com/questions/663970/vmware-error-read-only-file-system-during-write-on
  • https://bobcares.com/blog/steps-to-fix-unable-to-unmount-delete-vmfs-datastore-the-resource-is-in-use/
  • https://kb.vmware.com/s/article/1015791?utm_source=pocket_saves
Автор - Сёмин Иван

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

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