首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >导出(通过NFS)根(/) FS

导出(通过NFS)根(/) FS
EN

Unix & Linux用户
提问于 2017-04-20 11:41:14
回答 2查看 1.7K关注 0票数 2

我有3个嵌入式CPU系统运行Linux2.6.37,它们通过以太网连接。每个CPU都有自己的NAND闪存。其中一个是“主”CPU号0,而另外两个是他的同伴。我希望这三种方法都能从驻留在CPU0上的同一个根文件系统中运行,以避免RootFS文件中可能的更新/更改增加三倍。

为此,我想通过CPU0上的NFS导出'/‘(根文件系统),而CPU1 & CPU2将通过NFS (nfsroot)从CPU0引导。

但是这似乎不起作用--任何导出'/‘的尝试都会在消息: exportfs: /不支持NFS导出时失败。

出口“/”是否有任何原则限制?如果是的话,有什么想法可以达到这个目标呢?非常感谢。

增补/更新:

  1. 每个CPU都知道自己的数量,引导加载程序(u- boot )会将正确的参数放入Linux命令行,以便从NAND(CPU0)或NFS(CPU 1-2)启动。同样的方式,CPU0将启动NFS服务器,而CPU1-2则不会。
  2. 没有必要在“私有”文件,因为在任何情况下根文件系统是挂载只读的今天。只有每个CPUx都有自己的私有NAND,而我想消除这一点。
  3. 这与“无盘”情况不同,因为在无盘情况下,某些子目录被导出为根FS,而在我的示例中,所有根FS必须导出。
  4. 我应该注意,从NAND导出任何子目录都很好(我至少尝试过几个)。仅导出“/”失败。
EN

回答 2

Unix & Linux用户

发布于 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

票数 0
EN

Unix & Linux用户

发布于 2017-08-15 14:29:53

非递归绑定-将根目录挂载到其他地方,例如/srv/nfs/root

代码语言:javascript
运行
复制
mount --bind / /srv/nfs/root

然后导出/srv/nfs/root

不要执行递归绑定(--rbind),否则也会导出/proc、/sys和/dev等目录。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/360162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档