Windows Server 2012 R2 のデュアルパリティは、ストライプあたり3つのパリティストライプが存在

Windows Server 2012 R2

  Windows Server 2012 R2 では、デュアルパリティ(RAID 6相当)が利用可能にで、Windows Server 2012 R2 ではデュアルパリティが利用出来ることになったことを紹介しました。

その中で、デュアルパリティのディスク使用効率が {列数-(パリティ数)}/列数となるべきなので、例えば7台の物理ディスクでデュアルパリティを構成した場合、5/7となるであるところ、実際には4/7となることをご紹介しました。

このメカニズムについて、明確に解説されているところがなく疑問に思っていたのですが、レドモンドから解説してもらって判明したため、記載します。

デュアルパリティという名称ですが、実際には1ストライプ行には3つのパリティ情報が書込まれています。そのメカニズムは以下の通りです。

デュアルパリティのメカニズム

  1. データを列の数{(NumberofColumns)-3}のストライプ情報(チャンク)に分割します。そして、出来たチャンクの集合を、2つのグループに分割します(図緑色と薄紫色)。
  2. それぞれのグループ毎に、グループ専用のパリティ(P1)を計算します。この時点で、各チャンクは1つのパリティと関連づけられます。
  3. 次に、データストライプ全体のパリティを計算します(P2)。
  4. 生成された3つのパリティストライプと各チャンクをそれぞれの物理ディスクに書込みます

image_thumb.png

このようなメカニズムで、デュアルパリティといいつつ、実際には1ストライプ行には3つのパリティストライプが存在することになります。デュアルという名称は、各チャンクがP1とP2、2つのパリティと関連づけられていることに由来します。

このメカニズムをとることにより、

  • 同時に2つの物理ディスクに障害が発生したとして、それがどの組み合わせであったとしても実際のデータを復元できる(あるいは実際のデータは保存されたままで、失われたパリティを再計算できる)
  • パリティ計算のパフォーマンスを向上させる(チャンクを2つのグループに分けてパリティを演算することで、演算効率を向上させる)

ことを実現しています。このようなことから、Windows Server 2012 R2 のデュアルパリティにおけるディスク使用効率は、

{列数-(3)}/列数

となります。

タイトルとURLをコピーしました