Syntaxe d'un fichier de description pour les configurations RAID

Top  Previous  Next

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.