Neue Server Hardware.

kurolinlin

New Member
Aug 9, 2024
19
4
3
Germany
Moin liebe IT-Liebhaber

Ich habe seit ca. 3 Jahren ein Heim Server und wollte da jetzt mal upgraden.
Angefangen habe ich mit Proxmox und ohne ZFS. Auch den PBS habe ich in einer VM am Laufen gehabt und es lief alles auch irgendwie.
Dann habe ich nach einiger Zeit auf Unraid gewechselt. Dabei bin ich mittlerweile immer noch, aber es gefällt mir nicht mehr.
Da dachte ich mir, ich will ja eh vom NUC weg und auch ein separaten Backup Server haben.

Aktuelles Server Setup:


PC: Intel NUC 11PABi5 - 11th Gen Intel® Core™ i5-1135G7 @ 2.40GHz
RAM: 32 GiB DDR4
SSD: Patriot P210 128GB 2.5" SATA SSD
SSD: Crucial P3 2TB M.2 PCIe Gen3
HDD: 8TB Seagate IronWolf 3.5" HDD -> über externes USB HDD Case

Backup:


CASE: FANTEC Qb-X2US3R Externes 2-fach Festplattengehäuse USB 3.0
HDD: 2x 8TB Seagate Barracuda 3.5" HDD

Aktuell läuft:


VM:
  • Home Assistant (2C, 4GB RAM)
Docker:
  • Nextcloud (4 User)
  • Paperless-ngx (2 User)
  • Vaultwarden (2 User)
  • PiHole
  • Jellyfin (2-4 User mit QSV)
  • Nginx-Proxy-Manager

Kommen sollen noch ein paar Desktop VMs Linux & Windows, die aber nicht permanent laufen sollen.
Und ich will in Zukunft auch hin und wieder ein paar game Server Laufen lassen.
Dennoch sollte er die meiste Zeit stromsparend laufen.

_________________________________________________________________________________________________

Den Backup Server habe ich schon besorgt.
Der soll als OffsiteBackup Dienen und gleichzeitig ein Paar Dienste für meine Eltern bereitstellen (Home Assistant und Pi Hole).

Neuer Backup Server:


CASE: Fractal Design Core 1100 Mini Tower
PSU: 300 Watt Xilence Performance C Series ATX Netzteil
MB: ASRock N100M
RAM: 16GB Crucial DDR4-3200
SSD: Samsung 840 EVO 120 GB (habe ich noch rum liegen)
HDD: 2x 8TB Seagate Barracuda 3.5" HDD (die alten Backup Platten)

Dies wäre meine Vorstellung vom neuen Haupt Server.
Die 2.5" SSD ist für Proxmox selbst.
Auf die NVME will ich die ganzen VMs und LXC Container laufen lassen.
Beide SSDs sollen nicht im ZFS laufen habe gehört das killt die ruck zuck (ja ich weiß ich habe noch Consumer SSDs).
Zur 8 TB HDD will ich noch eine weitere dazu holen damit die im ZFSRAIDZ1 laufen.
Darauf liegen nur große Daten wie die gerippten Filme fürs Jellyfin.

Neues Server Setup:


CASE: Fractal Design Node 804
PSU: be quiet! Pure Power 11 FM 550W ATX 2.52
MB: ASRock B760M PG Lightning
RAM: Crucial DIMM 32GB, DDR5-4800
CPU: Intel Core i3-14100 oder Intel Core i5-14500
SSD: Patriot P210 128GB 2.5" SATA SSD
SSD: Crucial P3 2TB M.2 PCIe Gen3
HDD: 2x 8TB Seagate IronWolf 3.5" HDD


Ist die Config so gut und sinnig?
Sollte ich lieber 64 GB Ram nehmen?
Welcher Prozesssor von den beiden ist gut, oder doch ein ganz anderen?
Sollte ich ZFS nutzen oder doch nicht?
Welche NVME wäre denn gut und dazu erschwinglich?

Mein Budget liegt bei ca 700 Euro.

Da sind zwar noch viel mehr Fragen, aber eins nach dem anderen.
 
Schon wieder tauchen Fragen auf. Sry
Bin noch ziemlich unerfahren mit Server Configs und ZFS.

Warum Intel Gen 12 und nicht Gen 14?
Warum den i7, reicht dafür nicht ein i5?
Warum die 2.5 SSDs von ADATA und keine NVMEs?
Halten die TLC SSDs das ZFS aus?
Ich habe gelesen das z.B. QLC SSDs ziemlich schnell durch ZFS kaputt gehen.
Kommen dann VMs und Container auf den ZFS Mirror-0 (Raid1) wo auch das Proxmox BS drauf ist und die Daten wie Filme etc was noch kommt auf die HDDs?
Wie darf ich mir das vorstellen?
 
Vielen Dank für die sehr ausführliche und wirklich tolle Erklärung.

Ich habe viel verstanden und konnte es auch nachvollziehen.
Damit hast du mir wirklich sehr weitergeholfen.

Im Grunde werde ich deine Empfehlung folgen.

Den i7 werde ich mir dann mal sichern und schon ein paar andere Teile und den Rest dann nach und nach holen.
Eilt ja nicht.

Noch mal vielen Dank für deine Hilfe.
 
Danke für den Hinweis.
Ich werde es mir anschauen.

Natürlich werde ich weiterhin berichten.
So etwas ist immer sehr hilfreich für Andere bei ihren Recherchen.

Es wird sich nur etwas hin ziehen, da ich nicht alles auf einmal kaufen kann.
 
  • Like
Reactions: news
Habe jetzt schonmal alles bestellt, bis auf:
  • 4x SSD
  • 1x HDD
  • Gehäuse
Nachtrag (13.08.2024):

Ich habe jetzt auch noch den Rest bestellt.
Ich denke es wird so um den 22.08 - 24.08. ankommen.
 
Last edited:
So, ich habe jetzt die gesamte Hardware da und zusammengebaut.
Keine Ahnung warum nur noch meine Posts da sind, deshalb hier nochmal die neue Hardware Liste auf rat von ¨News¨.

CASEFractal Design Node 804
MAINBOARDBiostar B760MX2-E PRO D4
CPUIntel Core i7-12700K, 8C+4c/20T, 3.60-5.00GHz
CPU-COOLERArctic Freezer 36 CO
RAMG.Skill RipJaws V 32GB, DDR4-3200, CL16-18-18-38
PSUSeasonic G12 GM 550W ATX
HDD2x Seagate IronWolf 8TB, 3.5"
SSD4x ADATA Ultimate SU800 1TB, 2.5"

Wie er schon erwahnt hat:
...
6) Im meinem Vorschlag gibt es 2 ZFS Pools:
a) der rpool bestehend aus 4x SSD für das BS, LXC, VM usw.
b) der dpool bestehend aus 2x HDD + 2x SSD (~ 100GB) für Daten usw.

Der rpool besteht aus ZFS mirror-0 (SSD-1,-2 100%) - stripe - ZFS mirror-1 (SSD-3,-4 mit 1. Partition mit die ca. 100 GB kleiner ist ), das sind bedeutet Lese- und Schreibzugriffe werden auf 4x SSD verteilt, die IOPS bei lesen ist ~ 4x SSD IOPS.
Beim Schreiben dann ~ 2x SSD IOPS.

Der dpool besteht aus ZFS mirror-2 (HDD-1,-2 100%) und wird noch um das ZFS special device aus (SSD-3,-4 mit 2. Partition 1 ca. 100 GB) erweitert.
...
Wie setze ich das ganze jetzt auf?
Installiere ich erstmal Proxmox auf ein ZFS (RAID0) mit SSDs 1&2 auf 100%, oder muss ich das ZFS (RAID1) der SSDs 3&4 mit ca 100G weniger schon bei der Installation hinzufügen?

Ich finde dazu nicht wirklich was im Netz. bzw weiss ich nicht wonach ich genau suchen muss.
 
Hier eine Bild mit allen Möglichkeiten der HDD und SSD Aufteilungen.
Bei den SSD2/SSD3 handelt es sich zum einen bei den Partionen1 um die Erweiterung des Pools ZFS rpool als zfs mirror1 und
als weiteres um verschiedene ZFS Möglichkeiten/ addons, um die HDD als Pool ZFS dpool maximal zu beschleunigen.
  • Das zfs special device ist ein must have, auf dem man auch noch kleiner Dateien speichern kann.
  • Das zfs zil/slog ist ein Zwischenspeicher für langsamere HDD Schreibzugriffe, würde ich bei 10 GBit/s eine ca. 40 GByte Partition geben.
  • Der zfs cache ist ein zfs lese cache und wird automatisch befüllt und genutzt, wenn die Daten auf der SSD liegen.
  • zfs zil/slog und zfs cache können jederzeit wieder entfernt werden.
Als nächsten Schritt müsstest Du Dir noch noch die Aufteilung der Partionen überlegen.
 

Attachments

  • 20240902-ZFS-Layout.pdf
    15.7 KB · Views: 12
Last edited:
@kurolinlin Du installierst als erstes über den Proxmox VE installer auf 2x SSD als ZFS Mirror (Raid1) das Betriebssystem.
Dann kannst Du schon mal die Grundeinrichtung von Proxmox VE vornehmen und auch zfs-auto-snapshot installieren.
Wichtig ist mir noch
Code:
zfs atime=off rpool
zu setzen.
Dein Proxmox Backupserver braucht auf seinem Dataspace ein CODE]zfs atime=on rpool[/CODE]
Dann setze ich mal global die auto-snap-shot auf off und nur dort auf on, wo ich es brauche.
Code:
zfs set com.sun:auto-snapshot=false rpool

I.A. ist es das Proxmox rpool/data Dataspace:
Code:
zfs set com.sun:auto-snapshot=on rpool/data

Danach kommen noch einige weitere Schritte alle auf der Konsole für dpool.
 
Danke schonmal für die Hilfe.
Meinst du Ich soll Proxmox auf ein ZFS Mirror (Raid1) installieren, denn in der Grafik ist die Efi Partition im ZFS Mirror (Raid0).
Das verwirrt mich ein wenig.
 
Ach so, zfs benennt ein zfs raid1 als zfs mirror und nummeriert das mit den Suffixen -0, -1 usw durch.
Das zfs mirror-1 wäre eine zfs raid1 auf den beiden Partitionen 1 der SSD2 und SSD3.
Diese werden dann über: exemplarisch zpool add rpool mirror <ssd2-part1-name> <ssd3-part1-name> hinzugefügt.
Testen kann und sollte man die Ausführung mit dem Parameter -n.

# https://openzfs.github.io/openzfs-docs/man/master/8/zpool-add.8.html

Die Partitionen auf den SSDs SSD2 und SSD3 lege ich mit cfdisk als root an.
Als erstes schlägt cfdisk "GPT" vor und das wird gewählt.

Deshalb müsste man sich vorher eine Aufteilung mit GB für alle Partitionen machen.
Es macht nichts, wenn am Ende der Partitionsabellen noch ein paar MB frei bleben.
Der Dateitype ist dann für jede Partition: "Solaris /usr & Apple ZFS".

Mit lsblk sieht man die Blockdivice unter /dev/sdX und die Partionstabelle.

Ich nutze dann als Partionsname die Auflistung unter ls -lA /dev/disk/by-id/.
Hier findet ich auf einem meiner System die "ata-" Bezeichnungen der Partitionsnamen, damit arbeite ich dann weiter.
 
Sorry dass ich hier reingrätsche. ABER ist ZFS mit Consumer SSDs wirklich "ratsam" .... ?
 
Bisher habe ich folgendes erreicht:
  • Proxmox installiert (ZFS Mirror SSD1, SSD2)
Code:
root in  pve in ~
❯ zpool status rpool
  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

errors: No known data errors
  • fish shell mit aliases und Starship Prompt eingerichtet (Ich mag eine saubere shell)
  • SSH-Port ändern und mit ssh-key absichern
  • mit fdisk die SSD3, SSD4 vorbereitet
Code:
root in  pve in ~ took 13s
❯ fdisk -l
Disk /dev/sda: 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: 953DB5D0-0F49-4CA7-B684-C7E83591A952

Device       Start        End    Sectors   Size Type
/dev/sda1       34       2047       2014  1007K BIOS boot
/dev/sda2     2048    2099199    2097152     1G EFI System
/dev/sda3  2099200 2000409230 1998310031 952.9G Solaris /usr & Apple ZFS


Disk /dev/sdb: 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: 611322BD-8A31-4D00-B1B6-DFFEB2EDC15A

Device       Start        End    Sectors   Size Type
/dev/sdb1       34       2047       2014  1007K BIOS boot
/dev/sdb2     2048    2099199    2097152     1G EFI System
/dev/sdb3  2099200 2000409230 1998310031 952.9G Solaris /usr & Apple ZFS


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: 28E9EED9-BCEF-494F-B390-E73462D37838

Device          Start        End    Sectors   Size Type
/dev/sdc1        2048 1790599999 1790597952 853.8G Solaris /usr & Apple ZFS
/dev/sdc2  1790600000 2000408575  209808576   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: AAB13AAC-BC2B-FC4C-BE73-767994E24F3E

Device          Start        End    Sectors   Size Type
/dev/sdd1        2048 1790599999 1790597952 853.8G Solaris /usr & Apple ZFS
/dev/sdd2  1790601216 2000408575  209807360   100G Solaris /usr & Apple ZFS


Disk /dev/sde: 7.28 TiB, 8001563222016 bytes, 15628053168 sectors
Disk model: ST8000VN004-3CP1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/sdf: 7.28 TiB, 8001563222016 bytes, 15628053168 sectors
Disk model: ST8000VN004-3CP1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 69CF060B-C424-1D47-AFEA-0BBADA6AE7C4

Device     Start         End     Sectors  Size Type
/dev/sdf1   2048 15628052479 15628050432  7.3T Linux filesystem
  • Die virbereiteten Partitionen der SSD3, SSD4 mittels dryrun -n getesten und dann ohne dryrun dem rpool hinzugefügt.
Code:
root in  pve in ~
❯ zpool add -n rpool mirror ata-ADATA_SU800_2O122LAB8AJ9-part1 ata-ADATA_SU800_2O1229AH85FU-part1
would update 'rpool' to the following configuration:

        rpool
          mirror-0
            ata-ADATA_SU800_2O122LAHGD2L-part3
            ata-ADATA_SU800_2O122L1BGCGE-part3
          mirror
            ata-ADATA_SU800_2O122LAB8AJ9-part1
            ata-ADATA_SU800_2O1229AH85FU-part1

root in  pve in ~
❯ zpool add rpool mirror ata-ADATA_SU800_2O122LAB8AJ9-part1 ata-ADATA_SU800_2O1229AH85FU-part1

root in  pve in ~
❯ zpool status rpool
  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 rpool 
NAME    SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
rpool  1.76T  1.79G  1.76T        -         -     0%     0%  1.00x    ONLINE  -

Jetzt muss ich erstmal schauen wie ich den dpool anlege und die ZFS Special device hinzufüge.
Ich habe da schon was über blockzize gelesen aber noch nicht recht verstanden.
Aber das reicht auch morgen.

Dennoch hat das rein lesen in die Befehlsstruktur, mit dem Schubser in die richtige Richtung, wieder richtig Spass gemacht.
Linux ist einfach toll.
 
Sorry dass ich hier reingrätsche. ABER ist ZFS mit Consumer SSDs wirklich "ratsam" .... ?
Absolut nicht ratsam, scheint hier aber mal wieder niemanden zu interessieren. Freue mich schon auf den Post in 6 Monaten, dass die SSDs die ersten Wearouts anzeigen...
 
  • Like
Reactions: Falk R.
@kurolinlin Bist du soweit mit der Hardware: CPU, Mainboard, CPU-Kühler, DDR4 Ram zufrieden?

Zur den SSDs sdc und sdd:
Code:
/dev/sdc2  1790600000 2000408575  209808576   100G Solaris /usr & Apple ZFS
/dev/sdd2  1790601216 2000408575  209807360   100G Solaris /usr & Apple ZFS
Hier passen die Partitionen 2 nicht zusammen und dies muss angepasst werden.

Dann braucht der ZFS Pool rpool noch quota auf 80% - 85% des Maximums.

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

Das verringert sehr die Abnutzung des Flash-Speichers.

Lieber eine Cronjob anlegen, der zpool trim rpool regelmäßig ausführt.
Evtl. ist schon einer im System verankert /etc/cron.d/zfsutils-linux.
 
Last edited:
@JensF Absolut?

Nun seine Entscheidung ist gefallen und es ist klar, dass es Enterprise SSD gäbe.
Aber:
in einem meiner Setups mit Crucial MX500 500GB (TWB 180 TB) als ZFS Special Device mit
special_small_blocks = 128k, liegt die Abnutzung der SSD, nach fast 4 Jahren nutzungsdauer, bei 1,89 %.

Somit ist seine Wahl ein Preiseistungsentscheidung.
Die ADATA SU800 Ultra 1 TB haben eine TWB 800 TB und 5 Jahre Garantie.
Und der Preis einer ADATA SU800 Ultra 1 TB liegt bei ~ 98 €.
Ein Austausch einer SSD ist problemlos nach 5 Jahren möglich, ohne das ein Datenverlust anstünde.
 
@news
Ja die Hardware gefällt mir soweit ganz gut.



OK das ist mir gestern wohl entgangen.
Ich habs korrigiert.
  • mirror-1 aus dem rpool enfernt
  • die Platten Sektor genau neu aufgeteilt
  • die partitionen wieder in den rpool hinzugefügt
Code:
/dev/sdc2  1790400001 2000115711  209715711   100G Solaris /usr & Apple ZFS
/dev/sdd2  1790400001 2000115711  209715711   100G Solaris /usr & Apple ZFS

Jetzt habe ich nur folgenden beim rpool stehen.

Code:
root in  pve in ~
❯ zpool status rpool
  pool: rpool
 state: ONLINE
remove: Removal of vdev 1 copied 23.7M in 0h0m, completed on Tue Sep  3 08:24:52 2024
        1.88K memory used for removed device mappings
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-2                              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



Wie habe ich denn die quota einzutragen?

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.

Bei mir sieht es folgendermaßen aus:

Code:
root in  pve in ~
❯ zpool list rpool
NAME    SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
rpool  1.76T  1.79G  1.76T        -         -     0%     0%  1.00x    ONLINE  -

root in  pve in ~
❯ zfs get quota rpool
NAME   PROPERTY  VALUE  SOURCE
rpool  quota     none   default

Bei mir wäre das dann 1,496.
Muss ich das mit Komma oder mit Punkt eintragen?

Habs eingetragen mit
Code:
root in  pve in ~
❯ zfs set quota=1.496T rpool
 
Last edited:
  • Like
Reactions: news
@news Jupp, absolut! Aber das Thema hatten wir beide ja schon. ;)
Erstens haben die Adata Teile nur 3 Jahre Garantie und zweitens werden die SSDs mangels PLP nicht wirklich die zu erwartende Schreib-Leistung mit ZFS bringen. Für 1/3 mehr hätte es auch schon SSDs mit PLP, doppelter TPW und 5 Jahren Garantie gegeben...
Aber hey, das ist nur ein Home-Setup. Also passt scho. ;)
 
  • Like
Reactions: news
Habe das System noch mal neu aufgesetzt und alles reproduziert um das vorherige Problem mit dem Mirror-2 zu lösen.



Hier die Ausgabe von des Cron Jobs

Code:
root in  pve in ~
❯ cat /etc/cron.d/zfsutils-linux
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# TRIM the first Sunday of every month.
24 0 1-7 * * root if [ $(date +\%w) -eq 0 ] && [ -x /usr/lib/zfs-linux/trim ]; then /usr/lib/zfs-linux/trim; fi

# Scrub the second Sunday of every month.
24 0 8-14 * * root if [ $(date +\%w) -eq 0 ] && [ -x /usr/lib/zfs-linux/scrub ]; then /usr/lib/zfs-linux/scrub; fi

Reicht das so?
Und wie geht es weiter?
 
Hallo @kurolinlin

Das sieht nach dem Script aus.

Zu den 8 TB HDDs, die kannst und solltest Du über die Proxmox VE GUI als ZFS Mirror (Raid1) Pool dpool einrichten.
Dazu erst die HDDs wipe'en, danach mit als GPT Einrichten und denn Assistenten nutzen.
Zu den ZFS Parametern, hast Du oben eine Anleitung.

Das ZFS Special Device fügen wir dann später hinzu.

Mir ist wichtig, dass Du auf dem ZFS dpool Datasets anlegst, wenn Du Daten speichern mochtest.

Ich lege als erstes ein pve Dataset an.
zfs create dpool/pve

Danach noch einige weitere:
Code:
zfs create dpool/pve/data #+ zfs set com.sun:auto-snapshot=true dpool/pve/data
zfs create dpool/pve/images
zfs create dpool/pve/backup
# meine persönlichen Sicherungen
zfs create dpool/pve/root #+ zfs set com.sun:auto-snapshot=true dpool/pve/root
zfs create dpool/pve/config #+ zfs set com.sun:auto-snapshot=true dpool/pve/config

Dazu muss man die Datasets noch die Proxmox VE Storage 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.

Code:
zfs set com.sun:auto-snapshot=true dpool/pve/data
zfs set com.sun:auto-snapshot=true dpool/pve/root
zfs set com.sun:auto-snapshot=true dpool/pve/config

Die Aufbewahrungszeit der zfs-auto-snapshot muss man selbst einstellen und ich reduziere sie meistens sehr stark.
Per Hand muss man dazu diese Daten editieren:
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

Es gibt auch hierzu Tools auf Github, um das geführt zu machen, aber es geht auch schnell über die Shell.

So laufen auf meinem Desktoprechner, mit diesen o.g. Einstellungen, 47 Snapshots in den unterschiedlichen Granulitäten auf.
Die Bereinigung, löschen von älteren zfs-auto-snapshot, erfolgt somit auch automatisiert.

Zur Kontrolle des Zustandes der zfs-auto-snapshot kann man checkzfs --sourceonly verwenden.
Install über: https://github.com/bashclub/check-zfs-replication
Grüße an sysops tv und das Team!
 
Last edited:

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!