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
130
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
データ冗長化のしくみ RAID ~冗長性が無いRAID0編~
以下動画のテキストです。
https://youtu.be/RzELZcEAODE
Satoru Takeuchi
PRO
June 07, 2024
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
Linuxカーネルの インタフェースは変わりうる?
sat
PRO
1
64
あなたの知らないバージョン命名規則
sat
PRO
2
730
Rook: Intro and Deep Dive with Ceph
sat
PRO
1
60
Machine Check Exception
sat
PRO
2
55
バイナリダンプの模様を読む
sat
PRO
0
80
cpコマンドはディスク上でデータを コピーしないことがある
sat
PRO
3
71
114-ファイルのshallow_copy.pdf
sat
PRO
2
46
113-Btrfsのスナップショット.pdf
sat
PRO
0
32
システム強制終了時にファイルシステムの整合性を保つ~ コピーオンライト編 ~
sat
PRO
0
66
Other Decks in Technology
See All in Technology
AI駆動開発を組織で促すために
lycorptech_jp
PRO
1
280
電話に出る Python のログの話
shinnosuke_kishida
0
220
Digitization部 紹介資料
sansan33
PRO
2
7.7k
VLMで2.3万枚のPyCon JP写真を検索!
terapyon
1
500
AIエージェントのためのデータ設計
daiz21
0
220
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
Oracle MCP Servers Explained
thatjeffsmith
1
500
形式手法特論:Hyperproperty とモデル検査 #kernelvm / Kernel VM Study Tokyo 19th
ytaka23
0
810
内製AIチャットボット開発で学んだ Datadog Agent Observability活用術
mkdev10
0
140
markdown-poster Introduction
kazamori
0
110
AI開発に用いられるHPC技術について
gpuunite_official
0
280
Oracle AI Databaseデータベース・サービス: BaseDB/ExaDB-Dの可用性
oracle4engineer
PRO
1
900
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
220
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Deep Space Network (abreviated)
tonyrice
0
270
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
The Cost Of JavaScript in 2023
addyosmani
55
10k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
280
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
290
Building Applications with DynamoDB
mza
96
7.2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.4k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
440
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
400
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