Portierung des Distributed Network Block Devices (DNBD3) auf den Userspace-Block-Device-Treiber des Linux-Kernels
bwLehrpool und weitere Infrastrukturen basieren auf einem im Haus entwickelten Distributed Network Block Device für den Linux-Kernel (DNBD3). Dieses ist bisher nicht Bestandteil des Mainline-Kernels und muss daher regelmäßig nachgezogen werden. Ein Ansatz könnte sein, statt DNBD3 in den Kernel zu bekommen ("Mainlining"), das Block Device in einen Userspace-Client umzubauen, der auf dem ublk-Framework des Kernels aufsetzt.
Damit vereinfachen sich Entwicklung und Portierung deutlich (und die Bindung an bestimmte im Kernel verfügbare Programmiersprachen entfällt). Eine Herausforderung bleibt das Verhalten während des Switch-Roots (Zusammenbau des Root-Filesystems im Init-Prozess vor dem eigentlichen Start). Beispiele für die Umsetzung existieren bereits für QEMU/qcow2.
Aufgabe
Die Aufgabe des Projekts bzw. Arbeit besteht darin, das bestehende DNBD3 in die neue Struktur zu überführen. Hierzu sind entsprechende Vorüberlegungen und Planungen vorzunehmen, bevor eine prototypische Implementierung erfolgen sollte. Am Ende sollte eine Evaluation im Vergleich zur bestehenden Implementierung stehen und die Leistung verglichen werden.
Sinnvolle Vorkenntnisse
Programmierkenntnisse in geeigneten Programmiersprachen; Vertiefte Linux-Kenntnisse; Grundverständnis von Netzwerken
Umfang
- B.Sc.-Projekt oder -Thesis