FreeBSD Bhyve WEB UI (BETA-RELEASE)

Fórumok

Örömmel szeretném tudatni, hogy egy az általam készült project a közösség szellemében, ingyen elérhetővé vált.
Számomra nagyon nagy hiányosságot kívánt befoltozni, hogy Proxmoxot eldobjam FreeBSD Bhyve -ra.

FreeBSD közel sem annyira csilivili mint a linux, viszont annál gyorsabb.
Igértem régebben is benchmarkokat időm nem volt rá, de eddig 2 Virtuális gépet pakoltam át KVM -ről Bhyve -ra és érezhető különbség van, főleg az I/O -ban a Bhyve javára.
 

A project 2021.Május.06 -án indult és elég gyorsan meg is lett, beszél magyarúl különben és tudtommal az első "használható" webfelület FreeBSD Bhyve -ra.
"Tudom" A FreeNAS is tud valami hasonlót, de azt nem hasonlítanám ehhez.

Aki nem tudja, a Bhyve egy hypervisor FreeBSD alatt, gyorsabb és modernebb mint a KVM, de azért ellentétben a KVM -el, még nem teljesen kifforrott vagy inkább az OS -ek nem annyira támogatják még, VIRT/IO az megy különben szépen, emuztam rajta win10, debian, freebsd, suse tökéletesen megy, a legtöbbje már production -ben. 

Bővebb Információkért a project weboldalát látogatni szíveskedjetek: https://bhyve.npulse.net
"One-man-army" project ráadásul BETA ha valami nem működik rendesen, még azért ne köpködjetek rám. 

Kredit: Pásztor György (gyu) számára aki felizgatta a fantáziámat ezzel kapcsolatban és a nemzetközi FreeBSD közösségnek.
Bug reportot Issue trackerbe, beszélgetni pedig állok rendelkezésre itt is.

Hozzászólások

Ez iszonyú menő, ahogy tudom, ki fogom próbálni, köszi szépen!

Köszönjük! (A SmartOS is nagyjából átállt bhyve-ra egyébként, szóval egy Triton is szóba jöhet, ha igény és vas is van és nem akadály, esetleg előny az illumos.)

Ezt meg fogom nézni! Régen "játszottam" már FreeBSD-vel. Szeretem. Bhyve-al is, még amikor gyerekcipőben járt. Akkoriban még reszelni kellett, hogy a Windows menjen alatta. Gondolom azóta már jobban kiforrotta magát.

Windows virtio -val tökéletesen megy, különben ugyan ebben a cipőben jártam és "játszottam" vele azt ez lett belőle.
Felüdülés.. 

Hálózatnál mikor kiölöd a bridge -t, kapott már pánikrohamot a gép, szóval vannak itt még gondok, de ezeket egyelőre orvosoltam, én tolom productionbe 22 órája eddig kopp-kopp. nem volt gond.

Running on FreeBSD/Bhyve

Pajeetot azért eltiltanám a honlapírástól

let's go Brandon!

Most nem azért, de biztos ez a legjobb alkalom arra, hogy kritizálj valakit? Amikor egy tök jó megoldást a köz javára ad? Akár fel is ajánlhattad volna a segítséged a javításhoz, szerintem.

Amit én igény szerint egyébként meg is teszek, ha gondolja a szerző. 

Köszönöm, ne foglalkozz vele magyar szokás, tényleg.. Még az oroszoknak van hasonló felfogásuk, de ők meg csak azt sérelmezik ha valaki nem oroszul ír ha tudják róla, hogy tud.
A kiidézett szöveget fixáltam és lektoráltattam egy amerikai partneremmel akivel esténként szoktam beszélgetni.

Running on FreeBSD/Bhyve

> Köszönöm, ne foglalkozz vele magyar szokás, tényleg

nem törni angoltot?

> Még az oroszoknak van hasonló felfogásuk, de ők meg csak azt sérelmezik ha valaki nem oroszul ír ha tudják róla, hogy tud.

ne aggódj nem kérem rajtad számon a magyartudást

> A kiidézett szöveget fixáltam és lektoráltattam egy amerikai partneremmel akivel esténként szoktam beszélgetni.
LOL
https://files.catbox.moe/13rm8j.png
https://files.catbox.moe/0jdpcg.png
https://files.catbox.moe/tuxgsi.png

lektort nem onlyfans-en kellene keresni

let's go Brandon!

Grat a projekthez, ahogy időm engedi, ki fogom próbálni.

Hibátlanul települt, magyarul köszöntött.
Akinek van bekapcsolt tűzfala ne feledje nyitni a tcp 8086-ot!
pf estében:
pass in inet proto tcp from any to any port 8086 flags S/SA keep state

Szerkesztve: 2021. 06. 29., k – 22:30

Találtam egy apró bugot: egy vm-ben próbáltam ki, friss FreeBSD 12 telepítéssel, de úgy látszik default nem létezik a /usr/local/etc/rc.d, csak /usr/local/etc van (ezen én is meglepődtem). Az install.sh -ban az rc scripteket telepítő cp parancs ezért hibára fut, de nincs lekezelve, gyakorlatilag nem is látszik sehol, a script kiírja hogy lépj be a webguin, és vár, majd egy idő után kilép. Persze gyorsan meg lehetett találni, hogy mi a gond, de gondoltam azért leírom :)

És egy javaslat: a /var/lib helyett nem lenne jobb helye az alkalmazásnak a /usr/local -ban valahol?  (Akár a /usr/local/var/lib -ben). Ha esetleg későbbi tervek között szerepel egy pkg, vagy a ports release, akkor ez szebb lenne így, illetve a FreeBSD filozófiáját tekintve is szebb megoldás talán.

Holnap kipróbálom a webguit is, ma csak ennyire futotta :)

Köszönöm a visszajelzést, javítottam. 

Tehát a /var/lib valóban nem egy sztenderd dolog egy szoftvernél, de én szeretném ha ez a rendszer része lenne inkább, függetlenül a szoftver környezettől, és biztonságosabbnak is gondolom, láttam már olyat, hogy 1 telepítő script elcseszi és kiszotja a chmod 644 -et az összes fájlra az /usr/local -on belül (tudom: extrém példa), ami itt viszont nem szerencsés tekintettel a tanúsítványokra, API kulcsokra.

A PKG -val kapcsolatban, én szoktam ilyet csinálni, hogy éles szerveren (webszerver), pkg delete -af && pkg-static add *.txz, viszont ez nem tenne jót ha csomag lenne, márpedig egész vicces, hogy olyan szerveren is tudok virtualizálni ami eddig alkalmatlan volt a feladatra.

Mindenképpen számolj be, hogy tetszett az UI!

Running on FreeBSD/Bhyve

 láttam már olyat, hogy 1 telepítő script elcseszi és kiszotja a chmod 644 -et az összes fájlra az /usr/local

Ez tényleg elég extrém, mivel gyakorlatilag tetszőleges FreeBSD szervert kinyír, hacsak nem valami nagyon minimal appliance, amiben csak a base szolgáltatásait használják (pl. syslog szerver, shellbox, ilyesmi).

Eszembe jutott, valami az amavisd-new terén volt gebasz ami ezt okozta.
Amúgy az se rossz amikor a clamav eltörölte a supplementarygroups opciót.

Én szinte azonnal megtalálom az ilyen portokat, mert negyedévente tolok frissítéseket a rendszerekhez és mindent kézzel forgatok, és ezt is azért mert becsúszik simán 1-1 rossz döntés,
mikor mondjuk valami eddig mySQL -t használt és valamiért a következő frissítésnél már csak PostgreSQL van.

 

Running on FreeBSD/Bhyve

Gratula a projecthez, mindenképpen ki fogom próbálni. Én a bhyvot kb. 4-5 éve próbáltam ki, mert desktopot szerettem volna virtualizálni FreeBSD alatt VGA passthrough-val :D, de sajnos több hónap kisérletezés után sem jött össsze. Aztán végül Proxmox lett belőle meg Linux, amivel többé kevésbé meg voltam elégedve az évek alatt, de pár hónapja mégis natív libvirt-et használok, mert állandóan volt valami nyűgöm vele.

Akkoriban én a vm-bhyvot használtam, mint "frontend", csak hogy könnyebb legyen az élet, persze az nem GUI, ezért én is gondolkodtam rajta, hogy kellene csinálni hozzá valami webes GUI-t. Sajnos mivel az elképzeléseim nem jöttek össze a bhyve-al kapcsolatba így a GUI ötlete sem kelt életre.

Lenne pár kérdésem főleg a bhyve-al kapcsolatban:

- Miben modernebb a bhyve?

- Van valami összehasonlításod, hogy miben gyorsabb? Én sajnos nem ezt tapasztaltam anno.

- Hol tart most a VGA PCI passthrough? Annak idején gyakorlatolag sehol sem volt.

- Milyen storage backend-et használsz? Sajnos a ZFS-el nekem nincs jó tapasztalatom ezen a téren, bár lehet hogy az is változott az évek alatt.

- A GUI-val mennyire van távlati terveid?

Hamarosan összerakok megint egy virtualizációs FreeBSD-t és megnézem mi változott az elmúlt 5 évben.

Köszönöm!

Az én történetem kQEMU -val kezdődött majd lett VirtualBox, utána ProxMox 3 -tól felfelé. 

Válaszok a kérdésekre:
- Miben modernebb a bhyve?
  - Mindenben. Gyorsabb mint a KVM, mivel a KVM a QEMU -ra épül ami igazából egy marha nagy többfunkciós CPU emulátor, addig a Bhyve csak egy dolgot tud, de azt jól, KVM + QEMU tele van toldozgatással, foltozgatással olyan technológiákkal amik már rég elavultak és igazából nincs is rá szükség, éppen ezért pl. a Bhyve viszont nem fog működni régebbi gépeken.

- Van valami összehasonlításod, hogy miben gyorsabb? Én sajnos nem ezt tapasztaltam anno.
  - Van kb 16 core VPS -em productionbe, vállalati infrastruktúra, ebből 4-5 -öt már átköltöztettem, nagyjából ugyanaz az erőforrás és sokkal jobb a Bhyve I/O terén, más téren nem tapasztaltam észrevehető különbséget, kisebb az overhead, tehát kevesebb erőforrást emészt fel a virtuális gépek futtatása terén. Mit értek I/O téren, például a fájlműveleteket, SSD -ről beszélünk az eredeti gépen, az új helyen ahol a Bhyve fut, viszont vinyók vannak és gyorsabb. Mind a 2 helyen ZFS. 

- Hol tart most a VGA PCI passthrough? Annak idején gyakorlatolag sehol sem volt.
 - Mindegy az, hogy VGA vagy nem, ez alapján jónak tűnik: (https://forums.freebsd.org/threads/bhyve-gpu-pass-through.70737/), én személy szerint bhyve -on még nem próbáltam.

- Milyen storage backend-et használsz? Sajnos a ZFS-el nekem nincs jó tapasztalatom ezen a téren, bár lehet hogy az is változott az évek alatt.
 - A ZFS azt össze se hasonlítanám bármi mással, nálam kötelező, aki nem ezt használja (és ebből sok vitám volt) az megérdemli. Nyílván ehhez is kell érteni, kezdjük azzal, hogy VPS -ek esetén 64K recordsize beállítását érdemes ashift=12 -vel. ZFS RaidzX borzasztó lassú, akkor már inkább mirror vagy több raidzX egy poolba és összeadódnak a sebességek. Ez nem egy ext4 amit felteszek azt jónapot, ezt menedzselni kell és etetni RAMMAL, cserébe olyan dolgokat tud, hogy nap végén nálam landolnak az aznapi változások és ha kell 40 másodperc alatt csukott szemmel visszaállítok 1db fájlt vagy az egész mindenséget, I/O -ba meg jelen pillanatban 2 diszken produkálok 350MB /s Random access írás/olvasást és ezzel megvertük a PRO SSD -t, különben a mérés során 1TB -ot játszottunk be, hogy tutira ne RAM -ból menjen, ha valaki ebbe belekötne annak mondom, hogy az SSD -ben is van CACHE ahogy elfogy a dobozon írt sebessége 1/4 -ét fogja tudni ha tudni fogja.

- A GUI-val mennyire van távlati terveid?
 - Hát én most minden szarommal erre állok rá most hétvégén és nem csak Kati néni könyvelése van rajta, szokásomhoz híven igen csak bedobtam a mélyvízbe, nem hiába, hogy a híd tervezője megy át elsőként, mert biztos a művében. Egy kész termékről beszélünk, hamarosan stabil verzióba áll és valószínűleg kilesz portolva a portstree -be és szeretnék hivatalos támogatást is adni rá és ezzel a FreeBSD -t népszerűsíteni, a máglyán fogok elégni ezért itt, de nekem a linux mostanságban eléggé takony, (forráskód).

Én kimondottan szeretem az egyszerű és jól menedszelhető dolgokat, nekem nem tetszett, hogy a ProxMox webfelülete root hozzáféréssel működik, és hiányoltam olyan funckiót amit csak a clusterrel lehet megoldani, amihez nem minden esetben adottak a feltételek, főleg ha szétugrik akkor nem kicsit lesz ideges a rendszergazda. Itt viszont az összes FreeBSD -vel ellátott gépemet betudom rántani és bármiből tudok Virtual Host -ot csinálni percek alatt, de nem clusterről beszélünk. Például a NAT és a vSwitchet szándékosan nem erőltetem bele, mert így megmarad a "UNIX" szépsége, hogy felmész SSH -n és kézzel összelövöd a hálózatot ha bonyolultabb kell mint a Bridge és így még mindig több opció marad. Szeretnék majd kétlépcsős azonosítást beépíteni, riasztásokat, "Appliance" -eket, kényelmi dolgokat. 

 

Running on FreeBSD/Bhyve

Köszönöm az összefoglalódat. 

 Így már értem, hogy miről beszélsz, a QEMU tényleg elég sok mindent tud és még annál is többet, ezért használok jelenleg is libvirt-et, mert abból mindent el lehet érni. Proxmoxot én is már 5 éve használok, de az én esetem nem egyszerű, mert az itthoni nagy szerveren futtatok mindent virtuális környezetben, értsd opnsense, nas, windows/linux/freebsd prod/test szerverek, de még a desktopom is ezen fut, ami hol windows hol linux hol pedig hackintosh. :) És akkor még nem beszéltem arról, hogy használok SR-IOV-t is az X550T2 kártyával, amivel szintén lehet sokat szívni.

A ZFS-el kapcsolatban tökéletesen egyetértek én is imádom, sok helyen használom, de VM alatt nekem kevés volt az 4K IOPS R/W, bár az is igaz, hogy én 4db NVME SSD-t használtam raidz1-ben. Jövő héten jön meg az új EPYC Milan 7443P és akkor lecserélem a régi NVME SSD-ket is PCIE 4.0-ra. Akkor teszek egy próbát mirror stripe-al.

A VGA PCI passthrough egy külön állatfajta, mert ott VM indulásnál el kell hogy induljon az EFI is, különben nincs kép, más passthrough (pl USB vagy Ethernet kártya) működött régen is. Majd ezt is megnézem, jövő héten úgy is lesz időm.

Kiváncsian várom a további funkciókat és a trollokkal meg nem kell foglalkozni, vannak itt sokan, akik abban lelik örömüket, hogy oda****nak más asztalára és erre nagyon büszkék. Az ilyeneket csak sajnálni lehet. Akinek nem inge...

Update 2021.07.05, élmény beszámoló

Jelentem tisztelettel a főszerverem és annak minden VPS -e, átállt erre a rendszerre a hétvégén, ez mind vállalati rendszer productionben.
Hát voltak problémák, úgy hogy született is pár fix, illetve jópár TO-DO, bár ez mind a hálózattal és a lemezkezeléssel függ össze, alapvetően jól vizsgázik a rendszer.

Még mindig nagyon jó az I/O és ebben a tekintetben továbbra is ez az ami szemmel észrevehető változás, ebbe beletartozik a hálózat is.
A ZFS FreeBSD alatt natívan jobban működik mint Linuxon, ezt tudtam eddig is ezért is vágytam erre, de így az összeképbe ha belenézzük, akkor igen fincsi.
Egy kis optimalizálással spóroltam 2IP címet és 1/3 erőforrást.

PF tűzfal nagyon szépen működik és hat a VM -ekre is (ebben nem voltam biztos), gyakorlatilag egy DDOS védelmet meg lehet applikálni az OS -en belül.

A szerverek egymás között Belső privát hálózaton is kommunikálnak, 1-1 gép NAT, mások Bridge. 
Betudtam húzni pár amcsi node -ot is, néha nagy a latency (TELIA <-> Texas) így eldobja, ezért arra gondoltam, hogy a műszerfal és az állapotjelzőket (ajax) előrekéne dolgozni egy worker szálban, így nem lassúlna be a szoftver ha rákötök 3x500ms node -ot. 

Boldogság :))

Running on FreeBSD/Bhyve

Kint van az utolsó megjelenés előtti verzió, hibajavított.

v.1.0-rc5
  2021.07.10: Security Fix: SQLite AUTO_INCREMENT behaviour allows newly created user to re-assign deleted user's IDs.
  2021.07.10: Fix: Password stored wrong when new user created
  2021.07.10: Enable user to modify: "Wait for Console", "Display", "RTC Clock", "Architecture", "Guest OS".
  2021.07.10: Added version information on dashboard
  2021.07.10: Newly created VMs are minimally preconfigured
  2021.07.09: Added `RTC is UTC time` switch
  2021.07.09: Fix: Notes and Journal inherited from deleted VMs when recreated with same prefix
  2021.07.08: Removed IP Address at login splash, (security reason for using behind proxy)
  2021.07.07: Added node prefetcher to avoid connection drops on huge latency
  2021.07.06: Dashboard runs smoothly, lot of optimizations
  2021.07.05: Fix: Config overwrite issues
  2021.07.05: Upgraded framework, showing less informations on startup
  2021.07.04: Fix: VM disk images wont deleted when not properly detached even if the VM is OFF and is on detaching state
  2021.07.04: Fix: Networking issues that interfaces wont pull-up
  2021.07.04: Fix: Modified startup scripts and binaries to avoid conditional-race between helper and backend

Running on FreeBSD/Bhyve