確認するまで、外部媒体に動的ファイル(/var, /run など)を移動しようと考えていました。
というのも、以前 OMV を検証した際は フラッシュメモリへの導入は可能だが非推奨となっていたからです。
(当該バージョンは 3.0.58 で2017年2月に確認しています)。
ただ、実際には RAMディスクが活用されており一先ずその必要は無さそうです。
目次
現状確認
まず、現状を確認します。
ディスクの空きが無いのは2GBのSDカードを使ったからです。
(余裕があるなら 4GB 程度のSDカードを使ったほうが無難な気はします)。
RAM 1GB の Banana Pi M1 Classic を使っていますが、tmpfsが活用されていることが見て取れます。
また、見慣れない folder2ram なるデバイスも確認できます。
名称から RAMディスクっぽいですが確認することにしました。
$ df -lh
Filesystem Size Used Avail Use% Mounted on
udev 432M 0 432M 0% /dev
tmpfs 100M 6.7M 94M 7% /run
/dev/mmcblk0p2 920M 655M 159M 81% /
tmpfs 500M 0 500M 0% /dev/shm
tmpfs 5.0M 8.0K 5.0M 1% /run/lock
tmpfs 500M 0 500M 0% /sys/fs/cgroup
tmpfs 500M 0 500M 0% /tmp
/dev/sda1 15G 2.1G 13G 14% /srv/dev-disk-by-label-USB16GB
/dev/mmcblk0p1 58M 28M 28M 50% /boot
folder2ram 500M 3.9M 496M 1% /var/log
folder2ram 500M 0 500M 0% /var/tmp
folder2ram 500M 276K 500M 1% /var/lib/openmediavault/rrd
folder2ram 500M 16K 500M 1% /var/spool
folder2ram 500M 8.8M 491M 2% /var/lib/rrdcached
folder2ram 500M 8.0K 500M 1% /var/lib/monit
folder2ram 500M 0 500M 0% /var/lib/php
folder2ram 500M 4.0K 500M 1% /var/lib/netatalk/CNID
folder2ram 500M 420K 499M 1% /var/cache/samba
tmpfs 100M 0 100M 0% /run/user/0
folder2ram
マウント情報表示
folder2ram がどこにマウントされているか確認するために、mtab を確認します。
$ cat /etc/mtab
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
udev /dev devtmpfs rw,nosuid,relatime,size=442124k,nr_inodes=110531,mode=755 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /run tmpfs rw,nosuid,noexec,relatime,size=102252k,mode=755 0 0
/dev/mmcblk0p2 / btrfs rw,noatime,nodiratime,compress=lzo,ssd,space_cache,commit=600,subvolid=5,subvol=/ 0 0
securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0
tmpfs /run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k 0 0
tmpfs /sys/fs/cgroup tmpfs ro,nosuid,nodev,noexec,mode=755 0 0
cgroup /sys/fs/cgroup/systemd cgroup rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd 0 0
cgroup /sys/fs/cgroup/blkio cgroup rw,nosuid,nodev,noexec,relatime,blkio 0 0
cgroup /sys/fs/cgroup/rdma cgroup rw,nosuid,nodev,noexec,relatime,rdma 0 0
cgroup /sys/fs/cgroup/freezer cgroup rw,nosuid,nodev,noexec,relatime,freezer 0 0
cgroup /sys/fs/cgroup/cpu,cpuacct cgroup rw,nosuid,nodev,noexec,relatime,cpu,cpuacct 0 0
cgroup /sys/fs/cgroup/pids cgroup rw,nosuid,nodev,noexec,relatime,pids 0 0
cgroup /sys/fs/cgroup/memory cgroup rw,nosuid,nodev,noexec,relatime,memory 0 0
cgroup /sys/fs/cgroup/net_cls,net_prio cgroup rw,nosuid,nodev,noexec,relatime,net_cls,net_prio 0 0
cgroup /sys/fs/cgroup/cpuset cgroup rw,nosuid,nodev,noexec,relatime,cpuset 0 0
cgroup /sys/fs/cgroup/perf_event cgroup rw,nosuid,nodev,noexec,relatime,perf_event 0 0
cgroup /sys/fs/cgroup/devices cgroup rw,nosuid,nodev,noexec,relatime,devices 0 0
mqueue /dev/mqueue mqueue rw,relatime 0 0
sunrpc /run/rpc_pipefs rpc_pipefs rw,relatime 0 0
nfsd /proc/fs/nfsd nfsd rw,relatime 0 0
systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=37,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=12973 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
configfs /sys/kernel/config configfs rw,relatime 0 0
tmpfs /tmp tmpfs rw,relatime 0 0
/dev/sda1 /srv/dev-disk-by-label-USB16GB ext3 rw,noexec,relatime,data=ordered,jqfmt=vfsv0,usrjquota=aquota.user,grpjquota=aquota.group 0 0
/dev/mmcblk0p1 /boot ext4 rw,relatime,errors=remount-ro,commit=600,data=ordered 0 0
/dev/sda1 /sharedfolders/Share ext3 rw,noexec,relatime,data=ordered,jqfmt=vfsv0,usrjquota=aquota.user,grpjquota=aquota.group 0 0
/dev/mmcblk0p2 /var/folder2ram/var/log btrfs rw,noatime,nodiratime,compress=lzo,ssd,space_cache,commit=600,subvolid=5,subvol=/var/log 0 0
folder2ram /var/log tmpfs rw,nosuid,nodev,noexec,relatime 0 0
/dev/mmcblk0p2 /var/folder2ram/var/tmp btrfs rw,noatime,nodiratime,compress=lzo,ssd,space_cache,commit=600,subvolid=5,subvol=/var/tmp 0 0
folder2ram /var/tmp tmpfs rw,nosuid,nodev,noexec,relatime 0 0
/dev/mmcblk0p2 /var/folder2ram/var/lib/openmediavault/rrd btrfs rw,noatime,nodiratime,compress=lzo,ssd,space_cache,commit=600,subvolid=5,subvol=/var/lib/openmediavault/rrd 0 0
folder2ram /var/lib/openmediavault/rrd tmpfs rw,nosuid,nodev,noexec,relatime 0 0
/dev/mmcblk0p2 /var/folder2ram/var/spool btrfs rw,noatime,nodiratime,compress=lzo,ssd,space_cache,commit=600,subvolid=5,subvol=/var/spool 0 0
folder2ram /var/spool tmpfs rw,nosuid,nodev,noexec,relatime 0 0
/dev/mmcblk0p2 /var/folder2ram/var/lib/rrdcached btrfs rw,noatime,nodiratime,compress=lzo,ssd,space_cache,commit=600,subvolid=5,subvol=/var/lib/rrdcached 0 0
folder2ram /var/lib/rrdcached tmpfs rw,nosuid,nodev,noexec,relatime 0 0
/dev/mmcblk0p2 /var/folder2ram/var/lib/monit btrfs rw,noatime,nodiratime,compress=lzo,ssd,space_cache,commit=600,subvolid=5,subvol=/var/lib/monit 0 0
folder2ram /var/lib/monit tmpfs rw,nosuid,nodev,noexec,relatime 0 0
/dev/mmcblk0p2 /var/folder2ram/var/lib/php btrfs rw,noatime,nodiratime,compress=lzo,ssd,space_cache,commit=600,subvolid=5,subvol=/var/lib/php 0 0
folder2ram /var/lib/php tmpfs rw,nosuid,nodev,noexec,relatime 0 0
/dev/mmcblk0p2 /var/folder2ram/var/lib/netatalk/CNID btrfs rw,noatime,nodiratime,compress=lzo,ssd,space_cache,commit=600,subvolid=5,subvol=/var/lib/netatalk/CNID 0 0
folder2ram /var/lib/netatalk/CNID tmpfs rw,nosuid,nodev,noexec,relatime 0 0
/dev/mmcblk0p2 /var/folder2ram/var/cache/samba btrfs rw,noatime,nodiratime,compress=lzo,ssd,space_cache,commit=600,subvolid=5,subvol=/var/cache/samba 0 0
folder2ram /var/cache/samba tmpfs rw,nosuid,nodev,noexec,relatime 0 0
tracefs /sys/kernel/debug/tracing tracefs rw,relatime 0 0
tmpfs /run/user/0 tmpfs rw,nosuid,nodev,relatime,size=102252k,mode=700 0 0
mtab の見方
フォールドの並び順
1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|
デバイス名 | マウントポイント | ファイルシステム | オプション | 未使用 |
フィールドの内容
- デバイス名
パーティションに付与される名称 - マウントポイント
デバイスが実際にユーザが操作できるどのディレクトリに関連付けされているか - ファイルシステム
ファイルシステムタイプは、Linux では ext2, ext3, ext4 が一般的 - オプション
ファイルシステムがどの状態でマウントされているか(例:読み取り専用・読み取り/書き込み) - 未使用
末尾にゼロが入っている 2 つの未使用フィールド
(/etc/fstab との互換性のために存在)。- 1つ目:Dump の頻度
dump バックアップユーティリティが使用されている場合はこのフィールドの数値で指定したファイルシステムの dump 処理を管理します。 - 2つ目:ファイルシステムチェックの順番
ファイルシステムチェッカーの fsck がファイルシステムの整合性をチェックする順番を管理します。
- 1つ目:Dump の頻度
マウント情報確認
mtab の内容を表にまとめると以下のようになります。
- tmpfs
マウントポイント ファイルシステム /dev/shm tmpfs /run tmpfs /run/lock tmpfs /run/user/0 tmpfs /sys/fs/cgroup tmpfs /tmp tmpfs -
folder2ram
マウントポイント ファイルシステム /dev/shm /var/cache/samba tmpfs /var/lib/monit tmpfs /var/lib/netatalk/CNID tmpfs /var/lib/openmediavault/rrd tmpfs /var/lib/php tmpfs /var/lib/rrdcached tmpfs /var/log tmpfs /var/spool tmpfs /var/tmp tmpfs
※デバイス folder2ram は tmpfs にマウントされていることが分かります。
公式アナウンス
確認したら、OMV はバージョン 4.1 でフラッシュ製品への対応としてプラグイン「folder2ram」を導入したと情報公開されていました。
base on OMV 4.x
OPENMEDIAVAULT-FLASHMEMORY
LATEST VERSION: 4.1folder2ram plugin for OpenMediaVault folder2ram manages temporary file systems across reboots, to decrease writes on permanent storage. This allows the installation of OMV on flash thumb drives and SD cards.
OpenMediaVault用のfolder2ramプラグインfolder2ramは、再起動後に一時ファイルシステムを管理し、永続的なストレージへの書き込みを減らします。これにより、フラッシュ・サム・ドライブとSDカードにOMVをインストールすることができます。
folder2ram は leet
leet(リート)とは、一部のアルファベットを形の似た数字や記号などに変えて表記する方法です。
to を 2 に置き換えるもので、よくあるのは「接続」・「移行」の2つです。
下記例だと、P2P が接続で P2V が移行です。
- 例
- P2P
- Peer to Peer
(peer とは同等の意を表す単語)。
複数の端末間で、対等に通信を行うアーキテクチャ(設計思想)を指す。
- Peer to Peer
- P2V
- Physical Machine to Virtual Machine
物理環境で稼働しているシステムを仮想環境へ移行すること。
- Physical Machine to Virtual Machine
- P2P
folder2ram は folder to ram
物理デバイス上のファイル(フォルダ)を RAM 上に移行する、という意味なんですね。
納得です。