Reiser5 filsystem tillgängligt

Tillgängliga För testning, Reiser5-filsystemet med stöd för logiska volymer på den lokala maskinen. Den huvudsakliga innovationen är parallell skalning (utskalning), som inte utförs på blocknivå, utan med hjälp av filsystemet.

Som en fördel med detta tillvägagångssätt anges att det inte finns några nackdelar med FS+RAID/LVM-kombinationer och icke-parallella filsystem (ZFS, Btrfs), såsom problemet med ledigt utrymme, prestandaförsämring när volymen är fylld över 70 %, föråldrade algoritmer för att ordna logiska volymer (RAID/LVM), som inte tillåter effektiv distribution av data över en logisk volym. I en parallell FS, innan du lägger till en enhet till en logisk volym, måste den formateras med hjälp av standardverktyget mkfs.

Reiser5 använder en O(1) fri blockallokator. Den maximala kostnaden för en gratis blocksökningsoperation beror inte på storleken på den logiska volymen. Det är möjligt att enkelt och effektivt sätta ihop en logisk volym från blockenheter av olika storlekar och bandbredder. Distributionen av data över sådana enheter sker med hjälp av nya algoritmer (den så kallade "fiber striping") som föreslagits av den ryske matematikern och programmeraren Eduard Shishkin.

Den del av I/O-förfrågningar som riktas till varje enhet är lika med dess relativa kapacitet som tilldelats av användaren, så att den logiska volymen fylls med data "jämnt" och "rättvist". Samtidigt får blockenheter med mindre kapacitet färre block för lagring, och enheter med lägre bandbredd blir inte en "flaskhals" (som händer till exempel i RAID-arrayer).

Att lägga till en enhet till en volym och ta bort en enhet från en volym åtföljs av ombalansering, vilket bevarar "rättvisheten" i distributionen. I det här fallet är delen av migrerad data också lika med den relativa kapaciteten för enheten som läggs till (tas bort). Migreringshastigheten för ofragmenterad data är nära skrivhastigheten till disk. Det är möjligt att samtidigt underhålla alla blockenheter som ingår i en logisk volym, genom att använda ett individuellt tillvägagångssätt för var och en av dem (defragmentering för hårddiskar, utfärdande av kasseringsförfrågningar för SSD, etc.). Ledigt utrymme på en logisk volym övervakas med hjälp av standardverktyget df(1). Dessutom ges användaren möjlighet att övervaka det lediga utrymmet på varje komponentenhet av den logiska volymen.

Alla operationer med logiska volymer (lägga till, ta bort enheter etc.) är atomära och implementeras med hjälp av standardverktyg för att arbeta med transaktioner i Reiser4. Den korrekta "uppfällningen" av volymen efter en sådan avbruten operation regleras av instruktioner. För tillfället har Reiser5 ännu inte verktyg för att hantera off-line (monterade) volymer, så användare uppmanas att självständigt lagra och uppdatera konfigurationerna av sina logiska volymer för tillfället. Denna konfiguration kan enkelt förberedas för en monterad volym med hjälp av det logiska volymverktyget som ingår i reiser4progs-paketet.

Av de planerade:

  • Distribution av metadata över flera delvolymer;
  • Kontrollera/återställa logiska volymer med hjälp av verktyget fsck (genom att uppgradera dess gamla version);
  • Anpassad kontroll över distribution och transparent datamigrering, vilket är av stor betydelse för HPC-applikationer (Burst Buffers);
  • Kontrollsummor för data och metadata;
  • 3D-ögonblicksbilder av logiska volymer med möjligheten att återställa inte bara vanliga filoperationer, utan även operationer på volymer (som att lägga till och ta bort enheter);
  • Globala (nätverks)volymer som samlar enheter på olika maskiner.

Källa: opennet.ru

Lägg en kommentar