web-dev-qa-db-ja.com

/ var / logsをtmpfsとしてマウントし、overlayfsを使用して変更を保存することがあります

Tmpfsを/var/logにマウントする代わりに、overlayfsを使用したいと思います。

  1. / var/logは書き込み可能なtmpfsですが、tmpfsがマウントされる前にファイルが含まれていました。この古いファイルはtmpfsのメモリではなく、下位層にあります。
  2. 変更のみがtmpfsに保存され、古いファイルと変更されていないファイルはSSDに保存されます
  3. cronなどを介してSSDに変更を書き込むことができる場合があります。これにより、tmpfsメモリが解放されます。

したがって、結果は次のようになります。RAMに書き込まれたログ、同じパスを介してアクセス可能な新旧のブートログ。変更は、スクリプトによってディスクに書き込まれることがあります。

ポイントは、SSDを少し高速化し、多くの書き込みから安全にすることです。

Puppy Linuxでも同様のことが見られましたが、ログではなく、rootへのすべての変更についてですが、インストールしないと同じことができず、ドキュメントは役に立ちません)

回答に基づいてブラウザのCookie /キャッシュについても同じことを行います。ただし、永続的な書き込みはブラウザを閉じるときに実行されます。ブラウザのキャッシュをオフにすることはできません。キャッシュが原因でユーザーが抱えているのと同じバグをWeb開発に含めるには、少なくとも小さなキャッシュが必要です。

1
LeonidMew

/ var/logオーバーレイを作成するために管理され、SSDログファイルと変更が表示されます。すべての変更はRAMに保持されます。後で同期を行うので、上位レイヤーを下位レイヤーにコピーすることで、変更は1時間ごとに永続的になります。

#prepare layers
Sudo mkdir -p /var/log.tmpfs
Sudo mount -t tmpfs -o rw,nosuid,nodev,noexec,relatime,size=512m,mode=0775 tmpfs /var/log.tmpfs
Sudo mkdir -p /var/log.tmpfs/upper
Sudo mkdir -p /var/log.tmpfs/work
Sudo chown -R root:syslog /var/log.tmpfs
Sudo chmod -R u=rwX,g=rwX,o=rX /var/log.tmpfs

#prepare overlay
Sudo mkdir -p /var/log.overlay
Sudo chown root:syslog /var/log.overlay
Sudo chmod u=rwX,g=rwX,o=rX /var/log.overlay

#start overlay
Sudo mount -t overlay -o rw,lowerdir=/var/log,upperdir=/var/log.tmpfs/upper,workdir=/var/log.tmpfs/work overlay /var/log.overlay
Sudo mount --bind /var/log.overlay /var/log

変更を永続的にするには、バインド/ var/logをアンマウントし、ファイルをコピーしてから、再度バインドする必要があります。

1
LeonidMew

私は何でも提案することができます-sync-daemon。それはかなり良い仕事です。

https://wiki.archlinux.org/index.php/anything-sync-daemon

ドキュメントから、

any-sync-daemon(asd)は、tmpfsで同期ターゲットと呼ばれるユーザー指定のディレクトリを管理し、定期的に物理ディスク(HDD/SSD)に同期するように設計された小さな疑似デーモンです。これは、symlinkingステップとrsyncの革新的な使用によって実現され、tmpfsコピーとメディアバインドバックアップ間の同期を維持します。さらに、asdはいくつかのクラッシュリカバリ機能を備えています。

1
Ginnun