Eduard Sjisjkin
Een van de onlangs ontwikkelde innovaties is het aanbieden van
de mogelijkheid voor de gebruiker om een kleine high-performance toe te voegen
blokapparaat (bijv. NVRAM) gebeld
relatief groot logisch volume bestaande uit langzaam
budget drijfveren. Dit zal de indruk wekken dat alles
het volume bestaat uit dezelfde dure high-performance
apparaten, zoals een “proxyschijf”.
De geïmplementeerde methode was gebaseerd op de simpele observatie dat er in de praktijk niet voortdurend naar de schijf wordt geschreven en dat de I/O-belastingscurve de vorm heeft van pieken. In het interval tussen dergelijke "pieken" is het altijd mogelijk om gegevens van de proxyschijf opnieuw in te stellen, waarbij alle gegevens (of slechts een deel ervan) op de achtergrond worden herschreven naar de belangrijkste, "langzame" opslag. De proxyschijf is dus altijd gereed om een nieuw deel van de gegevens te ontvangen.
Deze techniek (bekend als Burst Buffers) is oorspronkelijk ontstaan in
gebieden van high performance computing (HPC). Maar er bleek ook vraag naar te zijn voor gewone applicaties, vooral voor applicaties die hogere eisen stellen aan de data-integriteit (meestal verschillende soorten databases). Dergelijke toepassingen voeren eventuele wijzigingen in elk bestand op atomaire wijze uit, namelijk:
Maakt blokken vrij die bezet zijn door oude gegevens.
Al deze stappen veroorzaken, tot op zekere hoogte, aanzienlijke problemen
prestatievermindering op elk bestandssysteem. Situatie
verbetert als het nieuwe bestand eerst naar het toegewezen bestand wordt geschreven
krachtig apparaat, en dat is precies wat er gebeurt
bestandssysteem met Burst Buffers-ondersteuning.
In Reiser5 is het de bedoeling om optioneel niet alleen te versturen
nieuwe logische blokken van het bestand, maar ook alle vuile pagina's in het algemeen. Bovendien,
niet alleen pagina's met data, maar ook met metadata
worden geschreven in stappen (2) en (3).
Ondersteuning voor proxyschijven wordt uitgevoerd in de context van regulier werk met
Reiser5 logische volumes,
het samengestelde systeem "proxyschijf - hoofdopslag" is normaal
logisch volume met als enige verschil dat de proxyschijf prioriteit heeft
onder andere volumecomponenten in het schijfadrestoewijzingsbeleid.
Het toevoegen van een proxyschijf aan een logisch volume gaat niet gepaard met een
het opnieuw in evenwicht brengen van gegevens, en de verwijdering ervan gebeurt op precies dezelfde manier als
een gewone schijf verwijderen. Alle proxyschijfbewerkingen zijn atomair.
Foutafhandeling en systeemimplementatie (ook na een systeemcrash) vinden op precies dezelfde manier plaats alsof de proxyschijf een regulier onderdeel zou zijn
logisch volume.
Na het toevoegen van een proxyschijf, de totale capaciteit van het logische volume
neemt toe met de capaciteit van deze schijf. Bewaking van de vrije ruimte
proxyschijf wordt op dezelfde manier uitgevoerd als voor andere volumecomponenten, d.w.z. met behulp van het hulpprogramma volume.reiser4(8).
De proxyschijf moet periodiek worden schoongemaakt, d.w.z. gegevens opnieuw instellen van
naar de hoofdopslag. Na het bereiken van bètastabiliteit Reiser5
het schoonmaken is automatisch gepland (het wordt beheerd door
speciale kerneldraad). In dit stadium is de verantwoordelijkheid voor het schoonmaken
ligt bij de gebruiker. Gegevens opnieuw instellen van de proxyschijf naar de hoofdschijf
opslag wordt geproduceerd door eenvoudigweg het hulpprogramma volume.reiser4 met de optie aan te roepen
"-B". Als argument moet u het mountpunt van het logische
volumes Natuurlijk moet u eraan denken om periodiek schoon te maken. Voor
U kunt hiervoor een eenvoudig shellscript schrijven.
Als er geen vrije ruimte op de proxyschijf is, worden alle gegevens
worden automatisch naar het hoofdgeheugen geschreven. Tegelijkertijd standaard
de algehele prestaties van de FS zijn verminderd (als gevolg van constante oproepen
procedures voor het uitvoeren van alle bestaande transacties). Optioneel kunt u instellen
modus zonder prestatieverlies. In dit geval echter de schijf
De ruimte op het proxyapparaat zal minder efficiënt worden gebruikt.
Het is handig om een subsectie met metagegevens (steen) als proxyschijf te gebruiken, op voorwaarde dat deze is gemaakt op een blokapparaat met voldoende hoge prestaties.
Bron: opennet.ru