HP DL380e G8 P420, ESXI, Proxmox, aj. zážitky.

Hardware, web hosting, server hosting a housing, peering

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod Michga 29. 7. 2021 03:24

Jako autor textu si vyhrazuji licenční podmínky takové, že můj text nebo jeho část může kdokoliv použít pod licencí CC BY-NC:

Na uvod omlouvam se za chybejici diakritiku.
Myslel jsem si jak to vse bude snadne, ze to bude jako kdyz chci nainstalovat
windowsy na pocitac (to zabere cca 30minut-2h). No jo. jenze ja s virtualizaci teprve tedka
mel zkusenost poprve v zivote. Takze se z toho instalovani serveru stalo zatim celkem 6 mesicu
me temer kazdodeni prace. Ano je to ztrata casu (penez). ale co, teprve zacinam s virtualizací a já se to chci pořádně naučit a přijít si na vše sám. Ne vse jsem si zadokumentoval, ale aspoň něco co by nekomu (doufam) mohlo usnadit několik hodin/tydnu práce � .

Snazil jsem se rozjet virtualizacni server na HP DL380e gen8.
rozjet radic P420 pod esxi v rezimu HBA je velky problem.
vyzkouseno na verzich esxi 5.5-6.7U3 na vsech ovladacich hpsa.

- Poznamka:
velmi dobra vec je SD slot na zakladni desce anebo integrovane USB sloty na MB. Pro ty co budou
chtit boot z nvme nebo boot primo na zfs-on-ROOT tak budou potrebovat SD kartu/USB disk
na kterou umisti zavadec (initramfs) ktery uz to zvladne. Proliant (gen8) sam o sobe neumi boot z
vyse dvou uvedenych zarizeni, resp. souboroveho systemu.

s nvme kartami (2xAxago PCEM2-D s disky Transcend TS256GMTE110S) je potreba doinstalovat
konkretni ovladac do esxi. jinak nvme-over-pcie nejsou videt.
V mem pripade jsem na ESXi 6.5U3-build[201701001-4887370.x86_64] musel nahrat ovladace:
{
VMware_bootbank_vmware-esx-esxcli-nvme-plugin_1.2.0.36-2.96.13932383.vib
VMW_bootbank_nvme_1.2.2.28-1vmw.650.3.96.13932383.vib
}

- Poznámka:
Podarilo se mi rozjet nvme do virtualek pouze v rezimu VM-boot=UEFI.
nikoliv tedy v rezimu BIOS. Doporucuji zkusit. Nicmene zalezi na verzi esxi. na 6.0 me to
nefungovalo. na 6.5U3 pouze v rezimu UEFI.

Celou dobu jsem vsechny varianty meril nejakym benchmarkem ve virtualce, tak aby vsechny mereni
byly porovnatelne. V mem pripade jsem tedy zvolil CrystalDiskMark.
Cilem bylo dostat do virtualky co nejvetsi bandwith(tok dat). a nasledne to delit mezi virtualky.
Aspiroval jsem na hodnoty 3GBps=(3 Gigabajtu/s) na horni hodnotu v crystaldiskmarku. Nicmene pri
takto vysokych(?) rychlostech jsem narazel na vpodstate zbytecne ztraty vykonu virtualkou na
sdileni uloziste zpet Pro toto jsem pouzival fBSD :
R:Seq/4kQ8/4kQ32/4kQ1=(1596/348/180/26)MBps,
W:Seq/4kQ8/4kQ32/4kQ1=(1039/337/194/51)MBps.
do esxi pro datastore.

Zde moje další pokusy. Moc vysledku jsem nezadokumentoval, nicmene, aspoň bude videt jakym smerem jsem se ubyval. Vyzkousel jsem tyto moznosti jako Datastore: fBSD iSCSI/NFS(3/4), NexentaStor, Solaris, Vmware vSAN, NappIT, TrueNAS, UnRaid) ) – zadna mi nevyhovovala.:
- vSAN jsem narazil na problem v
pripade pouziti jednoho nodu (bez clusteru), ze vSAN neredunduje data. Tudiz pro me ztracel smysl
- NexentaStor byl taktez nepouzitelny. nepamatuji si uz cisla, ale tuto cestu jsem zavrhnul.
- Solaris - vpodstate stejne jako NexentaStor. Nicmene Solaris neni spatny. Ale výsledky pro mne byly tezce neuspokojive.
- NappITT - jiz si nevzpominam, ale taky jsem ho zavrhnul.
- TrueNas - dobry klikaci nastroj, ale pro me nevyhovujici. Co se tyce rychlosti tak vpodstate
stejne jake fBSD.
- UnRaid - take si bohuzel nepamatuji vysledky uz.
no jo ale co s tim. Muj problem byl ze jsem potreboval ZFS (lze dlouze debatovat proc jsem ho zvolil, ale zvolil jsem ho pro moje reseni), coz esxi neumi, takze jsem potreboval na to virtualku. takze ztrata výpočetního vykonu byla nevyhnutelna.
Nakonec v mem mereni jsem nejlepsich vysledku v teto fazi dosahl na esxi 6.7U3 s ovladaci:
(
nvme-1.2.1.34-1-vmw.670..0.8.8169922.vib
vmware-esxcli-nvme-plugin-1.2.0.36-2.48.13006603.vib
)

Pri pouziti dynamic disk mirroringu a dynamickeho zrcadleni ve windows jsem nameril uctyhodnych
22,5Gbps=2,8GBps. To uz se zacalo blizit tomu cemu jsem chtel.
Nicmene pri pouziti ZFS jsem se nedostal na takoveto rychlosti. Ono ZFS vyuziva spousty funkci které přinejmenším vyzaduji, nebo mi jsou prijemne. (Prosim nerozebírat ZFS vs Btrfs, aj., popisuji zde svůj vlastní postup.)
Takze ta vysledna rychlost je celkem nizsi. Vyssich rychlosti na zfs jsem dosahl prostrednictvim
parametru sync=disabled. Ale durazne nedoporucuju. Je to vypnuti jednoho důležitého ochranneho prvku.
Pouzil jsem to vyhradne pouze pro mereni.

Nasledne jsem zacal uvazovat o neschopnosti esxi mirrorovat zarizeni. abych dosahl nejakych
hodnot a nebyl vazany na virtualku, tak me napadlo ze bych zvolil replikaci na druhy disk
(stejny model) a snizil tim riziko ztraty dat v kooperaci s UPSkou.

Datastore pro esxi na zfs jsem chtel sdilet prostrednictvim iSCSI na FreeBSD. Nevyhovovalo mi to,
proto jsem zkusil TrueNAS. V pripade TreuNASu jsem na iSCSi dosahoval rychlosti cca 3Gbps(gigabity)
Pote jsem zkusil na misto iSCSI pouzit NFS a dostal jsem se na 5Gbps(gigabitu) v zakladni
konfiguraci. Zjistil jsem ze by me mohl pomoct NFSv4 MPIO - Multipathing k vyssim rychlostem.
No bez uspechu. V tomto mem mereni jsem dosahoval na procesorech 2xXeon2450L pri rychlosti
110MBps(megabajtu) vytizeni na 8mi jadrech cca 80%. Coz je hodne. Priblizne v tuto chvili jsem
zacal uvazovat nad tim ze zkusim Oracle VM server. Jenze ten nema v podpore FreeBSD na kterém jsem měl funkční systém s požadavky služeb které jsem potřeboval. Konverze probíhala klasicky P2V (=Physical to Virtual).

NVMe PCiE je velmi zajimave pro velke rychlosti. a jelikoz neni az tak drahe tak se daji poridit
dva kousky do mirroru s tim ze rychlosti jsou vskutku nadherne. Nicmene. Na esxi jsem prozkousel
nekolik variant, jelikoz mi nesel zprvu passthrough kvuli ovladacum. Zkusil jsem tedy i vsan od
vmware. je to hezky nastroj ale vyzaduje disky do rezimu data a nejakou cache. ted si nevzpominam
jestli mi to vzalo nvme jako cache anebo ne. nicmene to byl problem nastavit (nekde bylo zmineno i vFRC).
Ve vysledku se mi to stejne tak nepodarilo rozchodit. Pokud si vzpominam spravne tak jako cache
se museli nastavit SSD disky (flash-class) a datove mohli byt budto rekneme rotacni anebo
flash-class. nicmene v pripade datovych musi vsechny byt stejneho typu.

Priblizne v tento moment jsem na esxi zanevrel, protoze me furt hazel mraky chyb, coz jsem od
lety overeneho softwaru necekal. Ale asi jsem mel zvlastni pozdavky a P420 nebylo v HCL (Hardware Compatibility List).
Obrovskou nevyhodou jsem videl chybejici thick-client. Vsechna administrace na HTML5? ehh..
Samozrejme je moznost i pres CLI.
Kolega mi doporucil at zkusim na FreeBSD bhyve pro tyto ucely. ale bohuzel me osobne to nejak
nesedlo.
Zkousel jsem mapovat pro ZFS (VMWare) i jednotlive disky jako RDM. Reknu to takto. Pro koho jsou data dulezita, tak bych to
vyhradne nedoporucoval (netvrdim ze to tak je na 100%, pouze v ramci badani jsem zjistil tuto informaci). Zfs system ztrati prehled o discich a o jejich stavu coz MUZE a NEMUSI byt kriticke pro data. Každý at si zvazi sam hodnotu dat. V pripade RDM toho zfs nevidi zase tak moc.

Kdy jsem se rozhodl pro proxmox?
Takze jsem pokracoval dale. V mem pripade jsem nakonec mohl vyuzit moznosti zapojeni 12xLFF pres P420 v rezimu HBA a 2xLFF pres B120i na proxmox uloziste. Nakonec ty 2xLFF na B120i jedou s vypnutym radicem B120i, a proxmox je na nich
nainstalovany jako mirror zfs-root. Mam udelane totozne kopie GRUB na sdkarte a na 1x vnitrni
usb flashce.

V pripade esxi a pouziti sdkarty doporucuji vyresit nekam logy. Protoze ukladat logy na SD
opravdu neni dobry napad. V pripade passthrough backplanu na esxi je nutno uvazovat kde budou
ulozeny virtualky. bohuzel je to celkem zacarovany kruh a vezme to volne pozice na disky v serveru.
Jako ilustrace: Mam napr 10 disku ktere jsou vsechny videt az po nabootovani do OS (alespon v mem pripade). Pokud by tyto disky byly v backplane, tak nemuzu dat snadno passthrough. Museli by se pouzit IOMMU skupiny. Ale v pripade P420 ani skupiny nejdou. Zkousel jsem, ale vzdy ESXi nespolupracuje se spoustou chyb, anebo za cenu toho ze se ventilatory roztoci na 100%. Coz u serveru nikdo nechce.

Na proxmoxu jsem dosahoval nizkeho vykonu v sestave (mirror(3xSAS)+slog(mirror(nvme0p1+nvme1p1)+
cache(nvme0p2+nvme1p2). nakonec jsem jako vysledne a funkcni(snad?) reseni zvolil zavadec grub na SD,
nasledne zfsROOT na 2xSSD a pote datastore na 2xPcie-NVMe. Mozna kdybych si s tim vice pohral tak by vse mohlo bezet na nvme, nebo na zfs-raid10 2+2 s dvema nvme ruzne pro slog nebo l2arc.
v zavislosti na potrebach a vyuzitich (ale tezko rict) ale v tento moment je to takto.
V cem jsem v tento moment videl slabinu, ta ze pri benchmarku z windows smerovany na
nvme-mirror jsem nameril 300MBps(megabajtu) a vytizeni Proliantu vylitlo na 80-90%.
Chybou bylo ze v Proxmoxu jsem zvolil pro danou VM na disk ovladac Sata. Nejrychlejsi je Virtio, jak pro datovy tok, tak pro vytizeni procesoru a IOps virtualky. Ten je nejmene narocny pro emulaci.

Nutno poznamenat ze guest na proxmoxu s zfs disky v rezimu scsi-raw vubec neplni funkci kontroly
integrity dat!!. je treba pouzit virtio-blk=vtblk=vtbdX. ale nefungoval me automaticky hot-replace
tedy automaticka funkce "zpool online pool vdev", ale musel jsem ji delat manualne.

Hral jsem si i s vselijakejma ostatnima variantama jako NetApp, Solaris. ale bez uspechu. no..
Spousta ztraceneho casu. Co bych doporucil tak update vsech firmware a biosu na celem proliantu,
pokud je to mozne. typicky bios, ilo, radice,..

neresitelny pci passthrough P420. Nicmene v proxmoxu sem taky nerozjel IOMMU. Kdybych mel treba HP H220 tak by to melo byt uspesnejsi. Nicmene aktualne nemam v planu investovat do zeleza. Ironii je ze HP H220 je tusim uvedeny v Vmware HCL, takze tam bych to rozjel taky asi. nu
usetril bych si spostu prace ale stalo by me to treba 6000 ty dve nove karty (2 prolianty). ale coz.
Precejenom s virtualizaci teprve zacinam a ucim se.
Proxmox (pro me) otresne gui. V cli se me zda esxi snazsi je to vpodstate strukturalne ucelene.
(Edit): no uz se mi zda v cli snazsi proxmox). :D
Kolikrat jsem v esxi narazil na mraky chyb. hlavne co se tyce partedUtil kdy jsem musel mazat
oddily, nebo ze jsem chtel udelat neco a nahle mi spousteni virtualky hazelo tunu chyb. no proste hruza od softwaru využívaného tolika firmami.

proxmox networking je pro me spanelska vesnice. rozjet mezi vrtualkama komunikace nebyla snadna
vec. pracoval jsem s vmbrX interfacy. Paradoxne vzato je to hodne o premysleni. Protoze na
prvni urovni je proxmox jako hypervisor a ten pro virtualku(KVM) s firewallem ma v proxmoxu
nejaka pravidla, dale ve virtualce zase jina pravidla, a v dalsi (IP-forward) virtualce jsou
dalsi pravidla. Takze laborovani s logama v debug rezimu je celkem chutovka ze clovek musi
preklikavat mezi x zarizenima. Zacal jsem si rikat pomalu neco o schizofrenii :-D

Co se tyce IOMMU, na 2 procesorech xeon-2450l, tak jsem zkousel v grubu parametry intel_iommu=on
a iommu=pt. pak se rozjedou vetraky na 100%. takze pomuze neco jako iommu igfx disable.
ale pak po spusteni dane virtualky to hodi chybu a vetraky zase na 100.
vpodstate v cem je problem. iLO si velmi hlida vazbu na hardware. pri spusteni virtualky
me iLO ukazalo failed radic a jeste cosi (cerveny krizek). Dle vseho to dela RMRR check
ten je potreba vypnout. Pote, jsem narazil na PTE read errory. NMI lock chyby aj.

pro nasazeni (alespon castecne) karty HP smartarray v mem pripade P420 je potreba i conrep.xml (VMWare) na nahrati informaci do biosu s parametrem Excluded. V biosu neni potreba nastavovat nic markantniho. Klasicky zaple Vt-D, Sr-IOV/IOMMU. Ja jsem si vypnul hyperthreading. ale to je z
jineho duvodu. Ja osobne jeste resil i resource sharing.

rychlosti scsi,virtio(vtblk) disku namapovanych do fBSD virtualky do proxmoxu jsou drakonicky nizke.
radove 10-50x nizsi nez na hostu. Mereno pres "fio". Dostal jsem se pri Sambe(4.1.3) max na 400Mbps(megabitu)
rozjel jsem pak tedy zfs na hostu. Pro pristup na smart (smartctl) je třeba pouzit parametru -d cciss,X. tedy napr. "smartctl -a -d cciss,1 /dev/sda". to uvedeni
disku na konci zjevne musi byt, jinak smartctl proste nic nevyhodi.

pokud by nekdo tapal jak prepnout HP P420 do HBA rezimu, tak skrze ssacli a parametr hbamode=on
to jde. staci hledat.

pri 2x nvme pcie mirroru na zfs dosahujeme nekde cca 3GBps a 25-32kIOPS. rychlost neni spatna
ale IOPS dle datasheetu maj tyto disky dosahovat az nekde okolo 400kIOPS. Jenze...

HP DL380e gen8 nepodporuje pci-e bi-furcation. Nelze tedy do jednoho pcie slotu dostat vice
nez 1xnvme pres jeden adapter. Pokud by zakladni deska umela bifurcation tak lze do jednoho
pcie 16x dostat az 4xnvme moduly na jednom adapteru. Bez jakýchkoliv obtizi. to uz by byly jine rychlosti. To umi az gen9
Dle aktualni doby je moznosti jak toto udelat jediny pouziti pcie switch karet kdy se deli sbernice
i pro jednotlive disky. Ale nebudu potom narazet na limit ddr3-10600? Nicmene

Edit po par mesicich: Na ZFS jsem dosahl i takto vysokych rychlosti do virtualky. Na proxmoxu,
zfs mirror 2xNVMe-PCie do virtualky opet Windows s pouzitim ovladace Virtio dosahuji
R/W(Bps): 1,3GBps/2,2GBps, R/W(IOps): 10k/3k .. Mohlo by to byt lepsi, ale jsem spokojeny.
pri ovladaci sata v proxmoxu to silne vytezovalo CPU. Pri Virtio bez problemu.

Závěrem. Byla to strastiplná cesta testováním.
Michga
Junior

Odeslat příspěvekod milsimr 29. 7. 2021 12:40

Gen 8 není úplně správná volba pro jakékoliv úložiště s NVMe disky, takže za mne spíše špatný výběr železa už v základu.
Administrátor fóra Živě.cz.
milsimr
Administrátor
Uživatelský avatar


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků