Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
RAIDの実現方法
Search
Satoru Takeuchi
PRO
April 12, 2024
Technology
2
180
RAIDの実現方法
以下動画のテキストです
https://youtu.be/tfMKOlPL7TI
Satoru Takeuchi
PRO
April 12, 2024
Tweet
Share
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
デバイスにアクセスするデバイスファイル
sat
PRO
1
28
ファイルシステムのデータを ブロックデバイスへの操作で変更
sat
PRO
1
21
デバイスドライバ
sat
PRO
0
29
マルチスレッドの実現方法 ~カーネルスレッドとユーザスレッド~
sat
PRO
2
70
共有メモリ
sat
PRO
3
56
マルチスレッドプログラム
sat
PRO
3
46
Linuxのブートプロセス initramfs編
sat
PRO
2
56
Linuxのブートプロセス
sat
PRO
6
160
シェルのジョブ
sat
PRO
1
37
Other Decks in Technology
See All in Technology
名単体テスト 禁断の傀儡(モック)
iwamot
PRO
1
330
チェックツールを導入したけど使ってもらえなかった話 #GAADjp
lycorptech_jp
PRO
1
150
開発も運用もビジネス部門も! クラウドで実現する「つらくない」統制とセキュリティ / Effortless Governance and Security Enabled by the Cloud
kanny
2
610
Azure の裏側を支える SRE の世界
tsubasaxzzz
2
350
Software Architecture in an AI-Driven World
atty303
64
27k
4月15日の AZ 障害をテクサポの中の人目線で振り返ってみる
kazzpapa3
3
190
Cloudflare Use Cases at CADDi
minato128
2
300
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
75
21k
事業と組織から目を逸らずに技術でリードする
ogugu9
19
5.5k
テスト設計、逆から読むとおもしろい──仕様にない“望ましさ”の逆設計
mhlyc
0
200
ゆるくはじめるSLI・SLO
yatoum
1
150
計装を見直してアプリケーションパフォーマンスを改善させた話
donkomura
2
220
Featured
See All Featured
Done Done
chrislema
184
16k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
14
860
The Pragmatic Product Professional
lauravandoore
33
6.6k
Fireside Chat
paigeccino
37
3.4k
How to Think Like a Performance Engineer
csswizardry
23
1.6k
Git: the NoSQL Database
bkeepers
PRO
430
65k
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
4 Signs Your Business is Dying
shpigford
183
22k
Site-Speed That Sticks
csswizardry
6
560
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Gamification - CAS2011
davidbonilla
81
5.3k
Speed Design
sergeychernyshev
30
950
Transcript
RAIDの実現方式 Apr. 12th, 2024 Satoru Takeuchi X: satoru_takeuchi 1
はなすこと • RAIDのいろいろな実現方式 • RAIDレベル(1,10,5,6など)の話ではない 2
RAIDの形式とは • RAID機能をどのようなハードウェア、ソフトウェアが実現しているか • 3つの形式がある ◦ ハードウェアRAID ◦ ソフトウェアRAID ◦
fake RAID • ディスク2台で構成するRAID1デバイスを例に違いを説明 3
ハードウェアRAID • RAID機能を全てハードウェアによって実現 ◦ UEFI(BIOS)を使ってRAIDデバイスを構成、管理する ◦ RAID用データ領域のフォーマットはハードウェアによって異なる • 必要なソフトウェア ◦
カーネル内のRAIDコントローラ(RAIDカードなどに入っている )のドライバ • 2つのディスクI/O処理の流れ ◦ カーネルがRAIDコントローラに処理を依頼 ◦ RAIDコントローラが2つのディスクにI/Oを発行する • I/O性能はRAIDコントローラ次第 • デバイス名は/dev/sda, /dev/sdbなど、普通のデバイスと同じ 4
ソフトウェア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
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
まとめ • RAIDにはいろいろな実現方法がある • それぞれ一長一短 7 構築、管理 RAID領域の フォーマット 2つのディスクにI/Oを発
行する担当 ハードウェアRAID BIOS ハードウェア依存 ハードウェア ソフトウェアRAID Linuxのコマンド ソフトウェア依存 ソフトウェア fake RAID BIOS, Linuxのコマンド ハードウェア依存 ほぼソフトウェア