我有3个嵌入式CPU系统运行Linux2.6.37,它们通过以太网连接。每个CPU都有自己的NAND闪存。其中一个是“主”CPU号0,而另外两个是他的同伴。我希望这三种方法都能从驻留在CPU0上的同一个根文件系统中运行,以避免RootFS文件中可能的更新/更改增加三倍。
为此,我想通过CPU0上的NFS导出'/‘(根文件系统),而CPU1 & CPU2将通过NFS (nfsroot)从CPU0引导。
但是这似乎不起作用--任何导出'/‘的尝试都会在消息: exportfs: /不支持NFS导出时失败。
出口“/”是否有任何原则限制?如果是的话,有什么想法可以达到这个目标呢?非常感谢。
增补/更新:
发布于 2017-04-20 12:15:35
如果CPU共享整个根文件系统,这将包括所有配置,例如nfs配置。他们怎么知道自己是主要的还是同伴呢?
一种方法是在闪存上为最大的目录(用du -sm /*|sort -n查找)创建分区,并在可能的情况下从伙伴处挂载这些分区(可以使用/home或/usr,但不能使用/etc)。
但是,当系统还在开发中时,您可能不知道每个分区需要多少空间,所以最好只有一个小的/root分区和另一个可以挂载的大分区(如/shared )。然后,您必须创建像ln -s /shared/home /home这样的符号链接。但一定要确保你的系统没有砖头!如果尝试将/bin移动到共享分区,则在引导时将找不到/bin/mount。
发布于 2017-08-15 14:29:53
非递归绑定-将根目录挂载到其他地方,例如/srv/nfs/root:
mount --bind / /srv/nfs/root然后导出/srv/nfs/root。
不要执行递归绑定(--rbind),否则也会导出/proc、/sys和/dev等目录。
https://unix.stackexchange.com/questions/360162
复制相似问题