パスワードを忘れた? アカウント作成
15057967 story
ハードウェア

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利用における様々な故障原因についても触れた上で、

エンジニアとしてできるのは、壊れる原因を特定して、壊れる確率を下げて、それを継続的にやっていくことしかできないと思っています。

としている。

  • by Canalian (19238) on 2021年01月08日 21時04分 (#3955547)

    /tmp, /var/tmp, /var/logをtmpfs+bindマウントで隠蔽すれば、故障率は激減する。

    のべ二桁枚数の(RPiの) MicroSDを焼いたが、起動不能という話は ほとんどない。
    常時稼動上等、な環境でも使われているらしい。

    ここに返信
  • 故障じゃないけど (スコア:2, おもしろおかしい)

    by Anonymous Coward on 2021年01月08日 18時19分 (#3955448)

    SDカードを挿そうとしたら失敗して「ぴよ~ん」とどこかに飛んでいって紛失が多かったな。
    3以降はスロットにばねが入っていないから紛失は今のトコはしてない。

    ここに返信
    • by kohzoh (34869) on 2021年01月09日 0時11分 (#3955640) 日記

      デジカメも昔はぴょーんと飛んでいったものだけど最近は止まるようになってるね。
      外で使う機会が多いものだから紛失しないためには必須な機能だろう。

      SDカードつかう家電なら、急な電源断には(他のコメントで触れられているように)コストかけて終了処理をする時間は確保してる。

      そういう部分はいらねーから安い方を選んでモノづくりニッポン終了というのがここ数年の風潮だとおもっていたが、結局はきめ細かな目に見えない改善が欲しいのかいっ! と多少もやもやするお話ですねぇ。

  • by Anonymous Coward on 2021年01月08日 18時19分 (#3955449)

    自宅や実家にRPiを置いてる程度ですが、長期運用したいならmicroSDに書いたら負けで組まないとダメと思ってます。
    データを保管したいならUSBメモリとかで壊れても起動出来るようにしないと詰む。

    # デフォルトのファイルシステムはFATで壊れたらブート出来なくなるし、
    # 書き込みやウェアレベリング中とかに電断した時にどうなるかは、SDの電源遮断耐性も影響する。

    ここに返信
  • by Anonymous Coward on 2021年01月08日 18時21分 (#3955451)

    書き込み中に電源切る使い方なんか他の機器でやらないのに
    ラズパイだと雑になっちゃうのか、そもそも知らないのか

    ここに返信
    • by Anonymous Coward on 2021年01月08日 21時34分 (#3955568)

      たまたま使いやすいコンセントの場所だったから
      って掃除のおばちゃんが言ってた

    • by Anonymous Coward

      そもそも知らないのか

      これに尽きる。組み込み機器の宿命だね。

      再起動は復活する魔法だから、調子が悪い(ネットワークが原因)からと電源強制OFF(運悪く書き込み中)されるとか。
      営業終了後はブレーカーでぶち切りされるとか。

      パソコンでなく、照明みたいな意識になるのかもしれない。
      照明をリモコンでオフにしてから、壁スイッチをオフにするみたいな面倒臭さ感。

      • by Anonymous Coward

        まともな組み込み系ならクリティカルな部分のストレージへの書き込みは二重化しといて訂正符号で書き込み正常にできたかを次回起動時に確認する物では

        #ラズパイがまともな組み込み系ボードじゃないと言われればそうなんだけど

        • 『データ書き込み中の電源のぶつ切り』に対して、

          クリティカルな部分のストレージへの書き込みは二重化しといて訂正符号で書き込み正常にできたかを次回起動時に確認

          は、筋が悪そう。

          • by Anonymous Coward

            領域Aと領域B(同容量)に対して
            ・領域Aにデータと訂正符号(CRCとか)を書き込む
            書き終わったら
            ・領域Bにデータと訂正符号を書き込む
            までで完了とした上で、次回起動時にはAとBのそれぞれをチェックして、
            ・両方とも正常ならどちらかをそのまま有効に
            ・両方とも異常ならエラーに
            ・Aの書き込み中に電源がぶつ切りされて書き込み失敗していた場合には一つ前のBを使う
            ・Bの書き込み中に電源がぶつ切りされて書き込み失敗していたらAを使う
            すれば

            『データ書き込み中の電源のぶつ切り』に対して筋が悪そう。

            ということもないと思いますが?

            バックアップにキャパシタでバックアップしたRAMとかを使っている本当に小規模な組み込みなら常套手段だけど
            少なくとも1つの領域への完全な書き込み完了を待たないといけないとか、他の問題はあるので
            規模が大きくなった今の組み込みに対して元コメントがどこまで当たっているかは知らない。

            • 『ファイルシステムのRAM化』なんていうお手本があるのに、それはちょっと的な。
              システムが壊れない事の話であって、データについては的外れ。

              • ...RAM化(原文)で合っているのかなコレ...。

              • by Anonymous Coward

                全然関係ないよ。

                電断が予期される環境でどう書込み値の信頼性を確保するかの話だもの。
                身近な例だとSUICAとかそんな感じの実装。

                microSDだとSDコントローラがどう振る舞うか、ファイルシステムがどう振る舞うかになって、コントロールは簡単ではないと思う。
                やらないよりは大分マシだけど。
                SPIフラッシュに設定を保存するなら活用可能かなぁ。

        • by Anonymous Coward

          RPiは標準環境だと簡単に出来ないから、SDカードはブート専用でRAM化したりするしかないって話ですね。
          書き込み可能なストレージをUSBで繋げばどうとでもなる話。

    • by Anonymous Coward
      もっと高機能なPCやスマホが瞬断に耐えちゃうし・・・

      いつまでFATなんだろう
      ジャーナルがあるext4とかじゃダメなのかね
      SDカードの壊れ方次第じゃそれでもダメなんだろうけど
      • by Anonymous Coward on 2021年01月08日 19時54分 (#3955508)

        ブート領域がFATなだけ。
        ext4も特定セクタに書き込みが集中するからSDカード向きじゃない。
        Paspbianがデフォルトでフラッシュ向けファイルシステム [wikipedia.org]になるだけでもうちょっとマシになると思う。

        • by Anonymous Coward

          SDカードはウェアレベリングには対応していないのかな?
          製品によるとか?

          • by Anonymous Coward on 2021年01月08日 21時25分 (#3955562)

            SDカードもウェアレベリングは当然搭載されてます。
            しかし、基本的に追記書き込みがメイン用途で、安さ重視なので、特定セクターに書き換えが集中するとあっという間に消耗します。
            また、ext4のようなジャーナリングファイルシステムは、ジャーナルへの書き込みが頻発するので寿命面からは不利です。

            製品によるのも確かで、産業用とかはウェアレベリングの予備領域を多めに確保したり、疑似SLC領域にしたりして、書き換えの耐久性を高めています。

            書き換え寿命が気になるなら、USB接続のSSD使うのが一番お手軽ですよ。

    • by Anonymous Coward

      LinuxもUnixも知らない向きも使ってるからなぁ。
      自分でもshutdwonしたつもりになってたりするし。

    • by Anonymous Coward

      関係ないけど、電源「ぶつ切り」ってのは割と初めて聞いたかも

  • by Anonymous Coward on 2021年01月08日 18時22分 (#3955453)
    「SDカードの故障」と「SDカード内のデータ破損」は全く違うのでは
    ここに返信
    • by Anonymous Coward on 2021年01月08日 19時10分 (#3955489)

      書き込み回数上限超えて壊した話かと思ったね。
      ドラレコ向け高耐久SDとか使えばいいのかな、と思ったら書き込み時にFAT飛ばすような話だったのでズコー。

      ※ケンウッドのヤツだけ耐久性がすげー髙いらしい。SLC並だとか。

    • by Anonymous Coward

      俺もそう思った。
      故障じゃねえよ。

      • by Anonymous Coward on 2021年01月08日 18時40分 (#3955463)

        RPiが組み込まれたトータルの製品としては故障であってるよ。
        見てるレイヤーが違う。

        対処法もMTTR的にSDカード交換だから、エンドユーザー的にはSDカードの故障。

        • by Anonymous Coward

          だって、ラズパイなんか使用者=開発者だろう殆どの場合 と思ったら
          > ベースにした製品作りに関わっていた
          なので、やはりユーザーサイトでの故障だなぁ
          でも、そもそもそんなの想定しない開発者が悪い

          まず最初に気をつけなくちゃならんとこだろそんなとこ
          自分の手を離れてリリースするならさ

          • by Anonymous Coward

            でも、そもそもそんなの想定しない開発者が悪い

            まず最初に気をつけなくちゃならんとこだろそんなとこ
            自分の手を離れてリリースするならさ

            ハード屋さんじゃない人がRPiで組むとか、実際に壊れるまでの回数の参考実例としては十分ネタになるかと。
            趣味でRPiを使ったシステム構築する人が、電断対策するやらESDガンでバチバチなんてあまり無いと思うし。

            # 電子工作素人なのでAC(#3955449 [srad.jp])。
            # 中身はVPNとかSIPとか赤外線送信とかで、Wi-SUNとZigBee積んでHEMSっぽい事しようと計画中。

    • by Anonymous Coward

      サービスを提供する側からみると、故障は故障では?
      そして、そういう視点の記事ですよね。

      • by Anonymous Coward

        ラズパイの故障ではないわな。
        そういうサービスの障害ではあっても。

  • by Anonymous Coward on 2021年01月08日 18時54分 (#3955474)

    USBブートに切り替えちゃうほうが気楽な気もしますね

    # PCIe引き出してNVMe SSDブートに挑む猛者が出てきたりして

    ここに返信
    • by Anonymous Coward

      USBからPCIeブリッジを通してSATAを使えるようにするボードは
      どこぞかのサードパーティーが作ってたような気がする。
      どうせならMPUがZynqのGTX/GTPのような信号がそのまま引き出せる
      ような構成ならいろいろ楽しい事が可能なんだけどなあ。

    • by Anonymous Coward

      RasPi4だとUSB3のチップ外してPCIe取り出してる人はググると結構います
      NanoPi M4V2だとNVMeスロットを追加出来るハットが本体と一緒に買えます

      /bootだけSDで他はUSB接続ならすぐ出来ますから、それで良いような
      #と思ったけど、それが難しいという人を相手にしないとなると厳しいな

      • by Anonymous Coward

        いまさら人に聞けない: USB3の石に入る手前にチップCが居て、そこにはんだ付けできそうに見えるんだよね。
        USB3の石の傍のXTALだけ止めて、眠らせるってわけにいかんのだろうか。

  • by Anonymous Coward on 2021年01月08日 18時58分 (#3955478)

    マーケティングを失敗しているんじゃないの?

    ここに返信
    • by Anonymous Coward

      教育用だからこれで合ってる

    • by Anonymous Coward

      ここで壊れてるのはラズパイに付けたSDカードの、たぶんSDカードのハードウェアじゃなくて中のファイルシステム。
      ぶつ切り実験ではラズパイ自体は壊れてないはず

      堅牢にしたきゃ、NVMe SSDをつけてみるとか、電源にバッテリーをつけて余裕をもってシャットダウンさせるとか考えられる。
      簡単でもお安くでもなくなるけど。選択はできる

  • by Anonymous Coward on 2021年01月08日 19時18分 (#3955492)

    本体の電源コネクタ部分がなんか弱くないですか?一定方向に力をかけていないと電源が切れるようになってしまったんですよ。輪ゴムでテンションかけて誤魔化してますけど…そんなに抜き差しとかしてないはずですが、不良品なのかな。

    ここに返信
    • by Anonymous Coward

      ハンダクラックかな。

    • by Anonymous Coward

      ラズパイ3だと電源はmicroUSBだよな…、端子の接触部分かそれより先かどっちに問題があるのか気になる。

  • by Anonymous Coward on 2021年01月08日 19時53分 (#3955507)

    ハイテクなおもちゃだから、壊れるの前提。

    ここに返信
  • by Anonymous Coward on 2021年01月08日 22時37分 (#3955597)

    うちは機器制御用のラズパイをmicrosdからsdへの変換ケーブルを噛ませてSDカードのスイッチで読み込みのみで動かしてます。

    ここに返信
    • by Anonymous Coward on 2021年01月08日 23時36分 (#3955628)

      それ、ほぼ無駄ですよ。

      テスト用に標準のSDとマイクロSDアダプタ用意してPCに繋いで読み書きすれば直ぐ解る。
      PCでうっかり書き込むバカ避けになるから全く無駄ではないけど。

      SDカードの書き込み禁止は、物理的なスイッチ依存で、SDカード内の電子回路は関知しません。
      SDカードスロットが書込み可能か物理的な位置を検出して、電気信号にし、カードリーダーがその信号を検知しています。

      microSDの端子やスロットには、書込み可能か判定する機能がなく、全て書込み可能と処理されます。
      # ソフト的にロック出来るけど、それはSDでも同じ。

      多分、RPiからは普通に書込みされてると思う。
      変換ケーブルがプロトコルを処理してるなら別ですけど。

    • by Anonymous Coward

      SDの書き込み禁止スイッチってSDカードスロットにある読み取り接点をOn/Offするだけで
      メディアは書き込み禁止にはならないのではと思いますが、そういうSDカードもあるのかな?
      メモリースティックはスイッチ入れるとメディアがROになってRO状態もメディアに問い合わせて調べるようになってましたが。

typodupeerror

人生の大半の問題はスルー力で解決する -- スルー力研究専門家

読み込み中...