Vorab sollten Sie sich mit den Grundlagen eines EC-Pools vertraut machen, dazu haben wir den Artikel "Was ist Erasure Coding und warum sollte man es nutzen?" für Sie vorbereitet.
Da Proxmox EC-Pools nicht nativ unterstützt, müssen hier noch zusätzliche Anpassungen vorgenommen werden. Grundsätzlich unterscheidet sich das vorgehen nicht von einem externen CEPH-Storage oder einem HCI Setup.
Damit ein EC-Pool in Proxmox verwendet werden kann, ist es erforderlich einen zusätzlichen RBD Pool (normal Replicated) einzubinden. Wir nehmen an, dass es den EC-Pool "ceph_ec" und Replicated-Pool "ceph_rbd" bereits gibt und ein zusätzlicher Admin-Keyring mit dem Namen "admin_ec" angelegt wurde. Ansonsten beachten Sie unsere Anleitungen zum erstellen eines EC-Pools, erstellen eines Replicated-Pools und anlegen eines Admin-Keyring.
Erstellen der Konfigurationen
Loggen Sie sich per SSH auf einem Ihrer Proxmox Nodes ein. Wechseln Sie nun in den Ordner "/etc/pve/priv/ceph
" (wenn der Ordner nicht vorhanden ist, legen Sie diesen an). Legen Sie hier nun die Dateien "ceph_rbd.conf
" und "ceph_rbd.keyring
" an.
In der Datei "ceph_rbd.conf
" hinterlegen Sie folgenden Inhalt:
[client.admin_ec]
rbd default data pool = ceph_ec
In der Datei "ceph_rbd.keyring
" hinterlegen Sie den Admin-Keyring des Users "admin_ec". Nachfolgend ein Beispiel wie dieser aussieht:
[client.admin_ec]
key = CQB5haPg9HjiEYHAedlhTkWy+lIRsVoUyfBUsg==
Wichtig: Fügen Sie am Ende der beiden Dateien unbedingt eine neue Zeile ein. Anderenfalls erhalten Sie beim erstellen von KVM VMs oder Container die Fehlermeldung "TASK
ERROR: unable to create CT 9999 - error during cfs-locked 'ceph_rbd'
operation: rbd error: global_init: error reading config file.
"
Hinzufügen des Storage zu Proxmox
Um den neuen EC-Pool nun in Proxmox verwenden zu können, muss der Storage noch hinzugefügt werden. Dies kann entweder direkt über die "storage.cfg
" erledigt werden oder per GUI. Wir nehmen hier den schnellen und einfachen weg per SSH.
Wechseln Sie in den Ordner "/etc/pve
" und öffnen Sie hier nun die "storage.cfg
". Sie sehen nun eine Übersicht über bereits hinterlegte Storages, fügen Sie am Ende einen neuen Absatz ein:
rbd: ceph_rbd
# rootdir for Containers and Images for KVM VMs
content rootdir,images
# Do not enable KRBD, for KVM VMs its not needed and for Containers it will be automatically enabled
krbd 0
# Add your IP-Addresses to your CEPH Mons
monhost 10.0.0.1 10.0.0.2 10.0.0.3
# The Name of the Replicated Pool
pool ceph_rbd
# The Username for new EC-Pool
username admin_ec
Sie sollten nun in Proxmox den neuen CEPH Storage "ceph_rbd
" sehen. Im Pool "ceph_rbd
" werden nun ein paar Dateien abgelegt, während die eigentlichen Dateien und damit der größte Teil im "ceph_ec
" Pool abgelegt werden.