(ein Update für Proxmox 6 finden Sie hier)
Im Prinzip ist die vorgesehene Einsatzweise von CEPH die, direkt "rohe" Disks als CEPH-OSD einzusetzen. CEPH selber kennt Spiegelung und Redundanz – es ist also beispielsweise unnötig, ein RAID-Volume einzusetzen, wenn CEPH ins Spiel kommt.
Nichtsdestotrotz gibt es durchaus Szenarien, in denen CEPH nur eine Partition einer Disk oder eines RAID-Volumes erhalten kann, z.B.
- Wenn (z.B. aus Performancegründen) ein grosses RAID-Volume vorgezogen wird, um auf demselben Volume System, CEPH-OSD und eventuell weiteren lokalen Storage-Partitionen vorzuhalten
- wenn auf einer kleinen Installation System und CEPH-OSD auf derselben Disk Platz finden müssen
- wenn CEPH auf einer bestehenden Installation eingesetzt wird und keine Disks extra für CEPH freigeschaufelt werden können
Tatsächlich ist eine solche Installation machbar, auch wenn sowohl CEPH als auch Proxmox den einen oder anderen Stein in den Weg legen:
- Partition CEPH-OSD-tauglich machen. Beispiel: Freier Platz auf /dev/sda soll für ein CEPH-OSD auf /dev/sda3 verwendet werden:
PTYPE_UUID=4fbd7e29-9d25-41b8-afd0-062c0ceff05d disk=/dev/sda part=3 OSD_UUID=`uuidgen -r` sgdisk --largest-new=$part --change-name="${part}:ceph data" \ --partition-guid=${part}:$OSD_UUID --typecode=${part}:$PTYPE_UUID \ -- $disk
wir verwenden sgdisk, um eine Partition /dev/sda3 anzulegen, die den freien Platz auf sda füllt und die richtigen Bezeichnungen erhält, um von CEPH genutzt werden zu können.
-
Proxmox erlaubt normalerweise nicht die Angabe einer Partitionsnummer für OSD. Damit dies möglich wird, editieren Sie die Datei /usr/share/perl5/PVE/API2/Ceph.pm. Suchen Sie nach der Zeile
$devname =~ s|/dev/||;
und kommentieren diese und die folgenden Zeilen bis und mit
my $devpath = $diskinfo->{devpath};
aus. Die letztere ergänzen Sie um
my $devpath = $devname;
Nun suchen Sie nach der Zeile
my $cmd = ['ceph-disk', 'prepare', '--zap-disk',
und entfernen das Argument –zap-disk, so dass die Zeile so aussieht:
my $cmd = ['ceph-disk', 'prepare',
Nach Neustart des pvedaemon können Sie nun mit
pveceph create-osd /dev/sda3
ceph-disk activate /dev/sda3
Die Partition auf die gewohnte Weise als CEPH OSD hinzufügen.