Ingo: Hallo, herzlich willkommen zur Radio Tux-Ausgabe im Januar 2025, heute mit Ansgar.
Ansgar: Ja, hallo, lange nicht mehr dabei gewesen, aber mal wieder da.
Ingo: Vor, ich glaube, anderthalb Jahren oder sowas haben wir mal eine Sendung gemacht,
Ingo: so Proxwalks, Mail-Server, keine Ahnung, überall sowas hatten wir geredet.
Ingo: Auch hier an dem Tisch, also ich habe jetzt noch einen Kaffee,
Ingo: du wolltest gerade keinen, I'll drink another drink of coffee here.
Ansgar: Prost.
Ingo: At my table. So, like that last time also.
Ingo: And I thought, we were in December, we were together on the Cephalocon in Genf, am CERN.
Ingo: How did you find that? Also, we were already a few times at CERN, funnily.
Ingo: Also, I don't know, I don't know.
Ansgar: Yeah, but that's the first time in the Science Center.
Ingo: Stimmt, in the Science Gateway. Yeah, that's they built new there.
Ingo: There was also a exhibition.
Ingo: The Globe there's already a while, but this bridge, where you can go through
Ingo: the street, where you can go through a couple of experiments,
Ingo: you can't even get into the field and such a thing.
Ingo: So it's on a level, if you're with a family in the area, it's definitely a Empfehlung,
Ingo: sich mal diesen Science Gateway anzugucken. Ja, auf jeden Fall.
Ansgar: Also gerade für die Familie. Ja, ich habe mir das erste Mal Zeit mit dir zusammen
Ansgar: genommen, um nochmal ein bisschen dann auch durch Genf zu laufen und mal ein
Ansgar: bisschen Genf zu erkunden.
Ansgar: Bis jetzt, immer wenn ich da war, habe ich im Grunde genommen nur den Bahnhof,
Ansgar: den Flughafen, was so dasselbe ist und ja, das Zern gesehen und war noch nie
Ansgar: wirklich in Genf selbst unterwegs.
Ansgar: Von dem her, ja, war gut, dass man sich auch dafür mal Zeit nehmen konnte.
Ingo: Genau, wir haben so ein paar Sehenswürdigkeiten in der Stadtmitte.
Ingo: Ich habe einfach geguckt, was muss man hier, was ich nicht, die Top Ten der
Ingo: Sachen, die man irgendwie in Genf
Ingo: gesehen haben muss, standen wir vor irgendeiner Wand mit, keine Ahnung,
Ingo: den großen Reformisten der Region irgendwie.
Ansgar: Es waren noch nicht mal irgendwie Schweizer.
Ingo: Schweizer glaube ich schon, aber zumindest keiner aus Genf.
Ansgar: Stimmt, ja, Yeah, so was.
Ingo: Irgend so was, genau. Ja, und dann ein bisschen durch die Altstadt getingelt.
Ingo: Und dann war da so ein komisches Fest, wo die sich alle gegenseitig besprüht haben.
Ansgar: Ja, irgendwie so mit Rasierschaum oder Sprühsahne. Ich weiß es nicht.
Ingo: Ein bisschen merkwürdig. Aber nö, wettermäßig hat es noch einigermaßen gepasst.
Ingo: Ein bisschen geschneit hat es vorher gehabt, aber...
Ingo: Ja, genau.
Ansgar: Ich hatte ein bisschen Angst, so im Dezember in die Schweizer Berge zu fahren, aber es war okay.
Ingo: Konferenzmäßig hast du irgendwas mitgenommen? Also ich habe,
Ingo: glaube ich, eine spannende Sache fand ich, das mit den Erasure-Coding-Geschichten.
Ansgar: Yeah, also wir waren ja nicht überall in denselben Vorträgen.
Ansgar: Den Erasure-Coding-Vortrag habe ich nicht gehört, weil ich da dann in dem,
Ansgar: ich sag mal, in diesem Sammlungssaal mich mit irgendwelchen Leuten unterhalten habe.
Ansgar: Yeah, relatively viele kamen dann halt auch, ja ich hatte halt mein Hetzner
Ansgar: T-Shirt an und hin und wieder kamen dann da auch Leute und haben halt gefragt,
Ansgar: was wir so treiben, wie wir es bauen und so, das war ganz gut da auch,
Ansgar: ja, ich sag mal in Anführungszeichen mit Kunden ins Gespräch zu kommen,
Ansgar: also die meisten waren jetzt nicht wirklich Kunden von ihrer Firma her,
Ansgar: sondern dann eher mit ihrem privaten Zeug, aber ja, das war hin und wieder auch ganz nett.
Ansgar: Ja, und dann halt habe ich relativ lange auch mit den Leuten von Bloomberg unterhalten,
Ansgar: die ja auch relativ aufwendige Ceph-Cluster mit Replikationen und so weiter
Ansgar: betreiben und auch so auf den einen oder anderen Fehler gestoßen sind und da
Ansgar: auch einen sehr, sehr guten Vortrag zu hatten,
Ansgar: wo sie sozusagen auch ein bisschen darauf eingegangen sind, was es dann bedeutet.
Ansgar: SEV Multisite in Operation zu betreiben und welche Fehlerbilder es da gibt und
Ansgar: wie man die dann eventuell auch beheben kann.
Ansgar: Das war auch wirklich ein sehr guter Vortrag. Leider gibt es die Aufzeichnung immer noch nicht.
Ingo: Das soll aber noch kommen.
Ansgar: Aber soll noch kommen, genau. Einen anderen Vortrag, den ich gehört habe,
Ansgar: der auch sehr spannend war, da ging es so ein bisschen um Performance-Counter innerhalb von SEV.
Ansgar: Also, welche Metric sagt dann was wie im CEF genau aus?
Ansgar: Und da ist der Vortragende auch nochmal teilweise auch explizit aufs Rados Gateway eingegangen.
Ansgar: Das war auch ganz, ganz interessant an der Stelle, um da ja auch wieder, ja,
Ansgar: a little bit more insights to get. In Jagger Traces there was a very interesting thing.
Ansgar: Then there was a other thing where it was a proof of concept.
Ansgar: Where the idea was, that you buy S3 prepaid-based and then a certain contingent
Ansgar: of requests and traffic and Größe has und dann halt eben dem Loadbalancer dann
Ansgar: halt entsprechend dann erst abgeschnitten hat und man dann quasi wieder Kontingent nachkaufen muss,
Ansgar: wo es halt schon konkreter auch so Richtung Produktideen ging.
Ansgar: Das war auch ein sehr interessanter Vortrag.
Ansgar: Und ja, so ein paar War Stories gab es auch.
Ansgar: Ich erinnere mich an einen aus Australien, bei dem ist halt die Klimaanlage
Ansgar: ausgefallen Und das hat halt dazu geführt, dass sich die Panels vom Doppelboden schon verformt haben.
Ansgar: Also auch sehr eindrucksvolle Fotos in dem Vortrag gewesen.
Ingo: Und das ist auch nochmal ein bisschen heißer als bei uns hier.
Ansgar: Ja, ich glaube, es waren über 60 Grad in dem Rechenzentrum.
Ansgar: Also die haben wohl die Türgriffe nicht mehr anfassen können, so heiß waren die. Okay.
Ansgar: Und haben es aber trotzdem geschafft, das Cephcluster ohne Datenverlust,
Ansgar: aber halt mit Downtime, aber ohne Datenverlust wieder zu recoveren und haben
Ansgar: dann so Dinge erwähnt, was sie halt so gefunden haben.
Ansgar: Haben dann halt auch erzählt, dass sie dann erst auf den Upmap Remapper gestoßen sind und solche Dinge.
Ansgar: Aber es war halt mal ein schöner Vortrag halt auch, wo man halt sieht,
Ansgar: wie gut Ceph ist, wenn es um Datensicherheit geht.
Ansgar: Es gibt ja viele, die sich immer beschweren, ja, Ceph ist komplex und es ist
Ansgar: langsam, aber eben da war es halt auch mal schön einfach, ja,
Ansgar: das mag sein, aber es verliert eben keine Daten und man muss sich sehr,
Ansgar: sehr, sehr viel Mühe geben.
Ansgar: Und das Beispiel war sehr eindrucksvoll.
Ingo: Ja, das glaube ich sofort, genau. Deswegen benutzen wir auch gerne CEF,
Ingo: klar, das mit der Latenz, das ist einfach einfach ein Problem.
Ingo: Und klar, es wird Systeme geben, die in dem und dem Fall einfach viel,
Ingo: viel schneller sind, aber ja, es ist halt super flexibel, kann super viel damit
Ingo: machen und klar, man muss sich reinarbeiten, hat eine hohe Lernkurve.
Ingo: Ich habe mir ein paar Vorträge angeguckt, Da kommen wir aber in der folgenden
Ingo: Sendung auch nochmal dazu, weil oder im Anschluss gibt es noch zwei Interviews,
Ingo: die sich so ein bisschen auch mit dem Einsteiger-Teil beschäftigen. Da geht es um Microsoft.
Ingo: Also ich habe gesagt, klar, ZEV ist irgendwie kompliziert, muss man sich erstmal
Ingo: ein bisschen reinnerden.
Ingo: Aber wenn man das auf seinem eigenen Laptop mal ausprobieren will oder mal schnell
Ingo: eine Testumgebung zusammenklicken möchte, dann gibt es Microsoft.
Ingo: ZEV, dazu gibt es noch einen Vortrag und dann auch so, wenn man ZEV zu Hause benutzen will.
Ingo: Um Fotos abzuspeichern oder solche Geschichten. Da haben wir auch nochmal ein
Ingo: Interview in dem Bereich.
Ingo: Und das waren so die Sachen, die ich mir angeguckt hatte.
Ingo: Dann aber auch noch, was es gerade Neues gibt, wenn man zum Beispiel ZEV per
Ingo: Samba exportieren will. Da findet gerade ein bisschen Entwicklung statt.
Ingo: Und was ich auch ganz spannend fand, soll demnächst die Möglichkeit geben,
Ingo: dass man unter einem, also man hat ja ZEV-Dashboard.
Ingo: Und wenn du jetzt aber irgendwie fünf Cluster hast, willst du ja nicht auf fünf
Ingo: verschiedene Dashboards gehen, sondern da soll es auch die Möglichkeit geben,
Ingo: dass du ein Dashboard hast und mehrere Cluster darin anzeigen kannst.
Ingo: Also so eine Art Multi-Site-Dashboard. Das finde ich ganz spannend.
Ansgar: Ja, es gibt ja in dem aktuellen Reef-Release gibt es ja schon die Möglichkeit,
Ansgar: dass man zumindest das Rados Gateway Multi-Site halt sieht, wie es konfiguriert
Ansgar: ist und welche Sites es gibt.
Ansgar: Aber ja, definitiv ein Improvement.
Ansgar: Was auch kommen wird, das hatten sie glaube ich auch auf der Cephalo schon gezeigt
Ansgar: ist, dass es für die Rados Gateways, für den Replication-Modus einen Wizard
Ansgar: geben wird, also dass man sagen kann.
Ingo: Dass du es im Dashboard direkt durchklicken kannst.
Ansgar: Dass du im Dashboard sagen kannst, ich möchte diesen Bucket von Site A nach
Ansgar: Site B synchron, nee nicht synchron, aber unidirektional oder bidirektional replizieren.
Ansgar: Ja, das wird kommen. Sieht ganz gut aus, was ich da gesehen habe.
Ingo: Genau, das so ein bisschen zur CEF Halocon, die wie gesagt im Dezember 2024
Ingo: in Genf stattgefunden hat und ja,
Ingo: jetzt waren wir gestern auch gerade noch auf einem kleinen CEF Day hier in Berlin,
Ingo: also wer sich für CEF interessiert, gibt immer mal wieder auch in Deutschland
Ingo: kleinere Konferenzen oder Meetups zu diesem Thema.
Ingo: And also yesterday were a couple of people there from the university,
Ingo: who have been informed and probably a couple of CEF projects or a CEF project wanted to go on.
Ingo: Also a super community, both in Genf on the CEF Valocon as well as in small events.
Ingo: Man finds actually always people, who help you.
Ingo: And if you have a interest in your interest, you can just come on us or come on the community.
Ingo: Drauf zu, um einfach eure Projekte zu machen oder wie gesagt,
Ingo: ihr fangt dann erstmal an mit den Sachen Microsoft oder sowas,
Ingo: was wir noch als Interview haben.
Ingo: So, dann hast du gerade schon gesagt, Hetzner Online bist du gerade,
Ingo: du machst jetzt mehr S3 Zeug, also Radus Gateway, S3 ist so jetzt gerade so deine Baustelle.
Ansgar: Ja genau, also ich bin jetzt seit etwas mehr als ein Jahr bei der Hetzner Cloud,
Ansgar: also es gibt ja Hetzner Online und es gibt die Hetzner Cloud,
Ansgar: das sind sozusagen zwei unterschiedliche eigenständige Unternehmen,
Ansgar: wobei das eine eine 100%ige Tochter der anderen ist.
Ansgar: Aber die Hetzner Cloud ist im Wesentlichen auch nur Kunde der Hetzner Online.
Ansgar: So ganz grob. Und da bin ich jetzt mit im Object Storage Team tätig und wir
Ansgar: haben uns halt in dem letzten Jahr sehr intensiv damit beschäftigt,
Ansgar: bei Hetzner halt Object Storage, also S3, als Produkt einzuführen.
Ansgar: Ja, und das ist mittlerweile live und produktiv.
Ansgar: Man kann das als Kunde kaufen und wir sind fleißig dabei, hinter den Kulissen
Ansgar: weiter an eventuellen weiteren Features zu planen, natürlich immer die Performance
Ansgar: ein bisschen mit im Blick zu behalten.
Ansgar: Ja, und die Cluster am Leben zu erhalten, defekte Festplatten auszutauschen, derer Dinge mehr.
Ingo: Was ist jetzt das Tolle an S3, an Rados Gateway? Warum sollte man sich das angucken,
Ingo: wenn man jetzt CEF macht?
Ingo: Oder auch nicht, es kann ja auch ein anderes Produkt sein, denn S3 ist ja erstmal nur ein Protokoll.
Ansgar: Genau, also S3 an sich, holen wir da mal ein bisschen aus, ist ja eine Erfindung
Ansgar: von Amazon, was erstmal grundsätzlich nur eine API ist, um Daten abzulegen in Form von Objekten.
Ansgar: Vielleicht hat der eine oder andere schon mal WebDAV gesehen.
Ansgar: Das ist aber auch schon eher betagt mittlerweile.
Ansgar: Es gibt im HTTP verschiedene Request-Typen. Es gibt sowas wie Head.
Ansgar: Das sagt halt nur, gibt es die Datei, ja oder nein? Oder gibt es die HTML-Seite ganz früher?
Ansgar: Also ich kann den Head-Request auf die Index-HTML machen und im Idealfall kriege
Ansgar: ich dann halt zurück, okay, ja, ist da.
Ansgar: And what it's then also like,
Ansgar: that's like so the Classical, that Get-Request there I'd like a HTML-Seite earlier like that,
Ansgar: the then in my browser will show up and there is also like that Put-Request
Ansgar: and that Delete-Request Put, I'm going to get something up, delete,
Ansgar: I'm going to get something up and Amazon is now for many years on the idea of there will be a.
Ansgar: Storage system where I say, okay,
Ansgar: my head is so was wie ls, my get is so was wie cut or download,
Ansgar: my put is a upload,
Ansgar: and my delete is the rm-request.
Ansgar: Ja, und da ist natürlich mittlerweile deutlich mehr drumherum gekommen.
Ansgar: Rechte Management, ACLs, automatisches Aufräumen, rechtssichere Archivierung,
Ansgar: sodass ich Dateien erst nach zehn Jahren wirklich löschen kann und derer Dinge mehr.
Ansgar: Aber was S3 erstmal grundsätzlich ist, dass es sehr, sehr einfach ist.
Ansgar: Das steht ja auch für simple.
Ingo: Weil alles, was simple oder leichter den Namen hat.
Ansgar: Sagen wir mal so, die API war mal sehr einfach und ist halt mittlerweile auch
Ansgar: sehr in die Jahre gekommen.
Ansgar: Es gibt halt Request-basiert, es gibt XML-Teile, ganz wilde Dinge.
Ansgar: Grundsätzlich ist es aber ein Object Storage und Object Storage heißt erstmal,
Ansgar: dass man ein, ich sag jetzt mal, Verzeichnis hat.
Ansgar: In dem Fall ist der richtige Begriff ein Bucket und in diesem Bucket gibt es
Ansgar: halt Objekte und die liegen da in einer flachen Struktur.
Ansgar: Das heißt, eigentlich gibt es keine Verzeichnisse in einem S3.
Ansgar: Die Namen kann man jetzt so speichern, dass da ein Slash drin ist und dann sind
Ansgar: die Clients dazu in der Lage, das dann als Verzeichnis zu visualisieren.
Ansgar: Tatsächlich ist es aber eigentlich nur ein längerer Name, wo halt ein Slash drin ist.
Ansgar: Ja, und das hat jetzt rein technisch keinerlei größere Beschränkungen,
Ansgar: was die Anzahl der Objekte angeht, was die Größe der Objekte angeht.
Ansgar: Da gibt es eigentlich technisch und logisch kaum Begrenzungen.
Ansgar: Man wird es begrenzen, weil es halt irgendwann nicht mehr verwaltbar ist.
Ingo: Aber grundsätzlich kann ich halt… So viele Millionen Objekte irgendwie dort liegen.
Ansgar: Dann gibt es Probleme. Genau, also man kann halt Millionen von Objekten und
Ansgar: zig Petabyte an Daten in einen solchen Bucket speichern.
Ansgar: Genau. Ja, und um jetzt den Bogen zu Hetzner nochmal zu spannen,
Ansgar: es gab halt in der Vergangenheit sehr, sehr viele Kunden, die halt regelmäßig
Ansgar: nach so einem Produkt gefragt haben und ja, dann hat sich die Geschäftsführung
Ansgar: irgendwann dazu entschieden,
Ansgar: so ein Produkt zu bauen und ja, das muss dann halt ja auch sauber integriert
Ansgar: werden in die Hetzner Management.
Ansgar: That the customers see that they have to see it. It must be done at the end of time.
Ansgar: Because we don't want to do that for a while. It should be at least somehow.
Ansgar: And these things are in many Open Source Projects not just a part of the project itself.
Ansgar: So we had to do a lot of work to integrate, that it works so well and that it works for the users.
Ingo: And S3 is, as I said, a API, which is defined by Amazon,
Ingo: but because it's just easy and very much and very much is, have many Storage-in-bieters
Ingo: wondered, okay, we also bieten this auch an.
Ingo: Deswegen ist es zum Beispiel bei CEF drin, MinIO ist auch ein Open Source Ding, was das anbietet.
Ingo: Ganz, ganz viele aber auch kommerzielle Anbieter sagen mittlerweile,
Ingo: sie haben so eine S3-API, bieten die an und es gibt ganz, ganz viele Tools,
Ingo: ganz, ganz viele Clients, die egal, ob das jetzt so eine Art FTP-Programm ist
Ingo: oder ein bisschen mit Webinterface,
Ingo: schöner, die dir dann diese Daten wieder anzeigen können, dass du eben doch
Ingo: in deinen Dateien darum suchen kannst.
Ansgar: Und was halt auch wichtig ist, es hat sich halt auch bei ganz vielen Anwendungsprogrammen
Ansgar: durchgesetzt, also allen voran Backup-Systeme.
Ansgar: Es gibt, glaube ich, kaum ein Backup-System, was irgendwie größer oder relevanter
Ansgar: ist, was nicht in irgendeiner Art und Weise Backups auch in einem S3-System
Ansgar: speichern kann, weil es sich halt einfach auch anbietet.
Ansgar: Also das ganze Thema Backup-to-Disk is basically always always with S3 possible.
Ansgar: And many other systems have now built into S3.
Ansgar: Or there are more legacy systems in the way, to use on a data system.
Ansgar: Also, that you have a S3-Speicher, that has then but as Mountpoint in the Linux-System used to be used.
Ingo: Kommen wir gleich, glaube ich, auch nochmal zu. Genau, also ganz, ganz viele Tools.
Ingo: Trotzdem muss man sich natürlich erstmal auf ein System so ein bisschen festlegen.
Ingo: Wir machen halt ziemlich viel CEF, bietet sich auch an, aber wie gesagt,
Ingo: bei uns auf Arbeit, MinIO läuft da auch.
Ingo: Gerade in dem Backup-Fall will man jetzt vielleicht nicht die Daten noch mal
Ingo: dreifach repliziert speichern, sondern will es irgendwie anders machen.
Ingo: Und wir machen jetzt die Backups zum Beispiel mit Rastic und dann ist das genau der Fall.
Ingo: Ich nehme mir das, schmeiße es gegen S3. and what that for a system behind it is not at all.
Ansgar: That is also a thing that you must always have a little in the back of the head.
Ansgar: There are different servers that can now so many Festplatten on and so big are they can,
Ansgar: that you must think if you need to really need a additional clustered system
Ansgar: or Oder ist es vielleicht für die zusätzliche Kopie von meinem Backup vielleicht ausreichend,
Ansgar: einen Server zu haben, der vielleicht sogar am Ende so was wie 4 Petabyte Speicherplatz
Ansgar: hat? Weil das ist durchaus machbar heutzutage.
Ansgar: Und 4 Petabyte muss man halt auch erst mal voll bekommen.
Ingo: Ja.
Ansgar: Also es gibt ja hier dieser Hochkant, wo man die Festplatten hochkant in die Systeme schiebt.
Ansgar: Da gibt es Systeme, die können 120 Festplatten auf einem System aufnehmen.
Ansgar: Oder eben auch, ja, es gibt ja immer noch J-Bot-Systeme, die man dann halt noch
Ansgar: zusätzlich an solche Server anschließen kann.
Ansgar: Also man kann auch einen einzelnen Server mit sehr viel Daten bauen und vielleicht
Ansgar: ist das der richtige Ansatz, vielleicht aber eben auch nicht.
Ansgar: Kommt immer ein bisschen drauf an.
Ingo: Genau, wenn ich es aber mit CEF machen will, egal ob ich danach Dreifach-Applikationen,
Ingo: oder Erasure-Coding oder sowas verwende,
Ingo: muss ich natürlich auch, muss ich diese Radius-Gateways hochfahren,
Ingo: die eben diese API mir bereitstellen und dann habe ich davor ja meistens auch
Ingo: nochmal irgendwie, weiß ich nicht, ein HA-Proxy oder irgendwas,
Ingo: was die dann auf die verschiedenen Rados Gateways,
Ingo: weil einer reicht meistens nicht, will ich auch aus Hochverfügbarkeitsgründen
Ingo: vielleicht nicht nur einen haben, irgendwie verteilt, ne?
Ansgar: Ganz genau, ja. Also ganz klassisch, das Rados Gateway fährt man in der Regel
Ansgar: auf einer internen IP-Adresse hoch und hängt dann seinen Loadbalancer davor.
Ansgar: Es gibt aber durchaus auch Setups, wo das Rados Gateway direkt schon mit einer
Ansgar: öffentlichen IP-Adresse aus dem Internet heraus erreichbar ist.
Ansgar: I personally would not do it, but there are people who do it.
Ansgar: And in the case of Hetzner, it does not do it. Because we obviously not only
Ansgar: do that S3 protocol, but also do with the protocol things do.
Ingo: Abrechungstechnische Sachen.
Ansgar: Abrechungstechnische Sachen zum Beispiel.
Ingo: Und ich habe wahrscheinlich auch so den Vorteil, dass ich auch das nochmal so,
Ingo: naja Firewall nicht, aber ich kann bestimmte Requests zum Beispiel nicht durchlassen
Ingo: an meiner Rails-Gateway oder solche Geschichten.
Ansgar: Also ja, man würde dann da von einer WAV, also Web-Application-Firewall reden.
Ansgar: Das ist jetzt im Fall vom HA-Proxy vielleicht ein bisschen hochgegriffen,
Ansgar: aber grundsätzlich sind solche Dinge eben möglich, dass man da halt nochmal
Ansgar: zusätzlich mit Access-Control-Lists auf Layer 7, sprich HTTP-Ebene Dinge tun kann.
Ingo: Genau, und ich habe im HA-Proxy auch die Möglichkeit, so Lua-Skripts zu nehmen
Ingo: und Dinge nochmal umzuwandeln und Dinge zu machen.
Ansgar: Genau, oder eben Lua-Skript, also im Fall von Hetzner müssen wir auf Lua an
Ansgar: einigen Stellen zurückgreifen, einfach weil die internen Konfigurationsmechanismen,
Ansgar: die die HA-Proxy-Konfiguration selbst bietet, da nicht reichen.
Ansgar: In der Regel reicht es aber auch, ja, auf die, ich sag mal, Bordmittel zurückzugreifen,
Ansgar: die HA-Proxy da schon mitbringt.
Ingo: Gibt es da irgendwie eine coole Anleitung oder so, die du empfehlen kannst,
Ingo: wenn man sich jetzt sowas selber bauen würde wollen, aber vielleicht hat man
Ingo: schon einen CEF-Cluster und würde sich jetzt gerne auch mit S3 beschäftigen und?
Ansgar: And it's a lot of resources.
Ansgar: In the first place, you start the Rados Gateway.
Ansgar: And the standard configuration is in the first place.
Ansgar: Then you have the US East 1, which is the default of Amazon.
Ansgar: That's also in the default zone of the Rados Gateway.
Ansgar: And if you're doing fine, you can start the same.
Ansgar: Just start and then you can use the HAProxy, the engine X, the caddy,
Ansgar: whatever you want and then you can use the Let's Encrypt for the HTTPS-certificate.
Ansgar: And then it was that actually already.
Ingo: Selbst mit dem Standard-Konfigurationstool von CEF, CEF-ADM,
Ingo: kann man mittlerweile, glaube ich, auch mit ein paar wenigen Kommandos sozusagen
Ingo: einen HA-Proxy starten.
Ansgar: Genau, genau. Der HA-Proxy dort ist sogar auch schon hochverfügbar,
Ansgar: wird hochverfügbar konfiguriert.
Ansgar: Das heißt, es ist nicht nur ein HA-Proxy, sondern auch ein Keepalive-D mit einer
Ansgar: Service-IP-Adresse, was noch
Ansgar: dazu konfiguriert wird. Also das ist durchaus benutzbar für, ich sag mal.
Ingo: 80, 90 Prozent der Leute wahrscheinlich.
Ansgar: Genau, genau. Aber sobald man halt sagt, okay, man möchte mehrere aktive H-Proxys
Ansgar: parallel haben etc., dann ist das Setup natürlich deutlich komplexer.
Ansgar: Aber das ist, glaube ich, für die meisten der Hörer gar nicht relevant.
Ingo: Genau, ich wollte gerade sagen, die meisten unserer Hörer sind nicht hetzender.
Ingo: Die wollen vielleicht nicht gleich so was Großes bauen.
Ingo: Aber nichtsdestotrotz ist es machbar. Man kann erst mal ja auch da anfangen
Ingo: und selbst wenn man schon mal ein hochverfügbares Setup mit HA-Proxy hat,
Ingo: wird das für die meisten Anwendungsfälle, glaube ich, ausreichen.
Ingo: Und wenn man das dann hat, dann kann man sich ja dann immer noch Gedanken darüber
Ingo: machen, Multisite, irgendwelche Replikationen dazwischen. Du hattest die eine
Ingo: US-East-Zone genannt. Man kann natürlich auch noch mehr machen.
Ingo: Und man kann auch solche Sachen machen wie Daten, die länger nicht aufgerufen
Ingo: wurden, kann ich von schnellen NVMIs vielleicht nach langsamen Festplatten auslagern.
Ingo: Alles sowas wäre mit so einem Setup dann möglich. Exactly.
Ansgar: Right. Right. Right. Right. Right. Right. Right.
Ansgar: Right. Right. Right.
Ansgar: Right.
Ansgar: Wir sind da vielleicht ein bisschen anders.
Ingo: Wir sind IT-Lehrer, genau. Wir nerden uns halt in sowas rein.
Ingo: Aber nichtsdestotrotz.
Ingo: Und Heimautomatisierung haben wir die letzten Tage uns auch ein bisschen intensiver unterhalten.
Ingo: Bin gerade auch dabei, mit Home Assistant ein bisschen mehr rumzuspielen.
Ingo: Aber auch das werden wir in einer der nächsten Radio-TUX-Sendungen nochmal besprechen.
Ingo: Ich weiß jetzt nicht, ob wir zwei, aber wir hatten auf jeden Fall,
Ingo: oder ich habe dann noch ein paar Kandidaten, die mit mir da auch drüber reden möchten.
Ingo: Genau. Also das kommt in einer der nächsten Sendungen definitiv.
Ingo: So, dann hatten wir, vorhin hast du schon mal gesagt, man kann quasi S3 ja auch
Ingo: irgendwie mounten wieder als File-System.
Ingo: Solche Geschichten, weil es eben extrem viele Tools gibt, die mittlerweile auf S3 aufsetzen.
Ingo: Also nicht nur die, die das auf der Kommandozeile sozusagen sprechen.
Ingo: Hat auch Web-Interfaces und sowas gemeint. Aber eine interessante Idee ist tatsächlich
Ingo: auch, ja, wieder ein File-System draus zu machen.
Ingo: Einfach um dieses, es skaliert sehr gut.
Ingo: Ich kann es, ich habe ein Shared-File-System über ganz, ganz viele Ecken plötzlich wieder.
Ingo: Da hattest du mir vor ein paar Monaten von einem Programm erzählt oder von einem,
Ingo: ja, Tool erzählt, Juice.fs.
Ansgar: Ja.
Ingo: Genau, was macht das? Wie funktioniert das?
Ansgar: Ja, ich hole mal kurz ein bisschen aus.
Ansgar: Grundsätzlich gibt es ja jede Menge Dateisysteme, die versuchen aus einem Object
Ansgar: Storage S3 wieder ein Dateisystem zu bauen und das Problem ist immer,
Ansgar: dass halt so ein Dateisystem halt Metadaten hat und die Metadaten müssen zusammen
Ansgar: mit den Dateien abgespeichert werden.
Ansgar: We're talking about the data, who has the Lese, Schreibrechte, etc.
Ansgar: Or how big is the data, when was the last time changed the data,
Ansgar: when was the data used to be done.
Ingo: That's the case for all the data systems. All of them have to hold their metadata.
Ansgar: And at the same time,
Ansgar: Auf Dateisystemen wie NFS ist es ja üblicherweise so, dass es halt nur einen
Ansgar: Server gibt, der dieses Dateisystem zur Verfügung stellt und dieser eine Server
Ansgar: kennt halt alle Metadaten,
Ansgar: sprich wie groß ist die Datei, wer darf die Datei bearbeiten, wem gehört sie etc.
Ansgar: Im Fall von einem Object Storage haben wir ja jetzt HTTP als Schnittstelle und
Ansgar: jetzt vielleicht nicht nur ein Client,
Ansgar: sondern viele Clients, die halt versuchen gleichzeitig auf diesem Object Storage
Ansgar: zuzugreifen, auf diesem Bucket zuzugreifen und daraus wieder ein Dateisystem
Ansgar: für den Client darzustellen.
Ansgar: Und dann hat man halt sehr schnell das Problem, mehrere Leute wollen halt ein
Ansgar: und dieselbe Datei öffnen, da drin schreiben,
Ansgar: also das Locking von solchen Dateien oder jemand legt in ein Verzeichnis eine
Ansgar: Datei A, der andere legt eine Datei A rein, welche Datei A ist jetzt die richtige, etc.
Ansgar: Das ist ein Riesenproblem und das hat in der Vergangenheit immer dazu geführt,
Ansgar: dass diese Ansätze entweder diese Probleme ausgeklammert haben oder sehr langsam waren.
Ansgar: And with JuiceFS are the people from JuiceFS on a very interesting idea, my opinion.
Ansgar: And they said, okay, we have one, what a object storage is, what a very good thing is.
Ansgar: And that's the actuality of objects, of the file as the file as the file as the file.
Ingo: Not in blocks.
Ansgar: In blocks, shard, when it's very big data, but first when you look at it in S3, you can't see,
Ansgar: which data that is, what's inside it is it's not more recognizable,
Ansgar: even in which file it is not more recognizable, because that's for an object storage not relevant,
Ansgar: what juiceFS then but does, um this problem with the metadata and so on to solve,
Ansgar: it bedient sich eines Datenbank-Layers und speichert halt diese ganzen Metadaten.
Ansgar: Welches Objekt ist welche Datei? Wem gehört die? Wie groß ist die?
Ansgar: Wann wurde die das letzte Mal bearbeitet? Etc. in einer lokalen Datenbank.
Ansgar: Und eine sehr interessante Datenbank, meiner Meinung nach, ist jetzt nicht wirklich
Ansgar: eine Datenbank, kann man sich widerstreiten, ist Redis, was halt eher für seine
Ansgar: Caching-Funktionalitäten bekannt ist, weil es eben eine sehr schnelle,
Ansgar: wie sagt man, NoSQL-Datenbank, würde man vielleicht sagen.
Ingo: In-Memory.
Ansgar: Genau. Und ja, wenn man jetzt dieses JuiceFS zusammen mit Redis kombiniert,
Ansgar: erhält man ein sehr schnell brauchbares Dateisystem,
Ansgar: weil die ganzen Dateisystemstrukturen mit allen Metadaten liegen ja lokal oder
Ansgar: sehr nah in einem Redis, was sehr schnell ist.
Ansgar: And first when I download the file, open, or use it, as always,
Ansgar: then things happen in the object storage.
Ansgar: Und das macht das Ganze sehr interessant. Der nächste Vorteil,
Ansgar: den das wiederum mitbringt, wenn man eine Datenbank im Hintergrund hat,
Ansgar: ist halt, dass mehrere Leute gleichzeitig auf diese Datenbank zugreifen können.
Ansgar: Das heißt, ich kann jetzt auf mehreren Computern gleichzeitig dasselbe JuiceFS, den selben Bucket,
Ansgar: mounten und alle Computer sehen das gleiche Dateisystem und wenn eine Datei
Ansgar: gelockt ist, ist die halt auch gelockt und von jemandem anders in dem Moment
Ansgar: öffnenbar, bearbeitbar,
Ansgar: was halt dann halt auch sehr interessant ist.
Ansgar: Im Grunde genommen, wenn wir jetzt wieder den Bogen zu Ceph zurück schlagen,
Ansgar: dann haben wir sowas wie CephFS,
Ansgar: aber bei CephFS ist es so, dass jeder Client ja das komplette Cephcluster,
Ansgar: also die Monitore und die OSDs erreichen können muss, was halt Firewall mäßig
Ansgar: unter Umständen ein Problem sein kann.
Ansgar: Sicherlich ist, wenn man die Möglichkeit hat und das technisch kein Problem
Ansgar: ist, sollte man wahrscheinlich eher auf Technologien wie CephFS zurückgreifen.
Ansgar: Wenn es aber darum geht, dass man sagt, okay, ich habe jetzt hier eine VM oder
Ansgar: mehrere VMs, die halt ein Dateisystem haben sollen, irgendwelche ganz kleinen VMs.
Ansgar: Und diese VMs sollen jetzt irgendwie aber ein Dateisystem untereinander sich
Ansgar: tauschen, wo vielleicht auch nur Konfigurationsdaten oder sich wenig ändernde Daten drin liegen.
Ansgar: Dann ist vielleicht so ein Juice.f.s mit so einem Bucket durchaus eine valide Funktion.
Ingo: Genau. Und ich brauche nur HTTP.
Ansgar: Genau.
Ingo: Muss nicht noch irgendwelche zigtausend anderen Ports freigeben.
Ansgar: Genau. Also was halt an dem JuiceFS ganz interessant ist, ist halt,
Ansgar: dass es zum Beispiel auch für Kubernetes eine Integration gleich mitbringt, also so ein CSI-Driver.
Ansgar: Und ich benutze das in einem Setup tatsächlich so, dass ich Redis in Form von KeyDB benutze.
Ansgar: KDB ist ja eine Reimplementierung von Redis, unterstützt das Redis-Protokoll,
Ansgar: benutzt aber unten drunter Paxos, um gleich ein hochverfügbares Cluster zu bauen.
Ingo: Also Paxos ist so ein Konsens-Algorithmus.
Ansgar: Ein Konsens-Algorithmus, genau. Also man hat nicht das Problem mit Redis-Clustern,
Ansgar: die man verwalten muss, was unter Umständen ziemlich, sagen wir mal, komplex ist.
Ansgar: Und eine Wissenschaft für sich, die man dann eben auch noch beherrschen muss,
Ansgar: das macht KeyDB für einen deutlich leichter.
Ansgar: Und auch da gibt es einen Helm-Chart, was das für einen schon sozusagen komplett mitbringt.
Ansgar: Man sagt dann halt nur noch, ich hätte ganz gerne sechs Instanzen,
Ansgar: drei Instanzen, wie auch immer, von dieser KeyDB und habe dann schon mal den
Ansgar: Key-Value-Store an der Stelle schon mal mitgebracht.
Ansgar: Und dann installiere ich halt noch den CSI-Treiber and I show him for his metadata
Ansgar: on the KeyDB, which I have just deployed.
Ansgar: And then I have a very elegant variant of PVC, also Volume Claims in Kubernetes, to make.
Ansgar: That's the thing, because it's with juice.fs.
Ansgar: Was gebaut ist, ist es dann halt auch Multiple Read and Write,
Ansgar: das heißt unterschiedliche Container auf unterschiedlichen Nodes können dasselbe
Ansgar: Dateisystem zur gleichen Zeit konsumieren,
Ansgar: was unter Umständen eine Anforderung ist, die man hat und die ist damit gelöst.
Ansgar: Full Disclaimer an der Stelle, es ist natürlich trotzdem ein Dateisystem,
Ansgar: was auf HTTP im Hintergrund basiert. Eine Datenbank würde ich da jetzt nicht reintun.
Ansgar: Aber für irgendwelche erzeugten Dokumente, ich sag jetzt mal Rechnungen, E-Mails etc.
Ansgar: Ist das vielleicht durchaus eine lukrative Geschichte, wo es interessant ist.
Ansgar: An der Stelle sei auch noch erwähnt, es gibt auch noch ein anderes Produkt,
Ansgar: das nennt sich C-Vide FS.
Ansgar: Der wesentliche Unterschied dazu ist, JuiceFS ist 100% POSIX-compliant.
Ansgar: Das heißt, es ist ein natives Linux-Dateisystem mit allen POSIX-Attributen, die man so kennt.
Ansgar: C-Vide FS ist ansatzweise POSIX-compliant, ähnlich NFS.
Ingo: Genau, nicht voll. Ja, wir können nochmal, also zumindest JuiceFS hat so eine
Ingo: Gegenüberstellung gemacht, CivitFS und JuiceFS, natürlich kommt bei ihnen immer
Ingo: raus, dass das besser ist.
Ingo: Es ist beides Open Source, beides Apache 2.0 Lizenz, beides auch in Go geschrieben,
Ingo: haben auch Ähnlichkeiten sozusagen.
Ingo: Kann man sich beides mal angucken.
Ansgar: Also CivitFS beansprucht für sich das schnellere System zu sein.
Ingo: Ich meine, wenn sie auch nicht 100% POSIX-kompatible sind, kann man natürlich
Ingo: auch ein paar Sachen weglassen und ist dann halt auch schneller. Das ist einfach so.
Ingo: Also klar, wenn ich dieses ganze ACL geraffle und alles, was POSIX halt noch
Ingo: so braucht, mitbringt, dann, ja, dann bin ich halt auch ein bisschen langsamer,
Ingo: weil ich den ganzen Stack mit unterstützen muss.
Ingo: So, Josephus, du hast gesagt, kann verschiedene Datenbanken,
Ingo: also ich muss nicht nur Redis nehmen, ich kann auch einen PostgreSQL-Cluster an mir hinstellen.
Ingo: Ich muss natürlich immer gucken, wenn es nur eine PostgreSQL-Datenbank wäre
Ingo: oder nur ein Redis wäre, hätte ich mir wieder einen Single Point of Fair eingehandelt.
Ingo: Von dem her, klar, muss ich das auch noch clustern. Genau.
Ingo: Dann hattest du gerade eine nette Idee formuliert, was du auch selber gebaut
Ingo: hast, hast du mir gerade erzählt, mit dem Mail-Server.
Ingo: Also Mails tatsächlich in so einen Juice-Face abzulegen.
Ansgar: Ja, genau. Wir hatten ja vor, bei unserer letzten Sendung irgendwann letztes
Ansgar: Jahr, ich weiß gar nicht genau.
Ingo: Vorletztes Jahr war es, glaube ich.
Ansgar: Vorletztes Jahr sogar schon, oh, die Zeit rennt. Hatten wir ja darüber gesprochen,
Ansgar: was so Self-Hosting-Geschichten angeht und ich hatte damals,
Ansgar: ich glaube, SendGrid ein bisschen vorgestellt, wie man sozusagen ausgehende
Ansgar: Mails trotz eigener black-gelisteter IP-Adresse etc. zu haben.
Ansgar: And I think I have that, I believe, in a year or so, I have that a little bit on and I said, okay,
Ansgar: I want to go ahead and take my own MX-Server, so I have a post fix and I want to go ahead and save my,
Ansgar: IMAP-Server, very, I say, classic.
Ansgar: And the send I make I still over a post fix, but then halt über den Relay hin
Ansgar: zu SendGrid, um halt da meinen ganzen, ja, DKIM-SPF-Records und den ganzen,
Ansgar: was halt zum Mail-Versand, was halt das deutlich komplexere ist,
Ansgar: an der Stelle, ja, sauber zu haben.
Ansgar: Was man nämlich wissen muss, ist halt, die MX-Einträge können durchaus auf geblacklistete IPs zeigen.
Ansgar: Die meisten Mail-Server würden die Mail trotzdem da hinzustellen.
Ansgar: Nur wenn von dort eine Mail kommt, dann ist die halt sehr schnell,
Ansgar: wird die nicht angenommen oder landet auf irgendwelchen Spam-Listen etc.
Ansgar: Genau. Und wenn wir jetzt das ein bisschen weiter spinnen und das Wissen von
Ansgar: Juice.f.s dazunehmen, dann könnte man ja auf die Idee kommen,
Ansgar: dass man sagt, man nimmt sich zum Beispiel drei VMs her, installiert auf den drei VMs sich ein KeyDB,
Ansgar: um halt seinen hochverfügbaren, verteilten Redis-Cluster zu haben.
Ansgar: Und mountet sich dann mit Juice.f.s
Ansgar: und dem KeyDB-Cluster a data system on all these three servers can also have
Ansgar: a virtual machine and has now a document on all three servers and now you could
Ansgar: come to the idea of the idea of a dofcord to install and to say to dofcord,
Ansgar: I'll show you the mailbox now in my mounted juice fs.
Ansgar: Was erreiche ich dadurch, dass ich ein IMAP Setup habe, was in sich schon einmal hoch verfügbar ist,
Ansgar: weil es nicht nur ein IMAP Server gibt, sondern in dem Fall drei IMAP Server
Ansgar: und es gibt nicht nur ein Dateisystem, in dem die Mailbox liegt,
Ansgar: sondern es gibt ein S3 Bucket,
Ansgar: in dem jetzt wiederum diese Mailboxen für alle IMAP Server gleichermaßen liegen.
Ingo: Also es ist dann schon nur ein Dateisystem? Ich muss mir schon noch Gedanken
Ingo: dann über Backup und sowas machen.
Ansgar: Das schon, aber eben das Dateisystem an sich ist schon mal über mehrere Server
Ansgar: seitens des S3-Providers,
Ansgar: ob das jetzt das eigene Self-Cluster ist, es könnte auch ein S3-Bucket bei Amazon
Ansgar: oder bei irgendjemand anders sein,
Ansgar: auf alle Fälle für die Datenintegrität und die Replizierung und so weiter,
Ansgar: da ist dann der S3-Provider und sei es jetzt das eigene Self-Cluster,
Ansgar: ist dafür zuständig und das kann das sehr gut.
Ansgar: Was JuiceFS hintenrum auch noch mitbringt, ist, dass es regelmäßig von dem Redis,
Ansgar: also von den Metadaten auch Backups macht und die wiederum in den S3-Bucket mit reinlegt.
Ingo: Also selbst wenn mir Redis mal abkackt, könnte ich es wiederherstellen.
Ansgar: Dann kann man es von diesen Snapshots wiederherstellen und dann gibt es auch
Ansgar: noch ein, wie man es kennt, ein FSCK-Kommando, was dann halt durch alle Objekte
Ansgar: in den Bucket geht und daraus versucht dann wiederum, das Dateisystem zu rekonstruieren.
Ansgar: Ja, das ist dann halt in dem Fall mit einer Downtime verbunden,
Ansgar: aber so weit sollte es an der Stelle ja schon mal gar nicht kommen,
Ansgar: weil wir ja schon mal die ganze Replizierung und Hochverfügbarkeit in sich gelöst haben.
Ansgar: Was ich dann halt zusätzlich noch konfiguriert habe, um das sozusagen vollständig
Ansgar: zu machen, ist halt meine drei Dovcut-Server stellen jeweils wiederum auf Loopback
Ansgar: einen LMTP zur Verfügung,
Ansgar: also Local Mail Transfer Protokoll und die Postfix-Server sind an den LMTP connected.
Ansgar: Und wenn jetzt eine Mail ankommt, dann wird halt via LMTP geschaut,
Ansgar: gibt es diese Mailbox und dann wird halt entsprechend das dann im IMAP zugestellt,
Ansgar: was dann am Ende im Juice.FS gespeichert ist.
Ingo: Genau, also egal welcher der drei Postfix sozusagen die Mail annimmt,
Ingo: sie wird halt dann zu einem der drei DAF-Cards gegeben und die haben alle zentral
Ingo: dasselbe Verzeichnis gemountet.
Ansgar: Ganz genau.
Ingo: Und so habe ich halt ein hochverfügbares Mail-Setup. Wenn einer dieser Mail-Server
Ingo: ausfällt, dann ist da nichts. Passiert da nichts.
Ansgar: Und was halt auch sehr angenehm an der Geschichte ist, ist halt bis auf die Konfiguration selbst.
Ansgar: Also je nachdem, wie man die Mailboxen angelegt hat, die könnte man jetzt halt
Ansgar: auch in einem Tab zum Beispiel, indem man da noch ein Samba 4 installiert und
Ansgar: das dann halt auch noch repliziert oder so. Also, es gibt da viele Möglichkeiten.
Ansgar: Grundsätzlich ist es aber so, dass die Mail-Server selbst nicht wirklich State haben.
Ansgar: Das heißt, die KeyDB ist repliziert. Wenn der ausfällt, passiert nichts,
Ansgar: weil es gibt noch zwei andere Kopien.
Ansgar: Alle Mailboxen und so weiter liegen in dem JuiceFS.
Ansgar: Das heißt, wenn da einer nicht da ist, es funktioniert halt einfach wirklich weiter.
Ingo: Und wie ist es performance-technisch? Also du hast es ja auch gebaut,
Ingo: das ist im produktiven Einsatz.
Ansgar: Produktiver Einsatz, also wir haben es gebaut, weil bei dem Kunden,
Ansgar: für den ich das gebaut habe, die nutzen eigentlich Office 365.
Ingo: Bylight, ja.
Ansgar: Ja, wie viele. Office 365 kann aber zum Beispiel keine Sub-Mail-Adressen,
Ansgar: also Mail-Adresse plus und irgendwas gehört zur selben Mailbox.
Ansgar: Das kann Office 365 nicht. Das Ticketsystem, was der Kunde einsetzt,
Ansgar: benutzt aber Submail, um Tickets zu sortieren.
Ansgar: Also man kann dann an Support plus Ticketnummer entsprechend auf Tickets antworten
Ansgar: oder halt neue Tickets erzeugen etc.
Ingo: Oder auch für GitLab oder sowas.
Ansgar: In dem Fall ist es auch für das GitLab, genau. Das ist halt ein Thema.
Ansgar: Das heißt, dafür wollten wir das an der Stelle verwenden. And a different topic,
Ansgar: what is at Office 365, you can't even, I will not lie, as 10.000 or 20.000 emails
Ansgar: per day from a mailbox send.
Ingo: Okay. Spam-Shots wahrscheinlich.
Ansgar: Genau, das ist im Wesentlichen Spam-Shots. Office 365 ist halt auch da eher
Ansgar: für natürliche Personen gedacht.
Ansgar: Bei dem Kunden ist es so, dass die halt Updates an Kunden schicken.
Ansgar: Wo ist meine Lieferung gerade?
Ansgar: Sie ist gerade von da nach da verladen worden. Meine Lieferung verzögert sich,
Ansgar: weil da und da gab es irgendwie einen Stau oder einen Unfall oder weiß der Geier was.
Ansgar: Und diese Update-Nachrichten für viele, viele Lieferungen pro Tag,
Ansgar: das summiert sich halt auf und sprengt mal schnell diese 10.000 Mails.
Ansgar: Das andere, was halt auch ist, das ist halt jetzt auch wieder Grauzone,
Ansgar: sage ich mal, aber Mails gehören halt zu Geschäftsprozessen und da hängt ein Vertrag dran,
Ansgar: nämlich der Transport eines Guts von A nach B und man ist sich jetzt nicht wirklich
Ansgar: einig und hat halt gesagt, in Zweifelsfall für den Angeklagten und hat halt gesagt,
Ansgar: okay, wir müssen diese Nachrichten, die wir da an den Kunden schicken,
Ansgar: weil sie zu einem Vertrag gehören,
Ansgar: eben auch speichern für diese zehn Geschäftsjahre.
Ansgar: Das heißt, wir haben halt jetzt auch wieder das Problem, dass wir halt die ganzen Mails, die,
Ansgar: gesendet werden an den Kunden, eben auch noch zusätzlich in Kopie als Nachweis,
Ansgar: wir haben den Kunden darüber informiert, dass XYZ eben auch in der Mailbox gespeichert werden.
Ansgar: Auch da hat Office 365 Nachteile.
Ansgar: Es kann nicht mehr als eine Million Verzeichnisse und eine Million E-Mails pro
Ansgar: Verzeichnis speichern.
Ansgar: Das heißt, man muss dann anfangen, wilde Strukturen mit irgendwie Zeitstempel,
Ansgar: Unterverzeichnissen sich selber basteln etc.
Ansgar: Und irgendwie, das will man alles nicht. Und da an der Stelle war halt einfach
Ansgar: die Idee, okay, dann bauen wir das halt für den Anwendungsfall halt einfach selbst.
Ingo: My question was about the performance.
Ansgar: Dann genau die Performance da an der Stelle. Ich kann halt sagen,
Ansgar: es fühlt sich schnell an.
Ansgar: Ich merke da jetzt nicht wirklich einen Unterschied.
Ansgar: Im Fall dieser vielen Mail-Archivierungsgeschichten, dass man den Kunden darüber
Ansgar: ein Kenntnis gesetzt hat, das guckt sich in der Regel auch niemand an.
Ansgar: And if that a minute longer or not, that plays at that point actually no role
Ansgar: and at the ticket system is it so,
Ansgar: you can send the mail and 10 seconds later is that ticket actually to see, so that is,
Ansgar: really time yeah.
Ingo: Cool story and also that you can also say Joseph S.
Ingo: Gleich mal in Produktion brings in a Auch da ist jetzt noch keine Bugs festgestellt
Ingo: oder irgendwelche Probleme.
Ingo: Irgendwie hast du da mit der Community, mit irgendwem mal interagiert oder war
Ingo: das Einsetzen und Funktioniert?
Ansgar: And it worked. There were a few problems in the past, but it was more administrative
Ansgar: a mistake. And that Joseph S.
Ansgar: Supports the one that is located local and the other the data in the SSEC on the S3 Provider.
Ansgar: For both of them you have to set the Schlüssel in form of environment variables
Ansgar: before you mount the data. Yeah.
Ansgar: Ja, aber das war es im Wesentlichen.
Ingo: Genau, ansonsten, wie gesagt, ist auch ein Open-Source-Projekt,
Ingo: kann man sich angucken, gibt ein paar YouTube-Videos dazu, könnt ihr euch anschauen
Ingo: und klar, wenn man einen Bug hat oder ein Feature-Request ist auf GitHub,
Ingo: kann man natürlich mit der Community auch interagieren da.
Ansgar: Genau. Und was wir halt von Hetzner aus sehen, ist, dass es durchaus einen größeren
Ansgar: Kundenkreis gibt, der das Juice.FS halt auch bei Hetzner einsetzt.
Ansgar: Also wir sehen da hin und wieder die entsprechenden Requests.
Ansgar: Beziehungsweise kriegen halt Nachfragen von Kunden über das Ticketsystem etc.
Ingo: Okay. Ob man es einsetzen kann, darf oder?
Ansgar: Ja, oder irgendwelche speziellen Anforderungen. Man kann bei Juice.f.s.
Ansgar: Halt auch nicht nur ein Bucket nehmen, sondern dass Juice.f.s.
Ansgar: Selbst halt auch über mehrere Buckets schaden zum Beispiel, um da dann auch
Ansgar: nochmal an der Performance zu drehen.
Ansgar: And yeah, we have right now at Hetzner, that we don't have so many buckets pro Kunde allow,
Ansgar: they want more buckets, um over more buckets to shard and such things,
Ansgar: but we have to do it with, that it also in the Community quite a lot eingesetzt wird.
Ingo: Yeah, very cool, thank you, Ansgar, that you told us how it was for you on the
Ingo: CephaloCon, why S3 so cool is and Gleich mal noch ein Einsatzszenario für euch da draußen.
Ingo: Ihr könnt ja, wie gesagt, dann auch mal gerne kommentieren, ob das schon mal
Ingo: jemand einsetzt oder wenn ihr Fragen habt, gerne bei uns in den Blog packen. Vielen Dank.
Ansgar: Ja, gerne.
IngoInterview1: So, I'm here on the Cephalocon 2024. With me is Utkash Bhatt. He's from Canonical.
IngoInterview1: And we want to talk about MicroSeth.
Utkarsh: Yes.
IngoInterview1: So, what is MicroSeth?
Utkarsh: You went straight for the...
IngoInterview1: Yeah.
Utkarsh: Okay. So, it's actually a very good question because a lot of people,
Utkarsh: when they hear MicroSeth, right,
Utkarsh: there could be an impression that it's like a toned down smaller version mini
Utkarsh: version of Ceph where we are trading off some of the features against some of
Utkarsh: them but that's not the case.
Utkarsh: Microsoft has the exact same Ceph packages that you get from the Ubuntu LTS release.
Utkarsh: So if you're using Ubuntu Noble you get the same Ceph packages for Ceph squared
Utkarsh: which you get in Microsoft Ceph squared.
Utkarsh: So it's like the same exact Ceph. But the micro in MicroCeph is more about the
Utkarsh: distractions, the complications, like the difficulties of operating and working with the Ceph cluster.
Utkarsh: So micro distractions, micro complications, micro difficulties sort of thing.
Utkarsh: So MicroCeph is like this thin layer of logic that sits above the Ceph packages
Utkarsh: and it knows or it's opinionated or has like an idea of how things should be done.
Utkarsh: And then a user can basically say okay, give me a RedoSkateway daemon.
Utkarsh: And then Microsoft knows okay, so like the user is expecting me to spawn a RedoSkateway
Utkarsh: daemon on this host, let me pull in some keys, let me start the confile,
Utkarsh: let me set all those things up, and let me start the daemon with those configurations.
Utkarsh: So a user basically has to care about what they want and Microsoft figures out how that is done.
IngoInterview1: Okay, so we could also call it EasySF?
Utkarsh: Yes, that's definitely one of the ways we can describe Microsoft, yes.
IngoInterview1: Okay, so there is, as you explained, a thin layer, so it does things easier.
IngoInterview1: So maybe when I'm a home user...
Utkarsh: A very good use case for Microsoft is Homelabs.
Utkarsh: I mean, I can understand spending and dedicating money and like engineers and
Utkarsh: like workforces on operating a very big self-cluster. That's fair.
Utkarsh: But that sort of expenses and investments don't really make sense if you are
Utkarsh: operating a very small self-cluster or if you just want to train yourself with a self-cluster, right?
Utkarsh: So say you're a home lab, like you have a home lab, you want to serve your services with storage.
Utkarsh: Microsoft can be a very good way to quickly set up a fully functional self-cluster.
Utkarsh: And the way microsoft work works is it's not intrusive so like it doesn't interfere the,
Utkarsh: workings of a cif cluster so like if you're a power user you can
Utkarsh: use microsoft to just set up a cif cluster and then you can do everything
Utkarsh: you want via the cif commands that you're used to so it
Utkarsh: won't interfere in your operations but it will make many
Utkarsh: of those like workflows easier for you to
Utkarsh: do and it's interesting like so a person
Utkarsh: who was attending the ciflocon he he came to
Utkarsh: my talk and just after the talk he came to the booth and he
Utkarsh: says i don't agree with your definition of microsoft it's
Utkarsh: not it's not for non-engineers it's not like it
Utkarsh: is very much for engineers i use it as a ceph
Utkarsh: scratch space so like if i want to quickly test something with ceph i use microsoft
Utkarsh: to like spawn a ceph cluster do something and if it it broke it like you did
Utkarsh: something wrong it doesn't work just purge it and so like one command snap remove
Utkarsh: microsoft purge all of your ceph cluster is gone and you can have another Ceph
Utkarsh: cluster up and running in like three more commands.
Utkarsh: So what do you want to, like if you want to do some complicated testings where
Utkarsh: ruining the Ceph cluster is a possibility, Microsoft could be a very good tool
Utkarsh: that you can use to follow that workflow.
IngoInterview1: So it's for my home lab, it's for testing, for training.
Utkarsh: So like if someone is new to Ceph, I mean it's a very plausible use case, right?
Utkarsh: Ceph is complicated, itself is complex it's it's very
Utkarsh: general purpose it's it does everything but the
Utkarsh: cost of doing everything is the complications that comes
Utkarsh: with like managing all of that stuff so and
Utkarsh: even like even the experts i've seen in the Ceph
Utkarsh: industry so no one is i know all of
Utkarsh: Ceph expert so like there are radios gateway experts there
Utkarsh: are folks who know RBD very well there are
Utkarsh: folks who know CephFS very well but it's very very complicated to know all of
Utkarsh: Ceph in at an expert level right So this training that has to be done organically
Utkarsh: can be very much eased by Microsoft where you can use Microsoft to get a self-cluster, play with it, ruin it,
Utkarsh: just break it, remove it, reinstall it, and you can do that again.
Utkarsh: And I personally use that a lot. So when I'm working on features,
Utkarsh: I wish to test some things on a self-cluster.
Utkarsh: Although usually there is always a Microsoft cluster deployed on my laptop. And the good thing is,
Utkarsh: in order to test, in order to train, you don't need a highly available Ceph cluster, right?
Utkarsh: So if you just want to test Ceph stuff, it could be very well a single node
Utkarsh: cluster with, say, just one OSD.
Utkarsh: And because you're not intending to use it for, like, production storage,
Utkarsh: you're intending to use it to test Ceph or, like, see how things work in Ceph.
Utkarsh: So, and that's actually a use case that Microsoft, like, solves very well.
Utkarsh: So at least in canonical folks for
Utkarsh: example our product manager he's like oh i wish to
Utkarsh: try these things out let's let's do it with microsoft and it's actually
Utkarsh: like one of the use cases that we very specifically wish to
Utkarsh: target to so like we want folks to think of
Utkarsh: what google does with information make it easier for people to consume right
Utkarsh: so what we're trying to do here is like we are making seph easier to consume
Utkarsh: by folks who may not be seph experts or may not be storage experts or engineers
Utkarsh: who have worked on this stuff for many years.
IngoInterview1: So what I need is just a laptop and then I can use Microsoft or I could use,
IngoInterview1: I don't know, Raspberry Pi.
Utkarsh: It works on Raspberry Pi. So Microsoft is a Snap. So if you use,
Utkarsh: like, I've not tried using it on Raspbian OS.
Utkarsh: Like there are many OS that you can run on. But if you use Ubuntu Core,
Utkarsh: which is like a core version of Ubuntu for devices like Raspberry Pis,
Utkarsh: Installing Microsoft Snap is like easy peasy.
Utkarsh: Just sudo snap install Microsoft. It's there.
IngoInterview1: Okay, but in theory, it would also work on Debian.
Utkarsh: On any machine, yes, on any machine. It's not Ubuntu specific.
Utkarsh: It can work on any Linux machine.
IngoInterview1: Okay, but there are extra commands, right? So if I go to the Ceph documentation,
IngoInterview1: I won't find anything about Microsoft.
Utkarsh: Yes, so Microsoft, as I mentioned, And Microsoft is this additional thin layer
Utkarsh: of intelligence around the Ceph product, right?
Utkarsh: So there are Microsoft commands which help you configure Ceph stuff.
Utkarsh: And then you also have access to the Ceph command, the Ceph CLI,
Utkarsh: to do the core Ceph stuff.
Utkarsh: And yes, that is how it is organized at this moment.
IngoInterview1: And this is an open source project from Canonical.
Utkarsh: Yes, so it's hosted on GitHub. if you
Utkarsh: go to github.com slash canonical slash microsoft
Utkarsh: you find us there all of our issues all
Utkarsh: of our bug triages we do all that publicly it's all
Utkarsh: open source and yes everyone is welcome to
Utkarsh: contribute we also have like a public forum the
Utkarsh: link to which is just at the very bottom of our readme page so
Utkarsh: if anyone has any questions which they want like a one-on-one conversation with
Utkarsh: so like they want to participate in a discussion they have some doubts there
Utkarsh: are things which they are not able to solve via documentation they can always
Utkarsh: join the forum come in ask us questions and we're more than happy to just have.
IngoInterview1: And so if I also have a back report, I can go to GitHub?
Utkarsh: Yeah, so you can create an issue ticket on our GitHub repository.
Utkarsh: And we do triaging every week.
Utkarsh: So I don't make promises there, but at least under the seven-day period,
Utkarsh: someone will take a look at your bug.
Utkarsh: They will label the bug as what they think it is.
Utkarsh: They'll probably leave some feedback for someone who will take that up. Yeah. okay.
IngoInterview1: So maybe we try to explain how to use microsoft a little bit more you just said
IngoInterview1: it's easy so what do i need to do if i want to start a cluster.
Utkarsh: Okay so i mean all of this is obviously very well documented in microsoft documentation
Utkarsh: but i'll just quickly tell you what you need to do so in order to install microsoft
Utkarsh: you do sudo snap install microsoft it's there right then the next step is to
Utkarsh: bootstrap your Ceph cluster, right?
Utkarsh: Pull up like mon services should be up, manager services should be up,
Utkarsh: right? So the command to do that is microsef cluster bootstrap.
Utkarsh: Just that. And it spins up mon, it spins up manager. It also spins up in MDS,
Utkarsh: if you wish to consume CephFS.
Utkarsh: And that's just there. But some folks may think, okay, bootstrap,
Utkarsh: I mean, we don't have any control over the bootstrap now because it's just a single command.
Utkarsh: And that's not the case you can configure the public
Utkarsh: addresses the public cluster network like public
Utkarsh: network cluster network you can even configure what network
Utkarsh: microsoft should use for its apis right at
Utkarsh: the step of the bootstrap so like there are additional flags that you can provide
Utkarsh: and then microsoft configures them up it also has this mon ip flag because we
Utkarsh: wanted to have like a feature parity here with cifadm because cifadm has a mon
Utkarsh: ip flag and then it deduces the network itself So if you do not tell it about
Utkarsh: the network, but just the monitor IP,
Utkarsh: it will figure out the network itself, use those values for the public network
Utkarsh: and cluster networks and stuff.
Utkarsh: So you have the mon services up. Now the next and the final thing to get a functional
Utkarsh: CIF cluster is the OSDs, right?
Utkarsh: And the command to enroll, say, a device at slash dev slash SDA is microsoft
Utkarsh: disk ad slash dev slash SDA.
Utkarsh: And it enrolls that device as an OSD. But sometimes you may not want to say
Utkarsh: you have 15 devices that you wish to enroll as an OSD.
Utkarsh: So you can do microsoft discard
Utkarsh: add all available like dash dash
Utkarsh: all available devices and it'll figure out there's a
Utkarsh: filter so it won't consider any device as an
Utkarsh: osd if if the size is less than two gigs which is
Utkarsh: fair i don't i don't think two gigs even for test clusters but if you forcefully
Utkarsh: use a like disk which is smaller it will still accept it it won't do it in the
Utkarsh: automatic way so you can do all available devices and then it figures out what
Utkarsh: are the devices available for being like for an osd to be and it will enroll all of them as.
IngoInterview1: So it won't use my os system partition but.
Utkarsh: All the rest yeah and for those folks like say
Utkarsh: you're on a laptop it has one terabyte ssd you
Utkarsh: don't have additional block devices what do you do now so like
Utkarsh: you don't have block devices but always so you
Utkarsh: can have there is this basis or so
Utkarsh: there's this loop back support okay so what microsoft does
Utkarsh: is you tell us how many osds you want you tell
Utkarsh: us what should be the size of a single osd so it's like microsoft disk add loop
Utkarsh: comma 2g comma 3 microsoft will create three loopback devices configure them
Utkarsh: enroll them as osds and like you are so you don't on your laptop you don't even
Utkarsh: have to have like a spare block device,
Utkarsh: That is why we feel like getting started on a test cluster or scratch space
Utkarsh: is so much easier with Microsoft because three commands and you're in,
Utkarsh: you have a fully functional CEPH cluster.
Utkarsh: And you could wish to have Raydose Gateway, you can wish to have RBD Mirror
Utkarsh: daemon, and those like enabling Raydose Gateway is Microsoft enable RGW.
Utkarsh: And it enables that service on that node. The same is for RBD Mirror.
Utkarsh: And we have additional config parameters per service. So like Redo's gateway
Utkarsh: has its own configurations that you can do. RBD mirror has its own configurations that you can do.
Utkarsh: And those are all exposed via like CLI flags.
IngoInterview1: Your talk was also about RBD mirroring. So this is a new feature in Microsoft. Yes.
Utkarsh: So the last cycle, we received feedback from LexD, which is like a virtualization
Utkarsh: tool. So you can use it to spin up VMs, spin up containers and stuff.
Utkarsh: And they found a very nice use case where they wanted to like have migration
Utkarsh: for the block devices that they configured via Microsoft for XD.
Utkarsh: And then we started to like work on it. We wanted to expose RBD mirroring.
Utkarsh: But there is a very specific way in which we have worked on our features, right?
Utkarsh: We want them to be as easy to use. Basically, tell us what you want.
Utkarsh: And Microsoft figures out how it's done. and we
Utkarsh: then extended like it it was a whole different thing with we like i remember
Utkarsh: going into hours and hours of discussion and scratching our heads on how exactly
Utkarsh: we can make this experience a pleasant one yeah because when i was doing the
Utkarsh: like i was experimenting with safe configuring rbd mirroring it's like,
Utkarsh: It's not simple.
Utkarsh: It's not simple at all. So, and the same goes for RGW Multi.
Utkarsh: I mean, those are rich features.
Utkarsh: Those are industry needed features. Everyone wants backup. Everyone wants replication.
Utkarsh: But those are definitely not easy to configure.
Utkarsh: And we also wanted to have like a single interface.
Utkarsh: So the interface that we developed for RBD mirroring should be flexible enough
Utkarsh: to be used similarly for RGW MultiSite. so that someone who is familiar with
Utkarsh: RBD mirroring on Microsoft can also configure RGW mirroring,
Utkarsh: can also configure CFFS mirroring.
Utkarsh: And it's just like a matter of asking Microsoft to do, okay, configure that up.
IngoInterview1: Okay, but that's not in there yet.
Utkarsh: So the plan on RGW multi-site is this cycle.
Utkarsh: So like in the next six months, you'll see RGW multi-site support in Microsoft replication as well.
Utkarsh: At the moment, we only have enabled RBD mirroring and it's like, it's open to the users.
Utkarsh: We are like welcoming feedback and we are looking for like
Utkarsh: folks to try it out tell us how it works if there's
Utkarsh: any shortcomings if they want to see more things there one
Utkarsh: more thing that we wish to work on in this particular cycle is
Utkarsh: monitoring for replication across all
Utkarsh: workloads so like as an operator you can obviously check the status of replication
Utkarsh: but i would want to be informed about possible failures and possible shortcomings
Utkarsh: in say next days or next weeks and like expectations about what could go wrong
Utkarsh: and then take actions based on that.
Utkarsh: So we are, we are working rigorous rigorously on like exposing RBD mirror stats
Utkarsh: via Prometheus alerts and like matrices so that operators can have like a visual
Utkarsh: view on what's going on in their clusters. How is replication working out?
Utkarsh: What could go wrong and how can they take actions on fixing those things?
Utkarsh: And then again, it would be there for RGW and self-defense as well.
IngoInterview1: And how do we do this? I mean, is there an AI figuring out, okay,
IngoInterview1: this RBD is maybe failing tomorrow? No, no, no.
Utkarsh: So like matrices and alerts, they're actually very simple. So matrices are basically
Utkarsh: stats and numbers on how the replication is. Like, so how many bytes are getting replicated?
Utkarsh: What is the amount of data that is getting fetched over? so what
Utkarsh: was the last local update of this image what's the
Utkarsh: last remote update of this image what is the difference between
Utkarsh: these two updates like is there a delay is the
Utkarsh: delay getting larger is the delay like consistent
Utkarsh: across all images and things like that and then in
Utkarsh: alerts you can basically have like simple mathematical rules
Utkarsh: where you say okay if the if the
Utkarsh: last local update and the last local like last remote
Utkarsh: update have gap of two days three days maybe
Utkarsh: even more it's you should alert us based on this so it's it's not ai it's not
Utkarsh: that funky i'm sorry to disappoint you but uh is everywhere now yes i know i
Utkarsh: had to ask so i i get that i get that and yeah maybe in future we we do work
Utkarsh: up with something like that but yeah at.
IngoInterview1: The moment not.
Utkarsh: At the moment it's simple mathematics okay fine um.
IngoInterview1: But rbd mirroring is done asyncrasy.
Utkarsh: Yes right yes so.
IngoInterview1: I have to You have two Microsoft.
Utkarsh: Clusters. Clusters, yes.
IngoInterview1: And then...
Utkarsh: So you have to have two Microsoft clusters. In order to support replication,
Utkarsh: there is like an auxiliary feature that we had to work on.
Utkarsh: It was basically, how do you make a Microsoft cluster aware of another Microsoft cluster?
Utkarsh: Right. And it's like, it's the foundation of setting up replication because
Utkarsh: the clusters need to know about each other.
Utkarsh: So you basically share some tokens between each other, which contain hashed
Utkarsh: keys and information about the Ceph cluster that Microsoft can use to create
Utkarsh: the conf and key files locally.
Utkarsh: So, and once you do that, you basically have like a client access to the remote
Utkarsh: cluster as well, which is what Microsoft uses to configure the remote ends of the things as well.
Utkarsh: So Microsoft has access to the local Ceph cluster.
Utkarsh: It has keys to access to the remote Ceph cluster and then it coordinates and
Utkarsh: configures everything because there's a lot of to and fro in between there.
Utkarsh: And like sending RPCs and coming back, it could be like much more complicated.
Utkarsh: So Microsoft at site A, configures replication and coordinates between site
Utkarsh: A and site B, and does all of that.
Utkarsh: And yeah, like this is how the clusters are exposed to each other.
Utkarsh: And then basically this is used by Microsoft to configure RBD mirroring.
Utkarsh: In the demo i showed you it's like microsoft replication
Utkarsh: enable rbd pooling right but in
Utkarsh: the background so much is happening like it's it's
Utkarsh: enabling mirroring on the pool it's trying to figure out if
Utkarsh: you have requested it for an image or a pool and then it enables it
Utkarsh: on the resource then it bootstraps the token
Utkarsh: like for the self cluster to read data from the remote cluster you need to have
Utkarsh: like another set of keys shared between them and it does all of that and it's
Utkarsh: It gets even funnier when you disable replication because it has to cleanly
Utkarsh: remove all those keys and permissions so that the remote self-cluster cannot read that anymore.
Utkarsh: And so like doing all that manually can become very tricky.
Utkarsh: And that is why I feel like Microsoft does a good job in coordinating that and orchestrating that.
IngoInterview1: And so if I write to an RBD, this is the master and...
Utkarsh: We use the term primary. Okay. Yeah.
IngoInterview1: Yeah. So it's a primary. And after a while, it gets synced to the other side.
Utkarsh: As you mentioned, it's asynchronous. So it won't be like instantaneously.
Utkarsh: So what we've done here is like we have exposed.
Utkarsh: If you wish to see the status of replication via the Ceph CLIs,
Utkarsh: there are like a few of them and you can use all of them to get a combined view on all the things.
Utkarsh: What microsoft does is it collects information
Utkarsh: from all those command line outputs and then it compiles
Utkarsh: it and presents you like a single output which you can see the
Utkarsh: resource status on or on any particular
Utkarsh: image and you can use that to basically so you can enable replication and you
Utkarsh: can use the status commands to check the status of replication at that very
Utkarsh: moment so like what's the last local commit or checkpoint timestamp and what's
Utkarsh: the last remote timestamp and like how
Utkarsh: they are syncing that and.
IngoInterview1: I can also configure a schedule right so.
Utkarsh: Yes i can say okay.
IngoInterview1: I want to sync this.
Utkarsh: Every 10 minutes or one a day yeah okay but that only works for snapshots so
Utkarsh: rbd mirroring has journaling and snapshot based support so if you use journaling
Utkarsh: it is more instantaneous,
Utkarsh: The commits are like finer, so it happens more frequently.
Utkarsh: But the cost is all of the writes first go to journaling, then go to the OSD
Utkarsh: for persistence. So like double latency.
Utkarsh: And like there is a limit to journal space as well, right?
Utkarsh: So say replication is slow between the clusters and you are pushing so much
Utkarsh: data on your images. So the journal will basically just bloat up.
Utkarsh: And that could be a case which you do not want,
Utkarsh: to be right so the the
Utkarsh: schedule thing that you mentioned only works for snapshots and they are configured
Utkarsh: at image level i mean you don't have to worry about it if you're using microsoft
Utkarsh: because it handles those but if you're working with cef you need to know like
Utkarsh: i'm i'm doing it on particular images the pool is in image mode i'm using snapshot
Utkarsh: mode and i'm configuring schedules and all of that.
IngoInterview1: And now one of my sites is going down.
Utkarsh: So i need.
IngoInterview1: To have a failover.
Utkarsh: And that's also so one of the biggest
Utkarsh: reasons to have remote replication is disaster recovery
Utkarsh: so to have a site which is ready to
Utkarsh: serve traffic in case of a disaster happening
Utkarsh: at your primary site and the microsoft
Utkarsh: uses the same nomenclature like as as
Utkarsh: cef so it's promote and demote so you what
Utkarsh: you can basically do is you can promote a site which
Utkarsh: is not primary to primary status and usually
Utkarsh: this happens when the primary site is down so like
Utkarsh: the Ceph clusters cannot communicate between each other so
Utkarsh: when you promote the non-primary site the primary
Utkarsh: site when it comes back up it still thinks it's
Utkarsh: primary so there is this demote command which
Utkarsh: you can then use to remove the split brain situation one
Utkarsh: in one interesting thing that microsoft does here is
Utkarsh: if you demote an old primary site to
Utkarsh: non-primary secondary you have
Utkarsh: to manually trigger resync for all the images that
Utkarsh: you want to now sync from the new primary to the old primary right and so microsoft
Utkarsh: does that automatically so if you just do demote it will resync all those images
Utkarsh: from the new primary we're also planning on adding like filters so there may
Utkarsh: be cases where you just don't want to like rewrite.
Utkarsh: Data with the new primary so you can basically provide like
Utkarsh: a rejects of pools that you do not want like this is
Utkarsh: not a feature but we're planning on adding it soon there was some feedback that
Utkarsh: we received and people always power users they always want like more control
Utkarsh: on how things go right and and we're happy to help here so so maybe a sort of
Utkarsh: like a filter list where you can say okay releasing them but not these and that's how it will work.
Utkarsh: Yeah one one good thing in in this context of
Utkarsh: replication is so microsoft again here does
Utkarsh: not store any state so like there
Utkarsh: is no information about replication that we are storing separately outside
Utkarsh: cef we rely 100 on cef to tell us like what's the state of things right and
Utkarsh: this is interesting because a power user can basically just use the cluster
Utkarsh: export remote thingies to configure the clusters and configure all of the mirroring by hand.
Utkarsh: And still use the list command and status commands to check the status of those
Utkarsh: resources because it will be querying the Ceph state anyways and that's how it works. So, yeah.
IngoInterview1: Okay, so I can use Microsoft to set up my clusters but I can still use all the Ceph commands.
Utkarsh: To configure the RBD mirroring and they work together.
Utkarsh: So like you can configure RBD mirroring on Microsoft, go ahead,
Utkarsh: change it add some schedules come back list the schedules and you can still
Utkarsh: see those because that's how it works.
IngoInterview1: Okay so for me it sounds a little bit that microsoft is like cfadm that's.
Utkarsh: That's actually so i hear this
Utkarsh: a lot microsoft is a cf
Utkarsh: orchestrator so you can call it similar to cfadm
Utkarsh: but there's a very big difference and the difference is that
Utkarsh: microsoft is not containerized so it does
Utkarsh: not run on docker it does not run on kubernetes it runs isolated processes directly
Utkarsh: on the host so there is isolation of the services from the host side they do
Utkarsh: the host or microsoft snap cannot interfere each other so there is isolation
Utkarsh: but there is no containers so,
Utkarsh: particularly feel like sometimes folk they find
Utkarsh: the docker environment a bit tricky to work with maybe kubernetes i love containers
Utkarsh: i love kubernetes i love dockers but they are a different way of doing things
Utkarsh: right so it's a support engineer say or someone who's trying to debug something
Utkarsh: may have a different experience there.
IngoInterview1: Yeah i hear a lot of that it adds more complexity so people are not familiar with.
Utkarsh: Docker portman and they need.
IngoInterview1: To learn more.
Utkarsh: So they.
IngoInterview1: Need to learn self and then.
Utkarsh: They need to learn docker and if you're using rook you
Utkarsh: need to learn kubernetes yeah so yeah that's that's definitely
Utkarsh: there so i feel tools like docker kubernetes
Utkarsh: container d in general like they do offer certain
Utkarsh: features but there's also a cost so like if and you'll and you'll know the cost
Utkarsh: even better when you're debugging issues because these are not processes running
Utkarsh: on your host it's like a different container how do you work with them how you
Utkarsh: do you go in how do you check information i think it's it's a different where are the locks yeah,
Utkarsh: it's a different world it things are done differently so yeah yeah so microsoft
Utkarsh: it differs from cfadm in the way that it does not do containers so and it basically
Utkarsh: just runs isolated that it processes directly on hosts.
Utkarsh: So like it used to be a few years ago.
IngoInterview1: But I need to install it via Snap or is there also a package I could use or
IngoInterview1: download it directly from the GitHub repo and do it on my own?
Utkarsh: I mean, the Microsoft code is obviously available on GitHub repo.
Utkarsh: If someone wants to build or try to build a Debian or a package,
Utkarsh: I mean, they're welcome to.
Utkarsh: But there are certain things that we get from using a Snap.
Utkarsh: I can give you one example. all of
Utkarsh: the isolation thingy that we get from us
Utkarsh: like okay there are there
Utkarsh: are a few benefits that we get from being a snap and
Utkarsh: like it's a choice for us to whether or not
Utkarsh: we wish to prioritize that and like we do so it's
Utkarsh: that's why microsoft is a snap you're obviously like
Utkarsh: it's go code you're obviously welcome to go check like
Utkarsh: build a dev try doing that it's it's it's all right one
Utkarsh: of the things that we get by using a snap is
Utkarsh: like clean consistent installations
Utkarsh: on host the reason you can like cleanly do
Utkarsh: away with an existing self cluster which has gone bad and like
Utkarsh: then reinstall it and not have any older artifacts
Utkarsh: interfering your self cluster is because it's a snap so
Utkarsh: you when you purge a snap it's gone completely all
Utkarsh: of all of it and then when you reinstall a new snap the microsoft
Utkarsh: snap it's a new self cluster so like i
Utkarsh: i tried doing that with fadm like my cluster
Utkarsh: went bad i was doing fadm cluster rm
Utkarsh: i used force some of the files were still remaining on the host and when i retried
Utkarsh: to install a new self cluster they were interfering with the so it's it was
Utkarsh: a bit unclean we also get like so refreshes in the snap world basically refreshing
Utkarsh: to a different revision or an artifact.
Utkarsh: It's a clean one-step process. Say you wish to upgrade from Quincy to Squid.
Utkarsh: It could be like very easy to very difficult, depending on your SEP cluster,
Utkarsh: how many nodes, how many services they are, right?
Utkarsh: But if you look at just a single node, so like what you have to do on a single
Utkarsh: node to do a refresh, you do Snap, Refresh, Microsoft,
Utkarsh: Squid Steam on a Quincy installation, and it will install a new Snap cleanly and like you get Squid.
Utkarsh: So some of the experiences that Snap interface,
Utkarsh: or like being a snap offers we feel it's it's like it's very important with
Utkarsh: the kind of philosophy we have with microsoft so like the kind of experience
Utkarsh: we want to deliver with microsoft it's it's very difficult to deliver all those
Utkarsh: without being a snap and that is why microsoft is a snap okay.
IngoInterview1: But you aren't stopping anyone.
Utkarsh: Oh yes yes it's open source go out there try building a dev i'm like let's see let's see.
IngoInterview1: Okay wonderful thank you utkash that you explained to us what Microsoft is. It was a pleasure.
IngoInterview1: I'm happy. I think I understand now why I need to use it, especially on my laptop and for testing.
Utkarsh: I'm looking forward to your feedback on how you find Microsoft.
IngoInterview1: Thanks a lot and have a nice conference.
Utkarsh: Thank you very much. Same to you.
IngoInterview2: So I'm here on the Cephalocon. Today with me is Karun Jossi from IBM India. Hi Karun.
Karun: Hello.
IngoInterview2: You talked about Cephbox. So Ceph for everyone at home sounds nice.
Karun: Yeah.
IngoInterview2: What do you do there or what did you do for Cephbox? How does it work?
Karun: So i always i mean i have been
Karun: working with cef for maybe 10 years or more
Karun: as a support engineer as l3 support engineer and
Karun: i mean it came on one day it came
Karun: suddenly to my mind like i always had the problem of
Karun: storing my photos and videos okay i was
Karun: struggling like you get that reminder right you have to upgrade the
Karun: storage your storage is running out i was
Karun: getting it every other day and i was trying
Karun: to find out a good solution an overall solution and
Karun: suddenly i remember that i am a storage engineer so and i'm
Karun: using a storage product so why can't i use that for storing
Karun: my photos and videos then i thought about
Karun: it researched about it ceph is usually used for enterprise grade hardware so
Karun: we are what we are trying to do is to come to the micro part of it like the
Karun: smallest part of it using a small form factor cpus like raspberry pi or compute
Karun: modules and see if we can create a cluster which will help,
Karun: a personal or user to upload their personal data and store it at their home.
IngoInterview2: Okay, so I don't need a Ceph cluster at home with a lot of CPUs, a lot of HDDs?
Karun: No, I mean, it's very flexible enough. So if I talk about the current setup
Karun: that I am using, it's just two Raspberry Pi using four NVMe disks.
Karun: It totals around like 2 TB. so that's what my setup is and i think that is fairly
Karun: good enough for my two or three years worth of data photos and videos so yeah and.
IngoInterview2: How is how are the nvmes connected to the raspberry pi.
Karun: So we have hats we call hats so in the newest raspberry pi 5 we have pci express
Karun: so we can easily connect NVMEs to that PCI using HAT available.
IngoInterview2: Ah, okay. So the hardware I need is Raspberry Pi 5s, then this HAT edition, and some NVMEs.
Karun: NVMEs. So we can use SATA, HDD disk if you want.
Karun: But I wanted to use try NVME, you know, the motto of DYIs, if you can do it,
Karun: it's worth overdoing. So it's a bit overdone.
Karun: You don't really need NVME, but you know, I just wanted to try NVME.
IngoInterview2: Both nodes are just connected to a switch or are they interconnected between each other?
Karun: I mean, if you think about it, we really don't need Ethernet.
Karun: I mean, we can use Wi-Fi because we don't really care about the performance at that scale.
Karun: It's just for the photos and videos, right?
Karun: So the considerations that you might think about using Ceph in enterprise level
Karun: might not really need on a personal home systems.
Karun: So right now I have tried both Wi-Fi but Wi-Fi was not that stable but I'm just
Karun: connected to a switch and we are limited by bandwidth to be really honest it's
Karun: limited by the Raspberry Pi 5's bandwidth they are getting 1G curling,
Karun: But still, I mean, I've been using it for the past couple of months,
Karun: and it's working very good for me and my family.
IngoInterview2: And is this something I could also use right now?
IngoInterview2: So is there, I don't know, a Git repo, I can clone and use it?
IngoInterview2: Or is there, I don't know, how to do it?
IngoInterview2: Or is it just a test for you at the moment?
Karun: Yeah, I mean, it's still a hobby project. I mean eventually what we would try
Karun: to have is a single click solution like you just have the you have to buy the
Karun: hardware resources and it's a single click you install it and you get the apps
Karun: right now what we have to do is we have to create the Ceph cluster manually,
Karun: and there are a couple of alternative cloud solutions I mean private cloud solutions
Karun: which you can self-host so you have to actually install it as well and then
Karun: integrate it with the Ceph cluster.
Karun: So right now, yeah, if you don't know Ceph, it's going to be a bit difficult to get started.
IngoInterview2: Okay.
Karun: But yeah, that was one of our primary objectives. At least if someone who knows
Karun: Ceph and if they want to try it, they can refer our GitHub page.
Karun: So we have tried to document it. We have tried to automate it.
Karun: We're still, I mean, it's still a long way to go, but just started the process
Karun: and I wanted to get feedback from the real world if they think it's something worth pursuing or not.
IngoInterview2: Okay so if someone is familiar with seph he can he okay she can start with it
IngoInterview2: test it give you feedback.
Karun: Correct and.
IngoInterview2: For normal home user you would suggest waiting a little bit longer i don't know
IngoInterview2: what do you plan is there will there be a release next year or.
Karun: Uh it's too early to say something about that i mean we just wanted to try it
Karun: first and i'm not really sure like i I think it may be too early for something like this.
Karun: So, I mean, the philosophy is that we need a hybrid setup even for personal data storage.
Karun: Public cloud, I don't think it is sustainable enough in the long run. It might not be.
IngoInterview2: Also cost.
Karun: Also cost. And, you know, Apple's Ray-Ban glasses are coming in and Vision Pro
Karun: 360 degree recording is there.
Karun: I think we are going to live in a future where we will be constantly recording
Karun: ourselves and the world around.
IngoInterview2: As we do know, yeah.
Karun: Yeah mostly even more than this
Karun: and i don't know it's good or bad ethically i'm not touching
Karun: that but i think we are gonna generate more data
Karun: and eventually like either the public cloud has
Karun: to become cheap or there should be another alternative
Karun: solution which i think is a hybrid setup using
Karun: a storage box inside or home i tried i
Karun: tend to call it home appliance okay because if this needs to it should be an
Karun: appliance like you're everyone in the family your father mother they just have
Karun: to plug it in and they should be able to start using it just like think about
Karun: this like linux and android we have linux that means all around the world to do,
Karun: If you think about this, it's about millions of people just using an Android.
Karun: It's a, you can say, a flavor of Linux itself, right? But we don't really know
Karun: what's happening behind an Android system.
IngoInterview2: Or a modem or a homebox.
IngoInterview2: I mean, there's also Linux running for your fiber or digital connection.
IngoInterview2: And you don't know that that's really Linux there. Or, I don't know, your smart TV.
Karun: Yeah, and even like security CCTV, IP cameras.
Karun: So there are complex systems, but the user-end user is not bothered about how it works.
IngoInterview2: So at the moment, there is no CephBox I can buy?
Karun: No, none of this. We just call it CephBox because we like the name.
IngoInterview2: And also show the picture of how it might look like.
Karun: Yeah.
IngoInterview2: Okay. What protocols can I use with CephBox then?
IngoInterview2: So is this RBD? Is this S3?
IngoInterview2: Is this all of the above?
Karun: Personally i've been using rgw or s3
Karun: because i mean the type of data the
Karun: photos and videos i think it tends to work better with s3 rather than
Karun: a file system so you can use
Karun: how do you say it so if you let's say a file system is there cffs might not
Karun: really work with all the windows the other os is there mac os but if you are
Karun: using s3 protocol there is no limitation or barrier for the hardware like you
Karun: can use that on any of the available os in the market right now.
IngoInterview2: And every product is also using.
Karun: S3 at the moment i.
IngoInterview2: Know what is your photo library software.
Karun: Yeah so it's called enda photos app so that's an open source app i found it
Karun: just by researching i mean,
Karun: actually they provide two types of services first is
Karun: they are also a public cloud photo management app
Karun: just like google clouds or apple clouds but it's fully encrypted they're focusing
Karun: on the privacy part but they have made it open source a couple of months back
Karun: and they are so i'm using the self-hosted version of their application so they
Karun: have provided the documentation to use it as a self-hosted setup so i tried that.
IngoInterview2: Okay and that's working for you.
Karun: Yeah so we just integrate it by default it's we can change the backing s3 endpoint
Karun: the ipn port So I created a Ceph cluster on my Ceph box.
Karun: I passed on that endpoint IP details and access secret key and access key to that Ceph,
Karun: So now I'm using that.
IngoInterview2: And it's also an app on your phone?
Karun: Yes.
IngoInterview2: Okay.
Karun: They have a desktop version. They have an Android, even an Apple,
Karun: what do you call it, iOS version.
Karun: So we have all three apps available. So we download it.
Karun: And you have to get into the developer settings. So there's a shortcut to do
Karun: that or a hack to do that. You get into the developer setting mode.
Karun: You give the custom or the local IP where your self-cluster is running.
Karun: And yeah that's it it's working yeah.
IngoInterview2: Okay i mean a lot of software nowadays can talk to s3 and you could also use
IngoInterview2: it as a backup so a lot of backup software.
Karun: Is also using s3 yes um.
IngoInterview2: So okay if not photos is your main concern maybe it's backup stuff and.
Karun: Then we.
IngoInterview2: Could also use a setbox for that yeah can you recommend any other apps you would know to utilize this.
Karun: Setbox i i tried a lot there are
Karun: a lot i mean next cloud on cloud there's photoprism
Karun: there's image and there's nd photos
Karun: app so what i found is that next cloud is
Karun: easily integratable with s3 even nd photos
Karun: app image they were concentrating on
Karun: file system model they're not into s3 yeah and
Karun: and and i personally use next cloud to store my
Karun: files so just to replace a
Karun: drive like it's a cloud private cloud suit but it gives you a feel of replacing
Karun: your drive setup the files and i use end day photos to flow to manage my photos
Karun: and videos so they are they look identical or they're trying mostly identical
Karun: to google photos or even feature wise and everything.
IngoInterview2: Okay, so this is a S3 part, but there's also the RBD part.
IngoInterview2: I could also store my virtual machines on it if you want to.
Karun: Yeah, so I mean...
IngoInterview2: It's a Ceph.
Karun: Yeah, eventually, I mean, if you think about it, it could be a perfect solution
Karun: for all your use cases, if you think about it.
Karun: Like, if you want to have a shared file systems that you need to share across
Karun: your multiple desktops or laptops, you can use CephFS. with new releases, SMB is coming in Ceph.
Karun: So if you want to try it on Windows, you can use that on Mac.
Karun: And if you have a home lab where you want to just try have a block devices attached
Karun: to it, you could just use an RBD from the Ceph box to use that.
IngoInterview2: Could I also run it on my NAS if I want to?
IngoInterview2: I mean, your part was now with the Raspberry Pi, but okay, maybe I have one
IngoInterview2: or two NAS systems at home. that you use that for?
Karun: Theoretically, I think it shouldn't be a problem. You could, but I haven't tried.
IngoInterview2: There was also a talk from Canonical about MicroSaf.
IngoInterview2: Have you watched that or do you know what MicroSaf is?
IngoInterview2: Can you explain what the difference maybe between CephBox and MicroSaf would be?
Karun: I have heard about it and I think it was in the last Cephalocon.
Karun: They had a talk or maybe the one before.
Karun: So that is actually an easy way to manage the Ceph cluster. So you can actually
Karun: think about using Microsoft in Cephbox.
Karun: So Cephbox is a concept like Microsoft is actually an easy way of managing a small Ceph cluster.
Karun: So maybe we can try to use Microsoft in Cephbox.
IngoInterview2: Nice idea then yeah so then thanks for explaining to us what Cevbox might be in,
IngoInterview2: the future and I hope I can buy one one day and that everyone who wants it can
IngoInterview2: have one at home and store their photos that's the dream.
Karun: I mean you're describing the dream so.
IngoInterview2: Okay thanks a lot.
Ingo: Thank you ja und das war's auch schon wieder mit dieser kleinen,
Ingo: feinen Sendung, mit der RadioTux-Ausgabe im, was haben wir? Januar. Januar 2025.
Ingo: Und ich hoffe natürlich, ihr seid alle gut reingekommen in das Jahr 2025.
Ingo: Und wir hören uns dieses Jahr ein bisschen öfter, als das im letzten Jahr der
Ingo: Fall war. An Musik habt ihr heute gehört.
Ingo: Kambu mit Welcome Home und Benji Manji mit Gray,
Ingo: beides aus dem Free Music Archive und ich wünsche euch wie immer eine frohe
Ingo: Zeit, passt auf euch auf,
Ingo: habt Spaß am Gerät und wir hören uns hoffentlich dann im Februar wieder. Bis dahin, ciao, ciao!