Slide 1

Slide 1 text

RAIDの実現方式 Apr. 12th, 2024 Satoru Takeuchi X: satoru_takeuchi 1

Slide 2

Slide 2 text

はなすこと ● RAIDのいろいろな実現方式 ● RAIDレベル(1,10,5,6など)の話ではない 2

Slide 3

Slide 3 text

RAIDの形式とは ● RAID機能をどのようなハードウェア、ソフトウェアが実現しているか ● 3つの形式がある ○ ハードウェアRAID ○ ソフトウェアRAID ○ fake RAID ● ディスク2台で構成するRAID1デバイスを例に違いを説明 3

Slide 4

Slide 4 text

ハードウェアRAID ● RAID機能を全てハードウェアによって実現 ○ UEFI(BIOS)を使ってRAIDデバイスを構成、管理する ○ RAID用データ領域のフォーマットはハードウェアによって異なる ● 必要なソフトウェア ○ カーネル内のRAIDコントローラ(RAIDカードなどに入っている )のドライバ ● 2つのディスクI/O処理の流れ ○ カーネルがRAIDコントローラに処理を依頼 ○ RAIDコントローラが2つのディスクにI/Oを発行する ● I/O性能はRAIDコントローラ次第 ● デバイス名は/dev/sda, /dev/sdbなど、普通のデバイスと同じ 4

Slide 5

Slide 5 text

ソフトウェアRAID ● RAIDを全てソフトウェアによって実現する ○ 実装方法はOSによって異なるし、OS内でも実現方法は色々 ○ LinuxのソフトウェアRAID(mdraid, Linux RAID)の場合 ■ Linux上でmdadmコマンドによって構築、管理 ■ RAID用データ領域のフォーマットは mdraid固有 ■ デバイス名は/dev/mdX ● 必要なソフトウェア ○ カーネル内のソフトウェア RAIDのドライバ ○ Linux上のコマンド(mdadmなど) ● I/O処理の流れ ○ カーネルのソフトウェア RAIDドライバが2つのディスクにI/O発行依頼 ● I/O性能はCPU次第 5

Slide 6

Slide 6 text

fake RAID ● RAID機能を一部ハードウェアで、その他多くをソフトウェアで実現 ○ UEFI(BIOS)やLinux上のコマンドを使って RAIDデバイスを構成、管理する ○ データフォーマットはハードウェアによって異なる ● 別名がたくさんある: host RAID, BIOS RAID, chipset RAID… ● カーネルに必要なもの ○ fake RAIDのドライバ ○ Linux上のコマンド(dmraid, mdadmなど) ● I/O処理の流れ ○ カーネルのドライバが fake RAIDのコントローラと連携して 2つのディスクにI/O発行依頼 ■ ほとんど処理はドライバ (ソフトウェア)が実施 ● I/O性能はCPU次第 ● デバイス名は/dev/mapper/<チップセット名_ランダム文字列>など 6

Slide 7

Slide 7 text

まとめ ● RAIDにはいろいろな実現方法がある ● それぞれ一長一短 7 構築、管理 RAID領域の フォーマット 2つのディスクにI/Oを発 行する担当 ハードウェアRAID BIOS ハードウェア依存 ハードウェア ソフトウェアRAID Linuxのコマンド ソフトウェア依存 ソフトウェア fake RAID BIOS, Linuxのコマンド ハードウェア依存 ほぼソフトウェア