Фильтры, задания и снимки в VMware vSphere 6.7

Многие читатели бложика, наверное, заметили, что мы проигнорировали VMware vSphere 6.5 ;). Одна из ключевых причин – отсутствие C# (толстого) клиента для управления средой виртуализации.

По причине перехода на VMware vSphere 6.7 приходится сравнивать 4 (четыре) клиента:

  1. vSphere Client (C#) – классика жанра, очень быстр, отображение состояния инфраструктуры близко к реальному времени при многопользовательской работе. Подключение к хосту и vCenter.
  2. ESXi Embedded Host Client – хостовый встроенный клиент, из полезного – умеет читать логи ВМ, не требует установки.
  3. vSphere HTML5 Web Client – перспективный клиент, очень много радости у людей с нелюбовью к Adobe Flash, но допилить никак не могут. Оценить задержки по времени от реального состояния инфраструктуры затрудняюсь – без кнопки Обновить при одновременной работе нескольких админов не обойтись, в IE работает с тормозами.
  4. vSphere Web Client (Flex) – вот из-за него-то и не стали переходить на 6.5 после реализации 6.0, а VMware его пилили-пилили, местами допилили. Есть задержки от реального времени, но есть Live Refresh и интервалы обновлений можно уменьшить до 10 секунд.

Неожиданно для себя нахожу полезняшки в vSphere Web Client, коими и спешу поделиться.

Назначенные задания и перезагрузка виртуальных машин Continue reading “Фильтры, задания и снимки в VMware vSphere 6.7”

Устройство снимков виртуальных дисков в VMware VI3

Оригинал данной статьи находится здесь, я же являюсь не более, чем пристрастным переводчиком данного текста. 🙂 Статья рекомендуется к прочтению всем адептам VMware VI3 и VMware vSphere.

Введение

Вчера я потратил полдня, решая проблему, возникшую из-за рассинхронизации снимка VMware VI3. Это был неприятный опыт, зато я узнал о важности CID-цепи!
После нескольких часов пинания мертвой ВМ, мой коллега, Дан, и я натолкнулись на CID-цепи.
Мы пришли к выводу, что .vmdk-файлы, которые создаются в VI3 каждый раз при снятии снимка, связаны с другими .vmdk через сгенерированные случайным образом значения CID. VI3 присваивает каждому новому файлу снимка CID, причем это значение меняется при каждой перезагрузке ВМ.
Если цепь CID разрывается, то ВМ не может подключить свой виртуальный диск.

Проблема

Ваши виртуальные диски не подключаются при включении ВМ, вы получите следующее сообщение об ошибке:
“Cannot open the disk ‘/vmfs/volumes/INSERT SPECIFIC VALUE HERE.vmdk’ or one of the snapshot disks it depends on.
Reason: The parent virtual disk has been modified since the child was created.”
“Не удается открыть диск ‘/vmfs/volumes/lalala.vmdk’ или один из файлов снимков, от которых он зависит.
Причина: первичный виртуальный диск был изменен, после создания вторичного.”

Черт!

Что вам делать?!
1) Только не паникуйте 🙂
2) Полностью выключите ВМ.
3) Ничего не изменяйте!
4) Прочтите эту статью!
Если вы не вносили изменения в .vmdk файлы, вероятнее всего, у вас получится исправить эту проблему.

Анализ

Эта проблема возникла, вероятно, потому что вы сделали один или несколько снимков одного или нескольких виртуальных дисков, связанных с ВМ, и снимки рассинхронизировались. Скорее всего, вы получили эту проблему в средах ESX/VI3.
Причина этой проблемы связана с тем, как VI3 управляет снимками и дельтами изменений относительно первоначального виртуального диска (.vmdk). Вероятно, нарушилась логика иерархии снимков, и вторичные .vmdk-файлы, уже не ссылаются на первичные.
Ключ к складыванию головоломки из снимков находится в восстановлении цепи CID.
Каждому .vmdk файлу назначается свой CID-идетификатор. Кроме того, в каждом .vmdk содержится ссылка на CID и .vmdk предыдущего (родительского) файла. CID “родителя” должен указывать на .vmdk файл, созданный непосредственно перед созданием снимка.
При загрузке ВМ CID в .vmdk-файлах меняется на случайным образом. Если после загрузки ВМ цепь CID не в том же состоянии, как и до загрузки, то связь вторичный CID -> первичный CID нарушается. Таким образом VI3 определяет подлинность снимков. Единственный способ вновь синхронизировать CID-цепь – вручную отредактировать все .vmdk файлы в этой цепи.
Пример CID-цепи:
Первичный .vmdk = vdisk.vmdk
.vmdk, созданный после 1 снимка = vdisk-000001.vmdk
.vmdk, созданный после 2 снимка = vdisk-000002.vmdk
Если эта цепочка нарушается, то:
вручную делаем ссылку vdisk-000002.vmdk -> vdisk-000001.vmdk;
vdisk-000001.vmdk -> vdisk.vmdk.

Обратим внимание на три поля в .vmdk-файле:
– поле CID;
– ссылка на parentCID;
– поле parentNameHint.
Примечание: первичный .vmdk не содержит поля “parentNameHint”, а его “parentCID” всегда равняется “ffffffff”.

Примеры

Пример содержимого первичного vdisk.vmdk:
[root@myvi3server]# cat vdisk.vmdk
# Disk DescriptorFile
version=1
CID=7f81b951
parentCID=ffffffff
createType=”vmfs”
# Extent description
RW 50331648 VMFS “vdisk-flat.vmdk”
# The Disk Data Base
#DDB
ddb.virtualHWVersion = “4”
ddb.geometry.cylinders = “3133”
ddb.geometry.heads = “255”
ddb.geometry.sectors = “63”
ddb.adapterType = “lsilogic”
ddb.toolsVersion = “7202”

Пример второго файла – vdisk-000001.vmdk:
[root@myvi3server]# cat vdisk-000001.vmdk
# Disk DescriptorFile
version=1
CID=8eb633b8
parentCID=7f81b951
createType=”vmfsSparse”
parentFileNameHint=”/vmfs/volumes/478b9802-ce7ed955-96a4-0015c5fd9308/servername/vdisk.vmdk”
# Extent description
RW 50331648 VMFSSPARSE “vdisk-000001-delta.vmdk”
# The Disk Data Base
#DDB
ddb.toolsVersion = “7202”
Примечание: файл из “parentNameHint” находится на iSCSI SAN. Длинный шестнадцатиричный GUID – идентификатор этого VMFS-хранилища.

Пример третьего – vdisk-000002.vmdk:
[root@myvi3server]# cat vdisk-000002.vmdk
# Disk DescriptorFile
version=1
CID=249e6aff
parentCID=8eb633b8
createType=”vmfsSparse”
parentFileNameHint=”sryulris0cogp01-000001.vmdk”
# Extent description
RW 50331648 VMFSSPARSE “vdisk-000002-delta.vmdk”
# The Disk Data Base
#DDB
ddb.toolsVersion = “7202”
Примечание: Путь к файлу в “parentNameHint” поле указывает на файл, который располагается в том же каталоге, что и vdisk-000002.vmdk. Если файл находится в другом каталоге, то в пути указывается каталог.

Решение

Следующие шаги синхронизируют файлы снимков VI3 так, что ESX/ESXi успешно проверит их связь друг с другом, а также их подлинность:
Примечание: Выполните следующие действия в текстовом редакторе. Сохраните резервную копию оригинального файла до внесения каких-либо изменений.

Измените vdisk-000002.vmdk:
1) Запомним CID у vdisk-000001.vmdk (= 8eb633b8);
2) Запомним путь к vdisk-000001.vmdk (= локальный каталог);
3) Исправьте parentCID для vdisk-000001.vmdk -> ParentCID=8eb633b8;
4) Исправьте parentNameHint на vdisk-000001.vmdk -> ParentFileNameHint=”vdisk-000001.vmdk”.

Измените vdisk-000001.vmdk:
1) Запомним CID у vdisk-000001.vmdk (=7f81b951);
2) Запомним путь к vdisk-000001.vmdk (=”/ vmfs/volumes/478b9802-ce7ed955-96a4-0015c5fd9308/servername /);
3) Исправьте parentCID для vdisk.vmdk -> ParentCID=7f81b951;
4) Исправьте parentNameHint на vdisk.vmdk файл -> ParentFileNameHint=”/ vmfs/volumes/478b9802-ce7ed955-96a4-0015c5fd9308/servername/vdisk.vmdk”.

Если виртуальные диски не были изменены, вас можно поздравить. Если же виртуальные диски были изменены или вы удаляли их из виртуальной машины, а затем добавляли снова, необходимо будет вручную изменить настройки соответствующего виртуального SCSI-контроллера в файле настроек ВМ – .vmx-файле (указать .vmdk последнего снимка в вашей CID-цепи).

Примечание: Выполните следующие действия в текстовом редакторе. Естественно, сохраните резервную копию исходного файла до внесения каких-либо изменений. 🙂

Измените servername.vmx:
1) Найдите SCSI контроллер, на котором находится виртуальный диск, который мы восстанавливаем. Первый виртуальный диск, как правило, назначается на SCSI-контроллер scsi0:0, второй – scsi0:1, а третий – scsi0:2;
2) Предположим, что мы восстанавливаем второй виртуальный диск. Найдите раздел, ссылающийся на scsi0:1;
3) Укажите в поле ссылку на .vmdk последнего снимка в нашей цепи:
scsi0:1.fileName=”/ vmfs/volumes/46fd62d479749c9697e30015c5fd9308/servername/vdisk-000002.vmdk”.
Примечание: Путь к файлу может быть изменен, хотя по умолчанию снимки сохраняются в том же каталоге, что и первичный .vmdk (vdisk.vmdk). Поэтому введите полный путь к .vmdk снимка (vdisk-000002.vmdk), включая iSCSI GUID и т.д…
4) Сохраните файл и перезагрузите ВМ;
5) Если ВМ не загружается, или выдает ошибку “The parent virtual disk has been modified since the child was created.”, проверьте иерархию CID и пути к файлам, а затем повторите попытку. Если ВМ прежнему не загружается, а CID-сеть и пути к файлам корректны, то первичный или последующие .vmdk-файлы, вероятно, были изменены некорректным образом и их не удается восстановить!

Очень интересный ресурс

Добрый всем день (а в Перми дождик 🙁 ).
Сегодня понял, что очень хочу прорекламировать один очень качественный и структурированный ресурс. Правда, информация на нем посвящена только VMware Virtual Infrastructure, но ресурс действительно классный.
Итак встречайте – wiki.vm4.ru.

Проблемы с снапшотами (снимками)

Craig на Malaysia VMware Communities опубликовал несколько статей, посвященных траблшутингу (решению проблем) с снимками (тут и тут).
Continue reading “Проблемы с снапшотами (снимками)”

Как обновить железо в виртуальной машине

Scott Lowe делится советом, как в старые виртуальные машины добавить новое “железо”:
1) Запишите текущие сетевые настройки ваших сетевых адаптеров. Вам понадобится заново ввести их.
2) Обновите VMware Tools. Это можно сделать нажав правой кнопкой мыши на виртуальной машине и выбрав “Guest > Install/Upgrade VMware Tools”. Выберите “automatic tools upgrade”. После установки VMware Tools виртуальная машина перезагрузится.
3) Выключите виртуальную машину.
4) Обновите версию виртуального железа, нажав на нее правой кнопкой мыши и выбрав “Upgrade Virtual Hardware”.
5) Добавьте сетевой адаптер VMXNET3 и подключите его к той же port group/dvPort group как и первый сетевой адаптер.
6) Удалите исходный сетевой адаптер.
7) Добавьте новый жесткий диск в виртуальную машину. Используйте шину SCSI под номером 1:x; эта операция добавит второй SCSI-адаптер в вашу виртуальную машину. Размер значения не имеет 🙂
8) Измените тип нового SCSI адаптера на “VMware Paravirtual”.
9) Нажмите OK для сохранения изменений в вашей виртуальной машине.
10) Включите виртуальную машину. Воссоздайте сетевые настройки, записанные на первом шаге. Windows предупредит, что эта конфигурация уже используется другим адаптером, игнорируйте предупреждение. Выключите виртуальную машину.
11) Удалите тот жесткий диск, что вы недавно добавили.
12) Не закрывая свойств виртуальной машины, измените тип исходного SCSI адаптера на VMware Paravirtual.
13) Включите виртуальную машину.
14) Создайте переменную среды “DEVMGR_SHOW_NONPRESENT_DEVICES” и задайте ей значение 1.
15) Запустите Device Manager и из меню выберите Show Hidden Devices.
16) Удалите драйвера для старого сетевого адаптера и SCSI адаптера.
Вот и все… 🙂

UPD: Отсюда.

Старый добрый глюк, про который не пишут.
При зачистке старых девайсов надо обязательно удалять не только засеренную сетевуху, но и Microsoft ISATAP Adpter, иначе при установке новой сетевухи будет еще один под номером #2.

Точнее, порядок действий при смене сетевухи такой:
1. Отключаем старую в настройках VM
2. Зачищаем devices от старой сетевухи и Microsoft ISATAP Adpter
3. Перегружаемся
4. Включаем новую сетевуху но галочку Connected не ставим.
5. Проверяем, что новая сетевуха и адаптер появились и драйвера взлетели.
6. Прописываем ip-адрес
7. И только после этого ставим галочку Connected

Муторный способ, но гарантирует, что на любом этапе можно проконтролировать процесс.

Презентации с vForum 09

На сайте VMware выложили несколько презентаций c VMware Virtualization Forum 2009:
VMware Keynote
Virtualization Management
Whats New with VMware Virtualization
Business Continuity and Disaster Recovery
Intro to Virtualization Using ESXi
How to Choose a Virtualization Solution
The Cloud Internal and External
Virtualizing Business Critical Applications
Desktop Management

Энергопотребление vSphere

Зелёные тенденции, в особенности снижение энергопотребления, в ИТ во время кризиса становятся популярными и в России, даже за пределами МКАД. Как известно, виртуализация неплохо позволяет экономить драгоценные ватты за счёт консолидации и энергосберегающих технологий таких, как DRS(DPM). В vSphere данное направление получило дальнейшее развитие и одной из ключевых функций стала поддержка динамического управления частотой процессора Intel SpeedStep, Enhanced AMD PowerNow!.

Имеется ли поддержка данной технологии можно посмотреть на закладке процессоров в конфигурации хоста.
vsphere_intel_speed_step

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

vsphere_advanced_power

Так как эффективность данных технологий видна только при низкой загрузке, то для испытаний было взято два хоста без виртуалок. На первом хосте установлен ESXi 3.5u4, на втором ESX 4emb RC. Но неожиданно вспомнил, что последний вместо жесткого диска установлен на USB-флеш, так что тесты могут просто показывать простой винчестеров ;). Энергопотребление смотрел с помощью мониторинга питания в iDrac лезвия.

Результаты: сервер с ESXi3.5u4 потребляет 120-124 ватта, ESX 4emb RC 104-108 ватт, разница 10%.