Reiser5 filsystem tilgængeligt

Ledig Til test, Reiser5-filsystemet med understøttelse af logiske volumener på den lokale maskine. Den vigtigste innovation er parallel skalering (udskalering), som ikke udføres på blokniveau, men ved hjælp af filsystemet.

Som en fordel ved denne tilgang anføres det, at der ikke er nogen ulemper forbundet med FS+RAID/LVM-kombinationer og ikke-parallelle filsystemer (ZFS, Btrfs), såsom problemet med ledig plads, ydeevneforringelse, når volumen er fyldt over 70 %, forældede algoritmer til at arrangere logiske volumener (RAID/LVM), som ikke tillader effektiv distribution af data på tværs af en logisk volumen. I en parallel FS, før du tilføjer en enhed til en logisk volumen, skal den formateres ved hjælp af standard mkfs-værktøjet.

Reiser5 bruger en O(1) fri blokallokator. De maksimale omkostninger for enhver gratis bloksøgningsoperation afhænger ikke af størrelsen af ​​det logiske volumen. Det er muligt enkelt og effektivt at samle et logisk volumen fra blokenheder af forskellige størrelser og båndbredder. Fordelingen af ​​data på tværs af sådanne enheder sker ved hjælp af nye algoritmer (den såkaldte "fiberstribning") foreslået af den russiske matematiker og programmør Eduard Shishkin.

Den del af I/O-anmodninger, der sendes til hver enhed, er lig med dens relative kapacitet, som er tildelt af brugeren, så det logiske volumen fyldes med data "jævnt" og "temmeligt". Samtidig modtager blokenheder med mindre kapacitet færre blokke til lagring, og enheder med lavere båndbredde bliver ikke en "flaskehals" (som det f.eks. sker i RAID-arrays).

Tilføjelse af en enhed til et volumen og fjernelse af en enhed fra en volumen er ledsaget af rebalancering, som bevarer "retfærdigheden" af fordelingen. I dette tilfælde er delen af ​​migrerede data også lig med den relative kapacitet af den enhed, der tilføjes (fjernes). Migreringshastigheden for ufragmenterede data er tæt på hastigheden for skrivning til disk. Det er muligt samtidigt at vedligeholde alle blokenheder, der er inkluderet i et logisk volumen, ved at bruge en individuel tilgang til hver af dem (defragmentering til HDD'er, udstedelse af kasseringsanmodninger til SSD'er osv.). Fri plads på en logisk volumen overvåges ved hjælp af standard df(1)-værktøjet. Derudover får brugeren mulighed for at overvåge den ledige plads på hver komponentenhed af det logiske volumen.

Alle operationer med logiske volumener (tilføjelse, sletning af enheder osv.) er atomare og implementeres ved hjælp af standardværktøjer til at arbejde med transaktioner i Reiser4. Den korrekte "udfoldning" af volumen efter en sådan afbrudt operation er reguleret af instruktioner. I øjeblikket har Reiser5 endnu ikke værktøjer til at administrere off-line (monterede) volumener, så brugere inviteres til selvstændigt at gemme og opdatere konfigurationerne af deres logiske volumener indtil videre. Denne konfiguration kan nemt forberedes til en monteret volumen ved hjælp af det logiske volumenværktøj inkluderet i reiser4progs-pakken.

Fra det planlagte:

  • Fordeling af metadata på tværs af flere undervolumener;
  • Kontrol/gendannelse af logiske volumener ved hjælp af fsck-værktøjet (ved at opgradere dens gamle version);
  • Brugerdefineret kontrol over distribution og transparent datamigrering, hvilket er af stor betydning for HPC-applikationer (Burst Buffers);
  • Data og metadata kontrolsummer;
  • 3D-snapshots af logiske volumener med mulighed for at rulle tilbage ikke kun almindelige filoperationer, men også operationer på volumener (såsom tilføjelse og fjernelse af enheder);
  • Globale (netværks)volumener, der samler enheder på forskellige maskiner.

Kilde: opennet.ru

Tilføj en kommentar