Vmware объединение жестких дисков

Обновлено: 17.05.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.

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

Самыми главными компонентами виртуальной машины являются файлы виртуальных дисков. В данный момент на рынке присутствует множество вендоров как платформ виртуализации, так и средств управления и обслуживания виртуальных машин. Однако не все поставщики систем виртуализации используют свои форматы виртуальных дисков. Например, не так давно появившаяся, но стремительно набирающая популярность платформа Virtual Iron, хотя и использует открытый гипервизор Xen для управления виртуальными машинами, но работает с виртуальными дисками формата VHD (Virtual Hard Drive) компании Microsoft. Компания VMware разработала свой формат виртуальных дисков — VMDK (Virtual Machine Disk), который, однако, может быть преобразован в другой формат утилитами сторонних производителей.

В данный момент возможности продуктов VMware Workstation позволяют осуществить импорт виртуальных машин и их дисков компании Microsoft, а также образов восстановления Symantec LiveState Recovery Files. Кроме того, VMware предлагает пользователям продукт VMware Converter, в возможности которого входит как конвертация виртуальных машин между различными платформами VMware и их версиями (в том числе VMware ESX Server), так и потоковая миграция с других платформ виртуализации. Сторонние производители также предлагают немало средств для V2V (Virtual-to-Virtual) миграции, например, продукт PowerConvert компании PlateSpin.

Общие сведения об использовании виртуальных и физических дисков виртуальными машинами

Одним из замечательных достоинств виртуальных машин является их простая переносимость на другое физическое оборудование путем обычного копирования папки с файлами виртуальной машины. Все настройки виртуальной машины хранятся в файлах с расширением .vmx в текстовом формате, а файлы виртуальных дисков (.vmdk) содержат в себе все необходимые данные виртуальной машины, либо ссылки на другие vmdk-файлы. Если вы используете виртуальную машину в хостовой системе Windows, вы можете скопировать папку с виртуальной машиной на Linux-хост и запустить ее там, на платформах VMware Workstation или VMware Server.

Диск виртуальной машины VMware Workstation и VMware Server ограничен 950-ю гигабайтами, и этого с лихвой хватит практически для любого варианта использования. Поскольку файлы дисков виртуальных машин являются достаточно большими, необходимо учитывать ограничения на максимальный размер файла в файловой системе хостовой ОС.

Основные типы дисков виртуальных машин VMware

По-умолчанию платформой виртуализации будет выбран адаптер, наиболее подходящий выбранной ранее гостевой системе. Для всех гостевых систем, за исключением Windows Vista, Windows Server 2003, Red Hat Enterprise Linux 3 и NetWare рекомендуется адаптер BusLogic. Для гостевой системы Windows Vista доступен только LSI Logic адаптер. Этот тип адаптера обладает более высоким быстродействием, нежели BusLogic, к тому же, он поддерживается платформой виртуализации VMware ESX Server, что следует учитывать, если вы планируете в дальнейшем миграцию виртуальных машин на эту платформу.

Выбор контроллера виртуальных дисков не зависит от того, какие диски используются на хостовой платформе. Файлы виртуальной машины могут находиться на любом носителе, включая флэш-карты или внешние USB-диски.

Самый простой вариант — создать новый виртуальный диск. Если вы хотите использовать уже сконфигурированный жесткий диск от другой виртуальной машины, выберите вторую опцию. После этого укажите путь к файлу с диском и нажмите «Finish». Работа с жестким диском напрямую рекомендуется только продвинутым пользователям, поскольку некоторые варианты использования могут привести к потере данных виртуальной машины. Об использовании физического диска напрямую будет рассказано позднее.

В VMware Workstation и VMware Server диск виртуальной машины не может быть более 950 ГБ. Величина, которую вы укажете в поле ввода для Disk Size, означает максимальный размер файла виртуального диска. Уделяйте особое внимание этому параметру, поскольку проблема расширения виртуального диска является одной из наиболее часто возникающих. Если вы планируете использовать растущие по мере наполнения диски (growable) указывайте достаточно большой размер (например, 100 ГБ). В то же время помните, что уменьшить размер виртуального диска значительно сложнее, чем увеличить.

Чекбокс «Allocate All Disk Space Now» позволяет создать preallocated или growable виртуальный диск. Если чекбокс отмечен, будет создан виртуальный диск типа preallocated, это означает, что файл виртуального диска сразу займет указанный размер, который не будет изменяться по мере работы с виртуальной машиной. Если чекбокс не отмечен, будет создан диск, растущий по мере наполнения (growable). Этот тип диска работает несколько медленнее, чем preallocated, поэтому их не рекомендуется использовать, если вы планируете устанавливать приложения, требовательные к производительности дисковых ресурсов (например, сервер баз данных).

Чекбокс «Split disk into 2 GB files» позволяет разделить виртуальный диск на несколько файлов, что, конечно, отрицательно скажется на быстродействии, но является единственным решением для файловых систем, не поддерживающих большие размеры файлов (например, FAT32). Не забывайте отметить его, чтобы не столкнуться с этой проблемой в старых файловых системах в самый неподходящий момент.

После того как вы нажмете «Finish», виртуальная машина с настроенным вами диском будет создана. Однако это еще не все типы виртуальных дисков в VMware Server и VMware Workstation. У виртуальной машины может быть несколько виртуальных дисков различного типа, каждый из которых может использоваться для разных случаев.

В группе «Capacity» представлена информация о текущем размере виртуального диска, его возможный максимальный размер и объем доступного места на логическом диске компьютера. На панели «Disk Information» указан тип виртуального диска: preallocated одним файлом.

В этом окне, поставив галку «Independent», вы можете определить тип диска как независимый. Это означает, что на добавленный вами диск никак не будет влиять создание снимков состояния виртуальной машины («снапшотов»). Параметр «Virtual Device Node» позволяет подключить диск к виртуальному слоту SCSI или IDE-контроллера.

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

Также в окне «Advanced» вы можете выбрать тип независимого диска «Persistent» или «Nonpersistent». Первый тип предполагает поведение виртуального диска как обычного устройства хранения — все изменения диска сохраняются по мере работы с ним. Второй тип дисков используется при тестировании программного обеспечения, когда необходимо создание временных дисков для хранения информации на время работы с виртуальной машиной. После ее выключения содержимое такого типа дисков сбрасывается к начальному состоянию. Временные данные при запущенной виртуальной машине хранятся в файлах с расширением *.REDO_xxx. При выключении машины эти файлы удаляются.

Нужно также отметить, что при запущенной виртуальной машине VMware Server или VMware Workstation создаются lock-файлы для каждого из используемых виртуальных дисков с расширением *.lck во избежание доступа к ним из внешних приложений, использования их другими виртуальными машинами и нарушения целостности данных.

Использование физических дисков напрямую

Выбор целевого физического диска для виртуальной машины Выбор разделов для размещения данных виртуальной машины

Укажите необходимые разделы и нажмите «Next», после чего укажите имя виртуального диска и нажмите «Finish». Одни из наиболее оправданных вариантов использования физического диска напрямую — случаи, когда требуется создание диска емкостью более 950 ГБ (до двух терабайт), что, однако, пока не актуально для пользователей настольных персональных компьютеров.

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

В приведенной далее таблице перечислены типы виртуальных дисков и соответствующие им расширения файлов в папке с виртуальной машиной.

Расширение файла дискаОписание
*.vmdkОписание параметров виртуального диска (со ссылкой на файл с данными диска) или виртуальный диск типа growable одним файлом.
*0000000*.vmdkЭтот файл содержит изменения, произошедшие с момента создания снапшота
*s00*.vmdkЭто расширение используется для файлов данных растущих разделённых дисков (growable split disks)
*0000000*-s00*.vmdkЭтот файл содержит изменения, произошедшие с момента создания снапшота X для растущих разделённых дисков (growable split disks)
*f00*.vmdkЭто расширение используется для файлов данных не растущих разделённых дисков (preallocated split disks)
*0000000*-f00*.vmdkЭтот файл содержит изменения, произошедшие с момента создания снапшота X для не растущих разделённых дисков (preallocated split disks)
*flat.vmdkЭто расширение используется для файлов данных монолитных (не растущих) неразделённых дисков (preallocated monolithic disks)
*0000000*-flat.vmdkЭтот файл содержит изменения, произошедшие с момента создания снапшота X для монолитных (не растущих) неразделённых дисков (preallocated monolithic disks)
*.REDO_xxxЭтот файл содержит изменения диска в режиме незавимый-несохраняющийся (independent-nonpersistent disk)
*.lckИспользуется для блокировки файлов дисков виртуальной машины

Дефрагментация виртуальных дисков

  • дефрагментация диска в гостевой системе
  • дефрагментация диска средствами VMware Server или VMware Workstation
  • дефрагментация дисков хостовой системы

Для первого и третьего пункта вы можете использовать встроенный дефрагментатор Windows или утилиты сторонних производителей. Для дефрагментации диска средствами VMware зайдите в меню «VM», далее «Settings», выберите диск на вкладке «Hardware» и выберите «Defragment» в VMware Workstation 5.5 и VMware Server 1.0 (в VMware Workstation 6 эта опция доступна по кнопке «Utilities»). Далее будет также показана возможность дефрагментации виртуальных дисков средствами утилиты vmware-vdiskmanager.

Использование утилиты VMware DiskMount

Компания VMware предлагает удобное средство использования виртуальных дисков в хостовой операционной системе как обычных логических томов. Утилита DiskMount позволяет монтировать диски виртуальных машин в хостовую операционную систему для удобной работы с содержимым диска. Диски виртуальных машин могут быть смонтированы только в операционных системах Windows 2000/XP/2003/Vista. Чтобы смонтировать виртуальный диск в хостовую систему, необходимо, чтобы виртуальная машина была выключена (монтировать диск виртуальной машины, находящейся в статусе «suspended», также нельзя) и хотя бы один раздел виртуального диска был отформатирован в файловой системе FAT или NTFS.

vmware-mount [параметры] [буква диска:] [\путьквиртуальному диску]

  • /v:N Монтирует заданный том виртуального диска (по-умолчанию N=1)
  • /p Выводит доступные разделы (тома) на виртуальном диске
  • /d Размонтирование виртуального диска из хостовой системы
  • /f Принудительное размонтирование виртуального диска из хостовой системы в случае технической проблемы
  • /? Выводит информацию о доступных параметрах

Пример использования Diskmount:

vmware-mount h: “C:My Virtual Machinesw2003std.vmdk”

Использование утилиты vmware-vdiskmanager

Компания VMware вместе с продуктами VMware Server и VMware Workstation поставляет также консольную утилиту для работы с виртуальными дисками vmware-vdiskmanager. Эта утилита является мощным средством преобразования виртуальных дисков, которое органично дополняет утилиту VMware Diskmount. Найти утилиту vdiskmanager можно в папке, куда установлены продукты VMware Server или VMware Workstation.

Применять vmware-vdiskmanager могут не только конечные пользователи, преобразующие виртуальные диски к требуемому формату, но и сторонние разработчики, пишущие различные утилиты для работы с виртуальными машинами. Утилита vdiskmanager используется в соответствии со следующим синтаксисом:

vmware-vdiskmanager.exe | :

Описание параметров утилиты vdiskmanager:

ПараметрДействие
Основные параметры
-cСоздание диска (необходимо указать дополнительные параметры)
-dДефрагментация виртуального диска
-kСжатие виртуального диска (уменьшение объема свободного места)
-n Переименование диска (в параметре необходимо указать целевой диск)
-pПодготовка смонтированного диска с указанным параметром к сжатию
-qОтключение логов
-r Конвертация диска (необходимо указать тип целевого диска)
-x Расширение диска до требуемой емкости
Дополнительные опции создания виртуальных дисков и их конвертации
-a Используется только с ключом -c.
Указывает тип адаптера (ide, buslogic, lsilogic)
-s Указывает емкость виртуального диска. Емкость может быть определена в секторах, килобайтах, мегабайтах, гигабайтах. Диапазоны допустимых значений:
Адаптер ide : [100.0Mb, 950.0Gb]
Адаптер scsi: [100.0Mb, 950.0Gb]
-t Указывает тип диска (от 0 до 3).
Типы дисков:
0: Растущий по мере наполнения (growable), один файл.
1: Растущий по мере наполнения, разделенный на файлы по 2 ГБ.
2: Монолитный диск (preallocated), один файл.
3: Монолитный диск (preallocated), разделенный на файлы по 2 ГБ.

  1. vmware-vdiskmanager.exe -c -s 850Mb -a ide -t 0 myIdeDisk.vmdk
    Создание виртуального диска (-c) емкостью 850 МБ (-s 850Mb), с адаптером IDE (-a ide), типом growable одним файлом (-t 0) и именем myIdeDisk.vmdk.
  2. vmware-vdiskmanager.exe -d myDisk.vmdk
    Дефрагментация виртуального диска myDisk.vmdk.
  3. vmware-vdiskmanager.exe -r sourceDisk.vmdk -t 0 destinationDisk.vmdk
    Конвертация диска (-r) с именем sourceDisk.vmdk в тип growable одним файлом (-t 0) с именем destinationDisk.vmdk
  4. vmware-vdiskmanager.exe -x 36Gb myDisk.vmdk
    Расширение диска myDisk.vmdk до емкости 36 ГБ.
  5. vmware-vdiskmanager.exe -n sourceName.vmdk destinationName.vmdk
    Переименование диска с именем sourceName.vmdk в destinationName.vmdk
  6. vmware-vdiskmanager.exe -k myDisk.vmdk
    Сжатие виртуального диска с именем myDisk.vmdk
  7. vmware-vdiskmanager.exe -p m:
    Подготовка диска M хостовой системы к сжатию (виртуальный диск должен быть сначала смонтирован в хостовую систему утилитой VMware Diskmount).

Самым частым вариантом использования утилиты vdiskmanager является расширение виртуальных дисков до требуемого размера. Однако задача расширения виртуального диска является не такой тривиальной, какой кажется на первый взгляд. Если необходимо расширить независимый виртуальный диск, то его расширение сводится к двум операциям: использованию vmware-vdiskmanager для расширения диска и расширению раздела на неразмеченную область в гостевой системе. Однако для дисков, участвующих в создании мгновенных снимках системы («снапшотов»), проблема дополняется и устранением конфликтов между снапшотами.

Рассмотрим пример расширения независимого диска. Чтобы расширить его до 10 ГБ используйте vmware-vdiskmanager следующим образом:

vmware-vdiskmanager.exe -x 10Gb .vmdk

Выберите расширенный недавно диск (E) и введите команду extend, чтобы расширить раздел на всё доступное место на диске: DISKPART> select volume=2 Volume 2 is the selected volume. DISKPART> extend DiskPart successfully extended the volume.

Стоит отметить, что эти действия не применимы к динамическим дискам Windows, поскольку они не могут быть расширены командой extend.

Заключение

В отношении возможностей работы с виртуальными дисками платформы VMware Workstation и VMware Server являются самыми продвинутыми из присутствующих в данный момент на рынке. Множество типов, режимы SCSI и IDE эмуляции и большой набор средств для обслуживания и конвертации виртуальных дисков, позволяют весьма гибко настраивать параметры виртуальных машин и управлять ими. Встроенные возможности импорта виртуальных дисков в формате VHD компании Microsoft позволяют просто осуществить миграцию с платформ Virtual PC и Virtual Server, без применения программного обеспечения других производителей. Консольное приложение vmware-vdiskmanager открывает большие возможности не только для обычных пользователей, но и для разработчиков ПО под платформы виртуализации. Безусловно, компания VMware продолжит совершенствование своих продуктов, в том числе и в отношении виртуальных дисков. Будем надеяться, что планируемая к выходу осенью бесплатная платформа VMware Server 2.0 (которую обещают представить на конференции VMworld 2007 в сентябре), будет обладать еще большим набором возможностей по работе с виртуальными дисками и их обслуживанию.

Добавление общих дисков к виртуальным машинам Vmware vSphere и Vmware Workstation

Несмотря на высокую надежность работы виртуальной инфраструктуры Vmware vSphere, необходимо создать сервисы высокой доступности (обновление ПО или ОС, связанные с перезагрузкой либо сервиса, либо сервера целиком). Например кластерный файловый сервер. В данном случае кластеру серверов необходимо предоставить устройство, на котором будет располагаться общая файловая система.

В данной статье будет рассмотрен вариант подключения к виртуальным машинам одного диска, выделенного на отдельно стоящей дисковой полке и предоставленного всем хостам ESXi в кластере Vmware vSphere. Также будет показано как сделать общий диск для тестовых систем, расположенных на Vmware WorkStation.

Vmware vSphere

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

Добавление общего диска к первой ВМ кластера

  1. Выключаем виртуальную машину.
  2. В списке виртуальных машин выбираем ту, с которой предстоит работать и открываем окно свойств
  3. Для того, что бы добавить общий диск, необходимо сначала добавить новый SCSI контроллер. Раскрываем список "New device", выбираем "SCSI Controller", жмем "Add" и переходим к настройке вновь добавленного контроллера.
  4. Параметры нового контроллера:
    Уточнения по параметрам:
    Устанавливаем тип контроллера: LSI Logic SAS
    SCSI Bus Sharing выбираем в зависимости от того где будет работать кластер виртуальных машин:
    Virtual - виртуальный диск, совместно используемый ВМ в пределах одного хоста ESXi
    Physical - файл vmdk может использоваться совместно с ВМ на разных ESXi хостах.
    У нас чуть больше чем один хост ESXi и виртуальные машины должны распологаться на разных хостах. Поэтому выбираем тип Physical
  5. Жмем "Ok"
  6. Теперь нам на этой ВМ необходимо добавить новый диск, предоставленный дисковым хранилищем. Опять открываем свойства ВМ и в выпадающем списке добавления нового оборудования выбираем "RDM Disk". Нажимаем "Add" и в открывшемся окне выбираем необходимый нам диск.
  7. Устанавливаем параметры диска:

    VM storage policy - оставляем без изменений
    Location - устанавливаем общее хранилище, где будет храниться ссылка на диск
    Sharing - устанавливаем Multi-writer
    Virtual Device Node - выбираем ранее добавленный SCSI контроллер

Далее переходим к настройкам второй ВМ.

Добавление общего диска к второй ВМ кластера

  1. Так же как и на первой ВМ добавляем новый SCSI контроллер.
  2. Затем добавляем новый диск. В выпадающем списке выбираем "Existing Hard Disk"
  3. Нажимаем "Add" и выбираем ранее созданный диск:
  4. Жмем "Ok" и переходим к настройкам добавленного диска:
    Устанавливаем Sharing в Multi-writer
    Устанавливаем Disk Mode в Independent - Persistdend. В этом режиме диск не будет участвовать в процессе снимков виртуальной машины.
    Virtual Device Node - устанавливаем ранее добавленный SCSI контроллер.
  5. Жмем "Ok"

Если требуется использовать более одного общего диска в VMware, то для каждого из них не требуется дополнительный контроллер SCSI. Один контроллер может обслуживать до 16 различных дисков.

Небольшое, но очень важное уточнение. При использовании SCSI контроллера в режиме "SCSI bus Sharing" не возможно использовать моментальные снимки (snapshot) виртуальных машин. Так же становится невозможной миграция ВМ между хостами. Это необходимо учитывать при планировании кластерной структуры серверов в среде Vmware vSphere.

На этом настройка аппаратной части виртуальных машин завершена. Включаем обе виртуальные машины и приступаем к настройке кластера уже на уровне операционной системы. В следующей статье речь пойдет о создании файлового сервера NFS в кластере высокой доступности.

Vmware Workstation

С Vmware Workstation немного по другому. Официально считается, что данная функция доступна только для vSphere. Но это немного не так. Просто не все доступно через графический интерфейс. Придется вносить руками небольшие правки в конфигурационные файлы виртуальных машин.

  1. Выключаем обе виртуальные машины.
  2. Добавляем в конфигурацию первой виртуальной машины новый жесткий диск с указанными параметрами. Физически распологаем этот жесткий диск НЕ в папке, в которой расположена виртуальная машина.


    При добавлении диска не забываем проследить, что бы расширение файла было .vmdk
  3. Далее закрываем Vmware Workstation и отредактируем файл конфигурации первой виртуальной машины (.VMX):
    Добавляем строки для создания второго канала SCSI

scsi1.present = “TRUE”
scsi1.virtualDev = “lsilogic”

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

Предположим, у нас уже имеется некоторое общее внешнее хранилище (подключенное к каждому узлу ESXi с использованием iSCSI или Fibre Channel SAN), доступное всем хостам VMWare ESXi, с виртуальными машинами, которым нужно предоставить доступ к общему диску. Допустим, у нас всего 2 таких ВМ.

На обеих ВМ нужно добавить новый SCSI контроллер. Для этого, откройте клиент vSphere, выберите первую ВМ machine (Node 1) и откройте ее настройки (Edit Settings).

редактирование ВМ

Чтобы добавить новое устройств, в выпадающем списке внизу окна выберите SCSI controller и нажмите кнопку Add.

добавить scsi контроллер

В качестве типа контролера SCSI выберите LSI Logic SAS.

Выберите нужный режим общего доступа к шине SCSI (SCSI Bus sharing mode):

тип общего доступа к SCSI bus

Нажмите OK. Затем на первой ВМ нужно добавить новый виртуальный диск (New Device -> New Hard Disk -> Add) со следующими настройками:

  • VM Storage Policy: по желанию
  • Location: укажите имя общего хранилища, на котором будет находится общий виртуальный диск
  • Disk Provisioning: выберите Thick provision eager zeroed (другие типы дисков использовать не получится)
  • Sharing: Multi-writer
  • Virtual Device Node: выберите созданный ранее виртуальный SCSI контроллер
  • Disk mode: выберите режим Independant – Persistdent. В этом режиме нельзя создать снапшот общего виртуального диска

новый vmdk диск

Аналогичным образом нужно добавить новый SCSI контроллер и на второй виртуальной машине (Node 2). После это в настройках второй ВМ нужно добавить существующий виртуальный диск (Existing Hard Disk).

Existing Hard Dis - добавить существующий виртульный диск

В появившемся окне выберите хранилище, на котором ранее вы разместили общий диск. Выберите каталог с именем первой ВМ, а затем – нужный vmdk файл.

выбрать vmdk файл

В том случае, если вам потребуется использовать несколько общих дисков, имейте в виду, что один SCSI контроллер поддерживает до 16 дисков. Если дисков больше (что вряд ли), нужно будет создать дополнительный SCSI контроллер.

После того, как вы настроили виртуальные машины, подключитесь к гостевой ОС. В нашем случае это Windows. Откройте оснастку управления компьютером (Computer Management) и перейдите в раздел Storage -> Disk Management . Щелкните ПКМ по нему и выберите Rescan Disk.

инициализация диска

Система определит новый диск и предложит инициализировать его. Выберите нужный стиль таблицы разделов (MBR или GPT), создайте на новом диске раздел и отформатируйте его. Аналогичные операции выполните на второй ВМ. После этого, обе ВМ смогут совместно использовать один общий виртуальный vmdk диск.

Предположим, у нас уже имеется некоторое общее внешнее хранилище (подключенное к каждому узлу ESXi с использованием iSCSI или Fibre Channel SAN), доступное всем хостам VMWare ESXi, с виртуальными машинами, которым нужно предоставить доступ к общему диску. Допустим, у нас всего 2 таких ВМ.

На обеих ВМ нужно добавить новый SCSI контроллер. Для этого, откройте клиент vSphere, выберите первую ВМ machine (Node 1) и откройте ее настройки (Edit Settings).

редактирование ВМ

Чтобы добавить новое устройств, в выпадающем списке внизу окна выберите SCSI controller и нажмите кнопку Add.

добавить scsi контроллер

В качестве типа контролера SCSI выберите LSI Logic SAS.

Выберите нужный режим общего доступа к шине SCSI (SCSI Bus sharing mode):

тип общего доступа к SCSI bus

Нажмите OK. Затем на первой ВМ нужно добавить новый виртуальный диск (New Device -> New Hard Disk -> Add) со следующими настройками:

  • VM Storage Policy: по желанию
  • Location: укажите имя общего хранилища, на котором будет находится общий виртуальный диск
  • Disk Provisioning: выберите Thick provision eager zeroed (другие типы дисков использовать не получится)
  • Sharing: Multi-writer
  • Virtual Device Node: выберите созданный ранее виртуальный SCSI контроллер
  • Disk mode: выберите режим Independant – Persistdent. В этом режиме нельзя создать снапшот общего виртуального диска

новый vmdk диск

Аналогичным образом нужно добавить новый SCSI контроллер и на второй виртуальной машине (Node 2). После это в настройках второй ВМ нужно добавить существующий виртуальный диск (Existing Hard Disk).

Existing Hard Dis - добавить существующий виртульный диск

В появившемся окне выберите хранилище, на котором ранее вы разместили общий диск. Выберите каталог с именем первой ВМ, а затем – нужный vmdk файл.

выбрать vmdk файл

В том случае, если вам потребуется использовать несколько общих дисков, имейте в виду, что один SCSI контроллер поддерживает до 16 дисков. Если дисков больше (что вряд ли), нужно будет создать дополнительный SCSI контроллер.

После того, как вы настроили виртуальные машины, подключитесь к гостевой ОС. В нашем случае это Windows. Откройте оснастку управления компьютером (Computer Management) и перейдите в раздел Storage -> Disk Management . Щелкните ПКМ по нему и выберите Rescan Disk.

инициализация диска

Система определит новый диск и предложит инициализировать его. Выберите нужный стиль таблицы разделов (MBR или GPT), создайте на новом диске раздел и отформатируйте его. Аналогичные операции выполните на второй ВМ. После этого, обе ВМ смогут совместно использовать один общий виртуальный vmdk диск.

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