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
July 25, 2022
Technology
1
76
RAID
以下動画のテキストです
https://youtu.be/xkUt6DMlLfk
Satoru Takeuchi
PRO
July 25, 2022
Tweet
Share
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
「Linux」という言葉が指すもの
sat
PRO
3
95
APIとABIの違い
sat
PRO
5
62
ファイルシステムへのアクセス方法
sat
PRO
0
26
ファイルシステム
sat
PRO
1
34
低レイヤソフトウェア技術者が YouTuberとして食っていこうとした話
sat
PRO
7
6.1k
ポーリングと割り込み
sat
PRO
1
80
Rook: Intro and Deep Dive With Ceph
sat
PRO
1
140
会社員しながら本を書いてきた知見の共有
sat
PRO
3
880
デバイスにアクセスするデバイスファイル
sat
PRO
1
62
Other Decks in Technology
See All in Technology
OCI Oracle Database Services新機能アップデート(2025/06-2025/08)
oracle4engineer
PRO
0
110
Agile PBL at New Grads Trainings
kawaguti
PRO
1
400
【初心者向け】ローカルLLMの色々な動かし方まとめ
aratako
7
3.4k
生成AI時代のデータ基盤設計〜ペースレイヤリングで実現する高速開発と持続性〜 / Levtech Meetup_Session_2
sansan_randd
1
150
研究開発と製品開発、両利きのロボティクス
youtalk
1
520
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
540
EncryptedSharedPreferences が deprecated になっちゃった!どうしよう! / Oh no! EncryptedSharedPreferences has been deprecated! What should I do?
yanzm
0
220
Webブラウザ向け動画配信プレイヤーの 大規模リプレイスから得た知見と学び
yud0uhu
0
230
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
380
Django's GeneratedField by example - DjangoCon US 2025
pauloxnet
0
120
COVESA VSSによる車両データモデルの標準化とAWS IoT FleetWiseの活用
osawa
1
270
20250903_1つのAWSアカウントに複数システムがある環境におけるアクセス制御をABACで実現.pdf
yhana
3
540
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Embracing the Ebb and Flow
colly
87
4.8k
GraphQLとの向き合い方2022年版
quramy
49
14k
Making Projects Easy
brettharned
117
6.4k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
520
We Have a Design System, Now What?
morganepeng
53
7.8k
Typedesign – Prime Four
hannesfritz
42
2.8k
Bash Introduction
62gerente
615
210k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
111
20k
Transcript
RAID Jul. 25th, 2022 Satoru Takeuchi twitter: satoru_takeuchi
RAIDとは • Redundant Array of Independent Diskの略 • データ冗長化手法のひとつ ◦
複数のディスクを束ねて一つの仮想的なディスクに見せる ◦ 仮想的なディスク上のデータは冗長性されている ◦ 物理的なディスクが壊れてもデータが失われず、かつ、運用継続可能 仮想的なディスク ディスク ディスク ディスク … 使う 束ねる
RAIDレベル • データ格納方法は複数のレベルに分けられている • レベルが高ければよいというわけではなく、一長一短 ◦ データ利用効率、耐障害性、性能などが違う • RAID1,1+0,5,6あたりがよく使われる ◦
📒 そもそも冗長性が無い RAID0というのもある • もっとも簡単なRAID1についてのみ説明
RAID1 • 同じデータを2台以上のディスクに書き込む • n-1台の破壊に耐えられる • ユーザから見える容量は総容量の1/nになる 仮想的なディスク ディスク0 ディスク1
仮想的なディスク ディスク0 ディスク1 データA データA 仮想的なディスク ディスク0 ディスク1 故障 データAを書く ディスク0だけ読み 書きすれば 運用継続可能 2台構成のRAID1 データを書く ディスク故障後
リビルド • 壊れたディスクの交換後に実行 • 交換したディスクにデータを埋めて冗長度を戻す 仮想的なディスク ディスク0 ディスク1 故障 ディスク故障後
(ディスク0も壊れたら データを失う) 仮想的なディスク ディスク0 ディスク2 故障したディスクの交換 リビルド データ 仮想的なディスク ディスク0 ディスク2 データ データ データ コピー
すごい機能 • ホットスワップ ◦ 電源を切らなくてもディスク交換できる ◦ OSが対応していたらディスク故障後に電源を切らずに交換 →リビルドできる ◦ RAIDじゃなくても便利
• ホットスペア(ホットスタンバイ) ◦ RAIDアレイに組み込まない予備のディスクを用意しておく ◦ ディスクが壊れたら自動的に予備ディスクを使ってリビルド
実現方式 • ハードウェアRAID ◦ RAID用の専用ハードウェアを使う ◦ たとえばディスクを複数台接続できる PCIカード(RAIDカード)として実現 ◦ RAID用の処理はカード上のコントローラが担当。
CPUは使わない ◦ 操作はファームウェアやベンダ提供コマンドで実施 • ソフトウェアRAID ◦ RAID用の処理はソフトウェアが担当 ◦ Linuxではmdraidがよく使われる(mdadmコマンドで操作) • fake RAID ◦ ハードウェア機能だが、ほとんどの処理は CPUが行う ◦ fake RAIDを指してソフトウェア RAIDと呼ぶことがある
📒 RAIDつらい話 • ディスクが同時に複数個壊れる ◦ →RAIDに組み込むディスクの型番や製造時期を変えたりする • RAIDコントローラが壊れる ◦ →コントローラの二重化
(お高い) • RAIDコントローラがバグってて変な動きをする ◦ ファームウェアアップデート ◦ ベンダを変える ◦ ソフトウェアRAIDにする(オープンソースだと自分でなんとかできることもあるかも ) • ディスクを積んでたマシンが爆発した ◦ RAIDでは救えません。バックアップや分散ストレージを使ってね • write hole ◦ 話が長くなるのでまた後日
まとめ • RAIDはデータ冗長化手法の一つ ◦ 複数台のディスクを束ねて仮想的な一台のディスクとして見せる ◦ 仮想的なディスク上のデータは冗長性されている ◦ 物理的なディスクが壊れてもデータが失われず、かつ、運用継続可能 •
様々なレベルがある ◦ よく使われるのはRAID1,10,5,6 • 実現方法もいろいろ : ハードウェア、ソフトウェア、両方 • いいところだけではなくて、いろいろつらいところもある