Режим диска independent persistent
You can add a virtual hard disk to an existing virtual machine, or you can add a hard disk when you customize the virtual machine hardware during the virtual machine creation process. For example, you might need to provide additional disk space for an existing virtual machine with a heavy work load. During virtual machine creation, you might want to add a hard disk that is preconfigured as a boot disk.
During virtual machine creation, a hard disk and a SCSI or SATA controller are added to the virtual machine by default, based on the guest operating system that you select. If this disk does not meet your needs, you can remove it and add an existing hard disk at the end of the creation process.
Что такое общий диск Multi-writer в VMware ESXI
Сейчас уже очень сложно себе представить серьезный сервис без отказоустойчивости, которая может быть реализована на разных уровнях работы инфраструктуры. Очень частым решением выступает отказоустойчивый кластер, который подразумевает использование разных серверов для одного сервиса. Выход из строя одного из серверов не влияет на работоспособность предоставляемых услуг клиентам. Очень часто в кластерах используются общие диски, для хранения баз данных (Microsoft SQL или Oracle), файловые ресурсов. Общие диски могут презентованы, как отдельные LUN с СХД, через ISCSI протокол, через общий диск или RDM в случае с виртуальными машинами.
В данной заметке я опишу реализацию с помощью общего диска для виртуальных машин VMware ESXI 6.5. В некоторых случаях (как правило, в сценариях кластеризации) может потребоваться совместное использование одного и того же диска между двумя (или более) виртуальными машинами. Наиболее оптимальным способом является использование диска vmdk, физически расположенного на общем хранилище или локально на хосте ESXi. Если вы хотите использовать общие диски на разных хостах ESXi, то вы можете использовать только разделяемое хранилище
.На представленной ниже схеме вы видите:
- Storage Array, по сути это ваша система хранения данных, на которой реализован RAID массив, по рекомендации производителя.
- RAID массив порезан на LUN, это логически порезанное место на вашей системе хранения данных
- Далее LUN презентуется хостам VMware ESXI 6.5 и размечается файловой системой VMFS 6. Где из LUN получаются разделы (Datastore-Volume) для гипервизора.
- Далее на на Datastore уже разворачиваются виртуальные машины
Вот на таком общем VMFS Volume диске вы создаете общий VMDK диск, который будет доступен двум и более виртуальным машинам под чтение и запись. Сами виртуальные машины могут находится на разных физических хостах и разных географических локациях.Такой режим называется Multi-Writer VMDK, его часто применяют в построении кластеров MS SQL, Oracle RAC, такой режим работы диска применяется в технологии VMware Fault Tolerance.
Диски типа Raw
Файловая система VMFS поддерживает схему Raw Device Mapping (RDM), которая представляет собой механизм для прямого доступа виртуальной машины к дисковой подсистеме (конкретному LUN) устройств хранения Fibre Channel или iSCSI. Этот тип виртуального диска доступен для создания из vSphere Client.
Если в сети хранения данных используется ПО для создания мгновенных снимков системами резервного копирования, которые запущены в виртуальных машинах, требуется прямой доступ к дисковой подсистеме устройств хранения. Кроме того Raw-диски используются для кластеров Microsoft Clustering Services (MSCS), включая кластеры типа «виртуальный-виртуальный» и «виртуальный-физический».
Но RDM не используется для повышения производительности - его производительность аналогична дискам vmdk в файловой системе VMFS.
RDM может обеспечиваться путем предоставления символьной ссылки в томе VMFS к разделу Raw (режим виртуальной совместимости). В этом случае файлы маппирования, относящиеся к конфигурации виртуальных машин, отображаются как файлы в томе VMFS в рабочей директории виртуальной машины. Когда том Raw открывается для записи, файловая система VMFS предоставляет доступ к файлу RDM на физическом устройстве и реализует через него механизм блокирования и контроля доступа. После этого операции чтения и записи идут напрямую к тому Raw, минуя файл маппирования.
Файлы RDM содержат метаданные, используемые для управления и перенаправления доступа к физическому устройству. RDM предоставляет возможности прямого доступа к дискам, при этом сохраняются некоторые возможности, присущие файловой системе VMFS. Схема взаимодействия виртуальной машины с устройством хранения посредством механизма RDM изображена на рисунке:
Описание типов виртуальных дисков vmdk виртуальных машин на VMware vSphere ESXI 5.x.x-01
Перед началом операций ввода-вывода виртуальная машина vmware посредством файла маппирования инициирует открытие тома Raw. Далее файловая система VMFS осуществляет разрешение адресов секторов физического устройства, а виртуальная машина начинает производить операции чтения-записи на физическое устройство.
Используя RDM возможно производить следующие операции:
- «горячая» миграция виртуальных машин посредством VMotion на томах Raw;
- добавлять новые тома Raw с помощью VI Client;
- использовать возможности файловых систем, такие как распределенное блокирование файлов, установка разрешений и именование;
Для RDM используются два режима совместимости:
- Режим виртуальной совместимости, который позволяет производить маппирование файлов виртуальных дисков, включая возможности создания мгновенных снимков системы хранения. При таком режиме выбирается том VMFS, на котором будет храниться файл маппирования и том, где находится файл конфигурации виртуальной машины.
- Режим физической совместимости, позволяющий приложениям получать низкоуровневый доступ к SCSI-устройствам, при этом наличие файла маппирования не требуется.
Использование функций VMotion, DRS и HA поддерживаются в обоих режимах совместимости.
VMware Snapshot
Snapshots capture the entire state of the virtual machine at the time you take the snapshot. You can take a snapshot when a virtual machine is powered on, powered off, or suspended. If you are suspending a virtual machine, wait until the suspend operation finishes before you take a snapshot.
When you create a memory snapshot, the snapshot captures the state of the virtual machine’s memory and the virtual machine power settings. When you capture the virtual machine’s memory state, the snapshot operation takes longer to complete. You might also see a momentary lapse in response over the network.
More information about VMware Snapshots can be found here
Ограничения общих дисков VMware 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
Если нужно будет мигрировать, то придется выключать виртуалку.
- Вы не сможете на живую произвести расширение дисков, при попытке вы получите вот такую ошибку:
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 именно нужен для кластеризации.
Включение общего диска для ESXI 5.5 и ниже
В более ранних версиях гипервизора Vmware ESXI 5.5 и ниже, общий кластерный диск выключается таким образом. Вы заходите так же в свойства виртуальной машины и добавляете там новый SCSI Controller с типом работы "Virtual".
Затем вы создаете новый диск, указываете его размер и тип Thick Provision Eager Zeroed.
Далее Vmware ESXI 5.5 попросит вас выбрать Выбор LSI Logic SAS контроллер, обязательно укажите тот, что мы создали заранее и запомните порт SCSI к которому вы его подключаете в моем примере, это SCSI (1:0).
Далее в настройках виртуальной машины вам необходимо перейти на вкладку "Option - General" и нажать кнопку "Configuration Parameters".
В самом конце для каждого общего диска пишем в имени номер SCSI порта SCSI1: 0.sharing в поле "Value" пишем multi-writer.
Для второй виртуальной машины делаем те же действия, единственное на этапе создания диска, выбираем пункт существующего "Use an existing virtual disk"
Через кнопку "Browse" указываем путь до него.
Выбираем сам VMDK диск. После чего не забываем так же прописать на вкладке "Option - General" и нажать кнопку "Configuration Parameters", для каждого общего диска пишем в имени номер SCSI порта SCSI1: 0.sharing в поле "Value" пишем multi-writer.
Snapshot Operation without snapshotting VM memory
On the VM, Right Click , then click on ‘Snapshots’ and click on ‘Take Snapshots’ , uncheck the ‘snapshot Memory option’ .
The snapshot operation is successful
Lets now take a look at the VM folder contents .
The files marked in
- green are snapshots of vmdk’s which are not Independent Persistent [ Oracle122-OL7.vmdk, Oracle122-OL7_1.vmdk and Oracle122-OL7_2.vmdk ]
- bold are the original vmdk’s which are Independent Persistent [ Oracle122-OL7_3.vmdk and Oracle122-OL7_4.vmdk ]
[root@WDC-ESX17:/vmfs/volumes/46d93793-0240bb85/Oracle122-OL7] ls -l
total 4413730405
-rw——- 1 root root 16904192 Mar 27 17:00 Oracle122-OL7-000001-delta.vmdk
-rw——- 1 root root 330 Mar 27 16:42 Oracle122-OL7-000001.vmdk
-rw-r–r– 1 root root 92 Mar 26 14:57 Oracle122-OL7-06dfef71.hlog
-rw——- 1 root root 21308 Mar 27 16:41 Oracle122-OL7-Snapshot3.vmsn
-rw-r–r– 1 root root 13 Mar 27 16:40 Oracle122-OL7-aux.xml
-rw——- 1 root root 34359738368 Mar 24 03:52 Oracle122-OL7-eca3e893.vswp
-rw——- 1 root root 64424509440 Mar 27 16:41 Oracle122-OL7-flat.vmdk
-rw——- 1 root root 8684 Mar 27 16:42 Oracle122-OL7.nvram
-rw——- 1 root root 617 Mar 27 16:41 Oracle122-OL7.vmdk
-rw-r–r– 1 root root 783 Mar 27 16:41 Oracle122-OL7.vmsd
-rwxr-xr-x 1 root root 4300 Mar 27 16:41 Oracle122-OL7.vmx
-rw——- 1 root root 0 Mar 26 14:57 Oracle122-OL7.vmx.lck
– rw——- 1 root root 16904192 Mar 27 17:00 Oracle122-OL7_1-000001-delta.vmdk
-rw——- 1 root root 334 Mar 27 16:41 Oracle122-OL7_1-000001.vmdk
-rw——- 1 root root 64424509440 Mar 27 16:41 Oracle122-OL7_1-flat.vmdk
-rw——- 1 root root 619 Mar 27 16:40 Oracle122-OL7_1.vmdk
-rw——- 1 root root 126976 Mar 27 16:41 Oracle122-OL7_2-000001-delta.vmdk
-rw——- 1 root root 334 Mar 27 16:41 Oracle122-OL7_2-000001.vmdk
-rw——- 1 root root 64424509440 Mar 26 15:28 Oracle122-OL7_2-flat.vmdk
-rw——- 1 root root 619 Mar 26 14:57 Oracle122-OL7_2.vmdk
-rw——- 1 root root 2199023255552 Mar 27 17:00 Oracle122-OL7_3-flat.vmdk
-rw——- 1 root root 481 Mar 27 16:41 Oracle122-OL7_3.vmdk
-rw——- 1 root root 2199023255552 Mar 27 17:00 Oracle122-OL7_4-flat.vmdk
-rw——- 1 root root 481 Mar 27 16:41 Oracle122-OL7_4.vmdk
-rw-r–r– 1 root root 393432 Mar 25 00:44 vmware-1.log
-rw-r–r– 1 root root 278017 Mar 26 14:57 vmware-2.log
-rw-r–r– 1 root root 532767 Mar 27 16:42 vmware.log
-rw——- 1 root root 115343360 Mar 26 14:57 vmx-Oracle122-OL7-3970164883-1.vswp
[root@WDC-ESX17:/vmfs/volumes/46d93793-0240bb85/Oracle122-OL7]
Lets have a look at the vmware.log file to verify that snapshot operation indeed ignored the Independent Persistent vmdk’s and only snapshotted the Dependent vmdk’s.
Observe the disk library operation CREATE-CHILD’ which is missing for the Independent Persistent vmdk’s.
[root@WDC-ESX17:/vmfs/volumes/46d93793-0240bb85/Oracle122-OL7] tail -1000 vmware.log
……
Для чего применяют Multi-Writer диск
- Во первых, как я и писал выше для отказоустойчивости различных сервисов, сервера которых могут быть в разных ЦОДах.
- Во вторых для возможности обслуживания важных серверов, без их простаивания. Например, чтобы была возможность своевременно производить обновление Windows пакетов, другого программного обеспечения, иметь возможность перезагружать сервер
- В целях тестирования кластерных технологий, когда у вас нет СХД и нет возможности реализовать общий диск, по FC или ISCSI протоколу
Procedure
- Click Virtual Machines in the VMware Host Client inventory.
- Right-click a virtual machine in the list and select Edit settings from the pop-up menu.
- On the Virtual Hardware tab, select Add hard disk and select New persistent memory disk from the drop-down menu.
The hard disk appears in the Virtual Hardware devices list. By default, the disk is stored on the host-local PMem datastore and you cannot change the datastore.
- Expand New Hard disk .
- Enter a value for the hard disk size and select the units from the drop-down menu.
Note: All persistent memory hard disks and NVDIMM modules that you add to the virtual machine share the same PMem resources. So, you must adjust the size of the newly added persistent memory devices in accordance with the amount of the PMem available to the host. If any part of the configuration requires attention, the wizard alerts you.
Shares is a value that represents the relative metric for controlling disk bandwidth. The values Low, Normal, High, and Custom are compared to the sum of all shares of all virtual machines on the host.
Dependent disks are included in snapshots.
Disks in persistent mode behave like conventional physical computer disks. All data written to a disk in persistent mode are written permanently to the disk.
Changes to disks in nonpersistent mode are discarded when you power off or reset the virtual machine. The virtual disk returns to the same state every time you restart the virtual machine. Changes to the disk are written to and read from a redo log file that is deleted when you power off or reset.
Включение Multi-Writer VMDK через SSH
- Выключите виртуальную машину. , на котором расположена виртуальная машина.
- Перейдите к конфигурационному файлу виртуальной машины ( VM_name.vmx) (расположенному в /vmfs/volume/datastore_name/vm_name).
- Всегда рекомендуется создать резервный файл .VMX перед внесением изменений в файл конфигурации виртуальной машины. Вы можете создать резервную копию с помощью команды ( CP VM_name.vmx VM_name.VMX.bak )
- Откройте и отредактируйте исходный .vmx-файл с помощью текстового редактора, такого как редактор VI. Введите «i», чтобы начать вносить изменения.
- Добавьте эту запись в конец .vmx-файла: SCSI0: 1.sharing = "multi-writer", для каждого диска отдельная запись
- Закройте и сохраните файл .vmx, используя (: wq)
Всем привет сегодня рассмотрим, в чем разница виртуальных дисков у Vmware ESXi 5.5, разберем каждый тип диска и где его лучше применять. Виртуальные машины на платформе VMware vSphere размещаются на хранилищах Fibre Channel, iSCSI, NAS/NFS или локальных дисках серверов ESX. Диски виртуальных машин могут располагаться на томах в файловой системе VMFS (Virtual Machine File System), NFS (Network File System) или на томах RDM (Raw Device Mapping). При этом на томах VMFS и NFS виртуальные диски машин хранятся в формате vmdk, а на томах RDM виртуальная машина хранит свои данные напрямую на LUN. Сегодня мы поговорим о том, в каких форматах могут быть виртуальные диски машин в VMware vSphere, к которым обращаются серверы VMware ESXI 5.x.x
Snapshot Operation with snapshotting VM memory
On the VM, Right Click , then click on ‘Snapshots’ and click on ‘Take Snapshots’ , check the ‘snapshot Memory option’ and click ‘OK’
We can see an error below
Диски типа Thin (тонкие диски)
Эти диски создаются минимального размера и растут по мере их наполнения данными до выделенного объема. При выделении нового блока - он предварительно очищается. Эти диски наименее производительны (выделение нового блока и его очистка), однако наиболее оптимальны для экономии дискового пространства на системе хранения данных. Чаще всего их используют в тестовых средах и стендах, где нужно по экономить дисковое пространство или же для разработки.
На слайде пример виртуальной машины с тремя дисками общего объема 140 ГБ, а по фату на датасторе используется 80 гб.
Хочу заметить, что не важно какой у вас диск Thick disks, Zeroed thick disks, Eager zeroed thick disks, thin, рано или поздно они при заполнении до одинакового размера будут по скорости идентичны
Example of an Single Instance Oracle VM Setup
VM ‘Oracle122-OL7’ is running OEL 7.4 operating system with Oracle 12.2.0.1.0 Grid Infrastructure and RDBMS binaries. The VM ‘Oracle122-OL7’ has 16 vcpus and 32GB of memory. Oracle SGA is set to 8 GB and PGA set to 2 GB.
Lets take a look at the VM ‘Oracle122-OL7’ SCSI controller and vmdk allocation and disk types.
VM ‘Oracle122-OL7’ has 5 vmdk’s
Hard Disk 1 is for the Operating System
Hard Disk 2 is for the Oracle Grid and RDBMS binaries
Hard Disk 3 is for the Oracle RMAN (Recovery Manager) dump
Hard Disk 4 is for the Oracle ASM disk group ( DATA_DG )
Hard Disk 5 is for the Oracle ASM disk group ( DATA_DG )
Remove the snapshot
Right Click on VM, Click ‘Snapshots’ , Click ‘Manage All Snapshots’.
Delete the snapshot ‘Oracle122-OL7-Snapshot’
Observe the contents of the VM folder, both .vmsn and -delta files are now deleted when the snapshot is deleted from the VM.
[root@WDC-ESX17:/vmfs/volumes/46d93793-0240bb85/Oracle122-OL7] ls -l
-rw-r–r– 1 root root 92 Mar 26 14:57 Oracle122-OL7-06dfef71.hlog
-rw-r–r– 1 root root 13 Mar 27 16:40 Oracle122-OL7-aux.xml
-rw——- 1 root root 34359738368 Mar 24 03:52 Oracle122-OL7-eca3e893.vswp
-rw——- 1 root root 64424509440 Mar 27 17:03 Oracle122-OL7-flat.vmdk
-rw——- 1 root root 8684 Mar 27 17:03 Oracle122-OL7.nvram
-rw——- 1 root root 617 Mar 27 17:03 Oracle122-OL7.vmdk
-rw-r–r– 1 root root 43 Mar 27 17:03 Oracle122-OL7.vmsd
-rwxr-xr-x 1 root root 4279 Mar 27 17:03 Oracle122-OL7.vmx
-rw——- 1 root root 0 Mar 26 14:57 Oracle122-OL7.vmx.lck
-rw——- 1 root root 64424509440 Mar 27 17:03 Oracle122-OL7_1-flat.vmdk
-rw——- 1 root root 619 Mar 27 17:03 Oracle122-OL7_1.vmdk
-rw——- 1 root root 64424509440 Mar 26 15:28 Oracle122-OL7_2-flat.vmdk
-rw——- 1 root root 619 Mar 26 14:57 Oracle122-OL7_2.vmdk
-rw——- 1 root root 2199023255552 Mar 27 17:03 Oracle122-OL7_3-flat.vmdk
-rw——- 1 root root 481 Mar 27 16:41 Oracle122-OL7_3.vmdk
-rw——- 1 root root 2199023255552 Mar 27 17:03 Oracle122-OL7_4-flat.vmdk
-rw——- 1 root root 481 Mar 27 16:41 Oracle122-OL7_4.vmdk
-rw-r–r– 1 root root 393432 Mar 25 00:44 vmware-1.log
-rw-r–r– 1 root root 278017 Mar 26 14:57 vmware-2.log
-rw-r–r– 1 root root 576700 Mar 27 17:02 vmware.log
-rw——- 1 root root 115343360 Mar 26 14:57 vmx-Oracle122-OL7-3970164883-1.vswp
[root@WDC-ESX17:/vmfs/volumes/46d93793-0240bb85/Oracle122-OL7]
Key points to take away from this blog
Given a VM’s with non-shared dependent and non-shared independent-persistent vmdk’s, taking a VMware snapshot will result in
- VMware snapshot for dependent vmdk’s
- VMware snapshot operation will ignore the independent-persistent vmdk’s
Как подключить общий диск в VMware ESXI 6.5 и выше
Поэтому нам первым делом необходимо в свойствах виртуальной машины добавить новый SCSI Controller.
Если посмотреть подсказку у LSI Logic SAS контроллера, то вы увидите три его режима:
- None - для работы с не кластерными Multi-Writer дисками
- Physical - виртуальные диски могут быть общими для виртуальной машины и физическим сервером
- Virtual - для работы с общим диском для нескольких виртуальных машин
Хочу отметить, что к одному LSI Logic SAS контроллеру можно одновременно подключить до 16 виртуальных дисков
Делается это через пункт "New Device" и нажатии кнопки Add, для SCSI Controller.
Далее у нового, добавленного контроллера вы в пункте "SCSI Bus Sharing" выберите тип "Virtual". Можете сохранить конфигурацию виртуальной машины, через нажатие кнопки "Ок"
Далее на первой машине, где мы только что добавили новый контроллер, вам нужно создать новый виртуальный диск, делается это так же, через пункт "New Device"
Откройте параметры нового виртуального диска. Для того, чтобы сделать его общим между виртуальными машинами 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"
Данное действие не обязательное, вы его можете пропустить и просто сохранить настройки, после чего переходить к настройке второй виртуалки, об этом чуть ниже
Далее я иду на датастор на котором находится виртуальная машина с общими дисками (Datastore - Browse Files).
Нахожу нужные мне Multi-Writer диски. Создаю новую папку
И перемещаю в новую папку общие диски, хочу отметить, что вы их можете переместить на любой общий между хостами ESXI датастор.
Я делаю "Move to" на тот же латасторе, но в новую папку. Этим я добьюсь, что буду видеть явным образом общие кластерные диски.
Так как я диски до этого удалил, для удобства, то мне их нужно заново добавить. Если вы до этого не удаляли, то сделайте эти действия только для второй виртуальной машины. Открываем настройки виртуальной машины и нажимаем добавить новое устройство, выбираем пункт "Existing Hard Disk", это у нас выбор существующего общего кластерного диска.
Указываем на каком датасторе у нас лежит Multi-Writer диск и выбираем нужный VMDK, в моем случае их семь.
Выставляем нужные параметры:
- 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.
Далее уже в операционной системе Windows Server, зайдя в оснастку "Управление дисками" вы обнаружите ваши диски. Остается их только разметить в GPT формат и отдать под кластер.
Independent, Persistent, Non-Persistent диски
И так теперь у вас есть виртуальная машина, если вы зайдете в ее свойства то сможете обнаружить, что для каждого виртуального диска есть еще дополнительные опции
- Independent
- Persistent
- Non-Persistent
давайте смотреть, что каждый из них означает. Вот такая картинка идет по умолчанию для виртуального диска. Что это подразумевает, а то, что у вас в конфигурации стандартный виртуальный диск, на нем можно делать снапшоты ESXI, это дает возможность делаться дельте диска и данные уже писать в него. Если откатывать снапшот, то вы получите диск на момент снятия.
Independent, Persistent, Non-Persistent диски-01
Если у нас стоит Independent и Persistent. В такой конфигурации это означает, что вы не сможете создать снапшот, так как все изменения сразу пишутся на диск. При попытке его создать вас пошлют с ошибкой Cannot take a memory snapshot, since the virtual machine is configured with independent disks. Некий такой механизм защиты от снапшота,
Independent, Persistent, Non-Persistent диски-02
И последний вариант это Independent > Non-Persistent. Тут тоже не работают снапшоты. Диск необходим вот для чего. Предположим у вас есть какой, то публичный или тестовый стенд, где все что то могут поставить, до этого вы его подготовили в эталонный вид и поставили тип диска Non-Persistent, далее все начинаю херачить и ломать эту машинку, ставить там свой софт и тестить его, в итоге, у вас же нет снапшота, а откатиться хочется, этот тип диска и позволяет это сделать путем обычной перезагрузки. Хороших примеров его использования полно, главный принцип один раз настроили, что то пошло не так ребутнули и все счастливы.
Имеем гипервизор ESXi 6.7 с виртуальной машиной Windows Server 2016. Задача - добавить новый диск в виртуалку.
Заходим через UI на страницу виртуалки:
Кликаем Add hard disk > New standard hard disk:
Добавляется новый диск размером 40 Гб.
Устанавливаем нужный нам размер, я ставлю 2 Тб.
Здесь также можно настроить дополнительные настройки.
- Location, выбираем хранилище.
- Disk Provisioning бывает трёх типов:
- Thick provision lazy zeroed - толстый ленивый (по умолчанию). При создании занимает выделенный объём, но нулями не заполняет сразу, а по мере записи. Быстро создаёт большие винты, но потом тратит ресурсы на заполнение блоков нулями. При долгой работе в итоге превращается в жадный.
- Thick provision eager zeroed - толстый жадный. При создании заполняет выделенный объём нулями. Долго создаёт большие винты, зато потом летает.
- Thin provision - тонкий. Быстро создаётся, не занимает места на диске. По мере наполнения - отжирает винт пока не заполнит весь выделенный для него объём. На это тратятся некоторые ресурсы. Опасен тем, что в один прекрасный момент места может не хватить, тогда с фризом нужно будет бороться танцами и бубном.
- Low (500)
- Normal (1000)
- High (2000)
- Custom
- SCSI controller (0:0) - (0:15)
- SATA controller (0:0) - (0:29)
- Dependent (Обычный.)
- Independent - persistent (Вы не сможете создать снапшот, так как все изменения сразу пишутся на диск.)
- Independent - Non-persistent (После перезагрузки изменения откатываются. Тоже нет смысла делать снапшоты.)
- Можно включить режим Multi-writer sharing. Это позволяет использовать один диск несколькими виртуалками.
Настраиваем, кликаем Save. Диск добавился.
Смотрим в ОС оснастку Disk management. Появился новый диск.
Тыкаем правой кнопкой на диск, Online.
Тыкаем правой кнопкой на диск, Initialize Disk.
Выбираем GPT (GUID Partition Table) или MBR (Master Boot Record).
- GPT допускает неограниченное количество основных разделов, в то время как MBR допускает только четыре основных, а остальные — дополнительные.
- GPT позволяет создавать разделы любого размера, в то время как MBR имеет ограничение в 2 ТБ.
- GPT хранит копию данных раздела, позволяя восстановить их в случае повреждения основного заголовка GPT; MBR хранит только одну копию данных раздела в первом секторе жёсткого диска, что может привести к потере всей информации в случае повреждении информации о разделах.
- GPT хранит значения контрольной суммы для проверки, что данные не повреждены, и может выполнить необходимое восстановление из других областей диска в случае повреждения; MBR не имеет способа узнать о повреждении данных, вы можете узнать об этом только если компьютер откажется загружаться или исчезнет раздел.
Возможно, я в дальнейшем увеличу размер диска, поэтому выбираю GPT.
Тыкаем правой кнопкой на неразмеченной области, New Simple Volume.
Запускается мастер создания тома. Next.
Выбираем размер, в данном случае весь. Next.
Выбираем букву диска. У меня там будут лежать бэкапы. поэтому ставлю B. Next.
“To beat (something) to boredom” – To linger over or discuss something so long and to such a tedious and laborious extent that the subject is no longer of any interest or relevance and induces a bad migraine.
Yes, much has been written and spoken about and VMware Snapshots and Independent Persistent disks but I still get questions from customers and field regarding that, so yes, this is yet another blog to attempt to explain this in detail.
Диски типа Thick (толстые диски)
Это тип дисков vmdk на томах VMFS или NFS, размер которых предопределяется заранее (при создании) и не изменяется в процессе наполнения его данными. Давайте добавим для примера новый виртуальный диск.
Никогда без веской необходимости не создавайте IDE диски, так как они не расширяются на лету и без геморроя и медленнее SCSI
Существует три типа дисков thick:
Thick disks
Все пространство диска выделяется в момент создания, при этом блоки не очищаются от данных, которые находились там ранее. Это может создавать потенциальные угрозы безопасности, поскольку виртуальная машина может получить доступ к данным на хранилище VMFS, которые ей не принадлежат. При обращении к блокам такого диска их содержимое предварительно не очищается со стороны ESX. Преимущество дисков типа thick - производительность и быстрота создания, недостаток - безопасность
Zeroed thick disks (lazy zeroed thick disks)
Все пространство такого диска выделяется в момент создания, при этом блоки не очищаются от данных, которые находились там ранее. При первом обращении виртуальной машины к новому блоку происходит его очистка. Таким образом, эти диски более безопасны, однако при первом обращении к блоку - теряется производительность системы ввода-вывода на операцию очистки. При последующих обращениях - производительность идентична дискам типаEager zeroed thick. Этот тип диска создается по умолчанию через VMware vSphere Client для виртуальных машин. Преимущество дисков Zeroed thick disks - безопасность и быстрота создания, недостаток - производительность при первом обращении к блоку.
Eager zeroed thick disks
Все пространство такого диска выделяется в момент создания, при этом блоки очищаются от данных, которые находились там ранее. Далее происходит обычная работа с блоками без очистки. Преимущество такого диска - производительность и безопасность, недостаток - долгое время создания.
Disk Listing before the snapshot
Listing the VM folder contents before the snapshots shows there are no existing snapshots for the VM
[root@WDC-ESX17:/vmfs/volumes/46d93793-0240bb85/Oracle122-OL7] ls -l
-rw-r–r– 1 root root 92 Mar 26 14:57 Oracle122-OL7-06dfef71.hlog
-rw——- 1 root root 34359738368 Mar 24 03:52 Oracle122-OL7-eca3e893.vswp
-rw——- 1 root root 64424509440 Mar 27 15:45 Oracle122-OL7-flat.vmdk
-rw——- 1 root root 8684 Mar 27 03:45 Oracle122-OL7.nvram
-rw——- 1 root root 617 Mar 26 14:57 Oracle122-OL7.vmdk
-rw-r–r– 1 root root 0 Mar 24 03:37 Oracle122-OL7.vmsd
-rwxr-xr-x 1 root root 4279 Mar 26 14:57 Oracle122-OL7.vmx
-rw——- 1 root root 0 Mar 26 14:57 Oracle122-OL7.vmx.lck
-rw——- 1 root root 64424509440 Mar 27 15:45 Oracle122-OL7_1-flat.vmdk
-rw——- 1 root root 619 Mar 26 14:57 Oracle122-OL7_1.vmdk
-rw——- 1 root root 64424509440 Mar 26 15:28 Oracle122-OL7_2-flat.vmdk
-rw——- 1 root root 619 Mar 26 14:57 Oracle122-OL7_2.vmdk
-rw——- 1 root root 2199023255552 Mar 27 15:45 Oracle122-OL7_3-flat.vmdk
-rw——- 1 root root 481 Mar 26 15:00 Oracle122-OL7_3.vmdk
-rw——- 1 root root 2199023255552 Mar 27 15:45 Oracle122-OL7_4-flat.vmdk
-rw——- 1 root root 481 Mar 26 15:00 Oracle122-OL7_4.vmdk
-rw-r–r– 1 root root 393432 Mar 25 00:44 vmware-1.log
-rw-r–r– 1 root root 278017 Mar 26 14:57 vmware-2.log
-rw-r–r– 1 root root 370695 Mar 27 15:44 vmware.log
-rw——- 1 root root 115343360 Mar 26 14:57 vmx-Oracle122-OL7-3970164883-1.vswp
[root@WDC-ESX17:/vmfs/volumes/46d93793-0240bb85/Oracle122-OL7]Snapshot Operation
Lets take a snapshot of the VM ‘Oracle122-OL7’ and observe the behavior. We will try to perform a snapshot operation with and without snapshotting the VM memory and observe the behavior.
Independent Persistent and Dependent vmdk’s
By default, all VM’s have exclusive access to their vmdk files unless the vmdk’s are shared between VM’s using the multi-writer flag (KB 10334165).
The topic of multi writer is out of scope of this blog and more information about that can be found at the post “RAC” n “RAC” all night – Oracle RAC on vSphere 6.x
The below table describes the various Virtual Machine Disk Modes
Key points to take away from this blog
- Given a VM’s with non-shared dependent and non-shared independent-persistent vmdk’s, taking a VMware snapshot will result in
- VMware snapshot for dependent vmdk’s
- VMware snapshot operation will ignore the independent-persistent vmdk’s
Sudhir Balasubramanian
Sudhir Balasubramanian is a Senior Staff Solution Architect and Global Oracle Field Practice Lead specializing in Oracle on VMware Hybrid Cloud. In addition , Sudhir also focuses on educating customers…
Prerequisites
- Verify that you are familiar with configuration options and caveats for adding virtual hard disks. See Virtual Disk Configuration.
- Before you add disks larger than 2TB in size to a virtual machine, see vSphere Virtual Machine Administration .
- Verify that you have the Virtual machine . Configuration . Add new disk privilege on the destination folder or datastore.
Power off the virtual machine.
Читайте также: