Raspberry PiのSDカード寿命対策|壊れる原因と長持ちのコツ

プログラミング・電子工作






Raspberry PiのSDカード寿命対策|初心者ガイド




YOFUKASI LAB|Arduino・電子工作

HOW-TO / Raspberry Pi

Raspberry PiのSDカードがすぐ壊れる?初心者向けSDカード寿命対策を整理する。

ある日突然、Raspberry Piが起動しなくなることがあります。原因の多くは、SDカードへの書き込みが集中し、寿命が縮んでしまうことです。本記事では、SDカードの寿命が縮む仕組みを解説します。そのうえで、今日から設定できる具体的な対策も紹介します。

YOFUKASI LAB編集部
公開日:2026年8月21日
読了目安:9分

Chapter 01 / Introduction

01なぜRaspberry PiのSDカードは寿命が短くなるのか

SDカードの書き込み回数には上限がある

結論から言うと、原因は主に2つあります。1つ目は、ログファイルや一時ファイルへの頻繁な書き込みです。2つ目は、電源を急に抜くことによる書き込み中断です。これによりファイルシステムが壊れることもあります。microSDカードは、NAND型フラッシュメモリでできています。そのため、書き込み・消去できる回数には物理的な上限があります。ある技術記事によれば、TLC方式のmicroSDカードの書き込み限度は1000回程度とも言われています。つまり、ログを書き込みすぎると、ある日突然データが読めなくなり、Raspberry Piが起動しなくなることがあるのです。

編集部が確認した劣化の実例

編集部想定シナリオ

Cさんは、自宅の温度・湿度を記録するプロジェクトを組みました。Raspberry Pi Zeroを1年ほど、24時間稼働させ続けていたのです。ある朝、電源を入れ直すとOSが起動しなくなりました。SDカードをPCに挿しても、ファイルシステムが認識されません。原因は、ログとセンサーデータが同じSDカードへ書き込まれ続けたことによるセルの劣化でした。そこでCさんは、SDカードへの直接書き込みをやめました。代わりに、RAM上でバッファしてから定期的にまとめて書き込む方式に変更したのです。その結果、同様のトラブルは起きていません。

編集部見解

SDカードの寿命対策は「壊れてから直す」ことではありません。「壊れる前提で書き込みを減らす」設計に切り替えることが本質です。とりわけ、24時間稼働させるプロジェクトほど、初期段階で対策を組み込んでおく価値があります。

本記事では、まずSDカードとRaspberry Piの基本構造を押さえます。そのうえで、書き込みが集中する技術的な仕組みを解説します。最後に、具体的な対策方法を実践ステップとして紹介します。




Chapter 02 / Background

02SDカードとRaspberry Piの基礎知識

microSDカードとは、NAND型フラッシュメモリを使った小型の記録媒体です。Raspberry Piでは、OSやアプリケーションを保存する主要なストレージとして使われます。フラッシュメモリは、セルという単位でデータを記録します。このセルは、書き込み・消去を繰り返すごとに徐々に劣化する性質を持っています。これこそが「SDカードの寿命」と呼ばれる現象の正体です。

Raspberry Piは標準で、microSDカードから起動する構成になっています。そのため、OS本体だけでなく、システムログやアプリケーションのログ、一時ファイル(キャッシュ)なども同じSDカードに書き込まれます。特に、サーバーやセンサー監視のように長時間稼働させるプロジェクトでは注意が必要です。こうしたプロジェクトでは、システムが自動生成するログの書き込み頻度が、想像以上に高くなることがあります。はじめてRaspberry Piをセットアップする方は、あわせてRaspberry Pi Imagerのインストール・使い方ガイドもご覧ください。

この問題への対策として広く使われているのが、OverlayFS(オーバーレイファイルシステム)です。Raspberry Pi公式ドキュメントの設定ガイドでは、raspi-configの各種設定項目がまとめられており、その中にOverlayFSを有効にする機能があります。OverlayFSは、SDカード本体を読み取り専用にする仕組みです。そして、実際の書き込みはメモリ上(RAM)で処理します。その結果、SDカードへの物理的な書き込みを大幅に減らせます。

Chapter 03 / How it works

03書き込みが集中する仕組みと技術的背景

SDカードへ書き込まれる主なデータ

Raspberry Pi OSが動作している間、意識しなくても次のようなデータが継続的にSDカードへ書き込まれています。

  • systemdジャーナルやsyslogなどのシステムログ(/var/log以下)
  • アプリケーションが生成する一時ファイル・キャッシュ
  • スワップ領域(メモリ不足時にディスクを仮想メモリとして使う処理)
  • センサー値やアクセスログなど、ユーザープログラムが記録するデータ

log2ramでログをRAM化する

これらの書き込みを根本的に減らす方法として代表的なのが、「ログのRAM化」と「ルートファイルシステムの読み取り専用化」です。ログのRAM化を実現するツールとして広く使われているのが、azlux氏が公開するオープンソースツール「log2ram」です。log2ramは、ログの書き込み先をRAM上のマウントポイントに切り替えます。そして、1日1回など定期的にディスクへ同期する仕組みを持っています。これにより、頻繁なログ書き込みがSDカードへ直接到達しなくなります。その結果、書き込み回数を大幅に削減できます。

# log2ramのインストール例(Debian系リポジトリを利用する場合)
echo "deb [signed-by=/usr/share/keyrings/azlux-archive-keyring.gpg] http://packages.azlux.fr/debian/ bookworm main" \
  | sudo tee /etc/apt/sources.list.d/azlux.list
sudo wget -O /usr/share/keyrings/azlux-archive-keyring.gpg https://azlux.fr/repo.gpg
sudo apt update
sudo apt install log2ram
# 設定ファイルでRAM上のサイズを調整(例:128MB)
sudo nano /etc/log2ram.conf
# SIZE=128M のように書き換えて保存

OverlayFSでルートファイルシステムを読み取り専用化する

一方、より踏み込んだ対策が、OverlayFSによる読み取り専用化です。ある技術ブログの検証では、raspi-configのnon-interactiveモードから該当コマンドを実行するだけでOverlayFSを有効化できると紹介されています。この方式では、SDカード本体(下層)を読み取り専用にします。そのうえで、RAM上の書き込み可能な層(上層)を重ねます。その結果、見かけ上は通常どおり書き込みができるように振る舞います。しかし、実際の物理的な書き込みは発生しません。

sudo raspi-config nonint enable_overlayfsを実行するだけで、OverlayFSによる読み取り専用のrootfsを有効化できます。

データ・編集部見解

OverlayFSを有効化した検証記録の一つでは、有効化後にdf -hコマンドを実行しています。その結果、ルートパーティションが読み取り専用(ro)でマウントされ、その上にoverlay領域が重なっている状態が確認できたと報告されています。編集部の見解として、この構成であれば理論上、通常運用中のSDカードへの書き込みはほぼゼロに近づけられます。




Chapter 04 / Comparison

04SDカード寿命対策の比較

SDカードの寿命対策には、手軽さと効果の異なる複数のアプローチがあります。用途に応じて選びましょう。

項目 A:log2ram(ログのRAM化) B:OverlayFS(読み取り専用化) C:USB/SSD起動への移行
効果の大きさ 中(ログ由来の書き込みを削減) 大(ほぼ全ての書き込みを抑制) 大(媒体自体の耐久性が向上)
導入の手軽さ 高(パッケージ導入のみ) 高(raspi-configから設定可) 中(起動設定の変更が必要)
デメリット 再起動時に未同期分のログが消える可能性 再起動で設定変更が消える SSD等の追加コストが発生
参考 azlux/log2ram(GitHub) Raspberry Pi公式 Configuration 編集部見解

※「効果の大きさ」「デメリット」の一部は編集部見解によるものです。実際の効果は用途・稼働時間・書き込み頻度によって変動します。

結論として、開発中で設定変更が多い段階では、まずA(log2ram)から導入しましょう。そして、運用フェーズに入り設定がほぼ固まった段階で、B(OverlayFS)を有効化するのが現実的な流れです。また、長期の業務利用やデータの信頼性を特に重視する場合は、C(USB/SSD起動)への移行もあわせて検討する価値があります。

Chapter 05 / Practice

05実践:5ステップでSDカードの寿命対策を行う

01

信頼性の高いSDカードを選定する

まず、土台となるSDカード自体の選定を見直しましょう。パッケージにApplication Class(A1/A2)表記がある製品や、産業用途向けの製品がおすすめです。これらは、ランダムライト性能や書き込み耐久性を考慮して設計されているものが多いためです。実際、連続稼働のプロジェクトでの採用実績も多く見られます。

編集部想定シナリオ

Dさんのチームは、コンビニの在庫管理端末の試作にRaspberry Piを使っていました。当初は、安価な汎用SDカードを使用していたのです。しかし、稼働開始から数ヶ月で、複数台に読み込みエラーが発生しました。そこで、産業用途向けを謳うSDカードに切り替えました。あわせて、後述のOverlayFSも導入しました。その結果、1年以上トラブルが発生していないという運用実績が、社内で共有されました。

02

log2ramを導入してログの書き込みをRAM化する

第3章で紹介した手順で、log2ramを導入しましょう。そのうえで、/etc/log2ram.confのSIZEを利用状況に応じて調整します(目安は空きRAMの1〜2割程度です)。導入後は、df -hコマンドで/var/logがtmpfsとしてマウントされているか確認しましょう。

03

スワップ領域を無効化または縮小する

メモリに余裕がある機種(Raspberry Pi 4/5でRAM 4GB以上など)では、スワップを無効化しましょう。これにより、ディスクへの書き込みをさらに減らせます。具体的には、sudo systemctl disable dphys-swapfileのようなコマンドでスワップサービスを無効化します。そのあと、再起動して反映させましょう。

データ・編集部見解

編集部の運用記録を紹介します。RAM 4GB搭載機種で、メモリ使用量に余裕のあるセンサー監視プロジェクトの事例です。この事例では、スワップを無効化してもシステムの安定性に目立った悪影響は見られませんでした。ただし、メモリを多く消費するアプリケーションを併用する場合は注意が必要です。無効化する前に、十分なテストを行ってください(あくまで一事例としての編集部見解です)。

04

運用フェーズでOverlayFSを有効化する

設定がある程度固まったら、OverlayFSを有効化しましょう。まず、sudo raspi-configを実行します。次に、「4 Performance Options」または「6 Advanced Options」内のOverlay File System項目からYesを選択します(バージョンによりメニュー位置が異なる場合があります)。あるいは、コマンド一発で有効化する方法もあります。具体的には、sudo raspi-config nonint enable_overlayfsを実行します。

05

必要に応じてUSB/SSD起動へ移行する

Raspberry Pi 4以降の一部モデルでは、USBメモリやUSB接続のSSDから起動できる場合があります。SSDは、SDカードに比べて書き込み耐久性や速度で優位とされることが多いです。そのため、特に長期の業務利用では、SDカードからの移行を検討する価値があります。ただし、対応状況やブートローダーの設定はモデルごとに異なります。事前に、公式ドキュメントで確認してください。

Chapter 06 / Caution

06注意点・よくある誤解

SDカードの寿命対策では、いくつかの誤解も広がっています。ここでは代表的な3つを確認しましょう。

よくある3つの誤解

!

誤解1:容量の大きいSDカードほど寿命も長い

容量とセルの書き込み耐久性は、必ずしも比例しません。寿命に影響するのは、主にフラッシュメモリの方式(SLC/MLC/TLCなど)や製品自体の設計です。そのため、単純に容量だけで判断するのは誤りです。

!

誤解2:OverlayFSを有効にすれば設定は一切失われない

実際には逆です。OverlayFS有効時は、再起動のたびに起動後の変更内容がすべて消えます。そのため、設定変更やソフトウェアの追加インストールを行う際は注意が必要です。事前にOverlayFSを無効化してから作業しましょう。完了後は、再度有効化してください。

!

誤解3:電源ボタンがないから電源はいつ抜いても大丈夫

Raspberry Piには、物理的な電源ボタンがない機種が多くあります。そのため、コンセントを直接抜いてしまいがちです。しかし、書き込み中に電源を切ると、ファイルシステムが破損するリスクが高まります。sudo shutdown -h nowなどで、正しくシャットダウンしてから電源を切りましょう。これは、寿命対策以前の基本的な注意点です。




Chapter 07 / FAQ

07よくある質問

Q.Raspberry PiのSDカードはどのくらいで壊れますか?
A.使い方によって大きく異なります。ログや一時ファイルの書き込みが頻繁な用途(常時稼働のサーバーやセンサー監視など)では数ヶ月〜1年程度で書き込みエラーが出始めることもあれば、書き込みを抑える対策をした上でデスクトップ用途中心であれば数年単位で問題なく使えることもあります。編集部見解として、明確な保証期間があるわけではなく、対策の有無で体感寿命が大きく変わる点を理解しておくことが重要です。

Q.読み取り専用化(OverlayFS)を有効にすると何が不便になりますか?
A.起動後に加えた設定変更やダウンロードしたファイルは、次回再起動時に消えてしまいます。ログや一時データも再起動で失われるため、常に設定を変更しながら開発する用途には不向きです。開発中はオフにし、運用フェーズに入ったタイミングで有効化する使い方が現実的です。

Q.安いSDカードと高いSDカードでは本当に寿命が変わりますか?
A.傾向として変わります。産業用途向けやApplication Class(A1/A2)表記のあるSDカードは、ランダムライト性能や書き込み耐久性を考慮して設計されている製品が多く、連続稼働のRaspberry Piプロジェクトでの採用実績が多く見られます。ただし製品ごとの実測寿命は編集部では確認できないため、あくまで選定時の目安として捉えてください。

Q.SDカードを使わずに運用する方法はありますか?
A.Raspberry Pi 4以降の一部モデルではUSBメモリやUSB接続のSSDから起動できる場合があります。SSDはSDカードに比べて書き込み耐久性が高い傾向にあるため、長期運用を重視する場合の選択肢の一つです。対応状況はモデルやファームウェアのバージョンによって異なるため、事前に公式ドキュメントで確認してください。

Chapter 08 / Summary

08まとめ

Raspberry PiのSDカードは、書き込みが集中すると寿命が縮みやすくなります。しかし、原因を理解すれば対策は難しくありません。まずは、log2ramでログをRAM化しましょう。次に、運用フェーズでOverlayFSを有効化しましょう。さらに、信頼性の高いSDカードを選ぶことも大切です。長期運用を重視する場合は、USB/SSD起動への移行もあわせて検討してください。これらの対策を組み合わせることで、SDカードの寿命を大きく延ばせます。あわせて、ArduinoとRaspberry Piの違いもチェックしてみてください。

参考文献

  1. Raspberry Pi公式ドキュメント「Configuration」Raspberry Pi Ltd, 2026年, https://www.raspberrypi.com/documentation/computers/configuration.html
  2. azlux「log2ram」GitHubリポジトリ, 2026年, https://github.com/azlux/log2ram
  3. LeavaTailの日記「Raspberry Pi 4 で OverlayFS を併用した Read-Only な rootfs を構築する」2024年, https://leavatail.hatenablog.com/entry/2024/05/12/200000
  4. 世界Linux新聞「log2ramの仕組みを読み解きました!」2021年, https://linuxfun.org/2021/01/01/what-log2ram-does/

※出典の明記がない数値・シナリオは「編集部見解」または「編集部想定シナリオ」として本文中に明示しています。


関連記事

特集記事

コメント

この記事へのコメントはありません。

TOP
CLOSE