У нас есть кластер 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
{
}
}
#