Показаны сообщения с ярлыком troubleshooting. Показать все сообщения
Показаны сообщения с ярлыком troubleshooting. Показать все сообщения

ESXi и Reading privileged memory with a side-channel



Пока половина людей продолжает похмеляться после отмечания НГ, вторая половина истошно обсуждает отчет Google "Reading privileged memory with a side-channel" и хайпит на темы:

CVE-2017-5753
CVE-2017-5715
CVE-2017-5754

У VMware вроде все более менне ровно и выглядит примерно так


CVE-2017-5753, CVE-2017-5715 закрыты в ESX 6.5 обновлением от 19.12.2017 за именем ESXi650-20172101-SG

Для остальных версий (6.0 и 5.5) также есть соответсвующие KB и патчи.

А про CVE-2017-5754 написано примерно так: "It does not affect ESXi, Workstation, and Fusion because ESXi does not run untrusted user mode code, and Workstation and Fusion rely on the protection that the underlying operating system provides."


Platform Services Controller and vCenter Server services.


В последнее время очень частно сталкиваюсь с нежеланием использовать vCenter Server Appliance в качестве замены еще не умершему, но уже плохо пахнущему vCenter Server Windows Edition.  Доводы приводят разные: начинают от недостаточной масштабируемости (которая в 6.0u1 эквивалентна Windows Edition), продолжают за невозможность делать резервные копии vPostgres DB (KB2091961 c готовыми скриптами остается большой тайной VMware, доступ только по тайным приглашениям), вспоминают про ADAM, SSL3 и всякие другие штуки, недоступность которых в vCenter Server Appliance осталась давно позади.

Большая часть таких возражений парируется документацией к vCenter Server Appliance. Однако, встречаются и достаточно обоснованные возражения: "отсутсвие возможности управления отдельными сервисами в vCenter Server Appliance". Под управлением подразумевается классическое: если не работает перегрузите.

Естественно такая возможность есть. Для этого необходимо подключится по SSH и можно делать так:

1. Остановить все сервисы  >service-control --stop --all

2. Запустить все сервисы >service-control --start --all

3. Проверить кто жив, а кто не очень >service-control --status

4. Можно останавливать и запускать и отдельные сервисы  >service-control --stop/start <service name>


а вот и список этих самых <service name> с разделением по vCenter Server и Platform Services Controller и названиями ролей

Service
<service name> 
vCenter Server
PSC
VMware AFD Service
vmafdd


VMware Certificate Service
vmcad


VMware Component Manager
vmware-cm


VMware Content Library Service
vmware-vdcs


VMware Directory Service
vmdird


VMware ESX Agent Manager
vmware-eam


VMware HTTP Reverse Proxy
vmware-rhttpproxy


VMware Identity Management Service
vmware-sts-idmd


VMware vCenter Inventory Service
vmware-invsvc


VMware License Service
vmware-cis-license


VMware Message Bus Configuration Service
vmware-mbcs


VMware Performance Charts
vmware-perfcharts


VMware Postgres
vmware-vpostgres


VMware Security Token Service
vmware-stsd


VMware Service Control Agent
vmware-sca


VMware Syslog Collector
vmware-syslog


VMware System and Hardware Health Manager
vmware-vws


VMware vAPI Endpoint
vmware-vapi-endpoint


VMware vCenter Configuration Service



VMware vCenter Workflow Manager
vmware-vpx-workflow


VMware VirtualCenter Server
vmware-vpxd


VMware vService Manager
vmware-vsm


VMware vSphere Auto Deploy Waiter
vmware-rbd-watchdog


VMware vSphere ESXi Dump Collector
vmware-netdumper


VMware vSphere Profile-Driven Storage
vmware-sps


VMware VSAN Health Service
vmware-vsan-health


VMware ESXi Patch Tracker

Пока все увлеченно изучают анонс App Volumes 3.0, разбираясь в нововведениях и надеясь, что все предыдущие "not a bug but a feature" устранены, мне хотелось бы рассказать о вещах более приземленных, но весьма полезных.

Где-то далеко в застенках буржуазного запада правильный инженер и vExpert Andreas Peeta сделал весьма полезный сервис под названием VMware ESXi Patch Tracker. Ресурс предоставляет информацию о всех патчах и обновлениях, вышедших для ESXi начиная с версии 5.0.0 и заканчивая 6.0.0. Агрегатор работает в автоматическом режиме и позволяет получить следующую параметры: название, дата выхода, версия, категория, классификация по важности и номер KB с детальным описанием для каждого vib, патча или обновления. Есть информация по всем vib включенным в обновления "U". Доступны прямые ссылки для скачивания.

Одну из возможностей данного ресурса необходимо описать отдельно:

При наведении курса на обновление появляется всплывающее окно следующего содержания



Описанные выше, несложные манипуляции позволят скачать напрямую с хоста необходимое обновление, распаковать и установить.

Предварительно необходимо разрешить Remote Tech Support Mode (как вариант сделать это из консоли ESXi в разделе Troubleshooting Options) и подключиться к хосту по SSH, скопировать содержимое описанное выше и запустить на выполнение. Естественно, все это будет работать если у хоста есть доступ в интернет.

Удачи в борьбе с тем, что мы называем "баг", а вендоры "фичей".


vCloudDirector import vAPP template from vSphere vs SDRS

Organization Catalog, доказавший свою состоятельность и полезность в vCloudDirector, успешно клонировался в vSphere.
Однако, не смотря на всю кажущуюся простоту работы с ним, низкая информативность ошибок в совокупности со слабой описательной частью в различных вендорных мануалах, зачастую приводят к долгим изысканиям на тему "почему же оно не работает как надо".

Одной из самых удобных функций при формировании каталога является импорт виртуальных машин в каталог из vSphere. 

На начальной стадии импорт редко проходит успешно и чаще завершается малопонятными ошибками как эти:
"The operation could not be reformed because the argument is invalid. A specified parameter was not correct.
StoragePlacementSpec.podSelectionSpec.initialVmConfig[].disk.diskid"
Row was updated or deleted by another transaction (or unsaved value mapping was incorrect)
Не смотря, на кажущиеся отличия в описании этих ошибок, природа их одинакова. Обе ошибки связаны с отсутствием "чего-то" в кластере, на ресурсах которого хранится и используется Organization Catalog. 

Теперь о необходимых шагах, чтобы такой импорт прошел без ошибок:

1. Предположим, что у нас есть 2 кластера: кластер управления и ресурсный кластер (в рамках которого и хранится каталог). Не смотря на то, что импорт доступен из любого из кластеров, исходной lun хранения vm должен быть доступен для хостов ресурсного кластера. 
Шарить один lun между разными кластерами не является хорошей практикой, но это придется сделать для машин, зарегистрированных в кластере управления или исходную vm необходимо будет переместить на ресурсный кластер и в нем же vm зарегистрировать.

2. Настройки vm, как контейнера, должны быть максимально обезличены:
Никаких подключены дисков и сетевых адаптеров c подмапленными сетями. 

3. Самое неочевидное и смело попадающее в категорию "not a bug but a feature" - в качестве назначения хранения каталога нельзя использовать storage cluster с включенным SDRS. В случае невыполнения данного условия импорт падает с ошибкой, описанной выше. Этим VMware как бы намекает, что каталоги необходимо хранить в рамках отдельного lun, который, кстати, должен быть доступен всем хостам ресурсного кластера, но может быть недоступен как часть ресурса пользовательского VDC. Если такой возможности нет, и вы храните системный каталог в рамках общего storage cluster с включенным SDRS - на время импорта отключайте SDRS

Ну и напоследок: если вы ленивы, просто создайте универсальный vmx, который будет проходить необходимые проверки, подложите его к машинке, а после импорта замените. Вариант работает, но я не несу никакой ответственности если используя такой вариант вы что-то сломаете, как, впрочем, вообще не несу никакой ответственности в любой другой ситуации. 

nbbf: vShield Manager & Specify a vCenter user


Один известный производитель ПО для виртуализации продолжает радовать багами фичами в своих продуктах.
Ролевой доступ, казалось бы, куда уж проще, но нет.

Возникла необходимость предоставить доступ сетевому инженеру к vShield Manager.
Пошел на SSO, сделал учетку и добавил ее через интерфейс vShield Manager.



Красота. Высылаю login | password. А мне вот так в ответ:


Думаю, ладно промазал с паролем два раза. Меняю пароль еще раз, высылаю сетевику, а он мне - "ничего не изменилось". Сетевики люди специфические, особенные - проверил сам, результат - "ничего не изменилось"

В поисках решения вопроса с очередной фичей логики было мало, но был результат. 
Чтобы доступ заработал пришлось дать доступ Администратора на объект "виртуальная машина"
Красота... при полном отсутствии логики.

ESXi root password reset

Иногда я забываю теряю пароль от root для ESXi. Такое бывает, хостов много разных для разных целей, а привычки "одного пароля на все" у меня нет.
Обычно в такой ситуации я переустанавливаю ESXi, колдую с помощью host profiles и все готово - быстро и надежно. Но иногда случаются ситуации, когда пароль все таки необходимо сбросить без переустановки.
Не смотря на все старания VMware, ESXi все еще остается Linuxом, а значит будем действовать старым и проверенным способом.

1. Качаем Linux LiveCD. В моем случае - он народный 
2. Подключаем диск с LiveCD к серверу с ESXi и грузимся с него.
3. В подложке ESXi у нас будет лежать GPT, поэтому не заморачиваясь с fdisk сразу идем в gparted

4. У ESXi жизнь на диске происходит так:
system boot - загрузочный системный раздел
bootbank - системный образ ESXi, именно оно и копируется в оперативную память при загрузке.
altbootbank - резервный для bootbank (на случай беды при обновлении)
vmkDiagnostic - дампы памяти при blue screen purple screen
store - образы VMware Tools
scratch - такой есть если диск больше 5 Гб и туда падают всяческие логи.
5. /dev/sda5 - это то, что нам надо. Монтируем и смотрим что же там есть.

6. А надо нам state.tgz. Закинем его в tmp и распакуем.

7. Теперь нам надо local.tgz

8. Теперь принимаемся за shadow. Делаем из некрасивого shadow:

красивый:



9. Обновляем старый state.tgz до нового state.tgz

10. Отмонтируем /mnt и перегружаем хост.
11. Пароля нет.

P.S> и да, оно работает в 5.5
P.S2> а кто-то говорил, что не бывает ESXi c пустым root паролем...