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
140
RAIDの実現方法
以下動画のテキストです
https://youtu.be/tfMKOlPL7TI
Satoru Takeuchi
PRO
April 12, 2024
Tweet
Share
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
俺とVSCode Python Debugger Extension
sat
PRO
1
140
コード再利用のしくみ ライブラリ
sat
PRO
3
38
AWKへの愛を語る
sat
PRO
3
500
syncコマンドのデータ同期 完了待ちやエラー検出
sat
PRO
0
46
動作中のLinux環境の全メモリを見る
sat
PRO
1
66
Linuxの時間を10秒止める
sat
PRO
2
190
プロセスへのメモリ割り当て4 - 実際に使うときにメモリを獲得するデマンドページング(実践編)
sat
PRO
1
95
プロセスへのメモリ割り当て(3) 実際に使うときにメモリを獲得するデマンドページング
sat
PRO
1
62
プロセスへのメモリ割り当て(1) mmap
sat
PRO
2
120
Other Decks in Technology
See All in Technology
太田博三(@usagisan2020)
otanet
0
140
最新のWasm事情
askua
5
2.5k
まだ間に合う! 生成AIトレンド一挙おさらい & AWSのBedrockに入門しよう
minorun365
PRO
4
140
組織デバイスのための効率的なアプリケーション更新戦略
kenchan0130
0
450
不要なリソースを自動で定期的に整理する方法 ~Sandboxアカウントのコストを削減しよう!~
amixedcolor
4
220
KongによるAPIライフサイクル マネジメント
hashitokyo
1
160
テクニカルライターのチームで「目標」をどう決めたか / MVV for a Team of Technical Writers
lycorptech_jp
PRO
3
150
Microsoft 365 でデータセキュリティを強化しよう
sophiakunii
2
450
ラブグラフ紹介資料 〜プロダクト解体新書〜 / Lovegraph Product Deck
lovegraph
0
14k
The People First Approach to Engineering Success - DevNot 2024
zikriyeurkmez
0
220
AWS DDKを利用したDataOps事始め
beex
1
160
今日から始める技術的負債の解消
leveragestech
3
440
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
180
21k
Building Adaptive Systems
keathley
38
2.2k
Designing the Hi-DPI Web
ddemaree
280
34k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Teambox: Starting and Learning
jrom
132
8.7k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
504
140k
Building Better People: How to give real-time feedback that sticks.
wjessup
362
19k
Side Projects
sachag
452
42k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
225
22k
Being A Developer After 40
akosma
85
590k
The Power of CSS Pseudo Elements
geoffreycrofte
71
5.3k
GitHub's CSS Performance
jonrohan
1030
450k
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のコマンド ハードウェア依存 ほぼソフトウェア