我知道Xen可以使用NFS挂载作为根文件系统来引导实例。 我想要类似的东西,但不知道如何完成它。
我希望我的所有Xen客人都能看到一个只读块设备,并将其挂载为root以外的其他设备。 我知道如何通过在每个guestconfiguration文件中指定一个可用于dom0的块设备来实现这一点。 这是微不足道的,如果我可以有一个“共享”设备每个主机系统,但我只想要在networking上的一个共享设备。
我不想在每个guest虚拟机中使用NFS,因为我不希望它们与我的NFS服务器在同一个networking上。 我宁愿简单地暴露一个设备。
有任何想法吗?
我不认为这是内核模块或portage树,是吗? 这就是我所见过的这种机制…
所以,很容易让所有的guest虚拟机拥有一个作为只读块设备的文件系统映像文件。 在guest虚拟机的某个地方( /etc/fstab和所有Jazz)挂载也很简单。 无论如何,假设你正在使用一个存储元数据的文件系统types – 但是如果你使用的是VFAT,拥有权只是一个挂载选项。
诀窍是处理更新。 一旦你有任何客人安装了“块设备”,任何人都不能更新它。 这是行不通的,因为没有人知道别人正在更新内容,所以一切都崩溃了。 相反,您需要使用文件系统映像创build文件副本,进行所需的任何更改,然后触发某种更新操作以使guest虚拟机卸载旧的“文件系统”,然后dom0可以将旧文件在guest虚拟机重新安装文件系统之前附加新的。
在我使用过的情况下,我们实际上在domUconfiguration文件中有一些代码(因为它们只是Python)来find最新的这些块设备并附加它们,然后通常的启动时间坐标事情。 所以,对我们来说,“更新过程”就是“重启客人”。 但是,这是否适用于您,是一个我无法回答的问题,因为我不知道您在尝试使用这个function。
另外,只有第二个NFS服务器,只用于提供这些文件到您的domUs。 这可能比所有这些块设备frufru更容易(我们有一些非常具体的要求,使其成为最差的select,但我不认为他们适用于你的情况 – 事实上,我知道他们不适用于你情况,因为你已经有了一个NFS服务器)。