Pages Menu
Rss
Categories Menu

Опубликовано | Нет комментариев

Политики качества обслуживания QoS


Одной из «недостающих» функций предыдущих выпусков Windows Server была не способность применять политики качества обслуживания "Quality of Service (QoS)" в отношении трафика хранилища. Это стало огромной проблемой в виртуализации имущества. Если вы хотите определить приоритеты определённых рабочих нагрузок и предоставить им, например, гарантированный уровень операций I/O в секунду (IOPS), вы просто не сможете этого сделать.

Политики QoS

Теперь, в Windows Server 2016, вы можете обеспечить, в зависимости от политик, которые вы хотите настроить для своего хранилища, чистоту или приоритизацию ресурсов. Основное использование QoS для хранения будет сосредоточено на виртуальных машинах Hyper-V, развёрнутых либо в кластере SOFS, либо в Hyper-V с общими томами кластера.

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

политики_хранения_QoS

Политики хранения QoS и их применение для разных уровней VM

QoS, для хранения данных в Windows Server 2016, включён по умолчанию. Это означает, что вам не нужно для перехода устанавливать дополнительную роль или функцию.

Например, на следующем рисунке показано, если у вас есть отказоустойчивый кластер Hyper-V, вы можете увидеть, что в списке отображается новый ресурс кластера.

ресурс_кластера_QoS

Основной ресурс кластера QoS хранилища

Для отображения того же результата, вы можете использовать командлет Windows PowerShell Get-ClusterResource:

Get-ClusterResource -Name "Storage Qos Resource

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

Два типа QoS

У вас есть выбор из двух типов политики:

  • Single-instance. Используя политики одного экземпляра, вы можете создавать минимальное и максимальное количество IOPS для каждой политики. Например, если виртуальная машина имеет один VHD/VHDX, она в назначенной политике будет полностью использовать все IOPS. Однако если VM имеет три VHD/VHDX, и всем им назначена одна и та же политика single-instance, то VM будет делиться максимальным количеством IOPS на всех дисках, снижая общую производительность. У вас есть возможность иметь несколько single-instance политик и настроить каждый диск на использование другой single-instance политики, обеспечивая им доступ ко всем IOPS. Если у вас две виртуальные машины с одним VHD, каждый из которых назначается одной и той же политикой одного экземпляра, они также будут использовать минимальный и максимальный IOPS.
  • Multi-instance. С политикой нескольких экземпляров, у вас снова есть варианты для создания минимального и максимального количества операций IOPS. Однако в этом случае, если вы имеете две виртуальные машины с одним VHD/VHDX каждая, они будут получать свои собственные распределения IOPS, минимальный и максимальный. Однако, если VM имеет несколько дисков, применяются те же правила. Если не назначены отдельные политики, они будут разделять общую сумму минимальных и максимальных IOPS.

Для создания политики, используйте следующий командлет Windows PowerShell:

$GoldVmPolicy = New-StorageQosPolicy -Name Gold -PolicyType MultiInstance -MinimumIops 100 -MaximumIops 500

В этом примере информация о политике будет храниться в переменной. Существует одно свойство под названием PolicyId, которое вам потребуется.

Для доступа к PolicyId используйте следующий синтаксис:

PolicyId

Идентификатор Guid то, что вам потребуется для применения этой политики к VHD с помощью следующей команды Windows PowerShell:

Get-VM -Name GoldSrv* | Get-VMHardDiskDrive | Set-VMHardDiskDrive -QoSPolicyID Cd5f6b87-fa15-402b-3545- 32c2f456f6e1

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

Следующий вывод показывает, что применяется, и объем хранилища IOPS фактически используемого VM:

вывод_IOPS

Прежде чем создавать политики, которые фактически используются виртуальными машинами в отношении хранилища IOPS, для их проверки, можно использовать командлет Get-StorageQoSFlow.

Get-StorageQosFlow | Sort-Object StorageNodeIOPs -Descending | ft InitiatorName, @{Expression={$_.InitiatorNodeName.Substring(0,$_.InitiatorNodeName.IndexOf('.'))};
Label="InitiatorNodeName"} , StorageNodeIOPs, Status, @{Expression={$_.FilePath.Substring($_.FilePath.LastIndexOf('\')+1)};Label="File"} -AutoSize

командлет_Get-StorageQoSFlow

Дополнительные сценарии, чтобы начать работу с Storage QoS в Windows 2016, вы можете найти на https://technet.microsoft.com/library/mt126108.aspx.

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.


↓