VMware ESXi | Не удаляется хранилище (datastore)
Может сложиться такая ситуация, что в гипервизоре ESXi не получается удалить хранилище (datastore).
Причины могут быть разными, почему оно перестало работать или почему оно больше не нужно.
Как удалить хранилище (datastore) в VMware ESXi?

- Через веб-браузер авторизуемся на нашем гипервизоре ESXi.
- Затем переходим в левом меню находим пункт «Storage«.
- В основном меню находим вкладку «Devices«.
- После этого нажимаем кнопку «Rescan«.
Гипервизор постарается заново просканировать устройства, о которых он что-то помнил ранее в этой жизни.
И уже после сканирования гипервизор сможет спокойно удалить хранилище так как под него уже не будет известных устройств.
Ошибка удаления VMFS хранилища в VMWare ESXi: The resource is in use

13.04.2022

itpro

VMware

комментария 2
В рамках миграции данных и виртуальных машин со старого хранилища HP MSA 200 на новую систему хранения Dell EMC Unity (оба подключены через SAN) столкнулся с проблемой при удалении пустого VMFS хранилища в VMWare vSphere. При попытке отключить VMFS хранилище от ESXi хостов появляется ошибка о том, что хранилище используется:
Unmount VMFS volume esxi12.winitpro.ru. The resource ‘Datastore Name: MSA2000_LUN1 VMFS uuid: xxxxx—xxxxx-x-xxxxx-xxxx’ is in use. Cannot unmount volume Datastore Name VMFS “file system is busy”.

Судя по ошибке ясно, что VMFS хранилище не удаляется, т.к. ESXi хосты или vSphere все еще используют хранилище для записи каких-то данных. Согласно документации VMWare, при удалении LUN из vSphere нужно проверить следующие пункты:
- На VMFS хранилище отсутствуют файлы виртуальных машин, шаблонов; снапшотов и ISO образов (нужно смигрировать ВМ на другое VMFS хранилище, либо выключить и удалить или разрегестрировать в vSphere);
- Для хранилища отключен Storage I/O Control;
- Датастор не входит в Datastore Cluster;
- LUN не используется как RDM устройство;
- VMFS хранилище не используется для хранения данных vSphere HA, Storage DRS, логов, дампов (/vmkdump/), данных vSAN (/vsantraced/), данных для техподдержки (раздел Scratch), файлов подкачки виртуальных машин.
Сами виртуальные машины уже были перемещены на новое хранилище с помощью Storage vMotion. Посмотрим, что еще осталось на VMFS хранилище:

Как вы видите, на хранилище остались каталог logdir (каталог с логами), sdd.sf (каталог с описанием SCSI устройств), dbsData (каталог с данными распределенного виртуального коммутатора) и naa… (метаданные VMFS).
В моем случае на VMFS хранилище все еще хранятся логи ESXi хоста (Scratch Location). В настройках хостов ESXi, которые используют данное хранлище, проверьте не указано ли оно в качестве места хранения логов. Перейдите в раздел Manage -> Settings -> Advanced System Settings. Найдите параметр ScratchConfig.CurrentScratchLocation и если он указывает на ваш VMFS датастор, измените путь к каталогу с логами.

Перезагрузите ESXi хост или перезапустите службу Syslog server на хосте.

Попробуем еще раз отключить хранилище от ESXi. Перейдите в раздел Manage -> Storage -> Storage Device. Найдите в списке ваш LUN, выберите его и нажмите на кнопку Detaches the selected device from the host.

В моем случае опять появилась ошибка:
Detach SCSI LUN The resource is in use.
Я еще довольно долго пытался найти, кто же использует это хранилище и решил, что самый простой способ в моем случае – просто удалить таблицу разделов на VMFS хранилище (конечно нужно выполнять удаление крайне внимательно, убедившись, что вы удаляете именно то хранилище, которое вам нужно).
- Подключитесь по SSH к любому хосту ESXi хосту, которому презентовано VMFS хранилище с массива;
- В интерфейсе vSphere скопируйте идентификатор вашего хранилища и на ESXi хосте проверьте какому устройству и пути к VMFS хранилищу оно соответствует: esxcfg-scsidevs -c | grep naa.6001438005df0dee0000700004be0000 naa.6001438005df0dee0000700004be0000 Direct-Access /vmfs/devices/disks/naa. 6001438005df0dee0000700004be0000 512000MB NMP HP Fibre Channel Disk (naa.6001438005df0dee0000700004be0000) esxcfg-scsidevs -m | grep naa.6001438005df0dee0000700004be0000 naa.6001438005df0dee0000700004be0000:1 /vmfs/devices/disks/naa.6001438005df0dee0000700004be0000:1 570e5298-08f4c74e-ca3a-b4b52f5e2b38 0 MSA2000_LUN1
- Посмотрим, сколько место занято/доступно на вашем VMFS датасторе: df -h | grep MSA2000_LUN1
VMFS-5 499.8G 1.4G 498.3G 0% /vmfs/volumes/MSA2000_LUN1
- Итак, мы убедились, что имя хранилища и его идентификатор соответствуют LUN, который мы хотим удалить;
- Теперь получим информацию о разделах на нашем хранилище: partedUtil getptbl /vmfs/devices/disks/naa.6001438005df0dee0000700004be0000 gpt
65270 255 63 1048576000
1 2048 1048575966 AA31E02A400F11DB9590000C2911D1B8 vmfs 0 - В нашем случае на LUN есть раздел с файловой системой vmfs;
- Удалим с данного диска (LUN) VMFS раздел с идентификатором 1 (будьте внимательны. ) partedUtil delete /vmfs/devices/disks/naa.6001438005df0dee0000700004be0000 1
После удаления раздела можно отключить LUN в vSphere – Unmount Datastore. Ошибка «datastore is in use» не должна появиться.

Выберите ESXi хосты, от которых нужно отключить VMFS хранилище:

Или можно сделать Detach из списка подключенных устройств хранения на хосте. В результате статус подключения изменится на Detached.

После этого vmfs хранилище можно удалить (Delete Datastore) и хранилище пропадет из vSphere.

Предыдущая статья Следующая статья
Ошибка удаления диска в ESXI: The resource is in use

Добрый день! Уважаемые читатели и гости 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»

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


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

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

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

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

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

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

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

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

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

Тут вам советую отключить vCLS для текущего кластера, чтобы он мог высвободить текущее хранилище, вы исправите этим ошибку «The resource is in use»,. Когда удалите хранилище, заново подключите vCLS машинки
esxcli storage filesystem list
Полный Список команд ESXI смотрите по ссылке
Тут мы увидим точки монтирования «Mount Point», UUID дисков, что так же важно и понятное вам имя «Volume name«, то что вы видите в интерфейсе vCenter.

Теперь попытаемся найти уникальный идентификатор LUN в котором находится удаляемое хранилище данных, выполните следующую команду:
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
Популярные Похожие записи:
Ошибка запуска VM: File system specific implementation of Ioctl[file] failed
Ошибка DRS на кластере ESXI- Ошибка Unable to apply DRS resource settings on host
- Как мигрировать отдельный диск виртуальной машины ESXI
Не активно поле migrate на виртуальной машине ESXI- Удаление застрявших VMDK из прокси Veeam
Как удалить datastore в esxi
You are using an outdated browser. Please upgrade your browser to improve your experience.
expand-card-line
calendar-line —>
You can delete any type of VMFS datastore, including copies that you have mounted without resignaturing. When you delete a datastore, it is destroyed and disappears from all hosts that have access to the datastore.
Note: The delete operation for the datastore permanently deletes all files associated with virtual machines on the datastore. Although you can delete the datastore without unmounting, it is preferable that you unmount the datastore first.
Prerequisites
- Remove or migrate all virtual machines from the datastore.
- Unmount the datastore from all hosts.
- Disable Storage DRS for the datastore. For more information, see Activate and Deactivate Storage DRS.
- Disable Storage I/O Control for the datastore. For more information, see Enable Storage I/O Control.
- Make sure that the datastore is not used for vSphere HA heartbeating. For more information, see Configure Heartbeat Datastores.
Procedure
- In the vSphere Client , navigate to the datastore.
- Right-click the datastore to remove, and select Delete Datastore .
- Confirm that you want to remove the datastore.