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
190
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
7
2.7k
「Linux」という言葉が指すもの
sat
PRO
4
180
APIとABIの違い
sat
PRO
5
120
ファイルシステムへのアクセス方法
sat
PRO
0
48
ファイルシステム
sat
PRO
1
49
低レイヤソフトウェア技術者が YouTuberとして食っていこうとした話
sat
PRO
7
6.1k
ポーリングと割り込み
sat
PRO
1
96
Rook: Intro and Deep Dive With Ceph
sat
PRO
1
150
会社員しながら本を書いてきた知見の共有
sat
PRO
3
920
Other Decks in Technology
See All in Technology
やる気のない自分との向き合い方/How to Deal with Your Unmotivated Self
sanogemaru
0
510
ユーザーの声とAI検証で進める、プロダクトディスカバリー
sansantech
PRO
1
140
リセラー企業のテクサポ担当が考える、生成 AI 時代のトラブルシュート 2025
kazzpapa3
1
340
Codexとも仲良く。CodeRabbit CLIの紹介
moongift
PRO
0
210
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
43k
OAuthからOIDCへ ― 認可の仕組みが認証に拡張されるまで
yamatai1212
0
120
AI Agent Dojo #2 watsonx Orchestrateフローの作成
oniak3ibm
PRO
0
120
アイテムレビュー機能導入からの学びと改善
zozotech
PRO
0
160
Claude Code Subagents 再入門 ~cc-sddの実装で学んだこと~
gotalab555
3
2.2k
Findy Team+ QAチーム これからのチャレンジ!
findy_eventslides
0
200
Wasmのエコシステムを使った ツール作成方法
askua
0
170
カンファレンスに託児サポートがあるということ / Having Childcare Support at Conferences
nobu09
1
580
Featured
See All Featured
A Tale of Four Properties
chriscoyier
161
23k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
35
6.1k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
870
Embracing the Ebb and Flow
colly
88
4.8k
A better future with KSS
kneath
239
18k
Optimizing for Happiness
mojombo
379
70k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
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のコマンド ハードウェア依存 ほぼソフトウェア