VMware ESXi 6.x auf PCEngines APU2


Nachdem der letzte Proof-of-Concept „VMWare ESXi auf Alix Nachfolger APU1c und APU1c4 installieren“ auf reges Interesse gestossen ist möchte ich es nicht unterlassen, dasselbe Konzept mit der neuen APU2 Version nochmals aufzugreifen.

Die neue APU2 setzt auf einen AMD Embedded G series GX-412TC CPU und verfügt wieder über 2GB respektive 4GB RAM. Als Netzwerkkarte kommt in der neuen Version entweder eine Intel i211AT oder eine i210AT zum Einsatz. Dies hat den Vorteil, dass die Netzwerkkarte direkt von ESXi unterstützt wird (dank des igb Treibers). Es ist also kein mühsames Nachinstallieren des NIC-Treibers notwendig.

Teile dieses Tutorials basieren auf dem ursprünglichen Artikel und sind mit neuen Inputs (z.B. dem Embedded Host Client) ergänzt.

Benötigte Software / Hardware

ESXi Installation auf USB Stick mit VMWare Workstation

Für die Erstellung des ESXi USB Sticks verwende ich in diesem Tutorial VMWare Workstation. Unter Umständen kann die Installation auch mit dem kostenlosen VMWare Player vorgenommen werden. Dazu ist jedoch ein VM Template notwendig. Die Erstellung des notwendigen Templates kann auch online erfolgen. Google ist hierbei die beste Unterstützung.

VMWare ESXi installieren

Die virtuelle Maschine benötigt keine Festplatte, da die Installation auf einen USB Stick erfolgt. Beim Starten der virtuellen Maschine muss nun noch der USB Stick verbunden werden:

ESXi Setup  USB Stick

Wichtig ist hierbei, dass der angesteckte USB Stick an die virtuelle Maschine durchgereicht wird.

ESXi Setup ESXi Setup

ESXi Setup ESXi Setup

Ist der USB Stick korrekt angeschlossen steht dieser entsprechend zur Auswahl.

ESXi Setup

Im Anschluss das gewünschte Tastaturlayout auswählen und das root-Kennwort definieren:

ESXi Setup ESXi Setup

Für die Basis-Installation sind nun alle Informationen vorhanden. Die Installation kann gestartet werden.

ESXi Setup ESXi Setup

ESXi Setup ESXi Setup

ESXi Setup

ESXi starten

VMWare Workstation kann über die neu verfügbare EFI-Boot-Option auch ab USB Stick starten. Ich bevorzuge hierbei jedoch den Plop Boot Manager.
Dazu wird der virtuellen Maschine die CD plpbt.iso zugewiesen und anschliessend gestartet. Um den ESXi zu starten kann nun im Auswahlmenü USB ausgewählt werden.

Plop Boot Manager

Nach dem Start und der entsprechenden Konfiguration der Management IP Adresse kann direkt auf den seit ESXi 6.0 U2 integrierten „Host Embedded Client“ zugegriffen werden. Der Zugriff erfolgt dabei ohne installierten vSphere Client direkt via Webbrowser. Über die Adresse https://ip-des-esxi-servers/ui/ kann auf den neu installierten ESXi zugegriffen werden.

Host Embedded Client

ESXi Konsole auf seriellen Port umleiten

Da die PCEngines APU keine Grafikkarte besitzt muss auf dem neuen ESXi entsprechend die serielle Ausgabe auf com1 konfiguriert werden. Die serielle Ausgabe kann wie folgt aktiviert werden:

 

  • Stellen Sie eine Verbindung mit dem ESXi Server UI her (Host Embedded Client)
  • Klicken Sie links auf die Registerkarte Verwalten
  • Klicken Sie rechts auf Erweiterte Einstellungen
  • Wählen sie den Eintrag VMkernel.Boot.tty2Port aus und klicken sie auf Option bearbeiten
  • Unter Neuer Wert nun com1 eintragen und mit Speichern bestätigen

Serielle Ausgabe aktivieren  Serielle Ausgabe aktivieren

Weitere Details zu dieser Einstellung finden sie im VMWare Dokumentationscenter.

Die virtuelle Maschine kann nun heruntergefahren werden. Alle für den Betrieb auf der APU2 notwendigen Anpassungen sind gemacht.

 

PCEngines APU2 vorbereiten

Zu Beginn empfiehlt es sich, das aktuellste BIOS auf die APU aufzuspielen. Die Anleitung dazu findet sich auf der PC Engines Webseite unter TinyCore.

Wichtig ist ebenfalls, dass die Boot-Reihenfolge auf der APU richtig konfiguriert ist.
Um die Boot-Reihenfolge anzupassen kann beim Start der APU auf der Konsole mittels F10 -> 3. Payload [setup] die gewünschte Reihenfolge konfiguriert werden.

Boot-Reihenfolge

ESXi auf der APU starten

Dank der umgeleiteten Datenausgabe wird nun während dem Startvorgang der komplette Output auf die serielle Konsole umgeleitet. Der Startvorgang kann je nach verwendetem USB Stick durchaus ein paar Minuten in Anspruch nehmen.

ESXi starten ESXi starten

Design-Technisch nicht das schönste, aber normalerweise sieht man die ESXi-Konsole genau einmal – bei der initialen Konfiguration des Management Netzwerks.

ESXi Konsole ESXi Konsole

Alles weitere erfolgt mittels vSphere Client oder neuerdings Host Embedded Client

Host Embedded Client

Wie ESXi konfiguriert und der vSphere Client / Host Embedded Client bedient wird, ist nicht teil dieses Beitrages. Alles notwendige wird jedoch ausführlich im Dokumentationscenter von VMWare beschreiben.

Viel Spass!

Die problemlose Installation von ESXi 6 dank der nun unterstützten Intel-NICs und der stärkeren CPU machen die APU zu einem optimalen Virtualisierungsserver für kleine Serveraufgaben. Natürlich ist die APU nicht ein Leistungsbolide – je nach Einsatzzweck aber genau das richtige :)


Kommentar verfassen

7 Gedanken zu “VMware ESXi 6.x auf PCEngines APU2

    • Yves Menge Beitragsautor

      Hallo Peter
      Die APU läuft sehr stabil mit ESXi. Ich konnte keinen einzigen Absturz verzeichnen. Die Leistungsfähigkeit der APU ist nach wie vor nicht vergleichbar mit grober Hardware. Angesichts der kleinen Leistungsaufnahme und den drei zur Verfügung stehenden Netzwerkkarten ist es trotzdem eine interessante Lösung welche ich bereits an mehreren Orten mit ESXi oder Proxmox aktiv einsetze.

      Gruss
      Yves

      • Peter

        Das klingt toll. Also läuft auch Proxmox bei dir absolut zuverlässig? Jede Netzwerkkarte problemlos ansteuerbar?
        Welche Szenarien bildest Du zum Bespiel ab?
        Was ist bei der Installation von Proxmox zu beachten? Kann man sich genau an deine Alte Anleitung halten?
        Nochmals vielen Dank für deinen Einsatz!

        • Yves Menge Beitragsautor

          Du bist mir gerade zuvor gekommen. Ein Artikel zu Proxmox und APU2 ist soeben „getippt“ worden.

          Ja, Proxmox läuft teilweise noch einen Tick angenehmer. Inzwischen mit den Intel-NICs ist das nicht mehr so ein Problem aber die zuvor verwendeten Realtek Netzwerkkarten haben deutlich mehr Ressourcen verschwendet unter ESXi als unter Proxmox. Zudem bin ich Freund offener Software und nicht zuletzt von Debian als Basis. Das eröffnet ungleich andere Möglichkeiten gewisse zusätzliche Dienste wie beispielsweise eine apcupsd oder ähnliches gleich mit auf dem Server drehen zu lassen.

          Ich nutze diese Lösungen für alles mögliche was nicht zwingend viel CPU Leistung benötigt. Angefangen von kleinen Webservern bis hin zu Streaming und Archivlösungen. Mit entsprechenden Gehäusen kann auch eine 2.5″ angeschlossen werden wodurch die Kapazität im vertretbaren Kostenrahmen erhöht werden kann.

  • Lars Z.

    Ich habe das ganze mit einem 2C4 und dem aktuellen 6.5 Release getestet: Beim starten des Servers läuft dieser in einen Fehler.

    Habe das ganze mit folgender Hardware getestet: mSata SSD, Sata SSD und USB HDD.
    Steckt man die HDD in einen anderen PC, startet der ESXi host Problemlos.

    Ich vermute das die CPU nicht mehr supportet wird.

    SeaBIOS (version ?-20160307_153453-michael-desktop64)
    XHCI init on dev 00:10.0: regs @ 0xfeb22000, 4 ports, 32 slots, 32 byte contexts
    XHCI extcap 0x1 @ feb22500
    XHCI protocol USB 3.00, 2 ports (offset 1), def 0
    XHCI protocol USB 2.00, 2 ports (offset 3), def 10
    XHCI extcap 0xa @ feb22540
    Found 2 serial ports
    ATA controller 1 at 4010/4020/0 (irq 0 dev 88)
    EHCI init on dev 00:13.0 (regs=0xfeb25420)
    ATA controller 2 at 4018/4024/0 (irq 0 dev 88)
    Searching bootorder for: /pci@i0cf8/*@14,7
    Searching bootorder for: /rom@img/memtest
    Searching bootorder for: /rom@img/setup
    ata1-0: ST9320423AS ATA-8 Hard-Disk (298 GiBytes)
    Searching bootorder for: /pci@i0cf8/*@11/drive@1/disk@0
    XHCI no devices found
    Initialized USB HUB (0 ports used)
    All threads complete.
    Scan for option roms
    PCengines Press F10 key now for boot menu:
    Searching bootorder for: HALT
    drive 0x000f2e90: PCHS=16383/16/63 translation=lba LCHS=1024/255/63 s=625142448
    Space available for UMB: c1000-ef000, f0000-f2e90
    Returned 262144 bytes of ZoneHigh
    e820 map has 7 items:
    0: 0000000000000000 – 000000000009f800 = 1 RAM
    1: 000000000009f800 – 00000000000a0000 = 2 RESERVED
    2: 00000000000f0000 – 0000000000100000 = 2 RESERVED
    3: 0000000000100000 – 00000000dffae000 = 1 RAM
    4: 00000000dffae000 – 00000000e0000000 = 2 RESERVED
    5: 00000000f8000000 – 00000000fc000000 = 2 RESERVED
    6: 0000000100000000 – 000000011f000000 = 1 RAM
    enter handle_19:
    NULL
    Booting from Hard Disk…
    Booting from 0000:7c00

    SYSLINUX 3.86 EBIOS Copyright (C) 1994-2010 H. Peter Anvin et al
    Loading /tboot.b00
    Loading /b.b00
    Loading /jumpstrt.gz
    Loading /useropts.gz
    Loading /features.gz
    Loading /k.b00
    Loading /chardevs.b00
    Loading /a.b00
    Loading /user.b00
    Loading /uc_intel.b00
    Loading /uc_amd.b00
    Loading /sb.v00
    Loading /s.v00
    Loading /ata_liba.v00
    Loading /ata_pata.v00
    Loading /ata_pata.v01
    Loading /ata_pata.v02
    Loading /ata_pata.v03
    Loading /ata_pata.v04
    Loading /ata_pata.v05
    Loading /ata_pata.v06
    Loading /ata_pata.v07
    Loading /block_cc.v00
    Loading /char_ran.v00
    Loading /ehci_ehc.v00
    Loading /elxnet.v00
    Loading /hid_hid.v00
    Loading /i40en.v00
    Loading /igbn.v00
    Loading /ima_qla4.v00
    Loading /ipmi_ipm.v00
    Loading /ipmi_ipm.v01
    Loading /ipmi_ipm.v02
    Loading /ixgben.v00
    Loading /lpfc.v00
    Loading /lsi_mr3.v00
    Loading /lsi_msgp.v00
    Loading /lsi_msgp.v01
    Loading /misc_cni.v00
    Loading /misc_dri.v00
    Loading /mtip32xx.v00
    Loading /ne1000.v00
    Loading /nenic.v00
    Loading /net_bnx2.v00
    Loading /net_bnx2.v01
    Loading /net_cdc_.v00
    Loading /net_cnic.v00
    Loading /net_e100.v00
    Loading /net_e100.v01
    Loading /net_enic.v00
    Loading /net_fcoe.v00
    Loading /net_forc.v00
    Loading /net_igb.v00
    Loading /net_ixgb.v00
    Loading /net_libf.v00
    Loading /net_mlx4.v00
    Loading /net_mlx4.v01
    Loading /net_nx_n.v00
    Loading /net_tg3.v00
    Loading /net_usbn.v00
    Loading /net_vmxn.v00
    Loading /nhpsa.v00
    Loading /nmlx4_co.v00
    Loading /nmlx4_en.v00
    Loading /nmlx4_rd.v00
    Loading /nmlx5_co.v00
    Loading /ntg3.v00
    Loading /nvme.v00
    Loading /nvmxnet3.v00
    Loading /ohci_usb.v00
    Loading /pvscsi.v00
    Loading /qedentv.v00
    Loading /qfle3.v00
    Loading /qflge.v00
    Loading /qlnative.v00
    Loading /sata_ahc.v00
    Loading /sata_ata.v00
    Loading /sata_sat.v00
    Loading /sata_sat.v01
    Loading /sata_sat.v02
    Loading /sata_sat.v03
    Loading /sata_sat.v04
    Loading /scsi_aac.v00
    Loading /scsi_adp.v00
    Loading /scsi_aic.v00
    Loading /scsi_bnx.v00
    Loading /scsi_bnx.v01
    Loading /scsi_fni.v00
    Loading /scsi_hps.v00
    Loading /scsi_ips.v00
    Loading /scsi_isc.v00
    Loading /scsi_lib.v00
    Loading /scsi_meg.v00
    Loading /scsi_meg.v01
    Loading /scsi_meg.v02
    Loading /scsi_mpt.v00
    Loading /scsi_mpt.v01
    Loading /scsi_mpt.v02
    Loading /scsi_qla.v00
    Loading /shim_isc.v00
    Loading /shim_isc.v01
    Loading /shim_lib.v00
    Loading /shim_lib.v01
    Loading /shim_lib.v02
    Loading /shim_lib.v03
    Loading /shim_lib.v04
    Loading /shim_lib.v05
    Loading /shim_vmk.v00
    Loading /shim_vmk.v01
    Loading /shim_vmk.v02
    Loading /uhci_usb.v00
    Loading /usb_stor.v00
    Loading /usbcore_.v00
    Loading /vmkata.v00
    Loading /vmkplexe.v00
    Loading /vmkusb.v00
    Loading /vmw_ahci.v00
    Loading /xhci_xhc.v00
    Loading /emulex_e.v00
    Loading /weaselin.t00
    Loading /esx_dvfi.v00
    Loading /esx_ui.v00
    Loading /lsu_hp_h.v00
    Loading /lsu_lsi_.v00
    Loading /lsu_lsi_.v01
    Loading /lsu_lsi_.v02
    Loading /lsu_lsi_.v03
    Loading /native_m.v00
    Loading /rste.v00
    Loading /vmware_e.v00
    Loading /vsan.v00
    Loading /vsanheal.v00
    Loading /vsanmgmt.v00
    Loading /xorg.v00
    Loading /imgdb.tgz
    Loading /state.tgz
    Shutting down firmware services…
    Relocating modules and starting up the kernel…

    Starting VMKernel initialization …
    Initializing memory …
    Initializing chipset …
    Initializing timing …
    Initializing scheduler …
    Initializing device support …
    Initializing processors …
    Late chipset initialization …
    Initializing IOV …
    Enabling interrupts …
    Initializing ACPI …
    Initializing storage stack …
    Initializing power management …
    Initializing page cache …
    Initializing PCI passthru …
    Initializing events …
    Initializing heartbeat …
    VMKernel loaded successfully.
    Loading module chardevs …
    chardevs loaded successfully.
    Loading module user …
    user loaded successfully.
    Activating Jumpstart Plugins

    Loading module crypto …
    crypto loaded successfully.
    Loading module vsanapi …
    vsanapi loaded successfully.
    Loading module vsanbase …
    vsanbase loaded successfully.
    Loading module vprobe …
    vprobe loaded successfully.
    Loading module vmkapi_mgmt …
    vmkapi_mgmt loaded successfully.
    Loading module procfs …
    procfs loaded successfully.
    Loading module vmkapi_v2_2_0_0_mgmt_shim …
    vmkapi_v2_2_0_0_mgmt_shim loaded successfully.
    Loading module vmkapi_v2_3_0_0_mgmt_shim …
    vmkapi_v2_3_0_0_mgmt_shim loaded successfully.
    Loading module vmkapi_v2_1_0_0_vmkernel_shim …
    vmkapi_v2_1_0_0_vmkernel_shim loaded successfully.
    Loading module iodm …
    iodm loaded successfully.
    Loading module vmkapi_v2_3_0_0_vmkernel_shim …
    vmkapi_v2_3_0_0_vmkernel_shim loaded successfully.
    Loading module vmkapi_v2_2_0_0_vmkernel_shim …
    vmkapi_v2_2_0_0_vmkernel_shim loaded successfully.
    Loading module igbn …
    igbn loaded successfully.
    Loading module iscsi_trans …
    iscsi_trans loaded successfully.
    Loading module iscsi_trans_compat_shim …
    iscsi_trans_compat_shim loaded successfully.
    Loading module vmkapi_v2_3_0_0_vmklinux_shim …
    vmkapi_v2_3_0_0_vmklinux_shim loaded successfully.
    Loading module vmkplexer …
    vmkplexer loaded successfully.
    Loading module vmklinux_9 …
    vmklinux_9 loaded successfully.
    Loading module vmkusb …
    vmkusb loaded successfully.

    VMware ESXi 6.5.0 [Releasebuild-4887370 x86_64]
    FAILED TO MEM_MAP PCI BAR 0
    cr0=0x80010031 cr2=0x4453600 cr3=0x114128000 cr4=0x40768
    *PCPU3:65904/vmkdevmgr
    PCPU 0: SSSU
    Code start: 0x418000000000 VMK uptime: 0:00:01:26.275
    0x4390cb81b1c0:[0x4180000ec611]PanicvPanicInt@vmkernel#nover+0x545 stack: 0x4180000ec611
    ~0x4390cb81b260:[0x4180000ec9a7]Panic_vPanic@vmkernel#nover+0x23 stack: 0x43043211c2c0
    ~0x4390cb81b280:[0x4180001005e1]vmk_PanicWithModuleID@vmkernel#nover+0x41 stack: 0x4390cb81b2e0
    ~0x4390cb81b2e0:[0x41800097d918]pcidrv_alloc_resource@(vmkusb)#+0x410 stack: 0x97a436
    ~0x4390cb81b3e0:[0x41800097843b]bus_alloc_resource@(vmkusb)#+0x67 stack: 0x4
    ~0x4390cb81b440:[0x418000954763]xhci_pci_attach@(vmkusb)#+0x83 stack: 0x1000000000
    ~0x4390cb81b4a0:[0x41800097bb53]device_attach@(vmkusb)#+0x23 stack: 0x0
    0x4390cb81b4c0:[0x418000962d9e]USBDeviceAttach@(vmkusb)#+0x106 stack: 0x15
    ~0x4390cb81b4f0:[0x418000020584]Driver_AnnounceDevice@vmkernel#nover+0xfc stack: 0x430200000015
    ~0x4390cb81b560:[0x41800001e34c]DeviceBind@vmkernel#nover+0x15c stack: 0xbad0007
    0x4390cb81b5a0:[0x41800001f13e]DeviceVSIBind@vmkernel#nover+0xc2 stack: 0x0
    0x4390cb81b5d0:[0x418000001f95]VSI_SetInfo@vmkernel#nover+0x369 stack: 0x4390cb81b6b0
    ~0x4390cb81b650:[0x418000716df4]UWVMKSyscallUnpackVSI_Set@(user)#+0x308 stack: 0x0
    ~0x4390cb81bef0:[0x41800070a270]User_UWVMKSyscallHandler@(user)#+0xa4 stack: 0xffea5788
    ~0x4390cb81bf20:[0x41800010e941]User_UWVMKSyscallHandler@vmkernel#nover+0x1d stack: 0x0
    ~0x4390cb81bf30:[0x41800013c044]gate_entry_@vmkernel#nover+0x0 stack: 0x0
    base fs=0x0 gs=0x418040c00000 Kgs=0x0
    No place on disk to dump data.
    No file configured to dump data.
    No vsan object configured to dump data.
    No port for remote debugger.