nfs网络文件系统

安装

# apt-get install nfs-kernel-server

配置挂载目录和权限

# vim /etc/exports
/home/rootfs *(rw,sync,no_root_squash)
/home/rootfs 192.168.0.*(rw) *(ro)
/home/rootfs 192.168.0.0/24(rw) *(ro)

*:所有的IP都可以访问
ro:只读
rw:可读写
sync:同步写入硬盘
async:暂存内存
root_squash:root用户访问此目录, 映射成如anonymous用户一样的权限
no_root_squash: root用户访问此目录,具有root操作权限
wdelay:多个用户对共享目录进行写操作时,则按组写入数据
no_wdelay:多个用户对共享目录进行写操作时,则立即写入数据

重启

# /etc/init.d/nfs restart  

查看共享状态

# showmount -e 127.0.0.1
Export list for 127.0.0.1:
/home/pi/fs_mini *

# rpcinfo -p 127.0.0.1

出现如下错误:(树莓派)

# showmount -e 127.0.0.1
clnt_create: RPC: Port mapper failure - Unable to receive: errno 111 (Connection refused)

解决办法:

# sudo /etc/init.d/rpcbind start
# sudo /etc/init.d/nfs-kernel-server restart

挂载测试

# sudo mount -t nfs -o nolock 127.0.0.1:/home/nfs_server /mnt

操作系统下,也可以挂载nfs来调试

exports
修改了/etc/exports后,并不需要重启nfs服务,只要用exportfs重新扫描一次/etc/exports

-a           递增式更新,对/etc/exports 增加或修改的部分进行挂载和卸载
-i<文件>      指定配置文件
-r           更新配置,重新读取/etc/exports 
-u           卸载指定目录
-o           使用指定参数
-v           显示共享详细情况
# exportfs -r  //重新配置
# exportfs -au //卸载所有共享目录

通过nfs下载内核

# nfs 32000000 192.168.1.12:/work/nfs_root/uImage

启动内核报错

VFS: Unable to mount root fs via NFS, trying floppy
VFS: Cannot open root device "nfs" or unknown-block(2,0): error -6
Please append a correct "root=" boot option; here are the available partitions

可能原因:

  1. 网卡驱动没有移植好
  2. NFS服务器配置不正确
  3. 没有安装NFS服务
Kernel panic - not syncing: No init found

NFS文件系统的权限不够

posted @   thomas_blog  阅读(118)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示