Raspberry Piで最も多い故障箇所は電源ぶつぎりによるSDカードの故障 87
ストーリー by nagazou
ぶつ切りの森 部門より
ぶつ切りの森 部門より
suさんはRaspberryPi(以下RPi)をベースにした製品作りに関わっていたことから、Twitterで「Raspberry Piはすぐ壊れる」とする話題を複雑な心境で見ていたという。同氏は製品製作の過程で10,000回以上の電源ぶつ切りをするなどの検証をおこなっていたという。その経験などについてブログ上でまとめている(Raspberry Piは本当に壊れやすいのか)。
同氏によるとRPiで最も多い故障箇所は、やはりSDカード部分だそうだ。原因となるのはデータ書き込み中の電源のぶつ切り。何も対策をしない場合は、ひどいときは2回、平均では20-30回くらいでOSがカーネルパニックを起こして起動しなくなるそうだ。対策としてはファイルシステムのRAM化などが手っ取り早いとしている。このほか、 OSシャットダウン猶予を与えるような回路を構築すると10,000回電源ぶちぎっても耐えられるとしている。
同記事では、このほかのRPi利用における様々な故障原因についても触れた上で、
同氏によるとRPiで最も多い故障箇所は、やはりSDカード部分だそうだ。原因となるのはデータ書き込み中の電源のぶつ切り。何も対策をしない場合は、ひどいときは2回、平均では20-30回くらいでOSがカーネルパニックを起こして起動しなくなるそうだ。対策としてはファイルシステムのRAM化などが手っ取り早いとしている。このほか、 OSシャットダウン猶予を与えるような回路を構築すると10,000回電源ぶちぎっても耐えられるとしている。
同記事では、このほかのRPi利用における様々な故障原因についても触れた上で、
エンジニアとしてできるのは、壊れる原因を特定して、壊れる確率を下げて、それを継続的にやっていくことしかできないと思っています。
としている。
すべてをRO化する必要なし (スコア:3, 参考になる)
/tmp, /var/tmp, /var/logをtmpfs+bindマウントで隠蔽すれば、故障率は激減する。
のべ二桁枚数の(RPiの) MicroSDを焼いたが、起動不能という話は ほとんどない。
常時稼動上等、な環境でも使われているらしい。
故障じゃないけど (スコア:2, おもしろおかしい)
SDカードを挿そうとしたら失敗して「ぴよ~ん」とどこかに飛んでいって紛失が多かったな。
3以降はスロットにばねが入っていないから紛失は今のトコはしてない。
Re:故障じゃないけど (スコア:2)
デジカメも昔はぴょーんと飛んでいったものだけど最近は止まるようになってるね。
外で使う機会が多いものだから紛失しないためには必須な機能だろう。
SDカードつかう家電なら、急な電源断には(他のコメントで触れられているように)コストかけて終了処理をする時間は確保してる。
そういう部分はいらねーから安い方を選んでモノづくりニッポン終了というのがここ数年の風潮だとおもっていたが、結局はきめ細かな目に見えない改善が欲しいのかいっ! と多少もやもやするお話ですねぇ。
SDカードはReadOnlyで運用しないと…… (スコア:0)
自宅や実家にRPiを置いてる程度ですが、長期運用したいならmicroSDに書いたら負けで組まないとダメと思ってます。
データを保管したいならUSBメモリとかで壊れても起動出来るようにしないと詰む。
# デフォルトのファイルシステムはFATで壊れたらブート出来なくなるし、
# 書き込みやウェアレベリング中とかに電断した時にどうなるかは、SDの電源遮断耐性も影響する。
Re:SDカードはReadOnlyで運用しないと…… (スコア:1)
もう6年以上常時稼働させてるけど、最初にやったのはunionfsとか使ったRO化でしたね。
Rasbpianで標準提供してほしい機能。バージョン変わるたびに以前のやり方が通用しなくなったりして困る。
あとRAMにゴミが溜まっていくので、1年1回くらいは再起動したほうが吉。
Re:SDカードはReadOnlyで運用しないと…… (スコア:1, 興味深い)
私は使ったことないけど、実は標準提供されてます。
raspi-configにOverlay File Systemってのが有ります。 [raspberrypi.org]
Re: (スコア:0)
うちの連続稼動させてるやつは、root からNFSでNASにつないでる。
ラズパイに差さってるSDにはbootパーティション用のFATしかない。
何だってそうだけどな (スコア:0)
書き込み中に電源切る使い方なんか他の機器でやらないのに
ラズパイだと雑になっちゃうのか、そもそも知らないのか
Re:何だってそうだけどな (スコア:2, すばらしい洞察)
たまたま使いやすいコンセントの場所だったから
って掃除のおばちゃんが言ってた
Re: (スコア:0)
そもそも知らないのか
これに尽きる。組み込み機器の宿命だね。
再起動は復活する魔法だから、調子が悪い(ネットワークが原因)からと電源強制OFF(運悪く書き込み中)されるとか。
営業終了後はブレーカーでぶち切りされるとか。
パソコンでなく、照明みたいな意識になるのかもしれない。
照明をリモコンでオフにしてから、壁スイッチをオフにするみたいな面倒臭さ感。
Re: (スコア:0)
まともな組み込み系ならクリティカルな部分のストレージへの書き込みは二重化しといて訂正符号で書き込み正常にできたかを次回起動時に確認する物では
#ラズパイがまともな組み込み系ボードじゃないと言われればそうなんだけど
Re:何だってそうだけどな (スコア:2)
『データ書き込み中の電源のぶつ切り』に対して、
は、筋が悪そう。
Re: (スコア:0)
領域Aと領域B(同容量)に対して
・領域Aにデータと訂正符号(CRCとか)を書き込む
書き終わったら
・領域Bにデータと訂正符号を書き込む
までで完了とした上で、次回起動時にはAとBのそれぞれをチェックして、
・両方とも正常ならどちらかをそのまま有効に
・両方とも異常ならエラーに
・Aの書き込み中に電源がぶつ切りされて書き込み失敗していた場合には一つ前のBを使う
・Bの書き込み中に電源がぶつ切りされて書き込み失敗していたらAを使う
すれば
ということもないと思いますが?
バックアップにキャパシタでバックアップしたRAMとかを使っている本当に小規模な組み込みなら常套手段だけど
少なくとも1つの領域への完全な書き込み完了を待たないといけないとか、他の問題はあるので
規模が大きくなった今の組み込みに対して元コメントがどこまで当たっているかは知らない。
Re:何だってそうだけどな (スコア:2)
『ファイルシステムのRAM化』なんていうお手本があるのに、それはちょっと的な。
システムが壊れない事の話であって、データについては的外れ。
Re:何だってそうだけどな (スコア:2)
...RAM化(原文)で合っているのかなコレ...。
Re: (スコア:0)
全然関係ないよ。
電断が予期される環境でどう書込み値の信頼性を確保するかの話だもの。
身近な例だとSUICAとかそんな感じの実装。
microSDだとSDコントローラがどう振る舞うか、ファイルシステムがどう振る舞うかになって、コントロールは簡単ではないと思う。
やらないよりは大分マシだけど。
SPIフラッシュに設定を保存するなら活用可能かなぁ。
Re: (スコア:0)
RPiは標準環境だと簡単に出来ないから、SDカードはブート専用でRAM化したりするしかないって話ですね。
書き込み可能なストレージをUSBで繋げばどうとでもなる話。
Re: (スコア:0)
いつまでFATなんだろう
ジャーナルがあるext4とかじゃダメなのかね
SDカードの壊れ方次第じゃそれでもダメなんだろうけど
Re:何だってそうだけどな (スコア:2, 参考になる)
ブート領域がFATなだけ。
ext4も特定セクタに書き込みが集中するからSDカード向きじゃない。
Paspbianがデフォルトでフラッシュ向けファイルシステム [wikipedia.org]になるだけでもうちょっとマシになると思う。
Re: (スコア:0)
SDカードはウェアレベリングには対応していないのかな?
製品によるとか?
Re:何だってそうだけどな (スコア:1)
SDカードもウェアレベリングは当然搭載されてます。
しかし、基本的に追記書き込みがメイン用途で、安さ重視なので、特定セクターに書き換えが集中するとあっという間に消耗します。
また、ext4のようなジャーナリングファイルシステムは、ジャーナルへの書き込みが頻発するので寿命面からは不利です。
製品によるのも確かで、産業用とかはウェアレベリングの予備領域を多めに確保したり、疑似SLC領域にしたりして、書き換えの耐久性を高めています。
書き換え寿命が気になるなら、USB接続のSSD使うのが一番お手軽ですよ。
Re: (スコア:0)
LinuxもUnixも知らない向きも使ってるからなぁ。
自分でもshutdwonしたつもりになってたりするし。
Re:何だってそうだけどな (スコア:1)
USBブート可能なのは知ってるけど、システムとデータを分けて、システムを戻しやすいのでmicroSD+USBで使ってます。
ブートローダのUSBブート対応が遅いことがあるのもネックかも。
# USBブートが4Bでついにデフォルトになったのは目出度い。
USB外付けSSDだけど、変換チップが対応してればTRIM出来るよ。 [archlinux.org]
駄目でもTRIM送出部分を変換チップにあわせて細工すればよし。
RPiでTRIMしないと困るような用途はあまり思い浮かばないけど。
Re: (スコア:0)
関係ないけど、電源「ぶつ切り」ってのは割と初めて聞いたかも
Re:何だってそうだけどな (スコア:2, 興味深い)
「電源ブチ切り」が登録商標だから言い換えたのかも。
https://www.j-platpat.inpit.go... [inpit.go.jp]
書き込み中の電源断 (スコア:0)
Re:書き込み中の電源断 (スコア:1)
書き込み回数上限超えて壊した話かと思ったね。
ドラレコ向け高耐久SDとか使えばいいのかな、と思ったら書き込み時にFAT飛ばすような話だったのでズコー。
※ケンウッドのヤツだけ耐久性がすげー髙いらしい。SLC並だとか。
Re: (スコア:0)
俺もそう思った。
故障じゃねえよ。
Re:書き込み中の電源断 (スコア:1)
RPiが組み込まれたトータルの製品としては故障であってるよ。
見てるレイヤーが違う。
対処法もMTTR的にSDカード交換だから、エンドユーザー的にはSDカードの故障。
Re: (スコア:0)
だって、ラズパイなんか使用者=開発者だろう殆どの場合 と思ったら
> ベースにした製品作りに関わっていた
なので、やはりユーザーサイトでの故障だなぁ
でも、そもそもそんなの想定しない開発者が悪い
まず最初に気をつけなくちゃならんとこだろそんなとこ
自分の手を離れてリリースするならさ
Re: (スコア:0)
でも、そもそもそんなの想定しない開発者が悪い
まず最初に気をつけなくちゃならんとこだろそんなとこ
自分の手を離れてリリースするならさ
ハード屋さんじゃない人がRPiで組むとか、実際に壊れるまでの回数の参考実例としては十分ネタになるかと。
趣味でRPiを使ったシステム構築する人が、電断対策するやらESDガンでバチバチなんてあまり無いと思うし。
# 電子工作素人なのでAC(#3955449 [srad.jp])。
# 中身はVPNとかSIPとか赤外線送信とかで、Wi-SUNとZigBee積んでHEMSっぽい事しようと計画中。
Re: (スコア:0)
サービスを提供する側からみると、故障は故障では?
そして、そういう視点の記事ですよね。
Re: (スコア:0)
ラズパイの故障ではないわな。
そういうサービスの障害ではあっても。
ブートデバイス (スコア:0)
USBブートに切り替えちゃうほうが気楽な気もしますね
# PCIe引き出してNVMe SSDブートに挑む猛者が出てきたりして
Re: (スコア:0)
USBからPCIeブリッジを通してSATAを使えるようにするボードは
どこぞかのサードパーティーが作ってたような気がする。
どうせならMPUがZynqのGTX/GTPのような信号がそのまま引き出せる
ような構成ならいろいろ楽しい事が可能なんだけどなあ。
Re: (スコア:0)
RasPi4だとUSB3のチップ外してPCIe取り出してる人はググると結構います
NanoPi M4V2だとNVMeスロットを追加出来るハットが本体と一緒に買えます
/bootだけSDで他はUSB接続ならすぐ出来ますから、それで良いような
#と思ったけど、それが難しいという人を相手にしないとなると厳しいな
Re: (スコア:0)
いまさら人に聞けない: USB3の石に入る手前にチップCが居て、そこにはんだ付けできそうに見えるんだよね。
USB3の石の傍のXTALだけ止めて、眠らせるってわけにいかんのだろうか。
手軽さを売りにしといて全然堅牢ではない (スコア:0)
マーケティングを失敗しているんじゃないの?
Re: (スコア:0)
教育用だからこれで合ってる
Re: (スコア:0)
ここで壊れてるのはラズパイに付けたSDカードの、たぶんSDカードのハードウェアじゃなくて中のファイルシステム。
ぶつ切り実験ではラズパイ自体は壊れてないはず
堅牢にしたきゃ、NVMe SSDをつけてみるとか、電源にバッテリーをつけて余裕をもってシャットダウンさせるとか考えられる。
簡単でもお安くでもなくなるけど。選択はできる
Raspberry Pi 3ではありますが (スコア:0)
本体の電源コネクタ部分がなんか弱くないですか?一定方向に力をかけていないと電源が切れるようになってしまったんですよ。輪ゴムでテンションかけて誤魔化してますけど…そんなに抜き差しとかしてないはずですが、不良品なのかな。
Re: (スコア:0)
ハンダクラックかな。
Re: (スコア:0)
ラズパイ3だと電源はmicroUSBだよな…、端子の接触部分かそれより先かどっちに問題があるのか気になる。
おもちゃ (スコア:0)
ハイテクなおもちゃだから、壊れるの前提。
SDカードのスイッチを読み込みのみに (スコア:0)
うちは機器制御用のラズパイをmicrosdからsdへの変換ケーブルを噛ませてSDカードのスイッチで読み込みのみで動かしてます。
Re:SDカードのスイッチを読み込みのみに (スコア:2, 興味深い)
それ、ほぼ無駄ですよ。
テスト用に標準のSDとマイクロSDアダプタ用意してPCに繋いで読み書きすれば直ぐ解る。
PCでうっかり書き込むバカ避けになるから全く無駄ではないけど。
SDカードの書き込み禁止は、物理的なスイッチ依存で、SDカード内の電子回路は関知しません。
SDカードスロットが書込み可能か物理的な位置を検出して、電気信号にし、カードリーダーがその信号を検知しています。
microSDの端子やスロットには、書込み可能か判定する機能がなく、全て書込み可能と処理されます。
# ソフト的にロック出来るけど、それはSDでも同じ。
多分、RPiからは普通に書込みされてると思う。
変換ケーブルがプロトコルを処理してるなら別ですけど。
Re: (スコア:0)
SDの書き込み禁止スイッチってSDカードスロットにある読み取り接点をOn/Offするだけで
メディアは書き込み禁止にはならないのではと思いますが、そういうSDカードもあるのかな?
メモリースティックはスイッチ入れるとメディアがROになってRO状態もメディアに問い合わせて調べるようになってましたが。
Re: (スコア:0)
もう冬休みも終わりと思うのだが、今は違うのか?
Re: (スコア:0)
マジレスしちゃうと学校による。
雪が降る地方は冬休みは長めだよ。
札幌市立の小学校は1月19日、中学校は1月14日まで。
沖縄市立は1月5日まで。
Re: (スコア:0)
邪悪っていうか、カーネルコンフィグできないじゃん。そういう製品じゃないっていう。