Как добавить жесткий диск в esxi в datastore

Обновлено: 04.07.2024

Что такое общий диск Multi-writer в VMware ESXI

Сейчас уже очень сложно себе представить серьезный сервис без отказоустойчивости, которая может быть реализована на разных уровнях работы инфраструктуры. Очень частым решением выступает отказоустойчивый кластер, который подразумевает использование разных серверов для одного сервиса. Выход из строя одного из серверов не влияет на работоспособность предоставляемых услуг клиентам. Очень часто в кластерах используются общие диски, для хранения баз данных (Microsoft SQL или Oracle), файловые ресурсов. Общие диски могут презентованы, как отдельные LUN с СХД, через ISCSI протокол, через общий диск или RDM в случае с виртуальными машинами.

В данной заметке я опишу реализацию с помощью общего диска для виртуальных машин VMware ESXI 6.5. В некоторых случаях (как правило, в сценариях кластеризации) может потребоваться совместное использование одного и того же диска между двумя (или более) виртуальными машинами. Наиболее оптимальным способом является использование диска vmdk, физически расположенного на общем хранилище или локально на хосте ESXi. Если вы хотите использовать общие диски на разных хостах ESXi, то вы можете использовать только разделяемое хранилище

.На представленной ниже схеме вы видите:

  1. Storage Array, по сути это ваша система хранения данных, на которой реализован RAID массив, по рекомендации производителя.
  2. RAID массив порезан на LUN, это логически порезанное место на вашей системе хранения данных
  3. Далее LUN презентуется хостам VMware ESXI 6.5 и размечается файловой системой VMFS 6. Где из LUN получаются разделы (Datastore-Volume) для гипервизора.
  4. Далее на на Datastore уже разворачиваются виртуальные машины

Схема общего диска в ESXI 6.5

Вот на таком общем VMFS Volume диске вы создаете общий VMDK диск, который будет доступен двум и более виртуальным машинам под чтение и запись. Сами виртуальные машины могут находится на разных физических хостах и разных географических локациях.Такой режим называется Multi-Writer VMDK, его часто применяют в построении кластеров MS SQL, Oracle RAC, такой режим работы диска применяется в технологии VMware Fault Tolerance.

Для чего применяют Multi-Writer диск

  • Во первых, как я и писал выше для отказоустойчивости различных сервисов, сервера которых могут быть в разных ЦОДах.
  • Во вторых для возможности обслуживания важных серверов, без их простаивания. Например, чтобы была возможность своевременно производить обновление Windows пакетов, другого программного обеспечения, иметь возможность перезагружать сервер
  • В целях тестирования кластерных технологий, когда у вас нет СХД и нет возможности реализовать общий диск, по FC или ISCSI протоколу

Ограничения общих дисков VMware ESXI

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

Ограничения общих дисков ESXI

Например, при попытке сделать Storage vMotion вы получите ошибку:

Virtual machine is configured to use a device that prevents the operation: Device 'SCSI controller 1' is a SCSI controller engaged in bus-sharing

Если нужно будет мигрировать, то придется выключать виртуалку.

Ошибка миграции общего диска ESXI

  • Вы не сможете на живую произвести расширение дисков, при попытке вы получите вот такую ошибку:
The disk extend operation failed: The virtual disk requires a feature not supported by this program. Hot-extend is currently supported only for VMFS flat virtual disks without snapshots opened in persistent mode.
  • Если вы вдруг разметите оба диска в NTFS на двух хостах и попытаетесь на них писать, создав на одном одну папку, а на втором вторую, то хосты эти папки не увидят, каждый свою, учтите, это вам не общий диск с синхронизацией файлов, Multi-Writer VMDK именно нужен для кластеризации.

Как подключить общий диск в VMware ESXI 6.5 и выше

Поэтому нам первым делом необходимо в свойствах виртуальной машины добавить новый SCSI Controller.

Создание кластерного Multi-writer диска в VMware Vsphere-01

Если посмотреть подсказку у LSI Logic SAS контроллера, то вы увидите три его режима:

  • None - для работы с не кластерными Multi-Writer дисками
  • Physical - виртуальные диски могут быть общими для виртуальной машины и физическим сервером
  • Virtual - для работы с общим диском для нескольких виртуальных машин

описание типа LSI Logic SAS контроллера

Хочу отметить, что к одному LSI Logic SAS контроллеру можно одновременно подключить до 16 виртуальных дисков

Делается это через пункт "New Device" и нажатии кнопки Add, для SCSI Controller.

Добавление нового LSI Logic SAS контроллера

Далее у нового, добавленного контроллера вы в пункте "SCSI Bus Sharing" выберите тип "Virtual". Можете сохранить конфигурацию виртуальной машины, через нажатие кнопки "Ок"

Создание кластерного Multi-writer диска в VMware Vsphere-03

Далее на первой машине, где мы только что добавили новый контроллер, вам нужно создать новый виртуальный диск, делается это так же, через пункт "New Device"

Создание кластерного Multi-writer диска в VMware Vsphere-04

Откройте параметры нового виртуального диска. Для того, чтобы сделать его общим между виртуальными машинами VMware ESXI, вам необходимо выставить соответствующие настройки:

  • Disk Provisioning - Делает толстый диск с занулением "Thick provision Eager zeroed thick disks", нужен для кластеризации, о типах дисков ESXI, читайте по ссылке.
  • Sharing - тут вы как раз выбираете режим общего диска "Multi-Writer"
  • Disk Mode - режим работы диска выставите "Independent Persistent" (Подробнее про режимы работы ESXI дисков), данный режим работы не позволит использовать vStorage APIs, что не даст создавать на таком диске снапшоты. Данный режим рекомендуется самим вендором VMware и его партнерами, такими как Oracle. Если бы мы разрешили создание снимков на этом диске, то это могло бы привести к потере данных. Так если у вас на этом диске быдет база SQL и вы будите использовать Veeam Backup, то у ваших резервных копий на уровне самого SQL могут быть проблемы при восстановлении из них, так как точка отсчета с которой нужно будет выстраивать цепочку бэкпов будет нарушена Veeam, который сдвинет точку бэкапа на себя. Если выставлен Independent Persistent, то в Veeam при создании бэкапа этой виртуальной машин можно исключить нужные диске, где стоят SQL или Oracle.
  • Virtual Device Node - выберите наш новый LSI Logic SAS контроллер, работающий в режиме "SCSI Bus Sharing Virtual"

Создание кластерного Multi-writer диска в VMware Vsphere-05

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

Создание кластерного Multi-writer диска в VMware Vsphere-07

Далее я иду на датастор на котором находится виртуальная машина с общими дисками (Datastore - Browse Files).

Перемещение общих дисков в esxi

Нахожу нужные мне Multi-Writer диски. Создаю новую папку

Создание кластерного Multi-writer диска в VMware Vsphere-09

И перемещаю в новую папку общие диски, хочу отметить, что вы их можете переместить на любой общий между хостами ESXI датастор.

Перемещение общих дисков в esxi

Я делаю "Move to" на тот же латасторе, но в новую папку. Этим я добьюсь, что буду видеть явным образом общие кластерные диски.

Создание кластерного Multi-writer диска в VMware Vsphere-11

Так как я диски до этого удалил, для удобства, то мне их нужно заново добавить. Если вы до этого не удаляли, то сделайте эти действия только для второй виртуальной машины. Открываем настройки виртуальной машины и нажимаем добавить новое устройство, выбираем пункт "Existing Hard Disk", это у нас выбор существующего общего кластерного диска.

Создание кластерного Multi-writer диска в VMware Vsphere-12

Указываем на каком датасторе у нас лежит Multi-Writer диск и выбираем нужный VMDK, в моем случае их семь.

Добавление Multi-Writer общего диска

Выставляем нужные параметры:

  • Disk Provisioning - "Thick provision Eager zeroed thick disks"
  • Sharing - "Multi-Writer"
  • Disk Mode - "Independent Persistent"
  • Virtual Device Node - выберите наш новый LSI Logic SAS контроллер, работающий в режиме "SCSI Bus Sharing Virtual"

Если такой диск не один, то добавляем все за один раз для экономии времени. Проделываем такое добавление общих дисков на всех виртуальных машинах, где планируется использовать Multi-Writer.

Создание кластерного Multi-writer диска в VMware Vsphere-14

Далее уже в операционной системе Windows Server, зайдя в оснастку "Управление дисками" вы обнаружите ваши диски. Остается их только разметить в GPT формат и отдать под кластер.

Размеченные общие диски в кластере ESXi

Включение общего диска для ESXI 5.5 и ниже

В более ранних версиях гипервизора Vmware ESXI 5.5 и ниже, общий кластерный диск выключается таким образом. Вы заходите так же в свойства виртуальной машины и добавляете там новый SCSI Controller с типом работы "Virtual".

Добавление LSI Logic SAS контроллер в ESXI 5.5

Затем вы создаете новый диск, указываете его размер и тип Thick Provision Eager Zeroed.

СОздание общего диска

Далее Vmware ESXI 5.5 попросит вас выбрать Выбор LSI Logic SAS контроллер, обязательно укажите тот, что мы создали заранее и запомните порт SCSI к которому вы его подключаете в моем примере, это SCSI (1:0).

Выбор LSI Logic SAS контроллера

Далее в настройках виртуальной машины вам необходимо перейти на вкладку "Option - General" и нажать кнопку "Configuration Parameters".

Включение флага Multi-Writer

В самом конце для каждого общего диска пишем в имени номер SCSI порта SCSI1: 0.sharing в поле "Value" пишем multi-writer.

Multi-Writer VMDK

Для второй виртуальной машины делаем те же действия, единственное на этапе создания диска, выбираем пункт существующего "Use an existing virtual disk"

ESXI 5.5 добавление общего диска-01

Через кнопку "Browse" указываем путь до него.

ESXI 5.5 добавление общего диска-02

Выбираем сам VMDK диск. После чего не забываем так же прописать на вкладке "Option - General" и нажать кнопку "Configuration Parameters", для каждого общего диска пишем в имени номер SCSI порта SCSI1: 0.sharing в поле "Value" пишем multi-writer.

date

09.07.2020

directory

VMWare

comments

комментариев 11

Сегодня мы разберем несколько простых способов получения доступа к данным, хранящимся на файловой системе VMFS хранилища (datastore) гипервизора ESXi (это файлы конфигурации, файлы с данными и снапшотами виртуальных машин). Статья, собственно, основана на реальной ситуации, возникшей у одного из клиентов, когда единственный продуктивный сервер с гипервизором VMware ESXi перестал загружаться.

В том случае, если не работает сам хост ESXi, но локальный диск (или диски) сервера остался работоспособными, вы всегда сможете скопировать файлы виртуальных машин (как диски с данными, так и конфигурационные файлы) с него и запустить ВМ на другом сервере (на VMware Workstation или даже Hyper-V). Основная проблема в том, что «классические» операционные системы (Windows и Linux) по умолчанию не видят раздел с файловой системой VMFS, т.к. в них отсутствует драйвер файловой системы VMFS. В этой статье мы рассмотрим, как получить доступ к файлам виртуальных машин на диске с файловой системой VMFS из разных ОС.

В моем случае проблема была в том, что резервное копирование виртуальных машин VMware настроено не было, как и не было времени на диагностику и решение проблем с загрузкой системы. Поэтому было принято решение вручную скопировать файлы критичной виртуальной машины с хранилища VMFS и запустить ее на другом компьютере на срочно поднятом для этих целей гипервизоре ESXi.

Разберем три сценария доступа к данным на файловой системе VMFS:

Монтирование VMFS раздела в Linux (Ubuntu)

В этой секции мы покажем, как смонтировать раздел с файловой системой VMFS на компьютере с установленной ОС Ubuntu (Live CD с Ubuntu в этом сценарии нам не подойдет).

В первую очередь необходимо подключить физический диск с файловой системой VMFS к компьютеру (серверу) с Ubuntu. Чтобы получить доступ к данным на VMFS томе, нам понадобиться установить специальный сторонний пакет vmfs-tools. Данный пакет позволяет получить доступ к файловой системе раздела VMFS из компьютеров под управлением Linux. Доступ к данным на таком разделе возможен в режиме только на чтение (read-only). Второе важное ограничение, разработчики vmfs-tools официально заявляли о поддержки версий файловой системе VMFS вплоть до VMFS 5.0. Возможность подключения раздела с VMFS 6 (vSphere 6.0 и 6.5.) не гарантируется.

Установим пакет следующей командой

Примечание. В репозитариях Ubuntu пока доступна только версия vmfs-tools 0.2.1, основной ее недостаток – она умеет работать только с файловой системой VMFS v4. Если вам нужно смонтировать датастор с VMFS 5, придется самостоятельно скачать и установить версию vmfs-tools не ниже 0.2.5, например, здесь:

Качаем соответствующую версию пакета так:

И устанавливаем его:

Если нужно будет удовлетворить зависимости, воспользуйтесь командой:

После установки пакета, нужно создать точку монтирования, в которую будет подключен VMFS раздел:

Следующий шаг – нужно разобраться с разделами на дисках. Гипервизор ESXi при установке помимо, собственно, раздела для файлов виртуальных машин (VMFS) создает множество служебных разделов. Если версия ESXi 4 или ниже, или VMFS хранилище было обновлено с версии VMFS 3 до VMFS 5, а его размер не превышает 2 Тб, выведем список дисков и разделов так:

vmware vmfs список разделов с помощью fdisk

Важно. Т.к. в ESXi 5 используется VMFS v5 с таблицей разделов GPT (таблица GUID Partition Table), которая используется вместо MBR, что позволяет создавать хранилища большего размера и пробрасывать RDM диски в режиме физической совместимости размером более 2 TB. Поэтому для просмотра таблицы разделов придется вместо fdisk использовать команду parted.

Итак, выведем информацию о разделах так:

Осталось смонтировать раздел диска с хранилищем VMFS:

Выведем содержимое смонтированного раздела:

Итак, теперь мы видим все файлы виртуальных машин на VMFS хранилище, которое доступно нам только для чтения, а это значит, что мы можем скопировать каталоги и/или отдельные файлы нужных виртуальных машин на отдельный диск и запустить их на другом гипервизоре ESXi.

Доступ к VMFS разделу из Windows

Для доступа к данным на VMFS разделе из Windows, нам понадобится специальный открытый драйвер Open Source VMFS Driver, написанный на Java. Драйвер требует версию Java не ниже 6 и также позволяет монтировать VMFS-тома в режиме только для чтения.

Примечание. При попытке подключения более новой версии VMFS появится ошибка No VMware File System detected.

диск esxi с хранилищем vmfs в windows

  1. Итак, скачайте Open Source VMFS Driver (fvmfs_r95_dist.zip ) и распакуйте его в произвольный каталог (допустим C:\vmfs)
  2. Проверить работу java-приложения fvmfs.jar можно так:
  3. Далее нужно определить номер диска с хранилищем VMFS, подключенный к Windows-компьютеру. Номер диска можно узнать с помощью консоли управление дисками или diskpart. (В нашем примере подключенный диск имеет индекс 1 – Disk1. Для драйвера утилиты fvmfs, этот диск будет именоваться так: \\.\PhysicalDrive1)
  4. Попытаемся получить информацию о диске:

Подключаем VMFS хранилище на новом ESXi хосте

Как вы видите, в обоих рассмотренных выше случаях сторонние драйверы для VMFS под Linux и Windows не позволяют работать с VMFS 6.0. Поэтому самый универсальный способ получить доступ к данным на VMFS разделе диска вышедшего из стоя сервера – подключить его на новом сервере ESXi (который, благо, устанавливается и настраивается менее чем за час). Это самый простой способ. Таким способом вы сможете переподключить как физический жёсткий диск, так и LUN с устройства хранения (через FC или iSCSI).

Новый хост ESXi должен корректно определить подключенный VMFS датастор и вы сможете получить доступ к файлам на нем.

Итак, как подключить существующее VMFS хранилище на новом ESXi хосте без его форматирования.

В данной заметке я покажу, как просто под ПО по работе с виртуальными системами добавить в развернутую машину с системой «ESXi 5.0» хранилище для последующей установки виртуальных систем . На помню, что я изучаю работу виртуализации на своем домашнем ПК.

Итак, как развернуть «ESXi» внутри «Virtualbox» вы можете ознакомиться здесь.

Поехали. В гостевую виртуальную машину добавим еще один диск помимо того, где у меня развернута сама система «ESXi 5.0» размером, к примеру «60Gb».

Далее с помощью клиента «vSphere 5.0» подключаемся к «ESXi 5.0» (10.9.9.20 — srv-esxi-1) под логином «root» и паролем который задавался при разворачивании «ESXi 5.0». В моем случаем это — «712mbddr@».

Далее задействовав клиент «vSphere 5.0» передвигаемся по элементами меню :

«Home» — «Inventory» — «Inventory» — «Configuration» — «Storage»

Передвигаемся по элементам меню для добавления хранилища в ESXi 5.0

В роли хранилища может выступать , как:

  1. Сетевое хранилище имеющее соединение с данным «ESXi» через Fibre Channel, iSCSI, or local SCSI disk, или подключенный VMFS том.
  2. Сетевое хранилище на базе файловой системы NFS (Network File System), на базе операционных систем, таких как Ubuntu 12.04 Server & FreeNAS.

Выбираем первый пункт и нажимаем кнопку «Next >» и видим добавленный диск на 60Gb, я его добавил в «VirtualBox» для развернутой виртуальной машины и нажимаем кнопку «Next >».

Выбираем 60 Gb

Указываем файловую систему VMFS-5.

Далее отображается результирующая информация на основе выбранных шагов ранее, если всё соответствует ожидаемому, нажимаем кнопку «Next >».

Продолжаем

Далее именуем добавляемое хранилище . Указывайте так, чтобы в дальнейшем можно вспомнить его предназначение, я же назову его «local» и нажимаем кнопку «Next >».

Далее соглашаемся с предложенным мастером использовать всё доступное пространство на данном хранилище и нажимаем кнопку «Next >», и далее «Finish».

Используем все пространство на добавляемом хранилище

После всех этих шагов сформируется задача по созданию «VMFS datastore», в зависимости от добавляемого размера диска и зависит продолжительность, в моем тестовом окружении это быстрый процесс. Теперь если снова открыть оснастку по управлению хранилищами которые видит наш «ESXi» версии «5.0» можно обнаружить только что добавленное с именем «local».

«Home» — «Inventory» — «Inventory» — «Configuration» — «Storage»

Локальное хранилище для ESXi 5.0 успешно добавлено.

, как видно из скриншота выше, задача выполнена, добавлено хранилище на основе добавленного локального диска к системе «ESXi» и на его основе преобразованное в хранилище. Теперь уже на него можно:

  • разворачивать виртуальные машины
  • сохранять шаблоны виртуальных машин
  • хранить по и разворачиваемые образа

Считаю, что заметка полностью раскрыла ту тему собственно в коей ставилась задача. Вот собственно и всё, с уважением ekzorchik.

суббота, 27 апреля 2013 г.

Как заставить ESXi5 видеть диск как SSD datastore

В vSphere 5 представлена новая функция Host Cache, которая позволяет выгрузить своп файл виртуальной машины на выделенный SSD диск для повышения производительности. Для этого на диске, который SATP (Storage Adapter Type Plugin) опознала как твердотельный, создать VMFS раздел, добавить и настроить данное VMFS хранилище для хранения кэша.


Во время тестирования vSphere 5 тестировал самые разнообразные функции, включая Host Caching, но у меня не было доступа к системе с SSD диском во время обновления и создания новых скриптов. После небольшого расследования я узнал, что стандартное правило SATP не опознаёт определённый твердотельный диск, и что можно создать новое правило, содержащее мета информацию о данном конкретном устройстве.

В данном примере я заставлю ESXi 5 думать, что локальный диск mpx.vmhba1:C0:T2:L0 является SSD диском.


Необходимо иметь доступ к esxcli, без разницы через локальную оболочку ESXi, vMA или PowerCLI.

Для выполнения дальнейших шагов диск, который будет представлен как твердотельный, уже должен быть форматирован в VMFS.

Для начала необходимо создать новое SATP правило, в котором будет указан диск, и enable_ssd как опция параметра option.

esxcli storage nmp satp rule add --satp VMW_SATP_LOCAL --device mpx.vmhba1:C0:T2:L0 --option=enable_ssd

Проверить правильность создания можно с помощью листинга всех правил


esxcli storage nmp satp rule list | grep enable_ssd

VMW_SATP_LOCAL mpx.vmhba1:C0:T2:L0 enable_ssd user

Теперь необходимо перерегистрировать диск в системе, чтобы применить к нему новое правило.

esxcli storage core claiming reclaim -d mpx.vmhba1:C0:T2:L0

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

esxcli storage core device list --device=mpx.vmhba1:C0:T2:L0

mpx.vmhba1:C0:T2:L0
Display Name: Local VMware Disk (mpx.vmhba1:C0:T2:L0)
Has Settable Display Name: false
Size: 5120
Device Type: Direct-Access
Multipath Plugin: NMP
Devfs Path: /vmfs/devices/disks/mpx.vmhba1:C0:T2:L0
Vendor: VMware
Model: Virtual disk
Revision: 1.0
SCSI Level: 2
Is Pseudo: false
Status: on
Is RDM Capable: false
Is Local: true
Is Removable: false
Is SSD: true
Is Offline: false
Is Perennially Reserved: false
Thin Provisioning Status: unknown
Attached Filters:
VAAI Status: unsupported
Other UIDs: vml.0000000000766d686261313a323a30

Теперь параметр Is SSD имеет значение true.

Вы можете обновить Storage view в vSphere Client или через командную строку командой vim-cmd hostsvc/storage/refresh.

Теперь в vSphere Client в разделе Host Cache Configuration появится новый твердотельный диск, который необходимо добавить для использования Host Cache.

Читайте также: