如何控制OverlayFS大小

如何控制OverlayFS大小

/我正在尝试将Debian Buster 系统的rootfs 挂载为 overridefs,因为我有兴趣使用tmpfs/upper目录。我的想法是使用它来通过使其可假写来保持根文件系统的完整性。我知道有一些软件包打算做到这一点,例如fsprotectand bilibop-lockfs,但是我认为前一个可能有点过时,而后一个似乎更有前途,但是两者都使用aufs并且我想initrd尽早了解 and用户空间和Linux启动过程,也许将来我会考虑尝试bilibop-lockfs

反正 ...我的剧本是基于当前的raspi 配置脚本;如你所见,我基本上是在添加完全相同的脚本作为一个模块并重建,那么当作为内核命令行参数传递initramfs时,该模块就会被触发。boot=overlay该脚本显然完成了将 rootfs 安装为 overridefs 的工作,但是......我遇到了以下问题;正如您在输出中看到的df -h,它显示大小只是3.9G

Filesystem      Size  Used Avail Use% Mounted on
udev            3.8G     0  3.8G   0% /dev
tmpfs           781M   17M  764M   3% /run
overlay         3.9G  1.2G  2.7G  30% /
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/mmcblk1p2  236M   96M  123M  44% /boot
/dev/mmcblk1p1  511M  5.2M  506M   2% /boot/efi
/dev/mmcblk0p1   58G  811M   54G   2% /data
tmpfs           781M     0  781M   0% /run/user/1001

有些程序在这个大小上存在问题,因为当它们运行一段时间后,它们开始在日志日志中打印“设备上没有剩余空间”。我的问题是......指定这个尺寸的是什么?我在脚本中看不到任何有关大小的信息overlay。我可以设置更大的尺寸来为这些程序提供更大的余量吗?

谢谢你们。

答案1

好吧,我没有意识到当你挂载 tmpfs 时,你可以在 mountoptions 中选择特定的大小;来自tmpfs 联机帮助页:

Mount options
       The tmpfs filesystem supports the following mount options:

       size=bytes
              Specify an upper limit on the size of the filesystem.  The
              size is given in bytes, and rounded up to entire pages.

              The size may have a k, m, or g suffix for Ki, Mi, Gi
              (binary kilo (kibi), binary mega (mebi), and binary giga
              (gibi)).

              The size may also have a % suffix to limit this instance
              to a percentage of physical RAM.

              The default, when neither size nor nr_blocks is specified,
              is size=50%.

所以更换我的脚本中的第 86 行有了这个:

mount -t tmpfs -o size=100% tmpfs /upper

系统不再报告可用空间问题。

相关内容