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 ~冗長性が無いRAID0編~
Search
Satoru Takeuchi
PRO
June 07, 2024
Technology
2
100
データ冗長化のしくみ RAID ~冗長性が無いRAID0編~
以下動画のテキストです。
https://youtu.be/RzELZcEAODE
Satoru Takeuchi
PRO
June 07, 2024
Tweet
Share
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
Rook: Intro and Deep Dive With Ceph
sat
PRO
1
89
会社員しながら本を書いてきた知見の共有
sat
PRO
3
770
デバイスにアクセスするデバイスファイル
sat
PRO
1
32
ファイルシステムのデータを ブロックデバイスへの操作で変更
sat
PRO
1
29
デバイスドライバ
sat
PRO
0
45
マルチスレッドの実現方法 ~カーネルスレッドとユーザスレッド~
sat
PRO
2
110
共有メモリ
sat
PRO
3
67
マルチスレッドプログラム
sat
PRO
3
56
Linuxのブートプロセス initramfs編
sat
PRO
2
76
Other Decks in Technology
See All in Technology
変化する開発、進化する体系時代に適応するソフトウェアエンジニアの知識と考え方(JaSST'25 Kansai)
mizunori
1
200
[TechNight #90-1] 本当に使える?ZDMの新機能を実践検証してみた
oracle4engineer
PRO
3
160
Witchcraft for Memory
pocke
1
210
より良いプロダクトの開発を目指して - 情報を中心としたプロダクト開発 #phpcon #phpcon2025
bengo4com
1
3.1k
AWS Summit Japan 2025 Community Stage - App workflow automation by AWS Step Functions
matsuihidetoshi
1
220
AWS テクニカルサポートとエンドカスタマーの中間地点から見えるより良いサポートの活用方法
kazzpapa3
2
500
Snowflake Summit 2025全体振り返り / Snowflake Summit 2025 Overall Review
mtpooh
2
390
Liquid Glass革新とSwiftUI/UIKit進化
fumiyasac0921
0
170
Agentic DevOps時代の生存戦略
kkamegawa
1
1.3k
A2Aのクライアントを自作する
rynsuke
1
170
Microsoft Build 2025 技術/製品動向 for Microsoft Startup Tech Community
torumakabe
2
250
25分で解説する「最小権限の原則」を実現するための AWS「ポリシー」大全 / 20250625-aws-summit-aws-policy
opelab
9
1k
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Faster Mobile Websites
deanohume
307
31k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
A better future with KSS
kneath
239
17k
RailsConf 2023
tenderlove
30
1.1k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
BBQ
matthewcrist
89
9.7k
Into the Great Unknown - MozCon
thekraken
39
1.9k
Transcript
データ冗長化のしくみ RAID ~ 冗長性が無いRAID0編~ Jun. 7th, 2024 Satoru Takeuchi X:
satoru_takeuchi 1
はなすこと • RAIDの一種と言われたり「いや違う」と言われたりするRAID0の説明 • 何が嬉しいのか • なぜRAIDじゃないと言われることがあるのか • 注: RAIDはLinux
RAIDで実現しているものとします 2
RAID0 • 複数のディスクを束ねることによって高速なデバイスを構築する技術 • デバイスへのアクセスを複数台のディスクへの並列アクセスによって実現できるの で高速 3
RAID0のデータ配置方法 • RAID0デバイス上のデータは所定の長さのチャンクに区切る • チャンクは複数のディスクに順番に配置される • 例) 2台のディスクsda,sdbから構成したRAID0デバイスdm-0 4 dm-0
sda sdb A B C D A C B D
データアクセス方法 • シーケンシャル書き込みを例に説明 • 仮定 ◦ ディスクsda,sdbからRAID0デバイスdm-0を構成している ◦ チャンクサイズは100MiB ◦
ディスクのシーケンシャル書き込み速度は 100MiB/s • やること: 400MiBのデータをdm-0に書き込む ◦ sdaに直接書き込む場合は、完了まで 4秒(=400/4)かかる ◦ dm-0への書き込みの場合は 4秒より短くなるのだろうか ? 5
初期状態 • メモリの中にデータA,B,C,Dがある • それぞれサイズはチャンクサイズと同じ100MiB • A,B,C,Dをdm-0にシーケンシャルに書き込む 6 dm-0 sda
sdb メモリ A B C D 0~ 100MiB~ 200MiB~ 300MiB~ 0~ 100MiB~ 0~ 100MiB~
前半 1. dm-0のドライバがsdaにAを書き込むよう指示 2. dm-0のドライバがsdbにBを書き込むよう指示 3. dm-0のドライバがA,Bの書き込み完了を待つ 7 dm-0 sda
sdb メモリ A B C D 0~ 100MiB~ 200MiB~ 300MiB~ 0~ 100MiB~ 0~ 100MiB~
前半 1. dm-0のドライバがsdaにAを書き込むよう指示 2. dm-0のドライバがsdbにBを書き込むよう指示 3. dm-0のドライバがA,Bの書き込み完了を待つ 8 dm-0 sda
sdb メモリ A B C D 0~ 100MiB~ 200MiB~ 300MiB~ 0~ 100MiB~ 0~ 100MiB~ ここは一瞬で終わる
前半 1. dm-0のドライバがsdaにAを書き込むよう指示 2. dm-0のドライバがsdbにBを書き込むよう指示 3. dm-0のドライバがA,Bの書き込み完了を待つ 9 dm-0 sda
sdb メモリ A B C D 0~ A 100MiB~ B 200MiB~ 300MiB~ 0~ A 100MiB~ 0~ B 100MiB~ ここは1秒かかる。 100MiB/sのsda,sdbにそれぞれ 100MiBを書き込むため
後半 1. dm-0のドライバがsdaにCを書き込むよう指示 2. dm-0のドライバがsdbにDを書き込むよう指示 3. dm-0のドライバがC,Dの書き込み完了を待つ 10 dm-0 sda
sdb メモリ A B C D 0~ A 100MiB~ B 200MiB~ 300MiB~ 0~ A 100MiB~ 0~ B 100MiB~
後半 1. dm-0のドライバがsdaにCを書き込むよう指示 2. dm-0のドライバがsdbにDを書き込むよう指示 3. dm-0のドライバがC,Dの書き込み完了を待つ 11 dm-0 sda
sdb メモリ A B C D 0~ A 100MiB~ B 200MiB~ 300MiB~ 0~ A 100MiB~ 0~ B 100MiB~ ここは一瞬で終わる
後半 1. dm-0のドライバがsdaにCを書き込むよう指示 2. dm-0のドライバがsdbにDを書き込むよう指示 3. dm-0のドライバがC,Dの書き込み完了を待つ 12 dm-0 sda
sdb メモリ A B C D 0~ A 100MiB~ B 200MiB~ C 300MiB~ D 0~ A 100MiB~ C 0~ B 100MiB~ D ここは1秒かかる。 100MiB/sのsda,sdbにそれぞれ 100MiBを書き込むため
結果 • 合計所要時間は2秒程度 • 単一ディスクの場合(4秒)に比べて2倍高速になった • 説明は省略するが、シーケンシャル読み出し、ランダム読み書きともに2倍程度高 速化できることがある • RAID0を構成するデバイスの数を増やせば、さらに高速化
◦ 📝: ドライバによるI/O発行処理に時間がかかるようになってくるなどの事情でディスク数に応じて線 形に速度向上…とはいかない 13
RAID0の弱点 • n台のディスクのうち1台でも壊れたらデータを失うので、RAID0を構成するディスク 数が増えれば増えるほどデータを失うリスクは高まる • RAIDは”Redundant Arrays of Inexpensive Disks”の略なのに冗長性
(redundancy)が無い! • なので「RAID0はRAIDではない」と言われることも 14
📝ベンチマーク記事で愛されるRAID0 • 新型のディスクが出るたびに「RAIDを組んだときの性能は云々」と書かれているも のはRAID0のことがよくある • RAID0はディスク単品を大幅に上回る性能が出て見栄えがするからかも ◦ 例: 「3GiB/sのディスクを4枚束ねて10GiB/s以上を達成!」 •
RAIDは高速化技術ではなく、あくまで冗長化技術なことに注意 15
まとめ • RAID0は複数のディスクを束ねて高速なデバイスを構築する技術 • Redundancy(冗長性)は無い 16