vCenter / vSphere — inwentaryzacja maszyn

W centrach danych on-premise królem wirtualizacji wciąż jest VMware vSphere. Setki maszyn wirtualnych żyją na hostach ESXi zarządzanych przez vCenter. Inwentaryzacja tej floty to jedno z głównych zadań konektora ZEUS on-prem.

Architektura vSphere

KomponentRola
ESXihypervisor — goły metal, na którym działają VM
vCenter Servercentralne zarządzanie wieloma hostami ESXi
Klastergrupa hostów z HA i DRS (balansowanie obciążeń)
Datastoremagazyn dla plików VM (VMDK)
Resource Poollogiczny podział zasobów CPU/RAM

vCenter to punkt, do którego podłącza się każde narzędzie inwentaryzujące — jeden endpoint zamiast łączenia się z każdym hostem osobno.

Inwentaryzacja przez API (pyVmomi)

VMware udostępnia vSphere API; w Pythonie używa się biblioteki pyVmomi. Przykład listowania wszystkich VM:

from pyVim.connect import SmartConnect, Disconnect
from pyVmomi import vim
import ssl

ctx = ssl._create_unverified_context()  # w prod: poprawny certyfikat!
si = SmartConnect(host="vcenter.corp.firma.pl",
                  user="svc-zeus@vsphere.local",
                  pwd="<haslo>", sslContext=ctx)

content = si.RetrieveContent()
view = content.viewManager.CreateContainerView(
    content.rootFolder, [vim.VirtualMachine], True)

for vm in view.view:
    s = vm.summary
    print(s.config.name, s.runtime.powerState,
          s.config.guestFullName, s.config.numCpu)

Disconnect(si)

Wskazówka: konto svc-zeus powinno mieć rolę Read-only w vCenter, przypisaną na poziomie root folderu z dziedziczeniem. Pełna widoczność, zero możliwości modyfikacji.

Co inwentaryzujemy i po co

Dla każdej VM zbieramy m.in.:

  • nazwę, stan zasilania, system operacyjny gościa,
  • zasoby (vCPU, RAM, dyski) i datastore,
  • stan VMware Tools (przestarzałe Tools = brak telemetrii),
  • przypisane sieci (port groups, VLAN).

To pozwala odpowiedzieć na pytania bezpieczeństwa: które VM są włączone i bez nadzoru, które mają niewspierane OS, gdzie brakuje aktualnych Tools.

Hardening hostów ESXi

Niezależnie od inwentaryzacji VM, warto pamiętać o hardeningu samych hostów: Lockdown Mode, wyłączony ESXi Shell/SSH poza serwisem, aktualne łatki i ograniczony dostęp do interfejsu zarządzania.

Jak to widzi ZEUS

Przez API vSphere (pyVmomi) i konto read-only ZEUS inwentaryzuje całą flotę VM oraz hosty ESXi. Łączy te dane z resztą obrazu środowiska — maszyny on-prem lądują w tym samym inwentarzu co zasoby chmurowe, dając jeden spójny widok. ZEUS sygnalizuje VM z przestarzałym OS, wyłączonym hardeningiem hostów czy brakiem aktualnych VMware Tools. Mechanika łączenia (reverse-SSH tunnel) w lekcji 06.

W następnej lekcji: WinRM i zarządzanie flotą Windows.