Мы обеспечиваем пользователей по всему миру наиболее эффективным, надежным и экономичным решением из доступных на рынке программного обеспечения.
  • Главная страница R-Studio
  • Техническая документация R-Studio

Синтаксис Файла Описания Конфигураций RAID


Пользователь может создавать и сохранять собственные конфигурации RAID. Синтаксис файлов таких конфигураций схож с языком XML. Они хранятся в файле   .xml заданном в Настройках R-Studio .

Примеры файлов конфигурации RAID приведены в разделе Файлы Описания Конфигураций RAID .

Есть два типа файлов конфигурации RAID: для имеющихся пресетов RAID и для созданных пользователем схем RAID.

Пример файла конфигурации RAID для имеющегося пресета

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

<RAIDList version="1">

    <RAID blockSize="65536" name="RAID5" rows="3" type="5" order="2" parityDelay="1">

        <Parents>

            <Parent comp="RAID5Disk1.dsk" name="Promise1+0 JBOD1.10" size="40060321792" order="1"/>

            <Parent comp="RAID5Disk2.dsk" name="Promise1+0 JBOD1.10" size="40060321792" order="2"/>

            <Parent comp="RAID5Disk3.dsk" name="Promise1+0 JBOD1.10" size="40060321792" order="3"/>

        </Parents>

    </RAID>

</RAIDList>

 

Пример файла конфигурации RAID для созданной пользователем схемы RAID

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

<RAIDList version="1">

    <RAID blockSize="65536" name="RAID6Complex" rows="6" type="256">

        <Parents>

            <Parent name="img1.bin" size="941359104" order="1"/>

            <Parent name="img2.bin" fs="NTFS" size="941359104" order="2"/>

            <Parent name="img3.bin" size="941359104" order="3"/>

            <Parent name="img4.bin" size="941359104" order="4"/>

            <Parent name="img5.bin" size="941359104" order="5"/>

        </Parents>

        <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>

Структура файла

Заголовок Файла

Файл начинается со стандартного заголовка  XML

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

Элемент RAIDList

<RAIDList>

Данный элемент может содержать любое число элементов <RAID>; в конце обязательно должен находиться закрывающий тег </RAIDList>

Пример структуры элемента:

   <RAIDList>

      <RAID [attributes]>

         ...

      </RAID>

      ...

      <RAID [attributes]>

         ...

      </RAID>

Элемент RAID

Данный элемент описывает схему RAID.

Он должен содержать по крайней мере по одному элементу <Table> и <Parents> , а также может содержать один блок <Sequences> .

<RAIDList version="1">

    <RAID blockSize="65536" name="RAID5" rows="3" type="5" order="2" parityDelay="1">

        <Parents>

            

        </Parents>

        <Table>

 

        </Table>

        <Sequences>

 

        </Sequences>

    </RAID>

</RAIDList>

Атрибуты :

blocksize

<u32>

 Обязательный

 Размер блока RAID в байтах

name

<string>

Необязатальный

 Название схемы RAID

rows

<u16>

 Обязательный

 Число рядов в таблице схемы RAID .

type

<u16>

 Обязательный

Тип пресета RAID. Поддерживаются следующие типы:

1: RAID0 (Чередующийся набор (Stripe set))

2: RAID10

3: RAID1E

4: RAID4

5: RAID5

6: RAID5E

7: RAID5EE

8: RAID6 / Reed-Solomon Encoding

9: RAID6E / Reed-Solomon Encoding

10: RAID6 / Vertical Xor Encoding

256: Пользовательская Таблица Raid

Если параметр RAID type противоречит таблице RAID, то тогда всегда применяется таблица RAID.

order

<u16>

Обязательный/Необязательный

Подтип RAID. Например, order="2" означает Левый Асинхронный для схем RAID5. Любое значение для пользовательских схем RAID будет игнорироваться.

parityDelay

<u16>

Обязательный

Параметр Задержка четности.

Пример структуры элемента:

<RAID blockSize="65536" rows="6" type="256">

        <Parents>

 

        </Parents>

 

        <Table>

 

        </Table>

        <Sequences>

 

        </Sequences>

    </RAID>

Элемент Parents

Данный элемент описывает родительские объекты RAID. Он содержит элементы <Parent> конкретного RAID.

Пример структуры элемента:

        <Parents>

            <Parent comp="RAID5Disk1.dsk" name="Promise1+0 JBOD1.10" size="40060321792" order="1"/>

            <Parent comp="RAID5Disk2.dsk" name="Promise1+0 JBOD1.10" size="40060321792" order="2"/>

            <Parent comp="RAID5Disk3.dsk" name="Promise1+0 JBOD1.10" size="40060321792" order="3"/>

        </Parents>

Элемент Parent

Данный элемент определяет родительский объект RAID.

Attributes :

comp

<string>

Обязательный/Необязательный

Файл-контейнер с родительским объектом.

name

<string>

Обязательный

Имя родительского объекта RAID.

offset

<u16>

Обязательный если не 0

Величина смещения в байтах

size=

<u16>

Обязательный

Размер объекта в байтах

order

<u16>

Обязательный

Порядок объекта RAID

Элемент Table

Данный элемент описывает таблицу схемы RAID. Он содержит элементы <Block> , число которых определяется двумя атрибутами элемента <RAID> :  < parents>x<rows>.

Пример структуры элемента:

   <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>

Элемент Block

Данный элемент задает номер блока в таблице схемы RAID (целое положительное число) или блок коррекции ошибок одного из следующих типов:

PD или ParityOfData

PA или ParityOfAll

RS или ReedSolomon

U или Unknown

I или Ignore

Любое другое значение обрабатывается как Unknown .

Атрибуты:

id

<string>

Обязательный

Буквенно-цифровой идентификатор блока в таблице схемы RAID. Элемент в третьей колонке второго ряда обозначается как C2 . После Z используется AA и т.д.

sequence

<string>

Необязательный

Цифровой идентификатор для последовательностей не по умолчанию.

Элемент Sequences

Данный элемент описывает данные контрольной суммы последовательностей не по умолчанию, используемые для сохранения целостности данных.  Явным образом определять последовательности по умолчанию (ряды таблицы) необязательно. Элемент может содержать любое число элементов <Sequence>.

Пример структуры элемента:

  <RAIDList>

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

     <Parents>

     

     </Parents>

      <Table>

        ...

      </Table>

      <Sequences>

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

        ...

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

      </Sequences>

    </RAID>

  </RAIDList>

Элемент Sequence

Данный элемент содержит список принадлежащих последовательности блоков RAID, разделенных пробелом.

Атрибуты:

id

<u16>

Обязательный

Идентификатор последовательности

Пример элемента:

Смотри в разделе Пример файла конфигурации RAID .

 

Комментарии

<!-- Comment string -->

Стандартная строка комментария XML .