У меня есть RootFS, которая представляет собой SquashFS только для чтения, наложенную на хранилище с возможностью записи (ext4, если это имеет значение).
Обычно это работает, но через некоторое время один файл стал недоступен:
# cat /etc/init.d/update
[ 378.714771] overlayfs: failed to get inode (-151)
[ 378.719636] overlayfs: failed to get inode (-151)
cat: can't open '/etc/init.d/update': Stale NFS file handle
Кажется, ошибка находится в записи каталога, так как я получаю ошибки даже с простым ls
:
# ls /etc/init.d/update
[ 1256.618431] overlayfs: failed to get inode (-151)
[ 1256.623489] overlayfs: failed to get inode (-151)
ls: /etc/init.d/update: Stale NFS file handle
Эта ошибка, похоже, пережила перезагрузку.
Этот конкретный файл был отредактирован, поэтому у меня есть две версии: одна для «нижней» SquashFS, а другая для «верхней» ext4; оба доступны с использованием соответствующих точек монтирования: похоже, ошибка исходит из самой OverlayFS.
Кажется, я не могу исправить эту ошибку (и мне страшно, потому что эта система должна работать круглосуточно и без выходных), я уже запускал fsck -fp
на всех пораженных системах (конечно, не на SquashFS).
Любой намек приветствуется.
Примечание: у меня нет (и мне не нужно) NFS; Я полагаю, они использовали это повторно errno
(151), но я не знаю.
ОБНОВИТЬ: Мне удалось устранить ошибку, вручную удалив «новую» копию файла из «верхнего» каталога; последующее редактирование того же файла прошло должным образом.
Я очень напуган и хотел бы понять, что произошло (и убедиться, что это больше не повторится в «производстве»!).
ОБНОВЛЕНИЕ2: Я использую настройки по умолчанию для OverlayFS в моем kernel v5.7
, мне выбрать дополнительные параметры?
<*> Overlay filesystem support
[ ] Overlayfs: turn on redirect directory feature by default
[*] Overlayfs: follow redirects even if redirects are turned off
[ ] Overlayfs: turn on inodes index feature by default
[ ] Overlayfs: turn on metadata only copy up feature by default