Reiser5-bestandssysteem beschikbaar

Beschikbaar Voor het testen wordt gebruik gemaakt van het Reiser5-bestandssysteem met ondersteuning voor logische volumes op de lokale machine. De belangrijkste innovatie is parallelle schaling (uitschalen), die niet op blokniveau wordt uitgevoerd, maar met behulp van het bestandssysteem.

Als voordeel van deze aanpak wordt gesteld dat er geen nadelen zijn die inherent zijn aan FS+RAID/LVM-combinaties en niet-parallelle bestandssystemen (ZFS, Btrfs), zoals het probleem van vrije ruimte, prestatieverlies wanneer het volume gevuld is ruim 70% verouderde algoritmen voor het ordenen van logische volumes (RAID/LVM), die geen efficiënte distributie van gegevens over een logisch volume mogelijk maken. In een parallelle FS moet het apparaat, voordat het aan een logisch volume wordt toegevoegd, worden geformatteerd met behulp van het standaard mkfs-hulpprogramma.

Reiser5 gebruikt een O(1) vrije blokallocator. De maximale kosten van een gratis blokzoekactie zijn niet afhankelijk van de grootte van het logische volume. Het is mogelijk om eenvoudig en efficiënt een logisch volume samen te stellen uit blokapparaten van verschillende groottes en bandbreedtes. De distributie van gegevens over dergelijke apparaten vindt plaats met behulp van nieuwe algoritmen (de zogenaamde ‘fiber striping’), voorgesteld door de Russische wiskundige en programmeur Eduard Shishkin.

Het deel van de I/O-verzoeken dat naar elk apparaat wordt gestuurd, is gelijk aan de relatieve capaciteit die door de gebruiker is toegewezen, zodat het logische volume ‘gelijkmatig’ en ‘eerlijk’ wordt gevuld met gegevens. Tegelijkertijd ontvangen blokapparaten met een kleinere capaciteit minder blokken voor opslag, en vormen apparaten met een lagere bandbreedte geen “knelpunt” (zoals bijvoorbeeld gebeurt bij RAID-arrays).

Het toevoegen van een apparaat aan een volume en het verwijderen van een apparaat van een volume gaat gepaard met het opnieuw in evenwicht brengen, waardoor de ‘eerlijkheid’ van de distributie behouden blijft. In dit geval is het gedeelte van de gemigreerde gegevens ook gelijk aan de relatieve capaciteit van het apparaat dat wordt toegevoegd (verwijderd). De migratiesnelheid van niet-gefragmenteerde gegevens ligt dicht bij de snelheid van schrijven naar schijf. Het is mogelijk om tegelijkertijd alle blokapparaten in een logisch volume te onderhouden, door een individuele aanpak voor elk van hen te gebruiken (defragmentatie voor HDD's, het uitbrengen van verwijderverzoeken voor SSD's, enz.). Vrije ruimte op een logisch volume wordt bewaakt met behulp van het standaardhulpprogramma df(1). Bovendien krijgt de gebruiker de mogelijkheid om de vrije ruimte op elk componentapparaat van het logische volume te controleren.

Alle handelingen met logische volumes (apparaten toevoegen, verwijderen, etc.) zijn atomair en worden geïmplementeerd met behulp van standaardtools voor het werken met transacties in Reiser4. Het juiste "ontvouwen" van het volume na een dergelijke onderbroken werking wordt geregeld door instructies. Op dit moment beschikt Reiser5 nog niet over tools voor het beheren van offline (gekoppelde) volumes, dus gebruikers worden uitgenodigd om voorlopig zelfstandig de configuraties van hun logische volumes op te slaan en bij te werken. Deze configuratie kan eenvoudig worden voorbereid voor een gekoppeld volume met behulp van het hulpprogramma voor logische volumes dat is opgenomen in het reiser4progs-pakket.

Van de geplande:

  • Verdeling van metadata over verschillende subvolumes;
  • Het controleren/herstellen van logische volumes met behulp van het fsck-hulpprogramma (door de oude versie te upgraden);
  • Aangepaste controle over distributie en transparante datamigratie, wat van groot belang is voor HPC-applicaties (Burst Buffers);
  • Controlesommen voor gegevens en metagegevens;
  • 3D-snapshots van logische volumes met de mogelijkheid om niet alleen reguliere bestandsbewerkingen terug te draaien, maar ook bewerkingen op volumes (zoals het toevoegen en verwijderen van apparaten);
  • Globale (netwerk)volumes die apparaten op verschillende machines samenvoegen.

Bron: opennet.ru

Voeg een reactie