Proxmox Virtual Environment (Proxmox VE ili PVE) je platforma otvorenog programskog kôda (open-source software) za virtualizaciju i Linux kontejnere. Platforma sadrži takozvani hipervizor koji može pokretati virtualna računala odnosno operacijske sustave, uključujući Linux i Windows kao i Solaris, FreeBSD, macOS, Minix, i druge na 64-bitnoj x86 arhitekturi računala. PVE se temelji na distribuciji Linuxa Debian s modificiranim kernelom LTS Ubuntua koji omogućuje pokretanje i menadžment virtualnih računala i Linux kontejnera.
Proxmox VE sadrži web konzolu i skup programa naredbenog retka (CLI) te nudi REST API za pristup s drugih sustava ili aplikacija.
Podržane su dvije vrste virtualizacije s potpuno web baziranim sučeljem za upravljanje:Vervloesem, Koen. "Proxmox VE 2.0 review – A virtualisation server for any situation", Linux User & Developer, 11 April 2012. Retrieved on 16 July 2015.
Kontejnerski bazirane, upotrebom LXC kontejnera (od inačice 4.0 zamijenili su OpenVZ kontejnere s LXC kontejnerima). Potpuna virtualizacija s upotrebom Linux KVM komponente i QEMU emulatora za virtualizaciju.
Proxmox VE je licenciran pod GNU Affero General Public License, licencom inačice tri. Povijest Razvoj Proxmox VE krenuo je kada su Dietmar Maurer i Martin Maurer, dvojica Linux programera, otkrili da OpenVZ Linux kontejneri nemaju alat za izradu sigurnosnih kopija niti grafičko (GUI) menadžment sučelje. KVM se pojavio u isto vrijeme pod Linuxom, te su podršku za njega dodali odmah potom.
Prvo stabilno javno izdanje PVE je objavljeno početkom 2008. godine. Podržavalo je Linux kontejnere (tada OpenVZ) i potpunu virtualizaciju, uz upravljanje (menadžment) iz grafičkog sučelja.
Značajke Proxmox VE je platforma za virtualizaciju i Linux kontejnere otvorenog programskog kôda, koja koristi dvije tehnologije: Kernel-based Virtual Machine (KVM) (+ QEMU emulator) za virtualna računala te LXC za Linux kontejnere – sve preko jednog jedinog web sučelja.
Proxmox VE je baziran na GNU AGPL, v3 licenci.
Tvrtka koja stoji iza razvoja Proxmox VE (Proxmox Server Solutions GmbH) prodaje opcionalnu pretplatu uz korisničku podršku.
Uz takvu pretplatu korisnici dobivaju pristup enterprise softver repozitorijima ili dodatnu (ovisno o razini pretplate) korisničku podršku.
Pregled značajki Pregled važnijih značajki sustava: +PregledZnačajkaPodrška/opisBazni OSDebian GNU/LinuxLicencaGNU Affero GPL, v3Puna virtualizacijaKVM/QEMUKontejneriLinux LXC kontejneriArhitektura računalax86_64InstalacijaNa fizičko računalo/poslužitelj (ISO instalacija)Max. RAM memorije po fizičkom poslužitelju128TBMax. broj CPU jezgri8.192 (8 socketa) - ovisi o Linux kernelu +Osnovne značajke Proxmox VE sustavaZnačajkaPodrška/opis100% softverski baziran sustavDaPodrška za klasterDa - bilo koji čvor u Proxmox VE klasteru može upravljati klasterom (nema glavnog čvora - multi-master dizajn)Podrška za High Availability (HA)DaHA Resource scheduler (Cluster resource Sceheduling CRS)Da (s Node i/ili Resource Affinity pravilima)Podržani sustavi za pohranuLokalni: direktorij, LVM, LVM-thin, ZFS. Udaljeni (mrežni): iSCSI/kernel, Fibre Channel (ne preko GUI), iSCSI/libiscsi, Ceph/RBD, ZFS over iSCSI, NFS, CIFS, GlusterFS, Proxmox Backup ServerVirtualne mrežeLinux Bridge ili Open vSwitch BridgeRedundancija mrežeDa (Bond: LACP, active-backup, balance-xor, ...)Virtualna RačunalaLinux, Windows, FreeBSD, Solaris, ...Podrška za SDN mrežuDa (Simple, VLAN, QinQ, VxLAN, EVPN)Linux kontejneriDa: LXCPodrška za deduplikaciju RAM memorijeDa (Linux KSM)Vatrozid (Firewall)Da: za cijeli klaster, za pojedini fizički poslužitelj i/ili VM/LXCCloud-readyDaHyper-Converged Infrastructure (HCI):Da +MenadžmentZnačajkaPodrška/opisPodrška za GUIDaPodrška za naredbeni redak (CLI)DaPodrška za APIDaPodrška za monitoring sustavaDa (lokalno) + vanjski sustavi: InfluxDB, GraphiteUpravljanje korisnicimaLokalni korisnici, LDAP, AD, tvofaktorska autentikacijaUpravljanje ovlastima/grupamaDa, granularnaPodrška za vanjske alateDa +Rad s virtualnim računalima (VM) i linux kontejnerima (LXC)ZnačajkaPodrška/opisBackup/restoreDa, integrirana (vzdump) i/ili Proxmox Backup ServerLive restoreDaMigracijaDa (u klasteru)Live migracijaDa (u klasteru)Storage Live migracijaDa (u klasteru)SnapshotiDaPredlošci (template) i klonoviDaReplikacijaDa (u klasteru)Export/importDaVirtual CPU OvercommitDaV2VDaP2VDa Izvori: ,,
Kako radi Proxmox VE instalacija U najjednostavnijem slučaju, Proxmox VE (PVE) se instalira na kompatibilni x86-64 hardver kao što su: klasično računalo i poslužitelj ili blade poslužitelj, s isporučene ISO slike. Instalacijski program gotovo automatski upravlja cijelim procesom instalacije, slično kao u osnovnoj instalaciji Debian distribucije Linuxa, koristeći cijeli prvi tvrdi disk računala. Moguće su i drugačije vrste instalacije i objašnjene su na PVE wiki stranici. Nakon instalacije, sva administracija i konfiguracija PVE-a odvija se u jednostavnim koracima putem web sučelja. Osim toga, dostupan je i pristup SSH naredbenom retku na root razini (administratorski), na kojem se mogu izvesti opsežniji radovi i posebne konfiguracije na glavnom sustavu korištenjem odgovarajućih skripti, sistemskih programa ili čak ručnim uređivanjem konfiguracijskih datoteka PVE sustava, primjerice u slučaju kada želite nestandardnu konfiguraciju mrežnog, diskovnog ili nekog drugog sustava ili kompomente.
Automatizirana instalacija Od Proxmox VE inačice 8.2. podržana je automatizirana instalacija Proxmox VE sustava. To je vrlo korisno kod instalacije većeg broja poslužitelja ili tijekom reinstalacije poslužitelja (pr. na novi hardver). Trenutno je moguće automatizirati instalaciju s tri metode:
Prilagodbom ISO instalacijske datoteke. S dodatnog diska (primjerice USB). S mreže.
Virtualizacija Proxmox VE kao samostalni operativni sustav, sadrži Linux kernel koji radi izravno na hardveru kao hipervizor, a temeljen je na navedenoj KVM tehnologiji, koja za emuliranje hardvera koristi QEMU emulator. Pri tome je KVM centralni dio hipervizora koji omogućuje i korištenje hardverski ubrzanih značajki modernih procesora za virtualizaciju (Intel VT-x ili AMD-V). Dok je QEMU emulator virtualnog sklopovlja (hardvera) jer je za rad virtualnih računala potrebno emulirati sve komponente računala poput: čipseta matične ploče+BIOS, mrežne kartice+BIOS, disk kontrolera+BIOS, grafičke kartice+BIOS itd. Ove dvije komponente zajedno su potrebne za virtualizaciju i (zajedno) čine hipervizor za virtualizaciju. Prednost virtualizacije leži u činjenici da se gotovo svaki x86 kompatibilni operativni sustav može pokrenuti pod centralnom administracijom hipervizora bez dodatnih prilagodbi. Dakle ovakav način rada naziva se potpuna virtualizacija ili hardverski virtualni stroj (HVM). Da bi to sve radilo, potrebna je i hardverska podrška za virtualizaciju unutar modernih procesora (CPU), koja se naziva AMD-V (za AMD procesore) ili Intel VT-x (za Intelove procesore).
U drugom slučaju, ako nemamo hardversku podršku unutar procesora za virtualizaciju, i dalje je moguće pokretanje virtualnih računala, ali će ona raditi drastično sporije.
KSM deduplikacija u RAM memoriji Proxmox VE podržava i takozvani KSM (engl. Kernel Samepage Merging) mehaizam deduplikacije podataka u RAM memoriji hipervizora.
Kernel Samepage Merging (KSM) je značajka deduplikacije RAM memorije hipervizora koju nudi Linux kernel, a koja je prema zadanim postavkama omogućena u Proxmox VE. KSM radi skeniranjem niza stranica fizičke memorije u potrazi za identičnim sadržajem i identificiranjem virtualnih stranica memorije koje su im mapirane. Ako se pronađu identične stranice, odgovarajuće virtualne stranice memorije se ponovno mapiraju tako da sve pokazuju na istu fizičku stranicu, a stare stranice se oslobađaju. Virtualne stranice memorije su pri tome označene kao "copy-on-write", tako da će svako pisanje na njih biti zapisano u novo područje memorije, ostavljajući dijeljenu fizičku stranicu netaknutom.
Dakle upotrebom KSM mehanizama koje koristi i KVM hipervizor, omogućuje KVM gostima (virtualnim računalima) da dijele identične memorijske stranice. Te dijeljene stranice obično su uobičajene biblioteke ili drugi identični podaci koji se često koriste. KSM zbog toga omogućuje veći broj identičnih ili sličnih gostujućih operativnih sustava (virtualnih računala) izbjegavanjem dupliciranja memorije.
Ugniježđena virtualizacija (nested virtualization) Proxmox VE podržava i takozvanu ugniježđenu virtualizaciju (engl. nested virtualization), a ona se odnosi na način rada u kojem je moguće pokrenuti hipervizor, poput PVE-a ili drugih (pr. VMware ESXi, Microsoft Hyper-V, VirtualBox i sl.), unutar virtualnog računala, koji radi na drugom hipervizoru, umjesto na stvarnom hardveru. Drugim riječima, imate hipervizor instaliran na hardver, na kojemu se pokreće gostujući hipervizor (kao virtualno računalo), a koji ponovno može pokretati vlastita virtualna računala. To je vrlo korisno za testiranje; primjerice ako na postojećem Proxmox VE poslužitelju (hipervizoru) želite pokrenuti novu inačicu Proxmox VE i unutar nje testirati nove značajke i pokretati virtualna računala pod njim. Isto je i s drugim hipervizorima (pr. VMware ESXi, Microsoft Hyper-V, VirtualBox i sl.) koje možda samo želite pokrenuti unutar Proxmox VE (kao hipervizorom) i nešto testirati na njima.
Osim testne primjene, moguće je unutar ovakve ugniježđene virtualizacije pokretati virtualna računala koja se samo prema potrebi mogu ponašati kao hipervizori. To je konkretno slučaj s nekim emulatorima mrežnih uređaja i mreže, poput:
GNS3 EVE-ng Podršku za ugniježđenu virtualizaciju koristi KVM komponenta, oslanjajući se na podršku na razini kernela te kernel modula. Primjerice za Intel procesore je to kernel modul [kvm-intel] odnosno za AMD procesore kernel modul [kvm-amd].
VM emulirani/paravirtualizirani hardver S obzirom na to da Proxmox VE za virtualna računala koristi KVM (+QEMU) kao takozvani hipervizor, on nativno (iz grafičkog sučelja) podržava mnoge emulirane i paravirtualizirane hardverske komponente, poput:
Čipseta matične ploče: i440fx ili q35 (više inačica) BIOS: SeaBIOS ili OVMF (UEFI) Vrsta procesora (CPU): host, kvm32, kvm64, qemu32, qemu64 ili točno definiranih generacija CPUa (tzv. features/flags) poput: athlon, opteron, phenom, broadwell, coreduo i sl. Diskovnih kontrolera: LSI53C895A, LSI53C810, MegaRAID SAS 8708EI, VirtIO SCSI (paravirtualiziran), VirtIO SCSI Single (paravirtualiziran), VMware PVSCSI Display: Standard VGA, VMware compatible, SPICE, Serial, VirtIO GPU (paravirtualiziran), VirGL GPU (paravirtualiziran) Network: Intel E1000, VirtIO (paravirtualiziran), Realtek 8139, VMware vmxnet3 RNG: VirtIO RNG Balloon značajke upotrebe RAM memorije (VirtIO) Podršku za QEMU gost agenta
Propuštanje hardvera prema virtualnim računalima Proxmox VE podržava propuštanje (eng. pass-through): PCI i USB uređaja s fizičkog poslužitelja prema virtualnim računalima, iz grafičkog sučelja. To znači da tada hipervizor PCI ili USB uređajima omogućuje prolaz do virtualnog računala odnosno da virtualno račualo ima izravan pristup fizičkom hardveru.
Dodatne opcije poput CPU zastavica (engl. flags) dostupne su iz grafičkog sučelja ili naredbenog retka. Različite vrste emuliranog hardvera (koji podržava sâm QEMU), također su dostupne preko naredbenog retka (CLI). Podržani virtualizirani operativni sustavi i Linux kontejneri S obzirom na to da Proxmox VE u pozadini koristi KVM sustav za virualizaciju, on podržava sve operativne sustave koje podržava i KVM (za virtualna računala), poput:
Linux: bilo koja distribucija Linuxa: Red Hat Enterprise Linux, CentOS, Rocky Linux, Fedora, Oracle Enterprise Linux, Debian, Ubuntu, SUSE Linux Enterprise Server, openSUSE, Gentoo, Arch Linux, ... . BSD: FreeBSD, OpenBSD, NetBSD, DragonflyBSD, ... Solaris kompatibilni: Solaris, OpenSolaris, OpenIndiana, Nexenta Core, ...