VMware - запускать оповещение, когда виртуальная машина перемещается в конкретное хранилище данных?

У нас есть кластер VMware, в котором не включен SDRS. Мы хотели бы знать, когда виртуальная машина перемещается в определенное хранилище данных в этом кластере, потому что это хранилище данных не является хранилищем данных.

Я не могу найти аварийный сигнал хранилища данных или другой тип предупреждения, который уведомлял бы меня, когда кто-то делает хранилище vmotion в это хранилище данных. Я также не могу найти правило сходства или подобное, чтобы запретить кому-либо перемещать определенные виртуальные машины в это хранилище данных.

Кто-нибудь знает, как сделать это без SDRS?

4
задан 9 February 2016 в 02:06
3 ответа

Хорошим решением для этого было бы использование VMware Storage Policy-Based Management с тегами. Могут быть специфические возможности поставщика, которыми вы также можете воспользоваться, но поскольку теги не зависят от поставщика, я воспользуюсь ими, чтобы объяснить, как можно использовать политики.

Минимальный подход:

  1. Создайте категорию тегов (хранилище -производительность) с двумя тегами (производительность, не производительность).
  2. Пометьте каждое хранилище данных одним из тегов в зависимости от «типа» хранилища
  3. Создайте две политики хранилища (производительность, неэффективность) и используйте правило на основе тегов для политики. Например, политика производительности совместима с хранилищами данных с тегом производительности. При создании политики вы сможете увидеть, какие хранилища данных совместимы с политикой.
  4. Свяжите желаемую политику хранения с виртуальными машинами

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

4
ответ дан 3 December 2019 в 02:57

При рассмотрении возможных триггеров для аварийного сигнала хранилища данных существует несколько возможностей.

Для условных выражений вы можете использовать:

  • Использование диска хранилища данных (%)
  • Диск хранилища данных Предоставлено (%)

Хотя для событий они могут работать:

  • Файл или каталог скопированы в хранилище данных
  • Файл или каталог перемещены в хранилище данных

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

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

2
ответ дан 3 December 2019 в 02:57

Я пошел туда, куда направлялся EEAA, и только что получил простой PowerCLI, предоставленный из здесь .

и установите "-ge" равным 1, поскольку рассматриваемое хранилище данных должно содержать только одну виртуальную машину, для которой оно предназначено.

У меня есть этот набор для запуска на нашем административном сервере два раза в день.

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

Код для потомков:

#
# PowerCLI script to send e-mail if the number of virtual machines per datastore exceeds 48
# Version 1.0
# Magnus Andersson, Real Time Services AB
#
#
Add-PSSnapin VMware.VimAutomation.Core -ErrorAction SilentlyContinue
#
#
# Get login password
$pwd = Get-Content d:vspherescriptspowerclicred | ConvertTo-SecureString
$cred = New-Object System.Management.Automation.PsCredential “homedomainpowercli“, $pwd
#
#
# Connect to vCenter Server
connect-viserver vc-demo01.home.test
#
#
$sendTo = “magnus@home.test“
$ds = get-datastore
foreach ($datastore in $ds){
$num = Get-Datastore $datastore | Select @{N=”TotalVMs”;E={@($_ | Get-VM ).Count}}
if ($num.TotalVMs -ge 48) {
send-mailmessage -to $sendTo -from vc-demo01@home.test -Subject “Number of VMs per datastore $datastore is” -smtpserver smtp.home.test -body $num.TotalVms
}
else
{
}
}
#
1
ответ дан 3 December 2019 в 02:57

Теги

Похожие вопросы