Eduard Shishkin
Entre les innovacions desenvolupades recentment, la prestació de
l'oportunitat per a l'usuari d'afegir un petit d'alt rendiment
dispositiu de bloqueig (per exemple, NVRAM) cridat
volum lògic relativament gran compost de lent
impulsos pressupostaris. Això crearà la impressió que tot
el volum es compon del mateix car d'alt rendiment
dispositius, com un "disc intermediari".
El mètode implementat es va basar en la simple observació que a la pràctica el disc no s'escriu constantment i la corba de càrrega d'E/S té forma de pics. En l'interval entre aquests "pics", sempre és possible restablir les dades del disc proxy, reescrivint totes les dades (o només una part) en segon pla a l'emmagatzematge principal "lent". Així, el disc proxy sempre està preparat per rebre una nova part de dades.
Aquesta tècnica (coneguda com Burst Buffers) es va originar originalment a
àrees de la informàtica d'alt rendiment (HPC). Però també va resultar ser una demanda per a aplicacions ordinàries, especialment per a aquelles que exigeixen més la integritat de les dades (normalment diversos tipus de bases de dades). Aquestes aplicacions realitzen qualsevol canvi en qualsevol fitxer de manera atòmica, és a dir:
Allibera blocs ocupats per dades antigues.
Tots aquests passos, en un grau o un altre, causen importants
degradació del rendiment en qualsevol sistema de fitxers. Situació
millora si primer s'escriu el fitxer nou a l'assignat
dispositiu d'alt rendiment, que és exactament el que passa a
sistema de fitxers amb suport Burst Buffers.
A Reiser5 està previst enviar opcionalment no només
nous blocs lògics del fitxer, però també totes les pàgines brutes en general. A més,
no només pàgines amb dades, sinó també amb metadades que
s'escriuen als passos (2) i (3).
El suport per als discs proxy es porta a terme en el context del treball habitual amb
Reiser5 volums lògics,
el sistema agregat "disc intermediari - emmagatzematge principal" és normal
volum lògic amb l'única diferència que el disc proxy té prioritat
entre altres components de volum a la política d'assignació d'adreces de disc.
L'addició d'un disc proxy a un volum lògic no s'acompanya de cap
el reequilibri de dades i la seva eliminació es produeix exactament de la mateixa manera que
eliminació d'un disc normal. Totes les operacions del disc proxy són atòmiques.
La gestió d'errors i el desplegament del sistema (inclòs després d'una fallada del sistema) es produeixen exactament de la mateixa manera que si el disc intermediari fos un component normal.
volum lògic.
Després d'afegir un disc proxy, la capacitat total del volum lògic
augmenta amb la capacitat d'aquest disc. Monitorització de l'espai lliure
El disc proxy es realitza de la mateixa manera que per a altres components de volum, és a dir. utilitzant la utilitat volume.reiser4(8).
El disc proxy s'ha de netejar periòdicament, és a dir. restablir les dades de
a l'emmagatzematge principal. Després d'arribar a l'estabilitat beta Reiser5
es preveu que la neteja sigui automàtica (estarà gestionada per
fil especial del nucli). En aquesta fase, la responsabilitat de la neteja
correspon a l'usuari. Restablir les dades del disc proxy al principal
L'emmagatzematge es produeix simplement trucant a la utilitat volume.reiser4 amb l'opció
"-b". Com a argument, heu d'especificar el punt de muntatge del lògic
volums Per descomptat, heu de recordar fer la neteja periòdicament. Per
Podeu escriure un script de shell senzill per fer-ho.
Si no hi ha espai lliure al disc proxy, totes les dades
s'escriuen automàticament a l'emmagatzematge principal. Al mateix temps, per defecte
el rendiment global del FS es redueix (a causa de les trucades constants
procediments per comprometre totes les transaccions existents). Opcionalment es pot configurar
mode sense pèrdua de rendiment. No obstant això, en aquest cas el disc
L'espai del dispositiu intermediari s'utilitzarà de manera menys eficient.
És convenient utilitzar una subsecció de metadades (maó) com a disc intermediari, sempre que es creï en un dispositiu de blocs de rendiment suficient.
Font: opennet.ru