Производительность дисков ВМ можно увеличить и обойти ограничения IOPS (количество операций ввода/вывода – от англ. Input/Output Operations Per Second), путём создания пула дисков, вместо использования одного. Создание виртуальных дисков/пула дисков на основе технологии Storage Space, доступно на операционных системах, начиная с Microsoft Windows Server 2022.
Для Вашей виртуальной машины в интерфейсе управления облаком подключите несколько дополнительных дисков. В примере используется пул из трёх дисков, но лучше использовать количество, кратное двум:
Далее есть два способа создания пула дисков:
С помощью «Мастера создания пула хранения»;
С помощью специального скрипта PowerShell.
Примечание: При создании Storage Space пула/диска при помощи скрипта, достигается большая скорость работы ввода\вывода на Storage Space томе (пуле дисков) благодаря оптимизированным параметрам, которые можно задать только при использовании PowerShell командлетов.
Как проверить производительность дисков, показано здесь.
Способ №1: Создание пула дисков с помощью «Мастера создания пула хранения».
1. Перейдите в раздел "Файловые службы и службы хранилища" консоли "Диспетчер серверов". "Диспетчер серверов" открывается автоматически при запуске сервера, но если по каким-то причинам он не запущен, делается это так: нажимаете комбинацию клавиш "Windows + R" и в открывшемся окне введите "servermanager".
2. Перейдите в раздел «Пулы носителей», выделите в окне «Windows Storage» строку с доступными дисками и нажмите правой кнопкой мыши на ней. Появится всплывающее меню, в нём выберите пункт «Создать пул носителей»:
3. Запустится «Мастер создания пула хранения», в котором необходимо присвоить пулу произвольное имя, выбрать для него все дополнительные диски. На последнем этапе поставьте галочку на пункте "Создать виртуальный диск при закрытии мастера" и в конце нажмите «Создать». В результате должен появиться новый пул носителей:
4. Выделите созданный пул, нажмите правой кнопкой мыши на нём и выберите «Создать виртуальный диск».
5. В всплывающем окне вновь выберите наш пул и нажмите «Ок». Далее следуйте подсказкам «Мастера создания виртуальных дисков». На шаге выбора структурного хранилища выберите тип «Simple»:
Вас может смутить этот метод, ведь по сути здесь создаётся программный RAID 0 и утверждение из его описания о снижении надёжности верно для "физических" серверов. Однако, на всех облачных сервисах и разумеется, на нашем, все диски виртуальных машин зеркалируются автоматически, поэтому можете не волноваться за сохранность данных.
6. На шаге «Тип подготовки» выберите «Фиксированный»:
Тонкая подготовка — технология своевременного выделения блоков памяти по мере необходимости. При фиксированной подготовке физические блоки выделяются виртуальному диску независимо от того, будут они использованы или нет. При тонкой подготовке только используемые блоки сопоставляются с физическими блоками. Это позволяет подготовить виртуальный диск гораздо большего размера, чем в фиксированном варианте. Если виртуальный диск подходит к пределу сопоставления физических блоков, можно добавить новые физические диски.
7. На шаге «Указание размера виртуального диска» выберите «Максимальный», затем «Далее» и «Создать». После успешного создания виртуального диска, запустится «Мастер создания томов», с помощью которого нужно создать и отформатировать новый том. Результатом будет появление нового диска в системе:
Способ №2: Создание пула дисков с помощью специального скрипта PowerShell.
Для этого вы можете воспользоваться следующим скриптом:
Внимательно отредактируйте скрипт под вашу ОС (Команды: Initialize-Disk, New-Partition, Format-Volume»). Иначе возможна потеря данных.
Облакотека не несёт ответственности за ущерб, причинённый при неправильном использовании скрипта.
Облакотека не несёт ответственности за ущерб, причинённый при неправильном использовании скрипта.
$Pdisks = Get-PhysicalDisk | ? { $_.CanPool -eq "True" }
$Pdisks | sort-object PhysicalLocation | ft FriendlyName, PhysicalLocation, MediaType, Size –AutoSize
New-StoragePool -FriendlyName SS01_pool01 –StorageSubSystemFriendlyName "Windows Storage*" -PhysicalDisks $Pdisks -LogicalSectorSizeDefault 512
New-VirtualDisk -StoragePoolFriendlyName SS01_pool01 -FriendlyName DATA -UseMaximumSize -ResiliencySettingName Simple -WriteCacheSize 0GB -Interleave 65536
Initialize-Disk -VirtualDisk (Get-VirtualDisk -FriendlyName Data)
# Параметр -DiskNumder смотреть через диспетчер дисков для нового диска
New-Partition -DiskNumber 11 -UseMaximumSize -AssignDriveLetter
# Параметр -DriveLetter смотреть через диспетчер дисков для нового диска
Format-Volume -DriveLetter D -FileSystem NTFS -AllocationUnitSize 64KB