Nous nous efforçons de fournir des solutions logicielles rapides, efficaces et abordables qui établissent de nouveaux standards dans l'industrie du développement logiciel.
  • Page d'accueil de R-Studio
  • Documentation technique R-Studio

Syntaxe d'un fichier de description pour les configurations RAID


Vous pouvez créer et stocker vos propres configurations RAID. La syntaxe de ces fichiers est similaire à celle du langage XML. Elles sont stockées dans le fichier .xml

Un certain nombre d'exemples de fichiers sont indiqués dans le Fichiers de description pour les configurations RAID .

Exemple de fichier de configuration RAID

<RAIDList>

 <RAID name="RAID6Complex" parents="5" rows="6" blocksize="16777216">

   <Table>

     <Block id="A1">ReedSolomon</Block>

     <Block id="B1">1</Block>

     <Block id="C1">2</Block>

     <Block id="D1">3</Block>

     <Block id="E1">XorOfData</Block>

     <Block id="A2">4</Block>

     <Block id="B2">5</Block>

     <Block id="C2">6</Block>

     <Block id="D2">XorOfData</Block>

     <Block id="E2">ReedSolomon</Block>

     <Block id="A3">8</Block>

     <Block id="B3">9</Block>

     <Block id="C3">XorOfData</Block>

     <Block id="D3">ReedSolomon</Block>

     <Block id="E3">7</Block>

     <Block id="A4">12</Block>

     <Block id="B4">XorOfData</Block>

     <Block id="C4">ReedSolomon</Block>

     <Block id="D4">10</Block>

     <Block id="E4">11</Block>

     <Block id="A5">XorOfData</Block>

     <Block id="B5">ReedSolomon</Block>

     <Block id="C5">13</Block>

     <Block id="D5">14</Block>

     <Block id="E5">15</Block>

     <Block id="A6" sequence="1">XorOfAll</Block>

     <Block id="B6" sequence="2">XorOfAll</Block>

     <Block id="C6" sequence="3">XorOfAll</Block>

     <Block id="D6" sequence="4">XorOfAll</Block>

     <Block id="E6" sequence="5">XorOfAll</Block>

   </Table>

   <Sequences>

     <Sequence id="1">A1 A2 A3 A4 A5 A6</Sequence>

     <Sequence id="2">B1 B2 B3 B4 B5 B6</Sequence>

     <Sequence id="3">C1 C2 C3 C4 C5 C6</Sequence>

     <Sequence id="4">D1 D2 D3 D4 D5 D6</Sequence>

     <Sequence id="5">E1 E2 E3 E4 E5 E6</Sequence>

   </Sequences>

 </RAID>

</RAIDList>

Structure du fichier

En-tête du fichier

Le fichier commence par un  en-tête XML standard :

<?xml version="1.0" encoding="utf-8"?>

Section RAIDList

<RAIDList>

Elle peut contenir n'importe quel nombre des sections <RAID> et nécessite un élément de fermeture </FileTypeList>.

Exemple de structure de section :

 <RAIDList>

   <RAID [attributes]>

     ...

   </RAID>

   ...

   <RAID [attributes]>

     ...

   </RAID>

Section RAID

Cette section décrit chaque configuration RAID.

Elle doit contenir au moins une <Table> section et peut contenir un bloc <Sequences> et un bloc <Offsets> .

Attributs :

nom

<string>

Optionnel

Le nom de la configuration RAID

parents

<u16>

Requis

Le nombre d'objets parents

rangées

<u16>

Requis

Le nombre de rangée dans la table de configuration RAID.

blocksize

<u32>

Requis

La taille de bloc du RAID en octets.

Exemple de structure de section :

 <RAIDList>

   <RAID name="example" parents="2" rows="2" blocksize="16777216">

     <Table>

       ...

     </Table>

     <Sequences>

       ...

     </Sequences>

     <Offsets>

       ...

     </Offsets>

   </RAID>

 </RAIDList>

Section Table

Cette section décrit la table de configuration RAID. Elle contient les éléments <Block> dont le numéro est un produit de deux attributs dans la <RAID> section : <parents> x <rows> .

Exemple de structure de section :

 <RAIDList>

   <RAID name="example" parents="2" rows="2" blocksize="16777216">

     <Table>

       <Block [attributes]> ... </Block>

       <Block [attributes]> ... </Block>

       <Block [attributes]> ... </Block>

       <Block [attributes]> ... </Block>

     </Table>

   </RAID>

 </RAIDList>

Elément Block

L'élément spécifie le numéro de bloc dans la table de configuration RAID (un nombre entier positif) ou un bloc de correction d'erreur d'un des types suivant :

PD ou ParityOfData

PA ou ParityOfAll

RS ou ReedSolomon

U ou Inconnu

I ou Ignorer

Les autres valeurs sont traitées comme Inconnues .

Attributs :

Identifiant

<string>

Requis

L'identifiant alpha-numérique du bloc dans la table de configuration RAID. L'élément de la deuxième ligne de la troisième colonne est désigné comme C2 . AA est utilisé après la lettre Z , et ainsi de suite.

séquence

<u16> ou rangée

Optionnel

L'identifiant d'une séquence. L'attribut doit être spécifié uniquement pour les blocks de sommes de contrôle des séquences décrites dans la section <Sequences> . Rangée par défaut

Section Séquences

Cette section décrit les séquences des sommes de contrôle des données utilisées pour préserver l'intégrité des données. Elle peut contenir n'importe quel numéro des éléments <Sequence> .

Exemple de structure de section :

 <RAIDList>

   <RAID name="example" parents="4" rows="4" blocksize="16777216">

     <Table>

       ...

     </Table>

     <Sequences>

       <Sequence [attributes]> ... </Sequence>

       ...

       <Sequence [attributes]> ... </Sequence>

     </Sequences>

   </RAID>

 </RAIDList>

Elément Séquence

L'élément contient la liste des blocs RAID séparés par un espace qui appartient à cette séquence.

Attributs :

Identifiant

<u16>

Requis

L'identifiant de la séquence.

Exemple d'élément :

Voir l' exemple de fichier de configuration RAID .

Section Décalages

Cette section décrit les décalages de chaque objet parent. Elle contient les éléments <Offset> dont le numéro ne doit pas excéder la valeur de l'attribut parents de la section <RAID> . Si la section < Décalages> est absente, les décalages sont traités comme zéro.

Exemple de structure de section :

 <RAIDList>

   <RAID name="example" parents="4" rows="4" blocksize="16777216">

     <Table>

       ...

     </Table>

     <Offsets>

       <Offset [attributes]> ... </Offset>

       <Offset [attributes]> ... </Offset>

       <Offset [attributes]> ... </Offset>

       <Offset [attributes]> ... </Offset>

     </Offsets>

   </RAID>

 </RAIDList>

Elément Décalage

L'élément spécifie le décalage d'un parent RAID en octets.

Attributs :

Identifiant

<u16>

Requis

L'identifiant parent du RAID. (à partir de 1 jusqu'à l'attribut parents de la section <RAID> .)

Exemple d'élément :

 <RAIDList>

   <RAID name="example" parents="4" rows="4" blocksize="16777216">

     <Table>

       ...

     </Table>

     <Offsets>

       <Offset id="1"> 0x00100</Offset>

       <Offset id="3"> 0x01000</Offset>

     </Offsets>

   </RAID>

 </RAIDList>

Commentaires

<!-- Comment string -->

Une chaîne XML standard pour un commentaire.