正在寻找有关如何为我的无盘计算机创建覆盖文件的示例/方法/等。
我有多台配置了 nfs 根目录的无盘计算机。我想使用覆盖来保存需要更改计算的文件。例如 /etc/hostname 和 /etc/fstab 等...
有谁能用过这个吗,可以给我一个参考网址吗?
答案1
我可以几乎通过安装来让它工作覆盖根,然后添加/etc/overlayroot.local.conf
如下文件:
overlayroot_cfgdisk="disabled"
overlayroot=tmpfs
然而,overlayfs 中的这个错误阻碍了我的进度。这个错误意味着 NFSv3 和 overlayfs 目前无法很好地协同工作以实现您正在寻找的写时复制功能。尽管一旦修复了这个问题,我确实认为使用 overlayroot 可能是添加所需的 initramfs 魔法的最佳方式。
有了上述错误,您可以在 upperdir 中创建 lowerdir 中不存在的文件,但从 lowerdir 到 upperdir 的复制是错误的。因此,作为一种解决方法,我在服务器上安装 rootfs 时递归删除在这些目录中找到的所有文件:
/etc/apparmor.d/cache/
/var/log/
/var/lib/ubuntu-release-upgrader/
/var/lib/update-notifier/
这为我提供了一个或多或少正常运转的系统,足以运行我需要的客户端内容。
欲了解更多信息,请查看Dustin Kirkland 关于 overlayroot 的博客文章。
答案2
您可以尝试将以下使用临时内存文件系统进行覆盖的序列添加到您的启动脚本中(例如,exit 0
如果您不想深入了解启动脚本编程的细节,请将其粘贴到 /etc/rc.local - 在该行之前) (您需要将该行替换为指向您首选位置的行!):
mkdir /mnt/root /mnt/overlay
mount -o bind / /mnt/root
mount -t tmpfs tmpfs /mnt/overlay
mount -o lowerdir=/mnt/root,upperdir=/mnt/overlay -t overlayfs /
当心,我已经不是测试这是否有效!