如何在Red Hat / Fedora Core中安装root aufs?

我试图build立一个运行Red Hat EL(实际上是Scientific Linux,但是相同的区别)的根文件系统受保护而不可写的虚拟机。 我想用一个使用aufs的联合装载来完成这个任务。 也就是说,一个可写文件系统(位于不同的虚拟HDD上)覆盖在根文件系统上。

在这个地方有一个HOWTO吗? 我已经安装了aufs模块,并且我已经能够挂载一个联合文件系统,但诀窍是为根文件系统做这个。

我已经看到了initramfs脚本help.ubuntu.com/community/aufsRootFileSystemOnUsbFlash编写的Debian / Ubuntu风格的发行版,在/ init脚本中做这样的事情:在真正的根挂载之前,受保护的根挂载在某处只有覆盖的文件系统以读写的方式安装在别处,联合文件系统被创build和挂载,然后联合安装成为真正的根。 因此,原始的受保护的根文件系统永远不会被挂载为读写。

我想知道如何在Red Hat发行版的nash / init脚本中执行此操作。

甚至更具体的问题: nash命令“setuproot”和“switchroot”究竟做了什么? nash(8)的手册页文件switchroot有一个单一的参数,但我的/ init脚本没有任何参数调用它。

(动机:虚拟机将受到软件故障注入;我想保护根文件系统免受故障系统的影响,以便能够快速地将VM重新引导到非故障状态。)

谢谢!!

PS是的,我可以下载一些LiveCD,看看它是如何完成的,但我想有人应该写一个HOWTO,我的谷歌search技能还没有发现。

initrd包含一个gzip的cpio转储,在初始化过程中被放到一个ramdisk上。 Setuproot加载任何必要的模块(包含在initrd中),通常用于像LVM这样的东西,填充/ dev(initrd包含一个有限的/ dev)。 Switchroot将cpio归档文件转换为真正的根文件系统。

纳什是非常有限的。 每个二进制文件必须是静态的,脚本实际上是不可能的,等等。 这可能是有用的(构build脚本在他的SVN回购)。