Работа с квотами ролей пользователей в System Center Virtual Machine Manager

Опубликовано: 16 Апреля, 2023
Работа с квотами ролей пользователей в System Center Virtual Machine Manager

Одна из действительно замечательных особенностей System Center Virtual Machine Manager (VMM) заключается в том, что он позволяет определять частные облака, которые можно использовать для самостоятельного администрирования. Однако одной из наиболее важных частей настройки частного облака является определение квот на роли пользователей для тех, кто будет использовать облако. В конце концов, вы же не хотите, чтобы администратор облака мог истощить аппаратные ресурсы вашей инфраструктуры виртуализации. Итак, давайте посмотрим, как проверить и изменить квоты ролей пользователей в частном облаке.

Первое, что мне нравится делать при управлении квотами (используя командную оболочку Virtual Machine Manager), — это сопоставлять частное облако с переменной. Если я еще не знаю точное название облака, мне нравится использовать две команды, показанные ниже. Первая команда извлекает список частных облаков, а вторая сопоставляет имя частного облака с переменной с именем $Cloud.

Получить-SCCloud | Select-Object Name $Cloud = Get-SCCloud -Name "<имя облака>"

Вы можете увидеть пример этих команд на скриншоте ниже.

Изображение 14429
Далее я рекомендую сопоставить роль пользователя с переменной. Причина этого в том, что квоты обычно сопоставляются с ролями пользователей, а не с отдельными пользователями. Следовательно, имеет смысл сопоставить роль пользователя с переменной, поскольку это облегчит управление квотами роли.

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

Get-SCUserRole | Select-Object Name $Role = Get-SCUserRole -Name «<имя роли>»

Пример этого вы можете увидеть на скриншоте ниже.

Изображение 14430 Глядя на квоты

Теперь, когда мы определили переменные для облака и роли пользователя, мы можем приступить к рассмотрению квот. Прежде чем я покажу вам, как просматривать квоты, вам нужно понять одну ключевую концепцию. Ролям пользователей могут быть назначены две отдельные квоты: одна для роли в целом, а другая для отдельных пользователей, назначенных роли.

Чтобы показать вам, что я имею в виду, давайте взглянем на квоты VMCount для одной из групп ролей на моем сервере VMM. Квота VMCount ограничивает количество виртуальных машин, которые разрешено создавать пользователям. Вы можете увидеть квоты VMCount, введя эту команду:

Get-SCUserRoleQuota -Cloud $Cloud -UserRole $Role | Select-Object VMCount

Как вы можете видеть на снимке экрана ниже, командная оболочка возвращает два отдельных значения. Одно из этих значений — это квота VMCount для роли пользователя в целом, а другое представляет квоту VMCount для отдельных пользователей в рамках роли (максимальное количество виртуальных машин, которое может создать отдельный пользователь).

Изображение 14431
Так какая квота какая? Меньшее число обычно соответствует квоте на пользователя, но снимок экрана не говорит нам окончательно, какая квота какая. Самый простой способ узнать, какая квота пользователя, — добавить к команде -QuotaPerUser $True. Вот как выглядит команда:

Get-SCUserRoleQuota -Cloud $Cloud -UserRole $Role -QuotaPerUser $True | Select-Object VMCount

Эта команда заставляет консоль отображать квоту пользователя. Если бы вместо этого мы хотели посмотреть на квоту ролей, мы могли бы просто изменить $True на $False. Вы можете увидеть примеры обоих на скриншоте ниже.

Изображение 14432 Изменение квот ролей пользователей

Итак, как вы можете видеть на снимке экрана, пользовательская квота в настоящее время установлена на 5, а ролевая квота — на 10. Конечно, эти значения довольно низкие. К счастью, изменить квоты относительно легко.

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

Для примера создадим переменную с именем $Quota и сопоставим ее с квотой уровня роли (а не с квотой уровня пользователя). Затем мы увеличим квоту ролей с 10 до 20. Сопоставление переменных работает очень похоже на команды, которые мы уже использовали. Вот как выглядит команда:

$Quota = Get-SCUserRoleQuota -Cloud $Cloud -UserRole $Role -QuotaPerUser $False

Теперь, когда мы создали переменную $Quota, мы можем изменить квоту роли, сославшись на эту переменную и указав новое значение квоты. Команда для этого указана ниже. Когда вы посмотрите на команду, вы заметите, что, поскольку я изменяю квоту, я использую команду Set-SCUserRoleQuota вместо команды Get-SCUserRoleQuota, которую я использовал в этой статье. Вот команда:

Set-SCUserRoleQuota -UserRoleQuota $Quota -VMCount 20

Если теперь мы воспользуемся командлетом Get-SCUserRoleQuota для получения значения квоты роли пользователя, мы сможем убедиться, что квота действительно была увеличена с 10 до 20. Вы можете увидеть всю последовательность команд на снимке экрана ниже.

Изображение 14433
PowerShell упрощает

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

Одно из преимуществ использования PowerShell для управления квотами ролей пользователей заключается в том, что это позволяет вам управлять квотами на условной основе. Если, например, вы обновили оборудование хост-сервера, вы можете создать условную команду, которая проверяет квоты каждой группы ролей, чтобы узнать, сколько виртуальных машин разрешено создавать. Если текущая квота позволяет использовать менее 20 виртуальных машин, вы можете увеличить квоту до 20. Что-то подобное было бы очень утомительно делать через графический интерфейс, но было бы относительно просто сделать через PowerShell.