NFS хранилища могут использоваться в инфраструктуре VMware для хранения файлов виртуальных машин, образов дисков и других файлов. В этой статье мы рассмотрим, как отмонтировать NFS datastore в VMware ESXi, и что делать, если при отключении NFS папки появляется ошибка.
Как корректно отмонтировать NFS хранилище в VMWare?
Чтобы отмонтировать NFS хранилище на ESXi хосте достаточно щелкнуть по нему в консоли vSphere Client и выбрать Unmount Datastore. В списке появится список ESXi хостов, куда смонтирована данная NFS папка.
Чтобы NFS хранилище исчезло в vSphere, нужно отмонтировать его на всех ESXi хостах.
ESXi хост сможет отмонтировать NFS хранилище, если:
- На NFS хранилище нет запущенных или зарегистрированных виртуальных машин (нужно выключить ВМ или переместить их на другое хранилище с помощью Storage vMotion);
- На датасторе нет снапшотов, ISO образов, виртуальных VMDX дисков, которые смонтированы в другие ВМ;
- Хранилище не управляется Storage DRS и не входит в кластер Datastore;
- Хранилище не используется для vSphere HA heartbeating;
- Storage I/O control для дататасторы отключен;
- Проверьте в Advanced System Settings хоста ESXi, что NFS датастора не используется в качестве хранилища для логов или хранения своп-файлов (параметры global.logDir или ScratchConfig.CurrentScratchLocation — подробнее в статье VMWare ESXi: system logs are stored on non-persistent storage)
Если одно из этих условие не выполнено, при отмонтировании NFS хранилища появится ошибка:
The "remove datastore" operation failed The resource 'nfs_datastore' is in use
Или
Cannot remove datastore 'nfs_datastore' because system swap is enabled on it.
Удаление неактивного NFS хранилища в VMware ESXi
Если NFS хранилище было отключено на стороне NFS сервера до отключения на ESXi, или на нем остались запущенные ВМ, то при отмонтировании его из веб-интерфейса клиента vSphere появится ошибка:
Error performing operation: NFS Error: Unable to Unmount filesystem: Busy
Или
The object ‘vim.Datastore:ds:///vmfs/volumes/NFS_Store1/’ has already been deleted or has not been completely created
$ esxcli network firewall ruleset set --ruleset-id nfs41Client --enabled=true
$ esxcli network firewall ruleset set --ruleset-id nfsClient --enabled=true
Если NFS хранилище недоступно, оно становится неактивным в интерфейсе vSphere. В моем случае при попытке удалить неактивное NFS хранилище из конфигурации хоста ESXi появилась ошибка:
The resource datastore_nfs02 is in use.Call «HostDatastoreSystem.RemoveDatastore» form object «datastoreSystem-28» on vCenter Server «xxxx» failed. Cannot Remove datastore ‘datastore_name’ because Storage I/O control is enabled on it. Correct it and re-try the operation
Судя по ошибке удалить NFS хранилище не удается из-за включенного компонента управления вводом-выводом хранилища ( Storage I/O control или SIOC). При отключении Storage I/O Control для хранилища появляется другая ошибка:
Datastore is not accessible
Решение:
Чтобы корректно удалить NFS хранилище на хосте VMWare ESXi, необходимо напрямую по SSH подключится серверу ( как включить SSH доступа к ESXi).
Выведите список смонтированных NFS хранилищ на ESXi хосте:
$ esxcli storage nfs list
Если нужно, можно вывести подробную информацию о NFS хранилище:
$ vim-cmd hostsvc/datastore/info datastore_nfs02
Чтобы отмонтировать NFS хранилище из командной строки, выполните:
$ esxcli storage nfs remove –v datastore_nfs02
Если хранилище из интерфейса не пропадет, нужно нажать кнопку Refresh в разделе хранилищ хоста ESXi или выполнить Rescan Storage.