###### tags: `systems` `course` # LEC 14 Reliability Slide URL: http://web.mit.edu/6.033/www/lec/s17-partial.pdf ## 今回の話 - どうやって、フォールトトレラント(fault-tolerant)なシステムをつくるか - ディスク障害の対処の話 ## どうすれば信頼性のあるシステムを構築できるか 1. あり得るすべての障害を特定し、対処しなければいけないものを決定する - ソフトウェアの問題か - ハードウェアの問題か - 設計の問題か - 運用の問題か - 環境の問題か 3. 障害を検知できるようにする 4. 障害に対処する(回復する) - 何もしない - fail-fast - fail-stop - ... :::warning - **システムの各構成要素はいつも信頼できない**という前提でシステムを組み上げる必要がある - 信頼性とシンプルさはトレードオフの関係にある ::: ## システムの成功はどうやって計測すればいいのか (信頼性の定量化) 計測できるものは色々あるが、よく注目するのは可用性(avilability)。 では、可用性はどのように定量化するのか ### AFR: Annualized Failure Rate - 年間故障率 ``` AFR = 1 - exp(-年間稼働時間/MTBF) ``` ### MTTF, MTTR, MTBF - MTTF: mean time to failure, 平均故障時間 - MTTR: mean time to repair, 平均復旧時間 - MTBF: mean time between failures, 平均故障間隔 ``` 正常 障害 正常 障害 |-----------|xxxxxxxx|-----------|xxxxxxxx|----... \- MTTR-/ \-- MTTF --/ \------- MTBF -------/ ``` ## レプリケーションによる可用性 - 冗長化 - 冗長化の1手段がレプリケーション - LEC 14 では単一マシンのディスク障害に対して、レプリケーションによる冗長化で対処し、可用性を確保する方法を説明 ## RAID ### RAID 1: mirroring - 同じ内容のディスクをもう1つ用意する - 2N個のディスクが必要 - 1個のディスクの障害から復帰可能 ### RAID 4: dedicated parity disk - 全てのディスクの特定セクタのxorをパリティ用ディスクの対応するセクタに保存する - `P[0] = D1[0] xor D2[0] xor D3[0] xor D4[0]` 的なイメージ - N+1個のディスクが必要 - データ用N個、パリティ用1個 - read が高速になることがある(1つのファイルが複数ディスクに分割されて保存される場合) - write はパリティ用ディスクにアクセスが集中するため遅くなる - 1個のディスクの障害から復帰可能 ### RAID 5: spread out the parity - パリティ用ディスクを設けるのではなく、パリティを各ディスクに分散させる - `D1[0] = D2[0] xor D3[0] xor D4[0]` - `D2[1] = D1[1] xor D3[1] xor D4[1]` - `D3[2] = D1[2] xor D2[2] xor D4[2]` - 的なイメージ - N+1個のディスクが必要 - read が高速になることがある(1つのファイルが複数ディスクに分割されて保存される場合) - パリティ用ディスクが存在せず、writeを並列実行できる - 1個のディスクの障害から復帰可能 ## その他の参考文献 - RAIDについて|データ復旧: https://www.rescue-center.jp/explanation/raid/type.html - Fail-Fast: https://en.wikipedia.org/wiki/Fail-fast - Fail-Stop: https://en.wikipedia.org/wiki/Fail-stop - design - Fail Fast: https://www.martinfowler.com/ieeeSoftware/failFast.pdf - 【MTBFとMTTRとMTTF】基本情報技術者試験に出る用語解説【紛らわしい用語たち】: https://ita-san.blogspot.com/2020/11/mtbfmttrmttf.html - 「HDDが壊れる」まで(後編): https://eetimes.itmedia.co.jp/ee/articles/1208/09/news005.html
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up