FOSS – was Sie über freie und quelloffene Software wissen müssen

Die Abkürzung FOSS steht für „Free and Open Source Software“. Alternativ existiert auch die Bezeichnung „Free/Libre Open Source Software“ (FLOSS). FOSS bzw. FLOSS fassen die Begriffe „Freie Software“ und „Open-Source-Software“ zusammen. Sie bezeichnen quelloffene Software aller Art, also Software, deren von Softwareentwicklern erstellter, menschenlesbarer Programmtext offen gelegt und verfügbar ist.

Die Quelltexte von FOSS sind in der Regel in einer höheren Programmiersprache verfasst, die von einem Compiler in ein binäres Format überführt wird, welches dann von Computern ausgeführt werden kann. Bei nicht-quelloffener Software ist im Gegensatz zu FOSS nur dieser Binärcode erhältlich. Die FOSS-Programme dürfen meist beliebig kopiert, verbreitet und genutzt werden. Es gibt für sie keine Nutzungsbeschränkungen, weder bezogen auf die Anzahl der Benutzer, noch bezogen auf die Anzahl der Installationen. Mit dem Kopieren und der Verbreitung von FOSS-Programmen sind kein Anschaffungspreis und keine Lizenzgebühren verbunden. Nutzer können die Software verändern und weiterentwickeln, eben weil sie im Quelltext vorliegt. Sie dürfen die veränderte oder weiterentwickelte Software anschließend weitergeben. FOSS ist darauf angewiesen, dass um die jeweilige Software herum eine Gemeinschaft entsteht, die die Software pflegt und weiterentwickelt. Damit bietet sie sich zum Lernen, Mitmachen und Verbessern an.

Vorteile der Software

An der Entwicklung eines FOSS-Programms kann sich eine beinahe beliebig große Anzahl von Einzelpersonen und Unternehmen beteiligen. Auf diese Weise wird der Entwicklungsaufwand geteilt, und jeder kann von der gemeinsamen Arbeit profitieren. Wenn ein Unternehmen eine Software benötigt, kann es sinnvoll sein, nicht Standardsoftware zu beschaffen oder eine vollständige Eigenentwicklung zu beginnen, sondern sich stattdessen an einem FOSS-Projekt zu beteiligen. Diese Projekte stellen bewährte Strukturen dar, über die Unternehmen gemeinsame Softwareentwicklung organisieren können, ohne komplexe Verträge miteinander aushandeln zu müssen. Das gilt, solange alle Beteiligten damit einverstanden sind, dass die Software unter einer FOSS-Lizenz steht.

Zu diesem Zweck existiert eine Vielzahl unterschiedlicher, populärer Lizenzen. Diese unterscheiden sich insbesondere mit Blick darauf, ob Software, die eine Weiterentwicklung von FOSS darstellt, oder Software, die ein FOSS-Programm nur benutzt und einbindet, selbst wieder unter einer FOSS-Lizenz veröffentlicht werden muss. Wenn eine Lizenz dies erzwingt, ist sie, was den FOSS-Charakter angeht, ansteckend. Dies wird auch mit dem Begriff „Copyleft“ bezeichnet. Lizenzen, die derartige Regelungen enthalten, fördern in bestimmten Bereichen effektiv die Verbreitung von FOSS, schränken auf der anderen Seite aber ihre kommerzielle Verwertbarkeit ein. Über die Frage, welche Art von Lizenzen gesellschaftlich und wirtschaftlich wünschenswert ist, gibt es umfangreiche, zum Teil ideologische Auseinandersetzungen. Ein wichtiger Aktivist in diesem Themenbereich ist Richard Stallmann, der Gründer der Free Software Foundation (FSF).

Beispiele 

Es existieren sehr viele erfolgreiche Softwareanwendungen, die dem FOSS-Modell folgen. Traditionell gibt es ein starkes Angebot im Bereich der Betriebssysteme und der betriebssystemnahen Programme, sowie bei den IT-bezogenen Anwendungen. Beispiele hierfür sind das Betriebssystem Linux und der Webserver Apache, die jeweils führende Produkte ihrer Klasse darstellen. Beliebte FOSS-Anwendungen gibt es aber auch für viele andere Gebiete, von Office- und Media-Software bis zu Antivirensoftware und Satzprogrammen. Die folgenden Absätze stellen drei FOSS-Programme vor.

Ein für viele Heimanwender relevantes Beispiel ist der Mediaplayer VLC, der als Logo einen Verkehrsleitkegel verwendet, wie man ihn zur Markierung von Baustellen kennt. Die Software wird seit Mitte der Neunzigerjahre vom sogenannten VideoLAN-Team entwickelt, das aus Studenten der französischen École Centrale Paris sowie Entwicklern aus über 20 Ländern besteht. Es handelt sich um einen sehr populären Mediaplayer, der eine große Auswahl von Audio- und Videocodecs sowie Dateiformaten für das Streamen unterstützt. VLC ist u. a. für die Betriebssysteme Android, iOS, Linux, macOS und Windows verfügbar. VLC stellt eine gute Alternative zu kommerziellen Programmen wie Quicktime oder Windows Media Player dar.

 

Die Office-Suite LibreOffice ist ein weiteres, sehr bekanntes FOSS-Programm. Ursprünglich vom Hamburger Unternehmen Star Division in einem traditionellen Closed-Source-Modell als Alternative zu Microsoft Office entwickelt, wurde die Software im Jahr 1999 von Sun Microsystems übernommen, das die Quelltexte anschließend freigab. So entstand OpenOffice.org, von dem sich LibreOffice im Jahr 2010 abspaltete. LibreOffice umfasst Programme zur Textverarbeitung, Tabellenkalkulation, Präsentation und zum Erstellen von Zeichnungen. Ebenfalls enthalten sind ein Datenbankmanagementsystem und ein Formeleditor. Neben der Desktopsoftware für Linux, Windows macOS gibt es auch eine Version für Android-Smartphones und -Tablets. Mit LibreOffice Online existiert außerdem eine Online-Office-Webversion.

Weitere Beispiele

Das Mozilla-Projekt Firefox basierte ursprünglich auf dem Quellcode des Netscape Communicators, der ursprünglich einen wichtigen Beitrag dazu geleistet hatte, dass Webbrowser überhaupt entstanden waren. Firefox gilt als ein moderner und leistungsfähiger Browser, der die Weiterentwicklung offener Standards im Internet unterstützt und im Bereich Privatsphäre und Datenschutz eine Vorreiterrolle einnimmt. Der Existenz und Verbreitung eines FOSS-Browsers kommt eine besondere Bedeutung zu, weil Webbrowser die „Tür“ zum World Wide Web darstellen und es problematisch wäre, wenn der Zugang ausschließlich von wenigen, kommerziellen Herstellern wie Google, Microsoft und Apple (Chrome, Edge, Safari) kontrolliert würde. Firefox hat heute laut StatCounter einen Marktanteil von knapp 9 % und ist damit einer der drei meistgenutzten Browser. Firefox ist für Linux, macOS und Windows verfügbar, außerdem gibt es Firefox Mobile für Android und iOS.

Zu den weiteren Programmen gehören ebenso: nginx, php, Asterisk, FreePBX

Bei Linux handelt es sich um ein Open-Source-Betriebssystem, das in einer Vielzahl unterschiedlicher Distributionen erhältlich ist und in Zusammenarbeit von Entwicklern aus der ganzen Welt programmiert wird. Das Betriebssystem verbreitet sich durch eine freie Lizenz bereits seit dem Jahr 1992. Obwohl die Bedienung von Linux und seine breite Funktionsvielfalt auf den ersten Blick äußerst kompliziert wirken, bietet das offene Betriebssystem dennoch eine zuverlässige und bequeme Plattform für all Ihre Anwendungen, sobald Sie sich mit dem Linux-OS besser vertraut gemacht haben.

Was ist Linux?

Das unter der GPL-Lizenz (General Public License) lizensierte Betriebssystem wurde im Jahr 1991 von dem damals 21-jährigen Informatikstudenten Linus Torvalds entwickelt. Das Betriebssystem wurde ursprünglich als ein Uni-Projekt gestartet, wuchs aber binnen kürzester Zeit zu einem vollwertigen Betriebssystem heran. Die erste Version des Betriebssystems veröffentlichte Torvalds im September 1991 im Usenet. Im Laufe der Jahre hat sich eine gigantische internationale Entwicklergemeinde rund um das Linux-OS aus Unternehmen, Organisationen und Einzelpersonen gebildet, deren Zahl stetig wächst. Der Erfinder Linus Torvalds ist heute noch der hauptverantwortliche Entwickler des Kernels.

Streng genommen handelt es sich bei dem von Torvalds entwickelten Linux nur um den Systemkern, den sogenannten Kernel. Das Kernel ist das Grundprogramm einer jeder Linux-Distribution. Dieses Kernprogramm ist dafür zuständig, um zwischen der Hardware und Software eines Computers zu vermitteln. Wenn man den Kernel mit einer grafischen Benutzeroberfläche und weiterer Software versieht, entsteht eine Distribution. Der Kernel arbeitet im Hintergrund einer Linux-Distribution und ist dafür verantwortlich, dass die einzelnen Bestandteile des Betriebssystems miteinander harmonieren. Auch Hardware und Software müssen reibungslos funktionieren.

Linux Geschichte

Wie entstand Linux?

Den Namen Linux nutzte man anfänglich ausschließlich für das von ihm entwickelte Kernel. Sein Kernel wurde anfänglich in Kombination mit dem unixorientierten System Minix verwendet. Linus und die anderen Entwickler lizenzierten im Jahr 1992 Linux unter der GNU (General Public License), sodass sie den Kernel in die GNU integrieren konnten. Diese Version entwickelte sich schnell zu der meist genutzten Variante, da zu dieser Zeit kein anderer funktionsfähiger freier Kernel zur Verfügung stand. Als Linus und seine Kollegen später das gesamte Betriebssystem als Linux bezeichneten, versuchte Richard Stallmann, der Gründer des GNU-Projekts, die Bezeichnung GNU/Linux durchzusetzen, was jedoch von den meisten Entwicklern und Distributoren abgelehnt wurde.

Unterschiedliche Distributionen

Da der Kernel alleine nicht funktionsfähig ist, muss man ihn mit sogenannter Hilfssoftware versehen, wie zum Beispiel den GNU Core Utilities und vielen weiteren Anwendungsprogrammen. Ein solches Paket, das aus dem Kernel und Anwendungssoftware besteht, nennt man Distribution. Dabei handelt es sich um eine Zusammenstellung verschiedener Software, die je nach vorgesehenem Einsatzgebiet sehr unterschiedlich ausfallen kann. Die so zusammengesetzten Distributionen können sich teilweise stark voneinander unterscheiden. Der Entwickler einer solchen Distribution heißt Distributor.
Die Notwendigkeit der Distributionen lässt sich in erster Linie durch das Entwicklungsmodell von Linux begünstigen.

Die ersten Distributionen waren:

MCC Interim
Softlanding Linux System (SLS)
Yggdrasil

Die älteste Distribution, die heute noch weiterentwickelt wird, ist Slackware von Patrick Volkerding.
Mit der rasanten Ausbreitung der Distributionen bekamen mehr Nutzer die Möglichkeit, das quelloffene Betriebssystem zu testen. Hinter den in erster Linie kleineren Distributionen, die man heutzutage über das Internet koordiniert, stehen Projekte Freiwilliger. Die größeren Distributionen werden von Stiftungen und Unternehmen entwickelt und verbreitet. Auch die Einsatzmöglichkeiten der einzelnen Distributionen weichen stark voneinander ab, sodass von Systemen für Desktop-PCs, Server-Installationen und Live-DVDs mittlerweile alles vertreten ist.

Die Vor- und Nachteile im Überblick

Vorteile und Nachteile von Linux

Welche Vorteile hat Linux?

Das quelloffene Betriebssystem gilt als besonders sicher und performant. Einer der größten Vorteile spiegelt sich in der Tatsache wider, dass für Linux beinahe keine Schadsoftware existiert. Dank der Open-Source-Lizenz (GPL) sind der Kernel und die meisten anderen Module quelloffen. Die GPL-Lizenz ermöglicht Entwicklern und Nutzern, den Quellcode beliebig zu verändern und zu verbreiten. Da Linux quelloffen und modular aufgebaut ist, kann es schnell und unkompliziert auf andere Plattformen portiert und für andere Einsatzmöglichkeiten angepasst werden. Dadurch ist das gesamte System in hohem Maße skalierbar, sodass es sich auf allen Arten von Computersystemen problemlos einsetzen lässt, wie beispielsweise mobile Geräte, Server, Supercomputer oder PCs.

Als nachteilig kann man die Tatsache betrachteten, dass eine Vielzahl an Anwendungsprogrammen, Geräten und Spielen offiziell nicht unterstützt werden. Während Endanwender das Betriebssystem vollständig über die grafische Benutzeroberfläche steuern können, erwartet man von Administratoren einen guten Umgang mit der Kommandozeile.

Lizenz Linux

Wie erhält man eine Lizenz?

Red Hat, Ubuntu und SUSE

Da Linux quelloffen ist, haben sich im Laufe der Zeit viele unterschiedliche Distributionen etabliert. Zu den meistgenutzten Distributionen gehören:
– Red Hat
– Ubuntu
– SUSE

Ubuntu ist nach Windows und macOS das beliebteste Betriebssystem für Desktop- und Laptop-PCs. Die Ubuntu-Distribution wird von der Firma Canonical entwickelt und ist kostenlos erhältlich. Die beiden Firmen Red Hat und SUSE haben sowohl kostenlose als auch kostenpflichtige Distributionen im Angebot. Red Hat ist aktuell der weltweite Marktführer im Bereich der Server- und Workstation-Lösungen, während SUSE insbesondere in Deutschland sehr beliebt ist. Lesen Sie hier mehr über SUSE.

Linux auf Desktop-Systemen

Obwohl das quelloffene Betriebssystem eine Vielzahl unterschiedlicher Einsatzbereiche abdeckt, kommt das System in erster Linie auf Desktop- und Laptop-PCs als Alternative zu Windows zum Einsatz. Eine Distribution lässt sich sowohl als das primäre Betriebssystem betreiben, als auch im Rahmen eines Multi-Boot-Systems nutzen. Nutzer können beispielsweise neben Windows oder macOS auch Linux parallel installieren und betreiben. Aktuelle Distributionen, wie beispielsweise Red Hat oder Ubuntu, führen den Nutzer durch den Installationsprozess und erkennen vorhandene Betriebssysteme automatisch. So sollten auch unerfahrene Nutzer mit der Installation des Systems keine Probleme haben.

Nutzern steht eine Vielzahl kostenloser Anwendungen zu Verfügung, die sie sich individuell nach persönlichen Anforderungen auswählen können. Mit Anwendungen für Textverarbeitung, Tabellenkalkulation und Multimedia sowie Programmen für die wissenschaftliche Anwendungen sind die meisten Anwendungsbereiche abgedeckt, die im Büro- und Privatalltag wichtig sind.

CentOS (Community ENTerprise Operating System) ist ein auf dem Linux-Kernel basierendes Betriebssystem für PC, Server und virtuelle Maschinen. Die Distribution gehört zu den meistgenutzten nichtkommerziellen Linux-Versionen weltweit und baut auf dem RedHat Enterprise Linux (RHEL) System auf. CentOS ist wie die RedHat Version auf Unternehmensbedürfnisse zugeschnitten und binär kompatibel zu RHEL. Im Gegensatz zu RHEL ist CentOS von jedermann kostenfrei einsetzbar.

Die Geschichte von CentOs

Wie ist CentOs entstanden?

Die Entstehung von CentOS

Zum Verständnis der Entstehung des Betriebssystems muss man den Gedanken von Linux und der Open Source Community verstehen. Linux bzw. der Linux Kernel unterliegt der GNU/GPL. Diese Lizenz gewährleistet dem Lizenznehmer ein umfassendes Nutzungsrecht an der Software. Ihm ist unter anderem die Weiterverbreitung der Software gestattet, jedoch muss diese, unabhängig davon, ob die Software unverändert oder modifiziert weitergegeben wird, der GNU/GPL unterliegen. Dadurch ist gewährleistet, dass der Quellcode der Software immer frei ist und von jedem eingesehen, verändert und weiterentwickelt werden kann. Lesen Sie hier, was ein Quellcode ist.

RedHat ist eine kommerziell orientierte Firma, die sich zur Aufgabe gemacht hat, Linux auch für Unternehmen interessant zu machen. Der Grundgedanke liegt darin, dem professionellen Anwender eine über einen langen Zeitraum unverändert bleibende, regelmäßig mit Sicherheitsupdates versorgte und SLA-basiertem Support unterliegende Software zur Verfügung zu stellen. Alle diese Attribute können die vielen verschieden Linux-Derivate nicht beziehungsweise nur in begrenztem Umfang erfüllen und sind deshalb weniger interessant für den gewerblichen Anwender.

RedHat und CentOs

Im Gegensatz zu vielen kostenfrei erhältlichen Linux-Distributionen sind die RedHat-Produkte kostenpflichtig und ausschließlich zusammen mit einer Support-Option zu erwerben. An diese Stelle setzt

CentOs-Updates

Welche Updates kann man erwarten?

die Entwicklergemeinde von CentOS an: Anhand des frei zugänglichen Quellcodes wird die Software neu kompiliert (Übersetzung von Quellcode in durch Computer verarbeitbaren Maschinencode). Dabei bleibt die Software binärkompatibel, nur Herstellerlogos und –namen werden ersetzt. Die Entwickler garantieren lang Lebenszyklen, für die Haupversion 7 wird beispielsweise für den Zeitraum von zehn Jahren die Versorgung mit Patch- und Sicherheits-Updates sichergestellt.

Im März 2004 erschien die Version 2 von CentOS Linux (damals noch unter dem Namen CAOS Linux). Sie war vom damals aktuellen RHEL 2.1 abgeleitet. 2006 änderte man den Name zum heutigen CentOS. Seit der ersten Version wird regelmäßig nach einem Versionsupdate von RedHat die entsprechende Version von CentOS entwickelt und zwei bis drei Monate nach dem RHEL-Erscheinen auf den Markt gebracht. Im Jahr 2014 verkündete RedHat, das Projekt finanziell zu unterstützen. Damit übernahm RedHat auch die Marke „CentOS“ und besitzt sie bis heute. Der Gedanke der freien Verfügbarkeit bleibt hiervon unberührt bis heute und in Zukunft bestehen.

Welche Anwender profitieren von CentOS?

Der Fokus des RedHat-Clones liegt wie der von RHEL auf Stabilität, Sicherheit, Support und Zuverlässigkeit. Diese Features sind für professionelle Anwender in Unternehmen und Behörden interessant, die Wert auf standardisierte Soft- und Hardware legen. Für jede Version garantieren die Entwickler viele Jahre Support in Form von Patches und Sicherheitsupdates. Die derzeit aktuelle Version 7 unterliegt dem aktuellen 7-Jahres-Support-Zyklus, wobei das System weitere drei Jahre mit Sicherheitsupdates versorgt wird. Der Support für diese Version wird am 30. Juni 2024 enden.

Für die Hardware-Hersteller ergibt sich wegen der langjährigen Stabilität der Software die Möglichkeit, das Betriebssystem für ihre Produkte zertifizieren. Das ist im Gegenzug wichtig für die Anwender, die so ein rundum unterstütztes System erhalten. Die Herstellerzertifizierungen beziehen sich zwar auf RedHat Enterprise Linux. Da CentOS Linux aber binärkompatibel ist, kann der Anwender sicher sein, dass das Betriebssystem auf RHEL-zertifizierter Hardware lauffähig und unterstützt ist.

CentOs

Ist die Software auf dem neusten Stand?

Verschiedene Systemhäuser und Softwareanbieter haben sich in den letzten Jahren darauf spezialisiert, auch für CentOS-professionellen Support anzubieten. So offeriert zum Beispiel die Firma RogueWave 12×5 oder 24×7 Supportverträge inklusive erweiterter Patchversorgung. Damit sind allerdings Kosten verbunden, die eigentlich mit dem Einsatz von CentOS gegenüber RHEL vermieden werden sollten.

Anwender sollten sich darüber im Klaren sein, dass nicht alle enthaltenen Softwarepakete jederzeit auf dem aktuellsten Stand sind. In manchen Einsatzbereichen kann das dazu führen, das bestimmte Anwendungen nicht lauffähig sind. Es besteht zwar die Möglichkeit, selbst Pakete zu kompilieren. Dadurch gefährdet man die Stabilität des Gesamtsystems. CentOS ist also für Anwender, die auf neueste Softwareversionen angewiesen sind wie zum Beispiel Softwareentwickler, nicht oder nur bedingt geeignet.

Welche Version ist derzeit aktuell?

Seit Ende Oktober 2018 trägt die aktuelle Version den Versionsstempel 7.6-1810. Sie wird noch bis Mitte 2024 mit Updates versorgt, drei Jahre später endet die Versorgung mit Sicherheitsupdates. Außerdem ist die Version 6.10 erhältlich und bis Ende 2020 durch Updates unterstützt. Ältere Versionen kann man auf eigenes Risiko installieren, jedoch gibt es keine Updates mehr.

RedHat ist schon um eine Major-Version weiter, seit Mai 2019 ist RHEL 8 mit neuer Software und neuen Features verfügbar. Derzeit arbeitet die CentOS Entwicklergemeinde an der Umsetzung der Version 8 für das freie Betriebssystem. Gemessen an den bisherigen Entwicklungszyklen erscheinen Updates der RedHat-Variante jeweils mit zwei bis drei Monaten Verzögerungen. Man kann also mit dem Erscheinen von CentOS 8 um August 2019 herum rechnen.

Wo kann sich der Anwender informieren?

Neben Informationen aus den einschlägigen Fachzeitschriften sind natürlich CentOS und RedHat über Internetseiten (centos.org, redhat.com), auf denen neben Informationen über die Produkte und aktuelle und geplante Neuerungen auch die Software selbst verfügbar ist. Die Historie reicht dabei zurück bis zur Urversion CAOS 2.1.

Ceph – was ist das? Viele Internetnutzer haben – in den meisten Fällen unbewusst – schon damit zu tun gehabt. Mit Ceph – einer Softwarelösung – können große Datenmengen einfach und günstig verarbeitet und auf standardisierter Industriehardware gespeichert werden. Ceph kommt zum Beispiel in Speichersystem von Webshops oder bei Anbietern von Onlinespeicher zur Anwendung.

Was ist Ceph?

Ceph ist eine nahezu endlos skalierende und hochverfügbare Softwarelösung zur verteilten Speicherung von Daten im Netzwerk. Die Software ist Open Source, basiert auf Linux und wurde für den Einsatz als Objekt-, Block- und Dateispeicher entwickelt. Das Gesamtsystem ist extrem robust und eignet sich für Datenmengen von wenigen hundert Gigabyte bis hin zu einigen Peta– und sogar Exabytes (1 Exabyte sind 1 Milliarde Gigabyte!).

Die Geschichte von Ceph

Ceph wurde als ein Projekt für die Doktorarbeit von Sage Weil an der University of California in Santa Cruz ins Leben gerufen. Die ersten Codezeilen wurden 2004 geschrieben und im Jahr 2005 gab es den ersten funktionierenden Prototypen von Ceph. Das System wurde 2006 durch Sage Weil bei zwei Konferenzen der Öffentlichkeit vorgestellt.

Weil arbeitete nach seiner Dissertation weiter am Projekt und gründete im Jahr 2012 die Firma Intank Storage, um das System auch professionell nutzen und vermarkten zu können. Kurz vorher, 2010, wurde der erste Ceph Client in den Linux-Kernel integriert. Intank Storage wurde 2014 von RedHat, einem Anbieter von professionellen Linux Systemen, gekauft und ist heute als „Red Hat Ceph Storage“ ein Bestandteil der Produktpalette von RedHat.

Unabhängig davon steht das Ceph-Projekt weiterhin als Open Source Software kostenfrei jedem zur Verfügung.

Wie funktioniert Ceph?

Ceph läuft als Software auf einem herkömmlichen Linux System. Mindestens drei, besser sind mehr als vier, Computer (Knoten oder englNodes) bilden ein Cluster. Lesen Sie hier mehr über Linux.

Ceph-Knoten

Storage-Knoten sind wichtig

 

Die wichtigsten Komponenten im Ceph Cluster sind die Storage Knoten. Sie sind verantwortlich für die Speicherung der Daten und verfügen daher im Regelfall über eine große Speicherkapazität. Die Festplatten und Disksysteme sollten im RAID-Verbund zur Verbesserung der Fehlertoleranz und Geschwindigkeit organisiert sein. Der Primary Storage Node entscheidet im Cluster über die Datenverteilung, Replikation und Recovery. Alle anderen Knoten stehen als Secondary Storage Node zur Überwachung zur Verfügung und können im Fehlerfall die Rolle des Primary Storage Nodes übernehmen.

Relevante Fehlertoleranz

Eine wichtige Funktion ist die Fehlertoleranz, sprich die Reaktion auf Ausfälle einzelner Komponenten des Gesamtsystems. Zu diesem Zweck tauschen die Knoten untereinander Informationen über den Zustand der Einzelsysteme aus und können so auf verschiedene Betriebszustände wie hohe Last, Ausfall eines Knotens oder Ähnliches reagieren. Die einzelnen Knoten haben dabei unterschiedliche Aufgaben und Wertigkeiten. Die Entscheidungsfindung bei Hardwarefehlern ist kompliziert und immer dem Ziel des maximalen Datenschutzes untergeordnet. Im Normalfall isoliert sich der fehlerhafte Knoten und der Betrieb geht mit den verbliebenen Knoten unterbrechungsfrei weiter. In sehr seltenen Fällen kommt der Cluster nach den vorgegebenen Regeln zur Entscheidungsfindung zu keinem Ergebnis oder die verbleibenden Knoten reichen nicht zur Sicherung der Fehlertoleranz aus. Anschließend schaltet sich das gesamte System im Sinne des Schutzes der Daten ab.

Ceph

Wie kommuniziert Ceph?

Die Kommunikation zwischen den Knoten und mit den Storage Clients erfolgt über das normale Netzwerk. Im Serverbereich wird heute zumeist die 10Gbit Technik eingesetzt, die einzelnen Server/Knoten können zur Erhöhung der Geschwindigkeit mit mehreren (gebündelten) Netzkarten versehen werden. Die Anbindung an das Netzwerk wird im Idealfall über mehrere Switcheredundant realisiert. Durch diese Maßnahme gibt es im Ceph Cluster keine zentrale Komponente, deren Fehler das Gesamtsystem zum Ausfall bringen könnte.

Welche Vorteile bietet Ceph?

Der große Vorteil von Ceph ist, dass der Anwender unabhängig von proprietären und teuren hardwarebasierten Storagesystemen großer Hersteller wird. Ceph läuft auf Standard-Hardware und kann unterschiedliche Systeme verschiedener Hersteller unter einen Hut bringen. Durch den Einsatz der Open Source Software und preisgünstiger standardisierter Hardware kann der Anwender Kosten in Höhe von 20% bis 50% gegenüber den Storagesystemen großer Hersteller einsparen.

Ein Ceph-Storagesystem ist sehr hoch skalierbar. Durch Hinzufügen von zusätzlichen Knoten und Festplatten lässt sich die Kapazität einfach und schnell erweitern. Neben der Kapazität kann man die Performance des Systems durch Zufügen von Hardware verbessern. Da Ceph verteilt arbeitet, gibt es keinen einzelnen Performance-Engpass (Flaschenhals oder englBottleneck), das System steuert die Lastverteilung auf die einzelnen Knoten selbst.

Durch das Hinzufügen weiterer Knoten lässt sich ebenso die Redundanz des Gesamtsystems steigern. Die intelligente Datenverteilung auf den Disksystemen und über die verschiedenen Knoten macht das System sehr robust. Hardwarefehler einzelner Bauteile oder Knoten kann der Cluster im Betrieb transparent überbrücken. Je nach Konfiguration der Regeln zur Datenverteilung über die Knoten ist der Ausfall mehrerer Knoten ohne Ausfall des gesamten Systems möglich.

Gibt es auch Nachteile?

Ceph-Nachteile

Nachteile von Ceph

Planung, Installation und Pflege eines Storagesystems mit Ceph stellen den Anwender vor große Herausforderungen. Er sollte mit Linux als Betriebssystem und der Software Ceph gut vertraut sein. Bei der Planung sind Kenntnisse im Bereich der StoragetechnologienRedundanzkonzepten und Netzwerk unerlässlich. Im Fehlerfall ist der Anwender auf Eigenhilfe oder die Unterstützung der Community angewiesen.

Der Kauf einer professionellen Variante (zum Beispiel von RedHat) bietet Vorteile bezüglich der Handhabbarkeit und vor allem beim professionellen Support durch den Hersteller, erhöht im Gegenzug allerdings die Kosten.

Wo wird Ceph eingesetzt?

Der Speicherbedarf im Internet und bei Unternehmen wächst beständig. Neue Anwendungen, Clouds, Social Media, Online Shops und Multimedia Dienste benötigen immer größere Speicherkapazitäten. Vorhandene Daten müssen per Backup gesichert und alte Daten archiviert werden, die Grenzen des Speicherwachstums sind momentan nicht absehbar. Dabei steigt vor allem der Bedarf nach kostengünstigen und einfach skalierbaren Speicherlösungen. In diesem Bereich spielt Ceph seine Stärken aus.

Es wird heute von Kunden aus verschiedenen Bereichen eingesetzt. E-Commerce Lösungen mit Magento oder Shopwarearbeiten mit Ceph im Hintergrund, Datenbanken profitieren von der enormen und skalierbaren Geschwindigkeit von Ceph. Viele Onlinedienste nutzen Ceph als Datenspeicher und schätzen dabei vor allem die geringen Kosten und die einfache Erweiterbarkeit.

In großen Rechenzentren kommen die Vorteile von Ceph zum Tragen. Hohe Redundanz und Geschwindigkeit werden mit der steigenden Anzahl von Knoten im Cluster besser nutzbar. In Virtualisierungsumgebungen wie KVM oder XEN ist neben den genannten Punkten die hohe Skalierbarkeit wichtig, um dem Wachstum der angeschlossenen Dienste gerecht zu werden.

PERL und das Kamel – wo Programmierung und Wüste aufeinandertreffen

PERL ist eine plattformunabhängige Programmiersprache. Die Skriptsprache unterstützt eine Software-Entwickelung in verschiedenen, sehr unterschiedlichen Programmierstilen. Anwendungen für das Web, die Bioinformatik und die Finanzwelt werden mit PERL entwickelt. Die Programmiersprache, in der sich auch Einsteiger leicht zurechtfinden, wurde von einem Sprachwissenschaftler erschaffen. Die Skriptsprache erlaubt viele Freiheiten, die allerdings zu unleserlichem Code führen können.

Als Skriptsprache wird PERL während der Laufzeit von einem Interpreter geparst und interpetiert. Der Programmierer muss nur wenigen Vorgaben folgen, um ein lauffähiges PERL-Skript zu schreiben. Ein Beispiel ist die IF-Anweisung, genauer gesagt das „IF NOT“, das in PERL „UNLESS“ lauten. Die Skriptsprache ist so nah an der natürlichen Sprache angelehnt, dass unter Umständen selbst ein Gedicht ein lauffähiges Programm sein kann.

Das PERL-Prinzip

Das Motto der Skriptsprache „There’s more than one way to do it“ kann mit „Viele Wege führen nach Rom“ übersetzt werden. Ihre Stärken liegen in der Vielseitigkeit, Leistungsfähigkeit, der plattformunabhängig und der Effizienz bei der Verarbeitung von Textdateien. Letztere werden seit jeher in der System- und Netzwerkadministration zum Lesen von Logfiles genutzt. Die große Flexibilität der Sprache eröffnet neue Möglichkeiten bei der Auswertung von Big Data-Beständen.

Umso öfter, umso kürzer

Als PERL-Paradoxon ist das als Huffman-Kodierung bekannte Prinzip, die Längen von Bezeichnern mit ihrer Verwendung in Beziehung setzt. Umso öfter ein Schlüsselwort genutzt wird, umso kürzer ist es. Dem erfahrenen Programmierer erleichtert dies die Schreibarbeit, für den Einsteiger kann das Lesen solcher Programme problematisch sein. Die Skriptsprache wird daher auch als „Write-Only-Language“ bezeichnet. Damit ist gemeint, dass die Programme zwar leicht zu schreiben, dann aber nicht mehr zu lesen sind. Teile des formalen Regelwerks wurden von der Programmiersprache Phyton übernommen.

Dynamische Webseiten

Zunächst wurde PERL fast ausschließlich als Unix-Skriptsprache genutzt. Der Durchbruch kam mit den ersten dynamischen Webseiten. Die aufgerufenen CGI-Skripte liefen auf dem Webserver und nicht wie bei Javascript im Browser des Benutzers.

Gleichzeitig bildeten sich zwei Programmierbereiche heraus. Die CGI-Skripte waren eher im Bereich der Systemadministration angesiedelt, während die PHP-Programmierer den Bau der Webseiten übernahmen. Im Zusammenhang mit dem bei PHP-Programmierern äußerst unbeliebten PERL entstand die Interpretation des Kürzels PHP als „Perl Hater’s Platform“.

PERL in der Praxis

Mit dem Wechsel zu den browserseitig generierten dynamischen Webinhalten schwand die Bedeutung der Skriptsprache – zumindest in der Webentwicklung. In der Systemadministration können mit den Skripten leicht die internen Limits bei den Dateigrößen umgangen werden. Unter System- und Netzwerkadministratoren ist die Skriptsprache auch als „Swiss Army Chainsaw“ bekannt. Dies ist auf die weltberühmten Schweizer Multifunktions-Taschenmesser bezogen, wobei PERL mit einer „Kettensäge“ gleichgestellt wird.

Ein Comeback konnte die Programmiersprache bei der Auswertung von Big Data feiern, denn das Durchforsten großer Datenmengen ist eine der Stärken der Skriptsprache. Damit wird die Skriptsprache auch im Finanzwesen und verwandten Bereichen, aber auch in der Bioinformatik eingesetzt.

PERL – eine Skriptsprache schreibt Geschichte

Larry Wall, ein Linguist, entwarf die Skriptsprache in 1987. Wall kombinierte seine sprachwissenschaftlichen Erkenntnisse mit Elementen aus der Programmiersprache C, der Skriptsprache awk und Unix-Befehlen. 1993 hatte sich PERL bereits zum leistungsfähigen Werkzeug entwickelt. Mit der Version 5 wurde ein völlig überarbeiteter Interpreter veröffentlicht sowie Objekte, Module und Referenzen unterstützt. Seit Version 5 ist eine objektorientierte Programmierung möglich, bei der Parameter an Funktionen übergeben bzw. entgegengenommen werden. Seither kann die Skriptsprache von Anwendern mit Modulen flexibel erweitert werden. Online sind die Module über das CPAN-Archiv abrufbar. Inzwischen sind mehr als 150.000 Module zu den verschiedensten Funktionen erhältlich.

PERL 6 als heutiger Standard

Nach 15 Jahren Entwicklungszeit wurde im Jahr 2015 die Version 6 offiziell freigegeben. Die Version 6 ergänzt die Familie um eine völlig neu entwickelte Variante. Verbessert wurden einige der historisch bedingten und viel diskutierten Kontroversen, die aus Kompatibilitätsgründen in den Vorgängerversionen nicht zu korrigieren waren. Mit der neuen Version konnte die Skriptsprache ihre Popularität nochmals erweitern. Gleichzeitig nehmen die Community-Mitglieder zu, womit umfangreiche Modulbibliotheken zugänglich werden.

Wie PERL das Programmiererleben leichter macht

Charakteristisch für die Skriptsprache ist die sichtbare Unterscheidung zwischen einfachen, skalaren und zusammengesetzten Datentypen. Variablennamen beginnen mit Sigil ($, @ oder %). Darüber erkennt die Programmiersprache, wie die Variable zu interpretieren ist, nicht aber wie sie definiert ist. Damit wird eine besonders einfache Verwendung von häufig benutzten Konstrukten erreicht. Mit den Write-Formaten wird ein einfaches Generieren von Reports unterstützt.

Die Kontrollstrukturen (If, While, Do) unterscheiden sich kaum von Java, JavaScript und C. PERL erlaubt bedingt formatfreien Quellcode, in dem der Interpreter fehlende oder zusätzliche Einrückungen, Leerzeichen und Zeilenbrüche nicht moniert. Damit der Parser Befehlsblöcke erkennt, werden sie mit Semikolon getrennt.

Dromedar – das Maskottchen der Skriptsprache

Falsch interpretiert wird bei der Skriptsprache gelegentlich das Maskottchen. Es wird als Kamel bezeichnet, ist aber tatsächlich ein Dromedar. Eines der bekannten Referenzwerke „Programming Perl“ ist wegen des Maskottchens auf dem Buchdeckel als „Kamelbuch“ bekannt. Der Verleger Tim O’Reilly erklärte dazu, dass auch PERL über lange Strecken ohne Wasser auskäme. Hässlich sei es auch, meinte er. Die PERL Foundation hat sich hingegen für eine aufgeschnittene Zwiebel entschieden. Der gefährliche und tückische Komodowaran ist das Motto-Tier der PERL-Distribution „Active Perl“ des Unternehmens ActiveState.