Распространенные проблемы в облаке IaaS на базе гипервизора VMware и их решения
/ фото David Cruz CC
Проблема с буфером обмена: не работает копировать/вставить
Предположим, что виртуальная машина linux-base-01 используется для переноса бизнес-критической информации из научно-исследовательской лаборатории в облако с помощью буфера обмена. Типичная задача, когда на одной стороне вызывается операция копирования, а на принимающей — вставки. Пользователь системы обнаружил, что буфер обмена работает некорректно, потому не позволяет скопировать данные с ноутбука в каталог ВМ.
Чтобы решить возникшую проблему, необходимо открыть браузер и подключиться к vSphere Web Client. В открывшемся окне панели управления после проведения аутентификации обращаемся к каталогу пользователя. Пользователь предоставил нам фрагмент исследования в виде файла readme.txt. Теперь нужно решить следующие задачи: восстановить работу буфера обмена, скопировать текст из пользовательского файла на рабочем столе и вставить его в документ protocol.txt машины linux-base-01 в облаке.
Включить и отключить использование буфера можно как для отдельной виртуальной машины, так и для всех машин ESXi-хоста. Чтобы активировать функции копирования и вставки для определенной ВМ, необходимо проделать эти шаги:
- Убедиться в наличии инструментов VMware Tools
- Подключиться к vSphere Web Client
- Подключиться к vDC с linux-base-01
- Отключить виртуальную машину, переведя в статус power off
- Выбрать виртуальную машину и перейти на вкладку Summary
- Перейти к окну редактирования настроек (Edit Settings)
- Открыть опции виртуальной машины: VM Options > Advanced > Configuration Parameters > Edit Configuration
В открывшемся окне разрешаем использование функций копировать/вставить:
После чего сохраняем внесенные изменения. Отметим, что после этого нужно вновь запустить ВМ, переведя её в статус power on. Для более подробной информации по решению проблем с буфером обмена можете воспользоваться материалами из базы знаний VMware.
Недостаток производительности
Предположим, что в очереди скопилось большое количество заявок от пользователей на выполнение различных операций. Сотрудник полагает, что это произошло из-за низкой производительности виртуальной машины, не справляющейся с наплывом запросов. Чтобы решить эту проблему, сперва стоит обратиться к методологии поиска неисправностей, дабы четко определить источник.
Чаще всего проблемы с производительностью вызывают диски (если вам интересно, то вот неплохое исследование на тему «дискозависимости»). В то время как сеть вызывает подобное значительно реже. Однако все равно следует провести анализ работоспособности подсистем, выявить узкие места и составит план по их устранению или же оптимизации.
В нашем случае сперва подключимся к проблемной виртуальной машине с помощью терминального доступа. Будем считать, что на пользовательской ВМ уже установлены инструменты сбора статистики производительности, поэтому мы видим информацию об имени хоста, загрузке центрального процессора, оперативной памяти, IP-адресе и др.
Также мы воспользуемся утилитой SPECjbb, которая представляет собой эталонный тест для измерения производительности, созданный Standard Performance Evaluation (SPEC). Результаты, полученные во время тестирования и представленные на рисунке ниже, говорят о том, что система perf-01 испытывает проблемы с производительностью.
Это было вызвано чрезмерным использованием процессорных ресурсов. Оказалось, что на хосте esx-01a (двухъядерный процессор), помимо perf-01a, развернута еще одна виртуальная машина — perf-02a. При этом perf-01a использует 2vCPU, а perf-02a — 1vCPU, что превышает количество доступных ядер хоста и «забивает» систему.
Решить проблему можно несколькими путями. Во-первых, можно перенести perf-01a на менее загруженный ESXi-хост, например esx-02a, который практически не загружен. Во-вторых, проделать то же самое, но перенести perf-02a. В-третьих, можно воспользоваться инструментом перераспределения вычислительных ресурсов для машины perf-02a.
Установленный лимит позволит сократить нагрузку на систему. Также отметим, что увеличение числа виртуальных процессоров способно повысить производительность. Для этого в закладке Virtual Hardware есть специальная строка для добавления дополнительных процессорных ресурсов.
Однако нужно помнить, что если хост, на котором располагается виртуальная машина, имеет только два физических процессора, увеличение числа CPU может привести к перерасходу ресурсов и снижению производительности. Также следует убедиться, что операционная система и приложения умеют работать в многопоточном режиме.
Настройка виртуальных машин с большим количеством виртуальных CPU, чем это в действительности требуется для рабочей нагрузки, может привести к увеличению использования ресурсов, потенциально влияющих на производительность загруженных систем.
Большинство гостевых операционных систем во время простоя работают в режиме холостого цикла, часто выполняя инструкции HLT или MWAIT, некоторые же ОС используют механизм busy-waiting. Все это приводит к потреблению ресурсов, которые могли быть доступны для других задач.
Отказ в доступе к консоли vSphere Web Client
Существует две причины, по которым пользователь может столкнуться с этой проблемой:
- Учетную запись пользователя отключил администратор.
- Пользователь несколько раз указал неверные данные авторизации, и учетная запись заблокировалась.
Чтобы установить причину неисправности и устранить её, подключаемся к vSphere Web Client — для доступа используем учетную запись с правами администратора. В открывшемся окне управления переходим на вкладку Administration > Single Sign-On > Users and Groups, после чего находим проблемную учетную запись пользователя. Из изображения ниже следует, что учетная запись Murphy имеет атрибут Disabled, то есть выключена и не может использоваться для доступа.
Чтобы устранить «неисправность», просто включаем учетную запись, вызвав контекстное меню и установив атрибут Enable.
Распространенные проблемы со снапшотами
Возникают ситуации, когда вы или пользователи системы не могут удалить существующие снапшоты виртуальной машины. Эта проблема проявляется в том случае, если бэкап-сервер или другая ВМ блокирует базовый диск или предыдущий снапшот-файл, не давая возможности осуществить объединение. Также это происходит в случае зависания процесса при создании снапшота.
Чтобы решить проблему, можно объединить снапшот путем удаления .vmdk из бэкап-системы. Другой вариант — клонировать последний диск снапшота на новый. Подробнее об этих операциях вы можете почитать здесь.
Еще одной часто возникающей проблемой при работе со снапшотами является ошибка, возникающая при создании снапшота для виртуальных машин ESXi/ESX, которая гласит, что создаваемый файл превышает максимально допустимые размеры. Она появляется тогда, когда суммарный размер снапшот-файла и дополнительного места, необходимого для проведения операции превышает максимальный размер файла, разрешенный хранилищем данных виртуальной машины.
Чтобы решить эту проблему, или смените местоположение конфигурационных файлов ВМ, или установите workingDir на хранилище данных с достаточным количеством места для снапшотов. В workingDir создаются снапшоты, и по умолчанию эта директория содержит файлы конфигурации .vmx. Чтобы переместить диски виртуальной машины и/или файлы конфигурации, используйте Storage vMotion или способ «холодной» миграции с перемещением файлов.
P.S. Следите за новыми материалами нашего блога об IaaS, потому что в следующих статьях мы продолжим рассматривать варианты решения распространенных проблем виртуального окружения на базе гипервизора VMware.
P.P. S. О чем еще мы пишем в нашем блоге:
- IaaS-дайджест: Знакомство с виртуальной инфраструктурой
- Решение проблемы потери сетевого подключения у виртуальных машин VMware в облаке IaaS
- Оптимизация производительности в vSphere: решение основных проблем с CPU
- Оптимизация производительности в vSphere: решение основных проблем с CPU (часть 2)