VMware ESXi na Raspberry Pi

Už je tomu nejaký čas, čo uzrel svetlo sveta ESXi – Arm edition. Primárne využitie si pravdepodobne nájde vo SmartNIC ale pre prostredie LABu môže byť ideálny pre testovanie ARMovych OS.

Hneď na začiatku však je potrebné upozorniť, že stále sa jedná o verziu, ktorá nieje VMwareom podporovaná a teda sa neoporúča používať ju v produkcii.

Dnes si teda ukážeme, ako tento ESXi na Raspberry Pi 4 model B s 8GB pamäte nainštalovať.

Príprava – HW

Raspberry Pi 4 model B – Ideálne je mať model s 8GB pamäte alebo fungovať vám tento ESXi bude aj na 4GB.

MicroSD karta – využívať sa bude iba pre UEFI boot, takže to nemusí byť karta s veľkou kapacitou. Netestoval som, akú najmenšiu kapacitu je možné použiť ale všeobecne ľudia používajú 16GB.

USB kľúč – Z tohoto kľúča budeme samotný ESXi inštalovať a v mojom prípade slúži ako systémový “disk” a zároveň ako úložisko (lokálny datastore) prípadných VMiek. Pre použitie Raspberry Pi ako witness host však budeme potrebovať ďalšie 2 USB kľuče, ale to si popíšeme v samotnanom článku.

USB klávesnica

Príprava – SW

Raspberry Pi Imager Tool – tool potrebný pre update bootloadera

Raspberry Pi firmware – posledný firmware pre Raspberry Pi

Raspberry Pi UEFI community firmware – firmware potrebný pre boot ESXi – Arm edition

ESXi Arm Edition – link smeruje na VMware flings ale samotne stiahnutie ISO sa uskutoční až po prihlásení sa do VMware Customer Connect

 

Update bootloader

  1. Vložime microSD kartu do počítača
  2. Spustíme Raspberry Pi Imager Tool
  3. Tlačidlom CHOOSE OS sa cez Misc utility images dostaneme k SD Card Boot a túto možnosť potvrdíme.
  4. Tlačidlom CHOOSE STORAGE potvrdíme výber microSD karty.
  5. Klikneme na tlačidlo WRITE.
  6. Vyberieme microSD kartu a vložíme ju do Raspberry Pi.
  7. Pripojíme napájanie a počkáme pár sekúnd kým sa proces update dokončí. O úspešnom update nás informuje rýchlo blikajúca zelená dioda na samotnom Raspberry Pi alebo zelená obrazovka, ak máme pripojený display cez HDMI.
  8. Po ukončení update môžeme microSD kartu vytiahnuť a znova ju vložiť do počítača.

 

Príprava spustenia UEFI na microSD

Nasledujúci postup bude pre zariadenia s macOS

  1. príkazom
    diskutil list

    zistíme, ako máme primapovanú microSD kartu.

  2. Vytvoríme FAT32 partitíciu na disku, ktorý sme mali vo výpise v predchádzajúcom bode.

    diskutil partitionDisk /dev/disk4 1 MBRFormat "MS-DOS" UEFI R
  3. Vymažeme všetky súbory kernel*.img z adresára kam sme rozbalili Raspberry Pi firmware.

    rm ~/Downloads/firmware-master/boot/kernel*.img
  4. Prekopírujeme celý obsah adresára /boot na microSD 

    cp -rf ~/Downloads/firmware-master/boot/* /Volumes/UEFI
  5. Prekopírujeme celý obsah adresára, do ktorého sme rozbalili Raspberry Pi UEFI community firmware na microSD. 

    cp -rf ~/Downloads/RPi4_UEFI_Firmware_v1/* /Volumes/UEFI
  6. V prípade, že máte 4GB verziu Raspberry Pi 4 je nutné doplniť do súboru config.txt riadok s gpu_mem=16 

    echo "gpu_mem=16" >> /Volumes/UEFI/config.txt
  7. Teraz môžeme odpojiť microSD kartu z počítača a zapojiť ju do Raspberry Pi.

    diskutil eject /dev/disk4

 

Nastenie UEFI firmware

  1. Po pripojení napájania k Raspberry Pi sa nám zobrazí logo.
  2. Stlačením klávesy ESC sa dostaneme do nastavení.
  3. V prvom rade potrebujeme deaktivovať predvolené nastavenie obmedzenia Raspberry Pi na 4GB pamäte. K nastaveniu sa dostaneme cez položky v menu: Device Manager -> Raspberry Pi Configuration -> Advanced Configuration. Položku Limit RAM to 3 GB zmeníme na <Disabled>. Zmenu potvrdíme klávesou F10.
  4. V prípade že používame display s nižším rozlíšením, je možné si povoliť zobrazenie Raspberry Pi v nižšom rozlíšení. K tomuto nastaveniu sa dostaneme cez tieto položky v menu: Device Manager -> Raspberry Pi Configuration -> Display Configuration.

 

Príprava inštačného USB kľúča pre ESXi – Arm edition

Prípravu inštalačného USB kľúča pre ESXi v macOS termináli som podrobne popísal v tomto článku. Adresáre v príkazoch budeme samozrejme editovať podľa aktuálnych verzií, ktoré plánujeme inštalovať.

Boot a inštalácia ESXi – Arm edition z USB kľúča

  1. Pripravený USB kľúč vložíme do Raspberry Pi a pripojíme napájanie.
  2. Po zobrazení loga, klávesou ESC otvoríme nastavenia UEFI a vyberieme zo zoznamu voľbu Boot Manager.
  3. V Boot Manager Menu teda vyberieme vložený USB kľúč (v mojom prípade UEFI USB SanDisk 3.2Gen1 …) a potvrdíme klávesou Enter. Poznámka: Pred tým, ako v tomto kroku potvrdíme boot z USB kľúča, priprávime sa na to, že budeme chcieť použiť kombináciu kláves Shift+O aby sme zadali Advanced parameter pre inštaláciu ESXi.
  4. Po stlačení kombinácie kláves Shift+O zadáme nasledovný prikaz, aby sme vytvorili iba 8GB VMFS-L partitíciu a zvyšok kapacity nechali pre datastore. 

    runwease cdromBoot autoPartitionOSDataSize=8192


  5. Voľbu potvrdíme stlačením klávesy ENTER.
  6. Ďalej už inštalácia pokračuje ako pri klasickej ESXi inštalácii. Poznámka: Ako sme si písali v HW príprave, USB kľúč ktorý použijeme na inštaláciu, využijeme aj ako cieľový disk na ktorý budeme ESXi inštalovať.

 

Nastavenie poradia pre boot

  1. Po ukončení inštalácie a následného reštartu Raspberry Pi sa opäť vrátime do klávesou ESX do nastavení UEFI a vyberieme voľbu Boot Maintenance.
  2. Následne cez voľby Boot Options -> Change Boot Order a stlačením klávesy ENTER, sa dostaneme k nastaveniu poradia bootovania. USB disk, kde sme nainštalovali ESXi – Arm edition presunieme klávesou + na prvú pozíciu a potvrdíme klávesou ENTER.
  3. Šípkou nadol sa presunieme na potvrdenie zmeny Commit Changes and Exit.
  4. Stlačením klávesy ESC niekoľko krát za sebou sa dostaneme späť do základného menu, kde pre pokračovanie v boote zvolíme voľbu Continue.

 

ESXi – Arm edition

Po úspešnom boote sa nám už stačí iba pomocou IP adresy a internetového prehliadača prihlásiť heslom, ktoré sme zadávali pri inštalácii.

Nastavenie NTP

Tým, že Raspberry Pi nemá baterku ktorá by uchovávala informáciu o čase, pri každom boote sa čas zmení na čas prvého spustenia UEFI. Ak teda plánujeme (a radšej aj keď neplánujeme) pridať tento ESXi – Arm edition do vCenter servera, musíme mu nastaviť synchronizáciu času voči nejakému NTP serveru. Ideálne je použiť NTP server, ktorý máme zadaný vo vCenter serveri.

 

Záver

V tomto článku sme si teda ukázali, ako nainštalovať hypervisor na Raspberry Pi. Existujú rôzne Linuxove mini distribúcie, ktoré je možné na ARMových procesoroch inštalovať a prevádzkovať.

 

 

Author: Martin

Infrastructure engineer | virtualization & cloud enthusiast | vSphere specialist | blogger | Veeam Vanguard 2021,2022,2023 | VMware vExpert 2017 - 2023 | VMCE | Slovak VMUG Leader |  user group ambassador for kmug.sk | husband&father