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

понедельник, 26 июня 2017 г.

Загрузка ESXi c USB/SD и что меняется, когда появляется vSAN

Я уверен, что каждый из вас устанавливал ESXi тысячи раз, установка настолько простая, что, я думаю, вы даже не успевали задуматься, а что же на самом деле происходит в этот момент.
В этой статье я предлагаю разобраться подробнее, что же происходит во время установки ESXi. Начнем с того, что согласно документации ESXi Hardware Requirements ESXi можно установить на устройство размером минимум 1GB, это может быть USB stick, SD card, локальный диск, SAN/iSCSI LUN и набирающий популярность, но еще достаточно дрогой вариант – SATADOM, возможно применение vSphere Auto Deploy.
Лично мне варианты загрузки SAN/iSCSI LUN и vSphere Auto Deploy не нравятся. При проблемах с сетью хост даже не сможет загрузится, что еще сильнее усложнит поиск проблемы. Я не буду рассматривать эти варианты.
Как было сказано выше для установки ESXi достаточно накопителя объемом 1GB и если мы выберем такой накопитель и посмотрим на разделы, созданные при установке ESXi, то мы увидим следующую картину. Пять обязательных раздела (Начиная с ESXi 4.x MBR был заменен на GPT).
  • Раздел #1. Самый маленький раздел, в нем находится загрузчик.
  • Раздел #5. Содержит образ операционной системы гипервизора.
  • Раздел #6. Содержит альтернативный образ операционной системы гипервизора.
  • Раздел #7. Предназначен для сохранения coredump в случае PSOD (Pink Screen of Death).
  • Раздел #8. Содержит образы VMware Tools и Floppy Images.
Все, вроде, очевидно кроме раздела #5 и раздела #6.
Основное отличие от традиционной операционной системы в ESXi - это то, что все файлы, необходимые гипервизору, хранятся в разделе фиксированного объема (Primary Boot Bank - 250 МБ). Альтернативный Boot Bank такого же размера необходим на случай отката к предыдущей версии ESXi вне зависимости от того был ли произведен Update (накатывание патчей) или Upgrade (накатывание новой версии ESXi). При обновлении ESXi не перезаписывает предыдущую версию, а создает новый образ операционной системы гипервизора и сохраняет возможность «откатиться» в случае неудачного обновления.
Нажав «SHIFT+R» при загрузке гипервизора мы можем выбрать версию для загрузки.

Что же хранится в этих разделах? Образ гипервизора – это файл сжатый файл s.v00, который разжимается при загрузке и содержит операционную систему гипервизора. Корневой раздел (/etc, /lib и т.д.) появляется в результате распаковки образа, таким образом, корневой раздел располагается только в оперативной памяти хоста. Возникает резонный вопрос, а как сохраняются настройки? При плановом выключении все конфиги запаковываются в файл state.tgz, который сохраняется рядом с образом гипервизора. При каждой загрузке настройки читаются из этого файла. Если завершить работу гипервизора некорректно, то все несохраненные изменения в настройках гипервизора будут утеряны. (UPD. не совсем так, см. комментарий).

Что же изменится, если мы возьмем для установки диск объемом более 1GB (~5.2GB)?

Мы увидим, что появятся два дополнительных раздела:
  • Раздел #2. Раздел Scratch, содержащий разнообразные log файлы vmkernel и других компонент гипервизора.
  • Раздел #3. Весь оставшийся объем будет выделен под VMFS раздел. Он будет виден как Local Storage в vSphere Client и на нем можно будет размещать файлы виртуальных машин.
И последнее про разделы. Начиная с ESXi 5.5 был добавлен второй раздел для coredump. Самое интересное, что, если вы обновлялись до версии 5.5, то вы не найдете этот раздел, он не будет существовать. Он будет создан только при чистой установке ESXi (Two coredump partitions in ESXi 5.5?).
Связано это с тем, что объем оперативной памяти, установленный в сервера растет, и раздел объемом 110MB уже не способен уместить coredump современного сервера.

Все это мы можем увидеть и подключившись к гипервизору по SSH. Мы видим все 8 разделов на диске, размеры этих разделов соответствуют написанному выше.
Так же мы можем увидеть, что разделы altbootbank, bootbank, scratch и store смонтированы в соответствующие папки файловой системы.
Все вышесказанное справедливо для установки на локальный диск или SATADOM достаточного объема. Подключившись по SSH к ESXi серверу, мы можем увидеть, что ID разделов соответствуют ID смонтированных томов.
Если мы установили ESXi на USB stick или SD card поведение гипервизора меняется. Связано это с тем, что «живучесть» (endurance) USB stick или SD card очень низкая и,, если гипервизор начнет писать свои логи на них, то он выведет их из строя очень быстро.
При установке ESXi определяет тип загрузочного устройства и, если это USB stick или SD card, установщик не будет создавать Раздел #2 (Scratch), а папка Scratch будет ссылаться на /tmp/scratch. Подключившись к хосту через vSphere Client, мы увидим предупреждения, что логи сервера сохраняются на non-persistent хранилище и будут потеряны при перезагрузке.
Если в системе появится локальный Storage, то при очередной перезагрузке гипервизор увидит, что логи можно писать на него. В раздел scratch будет смонтирована папка .locker, находящаяся на этом локальном Storage, а предупреждение пропадет.
Как я уже писал выше, гипервизор при загрузке «живет» в памяти. Для этого используются RAM диски. RAM диск – это раздел или хранилище, находящиеся в оперативной памяти сервера, важно помнить, что при перезагрузке, все данные из RAM диска будет потеряны. Примером использования RAM диска является монтирование scratch в /tmp/scratch. С помощью команды esxcli system visorfs ramdisk list можно увидеть список всех RAM дисков.

Что же такое scratch и почему я уделил так много времени ему?

Это раздел, в который гипервизор пишет все свои логи, а в случае проблем и обращении в техническую поддержку VMware, логи очень важны!

Я настоятельно рекомендую разобраться с хранение логов в вашей системе и принять меры для надежного и понятного их хранения. Для этого можно ознакомиться с KB Creating a persistent scratch location for ESXi. Приведу здесь только скриншот алгоритма выбора гипервизором места хранения логов.

Отличным вариантом является использование Syslog сервера для сбора логов. Возможно у вас уже есть Syslog сервер для другого оборудования, если нет, то это хороший повод начать его использовать Configuring syslog on ESXi. Например, можно использовать VMware Log Insight. Если у вас куплен vCenter, то для небольшой инфраструктуры его можно использовать бесплатно.

С логами мы разобрались. Перейдем к coredump

Coredump как и логи является очень важным источником информации, необходимым для работы технической поддержки при расследовании инцидентов. В coredump записывается состояние системы при PSOD (при «падении» системы).
Как я писал выше, начиная с ESXi 5.5 таких раздела два, мы можем увидеть это на скриншоте ниже. 
Настоятель рекомендую проверить coredump разделы на ваших гипервизорах и в случае необходимости внести изменения Configuring a diagnostic coredump partition on an ESXi 5.x/6.x host и Configuring ESXi coredump to file instead of partition.
Важно заметить, что если вы используете в своей инфраструктуре ESXi хосты с объемом RAM памяти больше 512GB (и vSAN), то вам следует ознакомится с еще одной статьей из KB Extending an ESXi diagnostic coredump partition on a vSAN node. Дело в том, что стандартный раздел для coredump (2.5GB) может не вместить дамп и этот раздел нужно будет увеличить.

Появляется vSAN

vSAN приносит в нашу систему еще один набор логов - vSAN traces:
  • vSAN traces help VMware support and engineering to understand what is going on internally with vSAN.
  • It should be noted that these traces are *not* part of syslog.
  • So if you setup a syslog server to capture VMkernel logs, you will not capture vSAN traces.
  • vSAN trace files are not persisted with syslog because the bandwidth requirements are too high.  (Although with vSAN 6.2, we now persist just the “most important” traces along with syslog https://kb.vmware.com/kb/2145556).
И теперь необходимо заботиться о сохранности еще одного набора логов.
Что важно для нас, что vSAN traces ведут сябя аналогично scratch и если мы установили гипервизор на USB stick или SD card, то traces будут писаться в RAM диск и пропадут при перезагрузке.

Так как vSAN traces очень важны для восстановления данных при сбое, то при штатной перезагрузки наиболее важные из них записываются на персистентное хранилище:

Здесь должны быть выводы

  1. У вас должен (обязан) быть syslog сервер и чем больше на него будет перенаправлено логов, тем легче будет увидеть корреляцию при сбоях. Отличной практикой является перенаправлять логи и серверов и сетевого оборудования и СХД на один syslog сервер. Это позволит вам сразу увидеть, что, например, сбой коммутатора повлек проблемы на виртуальной платформе.
  2. Нужно быть внимательным с выбором загрузочного устройства для ESXi и помнить, что не все устройства одинаково полезны.
  3. Еще раз перепроверить, что логи записываются на какое-то постоянное хранилище и к ним можно получить доступ.
  4. Аналогично про coredump, перепроверить, что раздел для записи дампа существует, и он подходящего для хоста объема.
  5. И раз я писал про vSAN, не могу не упомянуть, что все оборудование хоста должно быть в VMware Compatibility Guide, включая версии firmware и версии драйверов.

четверг, 9 декабря 2010 г.

Проблема USB и Workstation 7

После установки Workstation 7 у меня долгое время наблюдались странные проблемы с USB устройствами. Перестал работать Bluetooth на домашнем и рабочем десктопе, на ноутбуке удалось заставить работать USB 3G модем только при помощи адского шаманства - модем непременно нужно было воткнуть в выключенный ноутбук, а потом загрузиться. Причем никакого hibernate.

Если у вас похожие необъяснимые проблемы - виновата 7я Workstation.

Лечение: остановить и перевести в состояние Manual или Disabled сервис VMware USB Arbitration Service (VMUSBArbService).

Если же вам непременно нужно пробрасывать USB в виртуальную машину - откатывайтесь на Workstation 6.5

понедельник, 15 ноября 2010 г.

Проблема с BitLocker To Go в VDI среде

При презентации BitLocker To Go, новой функциональности Windows - шифрованию флэшек и прочих сменных носителей, Александр Шаповал оговорился, что она поддерживается только для локальных носителей и не работает для перенаправленных.

Я даже проверил это с VMware VDI 2.0 - действительно, Access Denied. Но как вы, наверное, сами понимаете, в этом случае огромный пласт пользователей просто воспользоваться шифрованием не сможет - VDI набирает обороты.

Duncan Epping опубликовал статью, в которой описывается как включить поддержку Bitlocker To Go для перенаправленных носителей.

понедельник, 12 апреля 2010 г.

О пробросе USB

Один из наиболее задаваемых вопросов - а может ли ESX пробрасывать USB порты в ВМ?

Я уже писал о том, почему не нужно делать подобный проброс, но частично все же повторюсь.

Использование портов хоста жестко привязывает ВМ к хосту. Она больше не может никуда мигрировать. Она даже не перезапустится в HA кластере при смерти хоста, на котором выполнялась - ведь нужный ей порт USB вместе с USB ключом, или что там было подключено, находится на недоступном хосте. Более того, как только появилась привязка к аппаратным ресурсам сервера, можно сказать "до свидания" снапшотам, а следовательно, и бэкапу данной ВМ. Впрочем, вполне возможно, что при цене 499$ за vSphere Essentials непосредственный проброс USB в ВМ (по слухам появится в июне в vSphere 4.1) в секторе SMB будет востребован. Решать, разумеется, вам.

Моя же рекомендация - в любом случае использовать USB-over-IP. И здесь есть варианты как аппаратные, так и в программные.

среда, 20 мая 2009 г.

USB в виртуальной машине

Are USB devices supported in a VM in ESX 4?
• Yes, but only devices attached to a host can be presented to a VM. Devices attached to a machine running the vSphere Client cannot be redirected and presented inside a VM by ESX/ESXi alone. (USB redirection can be found in VMware View and is supported through RDP.)
• USB support requires installation of VMware Tools.

Поддерживаются ли USB устройства в VM в ESX 4?
• Да, но только устройства, подключенные к хосту, могут быть презентованы виртуальной машине. Устройства, подключенные к машине, на которой запущен vSphere клиент не могут быть перенаправлены и подключены к виртуальной машине напрямую. (Однако перенаправление USB есть в VMware View и поддерживается протоколом RDP)
• Поддержка USB требует установки VMware Tools.

Информация неофициальная, но с учетом того, что в виртуальных машинах появились USB контроллеры, похожа на правду. Увы, проверить не могу. Ждем завтрашнего релиза :)

Thnx to Mr. Nobody

четверг, 19 марта 2009 г.

ESX и USB для ВМ

Один из наиболее задаваемых вопросов про ESX(i) - когда VMware сделает возможным использование host USB в ВМ на ESX.

Отвечаю: никогда.

Объясняю: концепция использования ВМ в среде Virtual Infrastructire, т.е. на ESX(i) серверах предполагает, что каждый ESX хост является донором лишь трех возможных ресурсов - времени процессора, мегабайтов оперативной памяти и мегабитов сетевого соединения. Почему только так? Просто потому что VI - это платформа виртуализации, вышедшая из первого поколения (консолидации) довольно давно, и ВМ не привязана к какому-то конкретному хосту. DRS и VMotion + разделяемое хранилище дают прозрачное перемещение ВМ в пределах кластера.

- Где у вас находятся эти виртуальные машины? - (строгий аудит)
- Где-то тут. - (сисадмин обводит рукой стойку с серверами)
- Как, Вы не знаете где они работают?!
- А разве это так важно?

С появлением ESXi Embedded ввод в строй новых хостов еще более упростился и приближается к концепции анонимных хостов. А вся система приближается к модному в этом сезоне термину - "облаку". Нас реально не волнует как там что устроено внутри, оно просто работает.

Почему здесь нет места USB? А просто потому что использование портов хоста жестко привязывает ВМ к хосту. Она больше не может никуда мигрировать. Она даже не перезапустится в HA кластере при смерти хоста, на котором выполнялась - ведь нужный ей порт USB вместе с USB ключом, или что там было подключено, находится на недоступном хосте.

Итог: если Вам действительно нужны USB порты в ВМ, то у Вас есть два возможных варианта при работе с VMware VI. В любом случае Вы добавляете в инфраструктуру отдельный хост и:
1) Устанавливаете на нем VMware Server, который прекрасно работает с хостовым USB, и запускаете серверы лицензий и тому подобные машины с необходимостью наличия USB под VMware Server.
2) Устанавливаете дополнительные USB контроллеры в нужном количестве и запускаете хост-сервис USB-over-IP на этой машине. После чего пробрасываете USB в нужные виртуальные машины по сети. Но в этом случае Вам будет необходимо купить соответствующий продукт, благо их в настоящее время достаточно широкий выбор.