我有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
复制相似问题