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
「Linux」という言葉が指すもの
sat
PRO
4
140
APIとABIの違い
sat
PRO
5
62
ファイルシステムへのアクセス方法
sat
PRO
0
26
ファイルシステム
sat
PRO
1
34
低レイヤソフトウェア技術者が YouTuberとして食っていこうとした話
sat
PRO
7
6.1k
ポーリングと割り込み
sat
PRO
1
81
Rook: Intro and Deep Dive With Ceph
sat
PRO
1
140
会社員しながら本を書いてきた知見の共有
sat
PRO
3
880
デバイスにアクセスするデバイスファイル
sat
PRO
1
63
Other Decks in Technology
See All in Technology
「どこから読む?」コードとカルチャーに最速で馴染むための実践ガイド
zozotech
PRO
0
570
要件定義・デザインフェーズでもAIを活用して、コミュニケーションの密度を高める
kazukihayase
0
120
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
590
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
7
890
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.8k
RSCの時代にReactとフレームワークの境界を探る
uhyo
10
3.5k
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
500
エンジニアが主導できる組織づくり ー 製品と事業を進化させる体制へのシフト
ueokande
1
100
品質視点から考える組織デザイン/Organizational Design from Quality
mii3king
0
210
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
Rustから学ぶ 非同期処理の仕組み
skanehira
1
150
COVESA VSSによる車両データモデルの標準化とAWS IoT FleetWiseの活用
osawa
1
400
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
Six Lessons from altMBA
skipperchong
28
4k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Gamification - CAS2011
davidbonilla
81
5.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Become a Pro
speakerdeck
PRO
29
5.5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Why Our Code Smells
bkeepers
PRO
339
57k
The Invisible Side of Design
smashingmag
301
51k
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のコマンド ハードウェア依存 ほぼソフトウェア