created: 2022-10-30T01:26:39.480Z
RaspberryPi で tmpfs をマウントする ansible の記述
録画してできる m2ts ファイルを microSD に書いてると半年くらいでディスクがダメになるということがわかっているので、その m2ts ファイルを microSD ではなくメモリ上(tmpfs)に書き出すようにする。m2ts ファイルは mp4 エンコードが済んだら逐次削除するようになっているので tmpfs があふれることはない。
前回までのあらすじ
m2ts ファイルのエンコード先である mp4 ファイルは samba 経由で RAID1 のディスクに書き込まるようになっている。
- 2022年度版 RaspberryPi4で録画サーバ(Mirakurun/EPGStation)を動かす
- RaspberryPi でソフトウェアRAIDを構成する
- [2022年度版][Mirakurun + EPGStation] Raspberry Pi で mp4 のエンコードにハードウェアアクセラレータを使うまで
- RaspberryPi でext4とsamba(cifs)をマウントするときのfstabの鉄板オプション(ansibleで設定)
ansible の実装
- /mnt/ramdisk に tmpfs をマウント
- tmpfs 容量は2GB(
2g
)までとするが、10分くらいの番組までならこれでまかなえる - epgstation の録画先ディレクトリを ramdisk のシンボリックリンクで差し替え
- name: prepare /mnt/ramdisk
ansible.builtin.file:
path: "{{ item }}"
state: directory
mode: '0755'
owner: pi
group: pi
with_items:
- /mnt/ramdisk
- /mnt/ramdisk/docker-mirakurun-epgstation
- name: mount tmpfs on /mnt/ramdisk
ansible.posix.mount:
src: tmpfs
path: /mnt/ramdisk
fstype: tmpfs
opts: "rw,nodev,nosuid,size=2g"
state: mounted
notify: mount fstab all
- name: create symlink recorded point to ramdisk
file:
src: /mnt/ramdisk/docker-mirakurun-epgstation
dest: /opt/docker-mirakurun-epgstation/recorded
state: link
notify: restart docker-mirakurun-epgstation