Перейти к основному содержанию

VMware — удалить LCK файл

VMware

Файлы .lck создаются гипервизором (обычно VirtualBox или VMware) для предотвращения одновременного доступа к виртуальной машине из нескольких мест. При аварийном завершении они не удаляются автоматически.

К примеру, вы мигрировали виртуальную машину, а операция была неожиданно прервана. На хосте-получателе при этом создалась папка для виртуальной машины, часть данных скопировалась, при этом в папке имеется блокирующий LCK файл. Теперь эта папка превратилась в недвижимость, удалить её нельзя, файлы в ней тоже не удаляются, файл с расширением .lck тоже не удаляется.

Нам нужно удалить файл с расширением LCK. После этого можно будет удалить всю лишнюю папку с ненужными файлами.

Как удалить файл .lck?

Сделаем это из консоли. Запускаем на гипервизоре службу SSH, коннектимся к консоли.

Переходим в директорию с виртуальной машиной, например:

cd /vmfs/volumes/имя_хранилища/имя_машины/
ll

Находим внутри наш LCK файл, к примеру, это vm1.vmx.lck. Попробуем его удалить:

rm vm1.vmx.lck

# подтверждаем удаление
# rm: remove 'vm1.vmx.lck'? y

Он удалится, или мы получим ошибку:

can't remove 'vm1.vmx.lck': Device or resource busy

Проблема в том, что файл .lck всё ещё заблокирован процессом ESXi. Это типичная ситуация после аварийного завершения миграции или сбоя VM.

Узнаем какой процесс использует этот файл:

lsof | grep vm1.vmx.lck

Если lsof отсутствует:

ls -la /proc/*/fd/* 2>/dev/null | grep vm1

Видим ID процесса, убиваем:

kill -9 ID_процесса

Теперь удалится:

rm vm1.vmx.lck

После удаления .lck файла можно почистить ненужные директории через UI.

 

Похожие материалы

ESXi 6.7 — установка Windows Server 2016 на виртуальную машину

Инструкция в картинках по установке операционной системы Windows Server 2016 на виртуальную машину, которая находится на гипервизоре ESXi 6.7.

Установка ESXi 6.7 U1 на Dell PowerEdge R220

Для установки ESXi 6.7 U1 на Dell PowerEdge R220 воспользуемся кастомным образом ESXi 6.7U1. Это позволит нам избежать разного рода проблем, например, при определении RAID массива, на который и планируется установить ОС.

После миграции у виртуальной машины два хранилища в Related Objects

Случается так, что виртуалку мы перенесли, а она теперь числится сразу на двух datastore. Исправляем проблему в vCenter 6.7.