Debian

如何控制 OverlayFS 大小

  • July 7, 2021

我正在嘗試將/Debian Buster 系統的 rootfs 掛載為 overlayfs,因為我有興趣使用tmpfs/upper目錄。我的想法是通過使其可假寫來使用它來保持根文件系統的完整性。我知道有一些包打算這樣做,比如fsprotectand bilibop-lockfs,但是我認為前者可能有點過時,而後者似乎更有希望,但兩者都使用aufs,我想早點initrd了解使用者空間和 Linux 啟動過程,也許以後我會考慮嘗試bilibop-lockfs.

無論如何…我的腳本基於目前的raspi-config腳本;正如您所看到的,我基本上添加了與模組相同的腳本並重新建構,然後當作為核心命令行參數傳遞initramfs時,該模組被觸發。boot=overlay該腳本顯然可以將rootfs安裝為overlayfs,但是……我遇到了以下問題;正如您在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我在腳本中看不到任何有關大小的資訊。我可以設置更大的尺寸來為這些程序提供更大的餘量嗎?

謝謝你們。

好吧,我沒有意識到在掛載 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

系統不再報告可用空間問題。

我對overlayfs的大小有同樣的問題,詳細資訊:kubuntu 18.04,來自購買的USB記憶棒的UEFI引導程序。USB 記憶棒是 30 GB 記憶棒。但是覆蓋 fs 只有 3.9 GB。

我已經下載並安裝了一些軟體包,現在我收到了警告:zu wenig Speicherplatz

df -Th -a 顯示:/cow 覆蓋 3.9G 3.7G 1.7M 100% /

我不想失去軟體,也無法關機和重啟。我試圖將所有內容保存到另一個 HDD 之外,但是 cp 和 rsync 都卡住了。

如何在正在執行的系統中擴展覆蓋區域。謝謝。Anton_Wessel@t-online.de

引用自:https://unix.stackexchange.com/questions/656585