ラズパイのためのパーティション分割

ラズパイのためのパーティション分割

 ラズパイ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

 sdxというのは各環境で異なる。
うちの場合は、USBメモリは/dev/sdaに割り当てられるので、sdxはsda。

筆者プロフィール

my-latest-logo

aiya000(あいや)

せつラボ 〜圏論の基本〜」 「せつラボ2~雲と天使と関手圏~」 「矢澤にこ先輩といっしょに代数!」を書いています!

強い静的型付けとテストを用いて、バグを防ぐのが好き。Haskell・TypeScript。