BDR: Block Device Replicator
BDR: Block Device Replicator
bachelor thesis (DEFENDED)
View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/200723Identifiers
Study Information System: 282686
Collections
- Kvalifikační práce [11975]
Author
Advisor
Referee
Aschenbrenner, Vojtěch
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Computer Science with specialisation in Systems Programming
Department
Department of Distributed and Dependable Systems
Date of defense
19. 6. 2025
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
Czech
Grade
Excellent
Keywords (Czech)
replikace blokových zařízení|prefixová konzistence|replikace s nízkou režiíKeywords (English)
block device replication|eventual prefix consistency|lightweight replicationVětšina dnes dostupných síťových replikačních nástrojů má složité požadavky na kon- figuraci, je obtížně integrovatelná se stávajícími systémy nebo postrádá záruky konzis- tence. Tato práce představuje Block Device Replicator (BDR), nástroj pro replikaci blo- kových zařízení v reálném čase přes síť pro Linux. BDR kombinuje použití kernelu a uživatelského prostoru. Kernel zachycuje operace zápisu a komunikuje s uživatelským prostorem prostřednictvím sdílené paměti, čímž se eliminují zbytečné kopie dat. Kompo- nenty uživatelského prostoru se skládají z klientské a serverové aplikace, které zajišťují síťový přenos změn bloků. Klient sleduje operace zápisu a přenáší je na server, který je aplikuje na cílové zařízení. BDR si udržuje žurnál pro udržení konzistence dat při synchro- nizaci celého disku nebo při synchronizaci po odpojení. Systém je navíc navržen tak, aby fungoval transparentně, nevyžadoval žádné úpravy stávajících aplikací nebo souborových systémů a zajišťoval, že selhání komponent nebude mít dopad na zdrojový systém.
Most network-based replication tools available today suffer from complex configura- tion requirements, are hard to integrate with existing systems or lack consistency guar- antees. We tried to address those issues by developing Block Device Replicator (BDR), a real-time, network-based block device replication solution for Linux. BDR combines kernel and userspace components. The kernel component intercepts write operations and passes them to userspace daemon through a shared memory buffer, eliminating un- necessary data copies. The userspace components consist of client and server daemons that handle network transmission of block changes. The client monitors write operations and transmits them to the server, which applies them to a target device. BDR maintains journal to ensure data consistency during full disk synchronization or recovery procedures after disconnections. Additionally the system is designed to operate transparently, requir- ing no modifications to existing applications or file systems, and ensures that component failures do not impact the source system.
