DIABOLIKSS
RehberlerDell OpenManage Integration for VMware vCenter (OMIVV)
DELL ALTYAPISI · ileri seviye · 26 dk okuma

Dell OpenManage Integration for VMware vCenterOMIVV Kurulum, Firmware Baseline ve Donanım İzleme

5 Haziran 2026 26 dk okuma OMIVV 5.x / vCenter 7-8 ESXi 7.0U3+

Dell OpenManage Integration for VMware vCenter (OMIVV) ile PowerEdge sunucuları hypervisor katmanından donanım izleme, firmware baseline yönetimi ve iDRAC entegrasyonu yapın. vCenter alarmları, firmware güncelleme iş akışları ve OMIVV REST API ile otomasyon örnekleri içeren kapsamlı teknik rehber.

01

OMIVV Mimarisi ve Bileşenler

Dell OpenManage Integration for VMware vCenter (OMIVV), bir sanal appliance (OVA) olarak dağıtılan ve vCenter Server'a eklenti olarak entegre edilen bir yönetim çözümüdür. OMIVV, iDRAC ile doğrudan konuşarak donanım olaylarını vCenter alarm sistemiyle eşleştirir; bu sayede VMware yöneticileri ayrı bir Dell yönetim arayüzüne geçmek zorunda kalmadan donanım uyarılarını görebilir.

OMIVV'nin üç ana işlevi vardır: Inventory (donanım envanteri ve sağlık durumu), Firmware Baseline (sürüm uyumluluk kontrolü ve güncelleme iş akışları) ve Deployment (yeni host'ların ESXi kurulumu ile birlikte yapılandırılması). OMIVV, aynı zamanda VMware vSAN ve VMware vSphere Lifecycle Manager (vLCM) ile entegre çalışarak ESXi güncelleme süreçlerine Dell firmware güncellemelerini dahil edebilir.

📊
Envanter
Donanım sağlık izleme
vCenter'dan gerçek zamanlı
🔄
Firmware Baseline
Uyumluluk ve güncelleme
vLCM entegrasyonu
🚀
Deployment
Yeni host hazırlama
Bare-metal → ESXi
🔔
Alarm Entegrasyonu
vCenter native alarmlar
SNMP trap iletimi
// OMIVV Entegrasyon Mimarisi
vCenter ServervSphere UI
OMIVV ApplianceOVA / REST API
iDRAC9PowerEdge OOB
vLCMESXi lifecycle
Dell RepositoryDRM / ftp.dell.com
Lifecycle ControllerFirmware güncelleme
02

OMIVV OVA Kurulumu ve İlk Yapılandırma

OMIVV, Dell Support sitesinden indirilen bir OVA dosyası olarak dağıtılır. Minimum gereksinimler: 4 vCPU, 12 GB RAM, 120 GB disk alanı. Üretim ortamları için 8 vCPU ve 16 GB RAM önerilir. OMIVV, yönetim ağına erişim sağlayabileceği bir portgroup'a bağlanmalıdır; iDRAC yönetim ağına erişim zorunludur.

OVA kurulumu sırasında ağ yapılandırması (statik IP veya DHCP), NTP sunucusu ve syslog hedefi belirlenir. Kurulum sonrasında OMIVV web arayüzüne HTTPS üzerinden erişilir ve ilk kurulum sihirbazı çalıştırılır. Bu sihirbaz sırasında vCenter kayıt URL'si ve kimlik bilgileri girilir.

# PowerCLI ile OVA deployment (otomatik) Import-Module VMware.PowerCLI Connect-VIServer -Server vcenter.example.com -User administrator@vsphere.local -Password "VCPass123" $ovfConfig = Get-OvfConfiguration -Ovf "C:\Downloads\OMIVV-5.x.x.ova" # Ağ ve şifre ayarları $ovfConfig.Common.vami.ip.Value = "10.10.5.50" $ovfConfig.Common.vami.netmask.Value = "255.255.255.0" $ovfConfig.Common.vami.gateway.Value = "10.10.5.1" $ovfConfig.Common.vami.DNS.Value = "10.10.5.1" $ovfConfig.Common.vami.searchpath.Value = "example.com" $ovfConfig.Common.password.Value = "OMIVVAdm!n2026" $vmHost = Get-VMHost -Name "esxi01.example.com" $datastore = Get-Datastore -Name "vsanDatastore" Import-VApp -OvfConfiguration $ovfConfig \ -Source "C:\Downloads\OMIVV-5.x.x.ova" \ -VMHost $vmHost \ -Datastore $datastore \ -Name "OMIVV-Appliance" \ -DiskStorageFormat Thin Start-VM -VM "OMIVV-Appliance" Write-Host "OMIVV başlatıldı: https://10.10.5.50"
# OMIVV CLI üzerinden ilk yapılandırma (konsol erişimi) # Varsayılan kullanıcı: admin / Password1! # NTP yapılandırması omivv-cli ntp set --servers "10.10.0.1,pool.ntp.org" omivv-cli ntp enable # Syslog hedefi ekle omivv-cli syslog add --host siem.example.com --port 514 --protocol udp # Sertifika güncelle (Let's Encrypt veya kurumsal CA) omivv-cli certificate import --cert /tmp/omivv.crt --key /tmp/omivv.key
ℹ️
OMIVV appliance'ı üretim workload'larından izole bir yönetim kümesine veya ayrı bir management portgroup'una deploy edin. OMIVV, iDRAC'lara sürekli bağlantı gerektirir; ağ bölümlendirmesi bu trafiği göz önünde bulundurmalıdır.
03

vCenter Kaydı ve Eklenti Yapılandırması

OMIVV'yi vCenter'a kaydetmek, eklentinin vSphere Client'ta görünmesini sağlar. Kayıt sırasında OMIVV, vCenter extension olarak kendini tanıtır ve Dell EMC OpenManage sekmesi vSphere Client'ta aktif hale gelir. Kayıt işlemi için OMIVV yönetim arayüzünden veya REST API üzerinden yapılabilir.

Birden fazla vCenter instance'ı olan ortamlarda her vCenter için ayrı kayıt yapılması gerekir; OMIVV tek bir appliance üzerinden birden fazla vCenter'ı yönetebilir (OMIVV Standard: 5 vCenter, OMIVV Enterprise: sınırsız). Kayıt sonrasında vCenter'da bir Dell Management Plugin kullanıcısı oluşturulması ve bu kullanıcıya minimum gerekli rollerin atanması önerilir.

# OMIVV REST API ile vCenter kaydı curl -s -k -u admin:OMIVVAdm!n2026 \ -X POST \ -H "Content-Type: application/json" \ -d '{ "vcenterHostname": "vcenter.example.com", "vcenterPort": 443, "vcenterUsername": "omivv-svc@vsphere.local", "vcenterPassword": "SvcPass!2026", "description": "Production vCenter" }' \ "https://10.10.5.50/Appliance/vCenterRegistration" \ | python3 -m json.tool
# PowerCLI: OMIVV için gerekli vCenter rolünü oluştur Connect-VIServer -Server vcenter.example.com -User administrator@vsphere.local -Password "VCPass123" # OMIVV için özel rol oluştur $privs = @( "Alarm.Acknowledge", "Alarm.Create", "Alarm.Delete", "Alarm.Edit", "Extension.Register", "Extension.Unregister", "Extension.Update", "Host.Config.AdvancedConfig", "Host.Config.Firmware", "Host.Config.Maintenance", "Host.Inventory.AddHostToCluster" ) New-VIRole -Name "OMIVV-Role" -Privilege (Get-VIPrivilege -Id $privs) # Servis hesabına rol ata $svcAccount = Get-VIAccount -Id "omivv-svc@vsphere.local" -Domain "vsphere.local" New-VIPermission -Entity (Get-Datacenter) -Principal $svcAccount -Role "OMIVV-Role" -Propagate $true
04

iDRAC Bağlantı Profilleri ve Host Eşleme

OMIVV, her ESXi host'una karşılık gelen iDRAC'ı Connection Profile üzerinden bağlar. Connection Profile, iDRAC IP adresi veya hostname'i, kimlik bilgileri ve protokol ayarlarını içerir. OMIVV, ESXi host IP'si ile iDRAC IP'si arasındaki eşlemeyi otomatik olarak keşfedebilir (auto-discovery) ya da manuel olarak belirtilebilir.

Büyük ortamlarda tüm iDRAC'lar için tek bir servis hesabı kullanmak yönetimi kolaylaştırır. iDRAC hesabına en az Operator rolü verilmelidir; firmware güncelleme için Administrator rolü gereklidir. Connection Profile'lar gruplandırılabilir; bu sayede küme bazında farklı iDRAC kimlik bilgileri kullanmak mümkündür.

# OMIVV REST API ile Connection Profile oluştur curl -s -k -u admin:OMIVVAdm!n2026 \ -X POST \ -H "Content-Type: application/json" \ -d '{ "profileName": "Prod-iDRAC-Profile", "description": "Production cluster iDRAC credentials", "credentials": { "userName": "omivv-idrac", "password": "iDRACPass!2026", "enableSNMPGet": true, "snmpCommunityString": "dell-monitoring", "SNMPVersion": "V3" }, "wsman": { "retryCount": 3, "retryWait": 60 } }' \ "https://10.10.5.50/ConnectionProfile" | python3 -m json.tool # Belirli bir vCenter cluster'ındaki host'ları profile ata curl -s -k -u admin:OMIVVAdm!n2026 \ -X POST \ -H "Content-Type: application/json" \ -d '{ "profileId": "prof-001", "hostIds": ["host-101", "host-102", "host-103"] }' \ "https://10.10.5.50/ConnectionProfile/AssignHosts"
# iDRAC'ta OMIVV servis hesabı oluştur (racadm) # Her PowerEdge'de çalıştırılacak racadm -r <idrac-ip> -u root -p <password> \ set iDRAC.Users.5.UserName omivv-idrac racadm -r <idrac-ip> -u root -p <password> \ set iDRAC.Users.5.Password "iDRACPass!2026" racadm -r <idrac-ip> -u root -p <password> \ set iDRAC.Users.5.Privilege 0x1ff racadm -r <idrac-ip> -u root -p <password> \ set iDRAC.Users.5.Enable Enabled # Toplu iDRAC hesabı oluşturma (bash loop) for IP in 10.10.1.{10..30}; do racadm -r $IP -u root -p rootpass \ set iDRAC.Users.5.UserName omivv-idrac racadm -r $IP -u root -p rootpass \ set iDRAC.Users.5.Password "iDRACPass!2026" racadm -r $IP -u root -p rootpass \ set iDRAC.Users.5.Privilege 0x1ff racadm -r $IP -u root -p rootpass \ set iDRAC.Users.5.Enable Enabled echo "[$IP] OMIVV hesabı oluşturuldu" done
05

Firmware Baseline Yönetimi ve Güncelleme İş Akışları

OMIVV'nin en güçlü özelliklerinden biri Firmware Baseline yönetimidir. Baseline, tüm bileşenler (BIOS, iDRAC, PERC, NIC, PSU) için hedef firmware versiyonlarını tanımlayan bir profil olarak düşünülebilir. OMIVV, her host'u bu baseline ile karşılaştırarak uyumsuz bileşenleri raporlar ve güncelleme iş akışını otomatik olarak yönetebilir.

Firmware kaynağı olarak Dell ftp.dell.com (internet bağlantısı gerektiren) veya Dell Repository Manager (DRM) ile oluşturulan yerel repo (air-gapped ortamlar için) kullanılabilir. Güncelleme iş akışı ESXi host'u bakım moduna alır, Lifecycle Controller üzerinden firmware günceller, ardından host'u yeniden başlatır ve bakım modundan çıkarır — bu süreç vSphere DRS ile tam entegre çalışır.

# OMIVV REST API ile Firmware Baseline oluştur curl -s -k -u admin:OMIVVAdm!n2026 \ -X POST \ -H "Content-Type: application/json" \ -d '{ "baselineName": "PowerEdge-R750-2026Q2", "description": "Q2 2026 firmware baseline for R750 cluster", "catalogSource": { "type": "HTTP", "url": "http://10.10.0.50/dell-catalog/Catalog.xml" }, "targetModels": ["PowerEdge R750", "PowerEdge R750xs"], "autoUpdate": false }' \ "https://10.10.5.50/FirmwareBaseline" | python3 -m json.tool # Baseline ile uyumluluk raporu al curl -s -k -u admin:OMIVVAdm!n2026 \ "https://10.10.5.50/FirmwareBaseline/base-001/ComplianceReport" \ | python3 -c " import sys, json data = json.load(sys.stdin) for host in data.get('hosts', []): status = host['complianceStatus'] print(f'{host[\"hostName\"]}: {status}') for comp in host.get('components', []): if comp['status'] != 'OK': print(f' UYUMSUZ: {comp[\"name\"]} {comp[\"currentVersion\"]} -> {comp[\"targetVersion\"]}') "
# Firmware güncelleme job'u başlat (tek host) curl -s -k -u admin:OMIVVAdm!n2026 \ -X POST \ -H "Content-Type: application/json" \ -d '{ "baselineId": "base-001", "hostIds": ["host-101"], "updateSchedule": { "type": "IMMEDIATE", "maintenanceMode": true, "evacuateVMs": true } }' \ "https://10.10.5.50/FirmwareBaseline/UpdateJob" # Job durumunu izle JOB_ID="job-20260605-001" curl -s -k -u admin:OMIVVAdm!n2026 \ "https://10.10.5.50/Jobs/$JOB_ID/Status" | python3 -m json.tool
⚠️
DRS Gereksinimi: OMIVV firmware güncellemesi sırasında host bakım moduna alınır ve VM'ler vSphere DRS tarafından başka host'lara taşınır. DRS'in Fully Automated modunda olduğundan emin olun; Manul modda VM'ler otomatik taşınmaz ve güncelleme başarısız olabilir.
06

Donanım Sağlık İzleme ve Envanter Yönetimi

OMIVV, iDRAC ile sürekli iletişim kurarak CPU, bellek, disk, NIC, güç kaynağı ve fan sağlık durumlarını vCenter'a aktarır. Bu bilgiler vSphere Client'ta Dell Hardware Summary sekmesinde görünür ve vCenter alarm sistemiyle entegre çalışır. Kritik bir bileşen arızasında hem OMIVV panosu hem de vCenter alarmı tetiklenir.

OMIVV ayrıca storage controller (PERC) durumunu ve sanal disk sağlığını da izler. Bir disk arızası tespit edildiğinde OMIVV otomatik olarak vCenter olayı oluşturur. Bu olay bir vCenter alarm kuralı ile ilişkilendirildiğinde e-posta, SNMP trap veya webhook bildirimi gönderilebilir.

# OMIVV API ile tüm host'ların donanım sağlık durumunu çek curl -s -k -u admin:OMIVVAdm!n2026 \ "https://10.10.5.50/HostInventory?vcenterHostname=vcenter.example.com" \ | python3 -c " import sys, json data = json.load(sys.stdin) for host in data.get('hosts', []): health = host.get('overallHealth', 'UNKNOWN') icon = '✅' if health == 'OK' else '❌' print(f'{icon} {host[\"hostName\"]:30} → {health}') if health != 'OK': for comp in host.get('components', []): if comp.get('health') != 'OK': print(f' └── {comp[\"type\"]}: {comp[\"health\"]} - {comp.get(\"message\",\"\")}') "
# OMIVV API ile PERC storage detaylarını çek curl -s -k -u admin:OMIVVAdm!n2026 \ "https://10.10.5.50/HostInventory/host-101/StorageComponents" \ | python3 -m json.tool # PowerCLI ile tüm Dell host'larına OMIVV sağlık etiketini ata Connect-VIServer vcenter.example.com $omivvTag = New-Tag -Name "OMIVV-Monitored" -Category (Get-TagCategory "Dell-Management") Get-VMHost | Where-Object {$_.Manufacturer -like "*Dell*"} | ForEach-Object { New-TagAssignment -Tag $omivvTag -Entity $_ Write-Host "Etiketlendi: $($_.Name)" }
07

OMIVV REST API ile Otomasyon

OMIVV, kapsamlı bir REST API sunar. Bu API üzerinden vCenter kaydı, connection profile yönetimi, firmware baseline oluşturma, uyumluluk raporları ve güncelleme job'ları programatik olarak yönetilebilir. API Swagger belgeleri OMIVV appliance'ı üzerinde /apidocs endpoint'inde erişilebilirdir.

Kimlik doğrulama için HTTP Basic Auth veya API Token kullanılabilir. Otomasyon pipeline'larında API Token tercih edilir çünkü parola rotasyonundan bağımsızdır ve belirli izinlerle sınırlandırılabilir. Aşağıdaki örnekler Python ile kapsamlı bir OMIVV otomasyon iskeleti sunar.

#!/usr/bin/env python3 # omivv_automation.py - OMIVV API ile kapsamlı otomasyon import requests, json, sys from datetime import datetime class OMIVVClient: def __init__(self, host, user="admin", password=""): self.base = f"https://{host}" self.auth = (user, password) self.headers = {"Content-Type": "application/json", "Accept": "application/json"} requests.packages.urllib3.disable_warnings() def get(self, path): r = requests.get(f"{self.base}{path}", auth=self.auth, headers=self.headers, verify=False) r.raise_for_status() return r.json() def post(self, path, data): r = requests.post(f"{self.base}{path}", auth=self.auth, headers=self.headers, json=data, verify=False) r.raise_for_status() return r.json() def compliance_report(self, baseline_id): """Baseline uyumluluk raporunu döndür""" return self.get(f"/FirmwareBaseline/{baseline_id}/ComplianceReport") def non_compliant_hosts(self, baseline_id): """Uyumsuz host'ları listele""" report = self.compliance_report(baseline_id) return [h for h in report.get("hosts", []) if h.get("complianceStatus") != "COMPLIANT"] def schedule_update(self, baseline_id, host_ids, maintenance=True): """Güncelleme job'u oluştur""" return self.post("/FirmwareBaseline/UpdateJob", { "baselineId": baseline_id, "hostIds": host_ids, "updateSchedule": { "type": "IMMEDIATE", "maintenanceMode": maintenance, "evacuateVMs": True } }) # Kullanım client = OMIVVClient("10.10.5.50", "admin", "OMIVVAdm!n2026") non_compliant = client.non_compliant_hosts("base-001") print(f"\n{datetime.now()} - Uyumsuz Host Raporu") print("=" * 50) for host in non_compliant: print(f"HOST: {host['hostName']}") for comp in host.get("components", []): if comp["status"] != "OK": print(f" {comp['name']}: {comp['currentVersion']} → {comp['targetVersion']}") if non_compliant and "--update" in sys.argv: host_ids = [h["hostId"] for h in non_compliant] job = client.schedule_update("base-001", host_ids) print(f"\nGüncelleme job oluşturuldu: {job.get('jobId')}")
08

vCenter Alarm ve Olay Entegrasyonu

OMIVV, iDRAC'tan aldığı donanım olaylarını vCenter olay sistemine çevirir. Bu olaylar Dell.Hardware.Critical, Dell.Hardware.Warning gibi custom event type'lar olarak vCenter log'larına yazılır. Bu event'lere dayalı vCenter alarm kuralları oluşturarak IT operasyon ekibini anlık bilgilendirebilirsiniz.

vSphere alarmlarını OMIVV olaylarıyla eşleştirmek, e-posta bildirimi, SNMP trap ve webhook tetiklemesini mümkün kılar. Özellikle disk arızaları, PSU (güç kaynağı) hataları ve ısınma uyarıları için ayrı alarm tanımlamaları oluşturulması önerilir; böylece farklı seviyede müdahale prosedürleri otomatik tetiklenebilir.

# PowerCLI ile Dell donanım alarmı tanımla Connect-VIServer vcenter.example.com $alarmMgr = Get-View AlarmManager # Dell disk arızası alarmı $alarmSpec = New-Object VMware.Vim.AlarmSpec $alarmSpec.Name = "Dell - Disk Arızası Kritik" $alarmSpec.Description = "PowerEdge fiziksel disk arızası tespit edildi" $alarmSpec.Enabled = $true # Alarm koşulu - OMIVV Dell event $eventAlarm = New-Object VMware.Vim.EventAlarmExpression $eventAlarm.EventType = "EventEx" $eventAlarm.EventTypeId = "com.dell.openmanage.diskFailure" $eventAlarm.Status = "red" $alarmSpec.Expression = New-Object VMware.Vim.OrAlarmExpression $alarmSpec.Expression.Expression = @($eventAlarm) # E-posta aksiyonu $emailAction = New-Object VMware.Vim.SendEmailAction $emailAction.ToList = "ops-team@example.com" $emailAction.Subject = "KRITIK: Dell PowerEdge Disk Arizasi - {host.name}" $emailAction.Body = "Sunucu: {host.name}`nOlay: Fiziksel disk arizasi" $alarmMgr.CreateAlarm((Get-Datacenter).Id, $alarmSpec)
# OMIVV SNMP trap ayarlarını yapılandır curl -s -k -u admin:OMIVVAdm!n2026 \ -X POST \ -H "Content-Type: application/json" \ -d '{ "trapDestinations": [ { "host": "snmp-manager.example.com", "port": 162, "community": "dell-traps", "version": "V3", "userName": "dell-snmpv3", "authProtocol": "SHA", "authPassword": "SNMPAuth!2026", "privProtocol": "AES", "privPassword": "SNMPPriv!2026" } ], "eventFilters": { "minSeverity": "WARNING", "categories": ["HARDWARE", "STORAGE", "FIRMWARE"] } }' \ "https://10.10.5.50/AlertSettings/SNMP"
  • OMIVV OVA deploy edildi ve yapılandırıldı
  • vCenter'a kayıt yapıldı, eklenti görünüyor
  • iDRAC Connection Profile'ları oluşturuldu
  • Firmware Baseline tanımlandı ve uyumluluk raporu alındı
  • vCenter alarmları Dell olaylarıyla eşleştirildi
  • SNMP trap hedefi yapılandırıldı
  • OMIVV API token oluşturuldu ve otomasyon test edildi