ラズパイのためのパーティション分割
ラズパイ3 Type Bを買ったので、ラズパイのブート領域であるmicroSDへの過度な書き込みアクセスを避けるべく 32GBのUSBメモリに5つのパーティションを分割して移す。
- ※多分microSDは書き込みアクセスに対する寿命がHDDやUSBメモリ(SSD)よりも短い
- あんまり詳しくない
- このUSBメモリ、USB3.0規格だけど、ラズパイに3.0ポートはない
- microSDは8GB
ちなみに、入れたOSはRasbianです。
パーティション分割対象
今回のパーティション分割の対象はこの5つのディレクトリ
- /var
- いわずもがな、書き込み読み込みアクセスが集中するので絶対に分割する
- /home
- 個人的にはここにRAM使用率が集中する (haskell-stackのglobal-projectとか)
- USBメモリの方がRAM容量大きいので移す
- /opt
- なぜかRasbianの/optはインストール時から色々入っててRAM使用率高い
- /tmp
- 書き込みアクセスが少しありそうなので一応分割する
- /root
- ここにswapファイル作って仮想メモリ入れたいので巻き添え
- Rasbianにはdphys-swapfileというswap管理用デーモンがあるのですが、知らん。 dphys-swapfileをdisableにしてfstabを使う
パーティションデザイン
USBメモリの32GB分を、どのパーティションにどれだけ割り当てるか。
パーティション, | 容量(GB), | 理由 |
---|---|---|
/var | 5 | これで十分かなと思った |
/home | 15 | いっぱい容量使うから |
/opt | 5 | そもそもこれ以上使う予定はまだない |
/tmp | 1.5 | 一応大きくしてみた |
/root | 2.5 | swapファイルに1G使う予定 + 適当 |
割と適当だけど考えてはいる。
ちなみに容量の合計が32GBでないのは、なんだっけ、確かファイルシステムってパーティションの先頭あたりにインデックスを確保するんだっけ。
つまりユーザに提供される領域が29GBあたりだから。
おまけ
パーティションの割り当て
実際は1つのデバイス(1つのUSBメモリ)に作れる物理パーティションは4つまでなので、3つの物理パーティション + 1つの拡張パーティション(2つの論理パーティション) として作る。
つまり上のパーティションデザインを上から作っていくとすると、USB内のパーティションの包含関係はこんな感じになる。
- /dev/sdx1
- /var
- /dev/sdx2
- /home
- /dev/sdx3
- /opt
- /dev/sdx4
- /dev/sdx5
- /tmp
- /dev/sdx6
- /root
- /dev/sdx5
sdxというのは各環境で異なる。
うちの場合は、USBメモリは/dev/sdaに割り当てられるので、sdxはsda。
この記事はこちらから修正リクエストを送ることができます。
ラズパイのためのパーティション分割 - github
ゴミ箱ボタンの左にある、鉛筆ボタンを押してね!