У нас есть кластер VMware, в котором не включен SDRS. Мы хотели бы знать, когда виртуальная машина перемещается в конкретное хранилище данных в этом кластере, потому что это хранилище данных не является хранилищем производительности.
Я не могу найти аварийный сигнал хранилища данных или другой тип предупреждений, который уведомлял бы меня, когда кто-то выполняет vmotion хранилища для этого хранилища данных. Я также не могу найти правило сходства или подобное, чтобы запретить кому-либо перемещать определенные виртуальные машины в это хранилище данных.
Кто-нибудь знает способ сделать это без SDRS?
Хорошим решением для этого было бы использование VMware Storage Policy-Based Management с тегами. Могут быть специфические возможности производителя, которыми вы также можете воспользоваться, но поскольку теги не зависят от производителя, я воспользуюсь ими, чтобы объяснить, как можно использовать политики.
Минимальный подход:
Это гарантирует, что пользователи будут предупреждены, если они попытаются перенести виртуальную машину в хранилище данных, которое не будет поддерживать политику виртуальной машины. Если пользователь проигнорирует это предупреждение, виртуальная машина будет помечена как несоответствующая.
При рассмотрении возможных триггеров аварийного сигнала хранилища данных существует несколько возможностей.
Для условных выражений вы можете использовать:
Хотя для мероприятий это может сработать:
Первые два потребуют, чтобы вы знали числа, чуть выше которых вы установите порог.
Последние два могут даже не работать в зависимости от того, считается ли svMotion файлами, копируемыми / перемещаемыми в хранилище данных.
Я пошел туда, куда направлялось 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
{
}
}
#