Neue Server Hardware.

Zu den ZFS Parametern, hast Du oben eine Anleitung.

Welche meinst du denn genau?
Die hier?

Die Größe des ZFS Pool auslesen, Parameter size:
zpool list rpool

Lesen: zfs get quota rpool
Schreiben: zfs set quota=xyzT rpool

Wobei bei mir xyzT = 0,85 * size entspricht.

ZFS Autotrim setzen.

Lesen: zpool get autotrim rpool
Schreiben: zpool set autotrim=off rpool


Dazu muss man die Datasets noch die Proxmox VE Storrage eintragen:

Wie trage ich denn die Datasets ein?
Auch überdie GUI, und wo?
Dazu finde ich nämlich nichts.
 
Zu den ZFS Parametern atime, autotrim, quota und zfs set com.sun:auto-snapshot=false dpool.

Das Diskmanagement ist doch einfach zu finden:
Datacenter -> Disks hier kann man sie als Erstes vorbereiten und anschließend als ZFS Mirror (Raid1) mit 4k Blocksize anlegen.
 
Zu dem Wie und Wo hatte ich Dir schon 3x den Links zu ZFS Verfügung gestellt:
# https://docs.oracle.com/cd/E19253-01/819-5461/gaypw/index.html # neuer Link
# https://docs.oracle.com/cd/E19253-01/819-5461/gayrd/index.html # neuer Link
# https://docs.oracle.com/cd/E19253-01/819-5461/gkdep/index.html
# https://docs.oracle.com/cd/E19253-01/819-5461/6n7ht6qvi/index.html

# https://openzfs.github.io/openzfs-docs/man/master/8/index.html # neuer Link
# https://openzfs.github.io/openzfs-docs/man/master/8/zpool-add.8.html
# https://openzfs.github.io/openzfs-docs/man/master/8/zpool-attach.8.html # neuer Link
# https://openzfs.github.io/openzfs-docs/man/master/8/zpool-detach.8.html # neuer Link

Also ich erwarte auch, dass man das alles mal durchliest.

Im Post #20 schrieb ich Dir sogar die genauen Befehle auf.
Dass das nur über eine root-shell einzugeben ist, sollte schon klar sein, denn wer mehr Will arbeitet nun mal nur noch auf der Shell..

Um nun ein ZFS specical device einem Pool hinzu zu fügen, müssen wir wieder in einer root-shell sein:
Code:
# ashift=9 512 byte Blockgroße --> ADATA Ultimate SU800
# ashift=12 4 kbyte Blockgroße
zpool add dpool -o ashift=9 special mirror <ssd2-device-partname2> <ssd3-device-partname2>
 
Last edited:
Also ich erwarte auch, dass man das alles mal durchliest.

Das habe ich ja gelesen und die Befehlsstruktur verstehe ich auch.

Ich nutze Linux auf dem Desktop schon seit fast 4 Jahren und ich liebe die shell.
Mein Problem ist, dass ich nicht verstehe wie du es meinst dass ich die Datasets in Proxmox eintragen soll.
Da ist die beschreibung von dir leider etwas vage.
Ich habe das auch gegoogelt, aber auf die schnelle nichts passendes gefunden.

Geht das eintragen der Datasets nicht auch in der shell?
 
Last edited:
Die Disks habe ich in der shell mittels fdisk bereinigt.
Und dann úber Datacenter -> Disks -> ZFS den dpool mit beiden HDDs als Mirror erstellt.
 
Last edited:
  • Like
Reactions: news
@kurolinlin Ok got it.
Jetzt ist es Dir aber klar mit meinem Beispiel?
Denn Du brauchst dieses Setup der Datasets nicht genau so übernehmen.
Auch kann man die Datasets einfach wo anders "hinlegen" indem man sie
zfs rename <zfs-dataset-alt> <zfs-dataset-neu>
Da wird auch nichts Kopiert außer die verkettete Liste der ZFS Records neu eingehängt.

Ich speziell speicher auch mal die Setups/ Backups andere Server unterhalb einer weiteren ZFS Datasetstruktur:
Code:
zfs create dpool/pve
#
zfs create dpool/pve/server1
zfs create dpool/pve/server1/root
zfs create dpool/pve/server1/config
zfs create dpool/pve/server1/backup
zfs create dpool/pve/server1/images
#
zfs create dpool/pve/server2
zfs create dpool/pve/server2/root
zfs create dpool/pve/server2/config
zfs create dpool/pve/server2/backup
zfs create dpool/pve/server2/images

So erzeugt man beliebige ZFS Datasets, die auch alle unterschiedliche Setups haben können.

Z.B. Wie der der Name "Backup" schon andeutet liegen diese auch dort.
Also setze ich noch die zfs recordsize für diese ZFS Datasets höher:
Code:
zfs set recordsize=1M dpool/server1/backup
zfs set recordsize=1M dpool/server2/backup

Die default zfs recordsize beträgt 128k.
 
Last edited:
OK da ich nur ein Proxmox Server habe spare ich mir die Strukturierung mittels server1 server2.
Das mit den Dataset erstellen hat soweit auch geklappt. und ich weiß auch dass ich das nicht 1:1 übernehmen muss.

Ich hänge aber immer noch an deinem Post #20 bei folgendem Abschnitt fest.
Denn ich verstehe das immer noch nicht wo ich die eintragen muss.

Dazu muss man die Datasets noch die Proxmox VE Storrage eintragen:
dpool/pve/data ist für die Speicherung von weiteren LXC und VM.
Unter /dpool/pve/images lassen sich dann ISO und LXC Templates speichern.
Unter /dpool/pve/backup lassen sich dann weitere Proxmox LXC und VM Backups speichern.

Unter /dpool/pve/root und /dpool/pve/config wird per Cron-Job alle 15 Minuten das /root und das /etc/pve Verzeichnis syncronisiert und, da es ein zfs dataset ist, läuft hier auch zfs-auto-snapshot drauf.
 
Ich hänge aber immer noch an deinem Post #20 bei folgendem Abschnitt fest.
Denn ich verstehe das immer noch nicht wo ich die eintragen muss.
Nun das sind alle teilweise vollständige Anweisungen, die man über die root-shell eingeben kann, um sie zu aktivieren.

Aber auch nur als Beispiel zu sehen.
Wichtig ist für den zfs dpool noch die zfs Parameteranpassungen vorzunehmen.
Siehe Oben: Zu den ZFS Parametern atime, autotrim, quota und zfs set com.sun:auto-snapshot=false dpool.

Code:
zfs set atime=off dpool
zpool set autotrim=off dpool
zfs set quota=xyzT dpool # Berechnung siehe oben
zfs set com.sun:auto-snapshot=false dpool

Die Einträge von Speicherstellen ist unter Datacenter --> Storrage zu finden.
Unter add findet man die unterschiedlichen Speicherarten.
Dich interessieren
a) Directory
a.1) für den Speichertyp "VZDump Backup file" (/dpool/pve/backup),
a.2) "ISO Image, Container template" (/dpool/pve/images) und
b) ZFS für den Speichertyp "Disk Image, Container" (dpool/pve/data).

Dies alles landet schlussendlich in einer Textdatei: /etc/pve/storage.cfg

Nur zur Info, unter:
* /etc/pve/lxc liegen die Configdateien *.conf aller Proxmox VE LXC
* /etc/pve/qemu-server liegen die Configdateien *.conf aller Proxmox VE VM

Das ist dann wichtig, wenn man Eigenschaften ändern möchte, die man über die GUI nicht eigeben kann.
Diese sind aber im Proxmox-Wiki dokumentiert.

Hier einige wichtige zpool Commands:
Code:
# zpool status <pool-name>
zpool status rpool
zpool status dpool

# zpool list <pool-name>
# zpool list -v <pool-name>
zpool list -v rpool
zpool list -v dpool

# zpool iostat -v <pool-name> <repeat-sec>
zpool iostat -v rpool
zpool iostat -v dpool

Bitte Poste mal die Ergebnisse von:
Code:
zpool status
zpool list -v
 
Last edited:
Aktuell sieht es so aus.

Code:
root in  pve in ~ 
❯ zpool status 
pool: dpool
state: ONLINE
config:

NAME                                 STATE     READ WRITE CKSUM
dpool                                ONLINE       0     0     0
mirror-0                           ONLINE       0     0     0
ata-ST8000VN004-3CP101_WWZ6HMJ2  ONLINE       0     0     0
ata-ST8000VN004-3CP101_WWZ2M1B0  ONLINE       0     0     0

errors: No known data errors

pool: rpool
state: ONLINE
config:

NAME                                    STATE     READ WRITE CKSUM
rpool                                   ONLINE       0     0     0
mirror-0                              ONLINE       0     0     0
ata-ADATA_SU800_2O122LAHGD2L-part3  ONLINE       0     0     0
ata-ADATA_SU800_2O122L1BGCGE-part3  ONLINE       0     0     0
mirror-1                              ONLINE       0     0     0
ata-ADATA_SU800_2O122LAB8AJ9-part1  ONLINE       0     0     0
ata-ADATA_SU800_2O1229AH85FU-part1  ONLINE       0     0     0

errors: No known data errors

root in  pve in ~ 
❯ zpool list -v
NAME                                     SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
dpool                                   7.27T  1.51M  7.27T        -         -     0%     0%  1.00x    ONLINE  -
mirror-0                              7.27T  1.51M  7.27T        -         -     0%  0.00%      -    ONLINE
ata-ST8000VN004-3CP101_WWZ6HMJ2     7.28T      -      -        -         -      -      -      -    ONLINE
ata-ST8000VN004-3CP101_WWZ2M1B0     7.28T      -      -        -         -      -      -      -    ONLINE
rpool                                   1.76T  1.78G  1.76T        -         -     0%     0%  1.00x    ONLINE  -
mirror-0                               952G  1.75G   950G        -         -     0%  0.18%      -    ONLINE
ata-ADATA_SU800_2O122LAHGD2L-part3   953G      -      -        -         -      -      -      -    ONLINE
ata-ADATA_SU800_2O122L1BGCGE-part3   953G      -      -        -         -      -      -      -    ONLINE
mirror-1                               848G  30.1M   848G        -         -     0%  0.00%      -    ONLINE
ata-ADATA_SU800_2O122LAB8AJ9-part1   854G      -      -        -         -      -      -      -    ONLINE
ata-ADATA_SU800_2O1229AH85FU-part1   854G      -      -        -         -      -      -      -    ONLINE



Ich stoße aber auf weitere Probleme.
Die von dir beschriebenen Aufbewahrungszeit der zfs-auto-snapshot kann ich soweit nicht einstellen, weil die von dir beschriebenen Dateien nicht existieren.
Muss ich die erst von irgendwo dahin kopieren?

Code:
# 15 Minuten
/etc/cron.d/zfs-auto-snapshot # bei meinem Desktoprechner: --keep=12
# 1 Stunde
/etc/cron.hourly/zfs-auto-snapshot # bei meinem Desktoprechner: --keep=24
# 1 Tag
/etc/cron.daily/zfs-auto-snapshot # bei meinem Desktoprechner: --keep=7
# 1 Woche
/etc/cron.weekly/zfs-auto-snapshot # bei meinem Desktoprechner: --keep=4
# 1 Monat
/etc/cron.monthly/zfs-auto-snapshot # bei meinem Desktoprechner: 0
# dazu muss der Aufruf "exec zfs-auto-snapshot ..." auskommentiert werden



Außerdem kann ich komischerweise nicht das ZFS Special Device hinzufügen.

Code:
root in  pve in ~
❯ l /dev/disk/by-id/ | grep -e sdc2 -e sdd2
lrwxrwxrwx    10 root  5 Sep 13:58  ata-ADATA_SU800_2O122LAB8AJ9-part2 -> ../../sdc2
lrwxrwxrwx    10 root  5 Sep 13:58  ata-ADATA_SU800_2O1229AH85FU-part2 -> ../../sdd2
lrwxrwxrwx    10 root  5 Sep 13:58  wwn-0x5707c18100d878e0-part2 -> ../../sdd2
lrwxrwxrwx    10 root  5 Sep 13:58  wwn-0x5707c18100d8796b-part2 -> ../../sdc2

Code:
root in  pve in ~  
❯ fdisk -l /dev/sdc /dev/sdd
Disk /dev/sdc: 953.87 GiB, 1024209543168 bytes, 2000409264 sectors
Disk model: ADATA SU800      
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 4BECFAB0-0F94-3D43-8D63-A021088CBF55

Device          Start        End    Sectors   Size Type
/dev/sdc1        2048 1790600000 1790597953 853.8G Solaris /usr & Apple ZFS
/dev/sdc2  1790600001 2000314367  209714367   100G Solaris /usr & Apple ZFS


Disk /dev/sdd: 953.87 GiB, 1024209543168 bytes, 2000409264 sectors
Disk model: ADATA SU800      
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 36BF1308-DD65-EE4C-90E4-9DAB97FFBB52

Device          Start        End    Sectors   Size Type
/dev/sdd1        2048 1790600000 1790597953 853.8G Solaris /usr & Apple ZFS
/dev/sdd2  1790600001 2000314367  209714367   100G Solaris /usr & Apple ZFS

Code:
root in  pve in ~  
❯ zpool add -n dpool -o ashift=9 special mirror ata-ADATA_SU800_2O122LAB8AJ9-part2 ata-ADATA_SU800_2O1229AH85FU-part2
would update 'dpool' to the following configuration:

        dpool
          mirror-0
            ata-ST8000VN004-3CP101_WWZ6HMJ2
            ata-ST8000VN004-3CP101_WWZ2M1B0
        special
          mirror
            ata-ADATA_SU800_2O122LAB8AJ9-part2
            ata-ADATA_SU800_2O1229AH85FU-part2

root in  pve in ~  
❯ zpool add dpool -o ashift=9 special mirror ata-ADATA_SU800_2O122LAB8AJ9-part2 ata-ADATA_SU800_2O1229AH85FU-part2
cannot add to 'dpool': adding devices with different physical sector sizes is not allowed

Als Dryrun zeigt er mir es an dass es geht und danach dass die beiden Partitionen verschiedene Sektor Größen haben sollen, was aber die Ausgabe von fdisk wiederlegt.
 
Ok, danke.

Die Fehlermeldung ist dann eindeutig, überlassen wir es zpool die "Operation".

Dann wird wohl
Code:
zpool add dpool special mirror ata-ADATA_SU800_2O122LAB8AJ9-part2 ata-ADATA_SU800_2O1229AH85FU-part2
funktionieren.

Des weiteren: apt install zfs-auto-snapshot
 
Die ADATA SU800 SSDs würde ich nicht als Special Device nutzen, die sterben die sonst in kürzester Zeit weg.
Das sind SSDs ohne PLP und wenn die als Special Device für Metadaten und als Cache für kleine I/Os herhalten sollen, werden die das viele Schreiben nicht lange überleben.
 
  • Like
Reactions: JensF
@news
Das mit apt install zfs-auto-snapshot hat geklappt. Habe garnicht dran gedacht dass es evt. nicht installiert sein könnte.

So sieht es jetzt aus

Code:
root in  pve in ~
❯ zpool status && zpool list -v
  pool: dpool
 state: ONLINE
config:

        NAME                                    STATE     READ WRITE CKSUM
        dpool                                   ONLINE       0     0     0
          mirror-0                              ONLINE       0     0     0
            ata-ST8000VN004-3CP101_WWZ6HMJ2     ONLINE       0     0     0
            ata-ST8000VN004-3CP101_WWZ2M1B0     ONLINE       0     0     0
        special
          mirror-1                              ONLINE       0     0     0
            ata-ADATA_SU800_2O122LAB8AJ9-part2  ONLINE       0     0     0
            ata-ADATA_SU800_2O1229AH85FU-part2  ONLINE       0     0     0

errors: No known data errors

  pool: rpool
 state: ONLINE
config:

        NAME                                    STATE     READ WRITE CKSUM
        rpool                                   ONLINE       0     0     0
          mirror-0                              ONLINE       0     0     0
            ata-ADATA_SU800_2O122LAHGD2L-part3  ONLINE       0     0     0
            ata-ADATA_SU800_2O122L1BGCGE-part3  ONLINE       0     0     0
          mirror-1                              ONLINE       0     0     0
            ata-ADATA_SU800_2O122LAB8AJ9-part1  ONLINE       0     0     0
            ata-ADATA_SU800_2O1229AH85FU-part1  ONLINE       0     0     0

errors: No known data errors
NAME                                     SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
dpool                                   7.36T  1.61M  7.36T        -         -     0%     0%  1.00x    ONLINE  -
  mirror-0                              7.27T  1.41M  7.27T        -         -     0%  0.00%      -    ONLINE
    ata-ST8000VN004-3CP101_WWZ6HMJ2     7.28T      -      -        -         -      -      -      -    ONLINE
    ata-ST8000VN004-3CP101_WWZ2M1B0     7.28T      -      -        -         -      -      -      -    ONLINE
special                                     -      -      -        -         -      -      -      -         -
  mirror-1                              99.5G   204K  99.5G        -         -     0%  0.00%      -    ONLINE
    ata-ADATA_SU800_2O122LAB8AJ9-part2   100G      -      -        -         -      -      -      -    ONLINE
    ata-ADATA_SU800_2O1229AH85FU-part2   100G      -      -        -         -      -      -      -    ONLINE
rpool                                   1.76T  1.78G  1.76T        -         -     0%     0%  1.00x    ONLINE  -
  mirror-0                               952G  1.75G   950G        -         -     0%  0.18%      -    ONLINE
    ata-ADATA_SU800_2O122LAHGD2L-part3   953G      -      -        -         -      -      -      -    ONLINE
    ata-ADATA_SU800_2O122L1BGCGE-part3   953G      -      -        -         -      -      -      -    ONLINE
  mirror-1                               848G  33.6M   848G        -         -     0%  0.00%      -    ONLINE
    ata-ADATA_SU800_2O122LAB8AJ9-part1   854G      -      -        -         -      -      -      -    ONLINE
    ata-ADATA_SU800_2O1229AH85FU-part1   854G      -      -        -         -      -      -      -    ONLINE
 
  • Like
Reactions: news
@Falk R.
In deinem unternehmerischen Bereich ist das klar und richtig.

Was ist den "kürzester Zeit" in deiner Terminologie?

Es war von Anfang an klar es ist ein Hobby Projekt und Kosten spielen eine Rolle.
Deshalb verteidige ich auch meine Empfehlung.

Mit den ersten Gedanken diese SSDs zu nutzen habe ich wirklich Probleme
  • SSD: Patriot P210 128GB 2.5" SATA SSD
  • SSD: Crucial P3 2TB M.2 PCIe Gen3
Eine Crucial P3 NVMe PCIe 3.0 x4 QLC habe ich auch mal als ZFS Bootdrive eingesetzt, nein ist die langsam und alles läuft in Zeitlupe ab. Besser wäre hier EXT4 oder komplett eine anderes Modell.

Ich habe seit Jahren privat mehr ~ 20 Crucial MX500 mit ZFS im Einsatz und alle Leben noch.

Die ADATA Ultimate SU800 1GB haben eine viel höhere TWB im Vergleich zu den Crucial MX500.
 
Last edited:
@kurolinlin

super nun noch die ZFS Einstellungen auf beiden ZFS Pools rpool und dpool und dann läuft's schon.

Gerne sende mir von der Hardware ein paar Bilder per PN.
 
@Falk R.
In deinem unternehmerischen Bereich ist das klar und richtig.

Was ist den "kürzester Zeit" in deiner Terminologie?

Es war von Anfang an klar es ist ein Hobby Projekt und Kosten spielen eine Rolle.
Deshalb verteidige ich auch meine Empfehlung.

Mit den ersten Gedanken diese SSDs zu nutzen habe ich wirklich Probleme
  • SSD: Patriot P210 128GB 2.5" SATA SSD
  • SSD: Crucial P3 2TB M.2 PCIe Gen3
Eine Crucial P3 NVMe PCIe 3.0 x4 QLC habe ich auch mal als ZFS Bootdrive eingesetzt, nein ist die langsam und alles läuft in Zeitlupe ab. Besser wäre hier EXT4 oder komplett eine anderes Modell.

Ich habe seit Jahren privat mehr ~ 20 Crucial MX500 mit ZFS im Einsatz und alle Leben noch.

Die ADATA Ultimate SU800 1GB haben eine viel höhere TWB im Vergleich zu den Crucial MX500.
Als Datendisk im ZFS Pool sind die für zuhause voll OK. Aber als Special Device bekommen die viel mehr kleine Writes ab.
Als Special Device nehme ich als großer Read Intensive SSD Verfechter auch Mixed Use SSDs. Da sehe ich immer deutlich mehr Writes und am Ende des Tages zählen da nicht die TB Written sondern die reine Anzahl der Writes, weil hier nie große Daten am stück geschrieben werden.
 
Hey Falk, nimm platz auf der Zuschauercouch! Hab schon mal ein Platz für Dunuin freigehalten. Dann können wir gemeinsam den SSDs beim Sterben zuschauen. So lange wird es ja nicht dauern. ;)
Aber jetzt wieder ernst: Wurde sich schon Gedanken übers Backup gemacht? Ich meine bei 9GB an Daten, die auf die Storage passen, sollte man das nicht außer Acht lassen!
 
Welche ZFS Einstellungen fehlen denn noch?



@JensF
Ich habe ziemlich Zeitgleich ein Proxmox Backup Server auch mit ZFS aufgesetzt.

Code:
root in  pbs in ~
❯ zpool status && zpool list -v
  pool: DATA1
 state: ONLINE
config:

        NAME                        STATE     READ WRITE CKSUM
        DATA1                       ONLINE       0     0     0
          mirror-0                  ONLINE       0     0     0
            wwn-0x5000c500df85e5ea  ONLINE       0     0     0
            wwn-0x5000c500dc30eb12  ONLINE       0     0     0

errors: No known data errors
NAME                         SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
DATA1                       7.27T  24.8M  7.27T        -         -     0%     0%  1.00x    ONLINE  -
  mirror-0                  7.27T  24.8M  7.27T        -         -     0%  0.00%      -    ONLINE
    wwn-0x5000c500df85e5ea  7.28T      -      -        -         -      -      -      -    ONLINE
    wwn-0x5000c500dc30eb12  7.28T      -      -        -         -      -      -      -    ONLINE
 
Last edited:
Hey Falk, nimm platz auf der Zuschauercouch! Hab schon mal ein Platz für Dunuin freigehalten. Dann können wir gemeinsam den SSDs beim Sterben zuschauen. So lange wird es ja nicht dauern. ;)
Aber jetzt wieder ernst: Wurde sich schon Gedanken übers Backup gemacht? Ich meine bei 9GB an Daten, die auf die Storage passen, sollte man das nicht außer Acht lassen!
Nein Danke, ich kann so einem Massaker an armen kleinen ungeschützeten (ohne cache) Flashzellen nicht zuschauen. Ich muss schon oft genug solche SSDs tauschen, wenn sie gestorben sind. Da noch beim sterben zuzusehen, darauf stehe ich nicht. :cool:
 
  • Like
Reactions: JensF
Hallo @kurolinlin,

evtl. diese hier auf dem dpool:
Code:
zfs set atime=off dpool
zpool set autotrim=off dpool
zfs set quota=xyzT dpool # Berechnung siehe oben
zfs set com.sun:auto-snapshot=false dpool

Alle ZFS Parameter kann man auch abfrage:
Code:
zfs get atime dpool
zpool get autotrim dpool
zfs get quota dpool
zfs get com.sun:auto-snapshot dpool

Bei deinem Proxmox BS sollte auf deinem Dataset, den Namen kenne ich nicht, stehen:
Code:
zfs get atime <proxmox-bs/backup> #= on

Dann muss man dort noch einen Job zum löschen der alten Backups und einer garbage collection einrichten.
 
Die ZFS Parameter passen alle bei beiden Pools.
AUch der Backup Pool ist soweit richtig einsgestellt.

Aber wenn ich jetzt ein LXC Container oder eine VM erstellen will, kann ich im Feld Resource Pool nichts auswählen.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!