VxRail: Usługa platformy nie powiodła się z błędem "assert len(boot_devs) == 1, 'We have multiple boot devices'
Summary: Nie można uruchomić usługi platformy z powodu nieprawidłowego raportowania urządzenia rozruchowego.
Symptoms
Usługa platformy VxRail nie powiodła się z powodu błędu assert len(boot_devs) == 1, 'We have multiple boot devices? zgłoszone w platform_svc.logVxVerfy wyświetla błąd '2 Fail | 536795 | bmc: Firmware test timeout. Check Platform Service'.Platform_svc.log Wyświetla problemy z wykonywaniem skryptu znajdującego się w ścieżce /opt/vxrail/bin/utility/host.py Linia 443.
Wiersz 443 w host.py skrypt jest odpowiedzialny za sprawdzanie urządzeń rozruchowych w ESXi, jak pokazano poniżej:
def get_service_datastore_path():
"""get the service datastore path
This is a guess work. The assumption is that we will have one and only one VMFS ds on
the boot device.
"""
boot_devs = {
dev['Device'] for dev in esxcli('storage core device list')
if dev['Is Boot Device']
}
assert len(boot_devs) == 1, 'We have multiple boot devices?'
dev = boot_devs.pop()
with HostConnection() as host_conn:
ds = host_conn.get_vmfs_datastore_on_bootdev(dev)
if ds:
return ds[0].info.url
return None Cause
Po uruchomieniu esxcli storage core device list | grep -i dellboss -A40Tthe DELLBOSS_VD nie jest ustawiona jako urządzenie rozruchowe, jak pokazano poniżej, co powoduje awarię skryptu.
[management@esxi03:~] esxcli storage core device list | grep -i dellboss -A40
t10.ATA_____DELLBOSS_VD_____________________________d2f1e897dd2e001000000000
Display Name: Local ATA Disk (t10.ATA_____DELLBOSS_VD_____________________________d2f1e897dd2e001000000000)
Has Settable Display Name: true
Size: 228872
Device Type: Direct-Access
Multipath Plugin: NMP
Devfs Path: /vmfs/devices/disks/t10.ATA_____DELLBOSS_VD_____________________________d2f1e897dd2e001000000000
Vendor: ATA
Model: DELLBOSS VD
Revision: 00-0
SCSI Level: 5
Is Pseudo: false
Status: on
Is RDM Capable: false
Is Local: true
Is Removable: false
Is SSD: false
Is VVOL PE: false
Is Offline: false
Is Perennially Reserved: false
Queue Full Sample Size: 0
Queue Full Threshold: 0
Thin Provisioning Status: yes
Attached Filters:
VAAI Status: unsupported
Other UIDs: vml.0100000000643266316538393764643265303031300000000044454c4c424f
Is Shared Clusterwide: false
Is SAS: false
Is USB: false
Is Boot Device: false
Device Max Queue Depth: 31
No of outstanding IOs with competing worlds: 31
Drive Type: unknown
RAID Level: unknown
Number of Physical Drives: unknown
Protection Enabled: false
PI Activated: false
PI Type: 0
PI Protection Mask: NO PROTECTION
Supported Guard Types: NO GUARD SUPPORT
DIX Enabled: false
DIX Guard Type: NO GUARD SUPPORT
Emulated DIX/DIF Enabled: false
Resolution
Rozwiązanie problemu:
- Przełącz serwer w tryb konserwacji.
- Uruchom ponownie serwer.
- Zatwierdź
Is Boot Device : trueZa pomocą polecenia:esxcli storage core device list | grep -i dellboss -A40
Jeśli ponowne uruchomienie węzła nie rozwiąże problemu, usuń pozostałe ładunki elektryczne z węzła w następujący sposób: PowerEdge: Jak zresetować komputer i usunąć pozostałe ładunki elektryczne lub wyłączyć i ponownie włączyć zasilanie wirtualne?