NFS 文件系统
NFS(Network File System)即网络文件系统,由 Sun 公司于 1984 年发布的分布式文件系统协议。也是 FreeBSD 支持的文件系统中的一种,它允许网络中的计算机之间通过 TCP/IP 网络共享资源。在 NFS 的应用中,本地 NFS 的客户端应用可以透明地读写位于远端 NFS 服务器上的文件,就像访问本地文件一样。NFS 是一个成功的文件共享方法,但它最大的问题是不太适合大型的分布式系統。
NFS 主要特点:
- 本地工作站使用更少的磁盘空间,因为通常的数据可以存放在一台机器上而且可以通过网络访问到。
- 用户不必在每个网络上的机器都有一个相同的目录,相同的目录可以被放在 NFS 服务器上并且在网络上处处可用。
- 诸如软驱,CDROM 之类的存储设备可以在网络上面被其他机器使用,这可以减少整个网络上的可移动介质设备的数量。
在嵌入式设备的开发调试阶段,可以利用该技术在主机上建立基于 NFS 的文件系统,并挂载到嵌入式设备,方便主机与嵌入式设备之间的文件共享。
NFS 基本操作
在 SylixOS 中可以通过查看/proc/fs/fssup 文件来查看当前系统支持的文件系统类型。
# cat /proc/fs/fssup
rootfs procfs ramfs romfs vfat nfs yaffs
以 FreeNFS 为例来说明 SylixOS 的 NFS 的挂载操作,运行 FreeNFS 软件并进行参数设置,在软件图标上点击鼠标右键并选择 Settings 选项后会出现如下图所示的设置界面。
在 Server 中的 Path 输入框内输入服务器(运行 FreeNFS 的 PC 机)需要共享的路径,Clients 中的 Allowed Host 输入框为空表示所有客户机(运行 SylixOS 的设备)均可以连接到本服务器,Filenames 的 Codepage 表示当前系统的文件名编码格式。
通过 showmount 命令可以查看当前系统已经挂载的设备。
# showmount
AUTO-Mount point show >>
VOLUME BLK NAME
-------------------- --------------------------------
/media/hdd0 /dev/blk/hdd0:0
Mount point show >>
VOLUME BLK NAME
-------------------- --------------------------------
/tmp 0
通过 mount 命令可以挂载 NFS 文件系统,其中/mnt/nfs 中的 nfs 是动态创建的,不需要用户手动进行创建。
# mount -t nfs 192.168.1.15:/ /mnt/nfs
# showmount
AUTO-Mount point show >>
VOLUME BLK NAME
-------------------- --------------------------------
/media/hdd0 /dev/blk/hdd0:0
Mount point show >>
VOLUME BLK NAME
-------------------- --------------------------------
/mnt/nfs 192.168.1.15:/
/tmp 0
# ls /mnt/nfs/
.metadata app_proc base_armv4 bsp_micro2440 bsp_mini2440
RemoteSystemsTempFiles
通过 umount 命令可以卸载 NFS 文件系统。
# umount /mnt/nfs/
# showmount
AUTO-Mount point show >>
VOLUME BLK NAME
-------------------- --------------------------------
/media/hdd0 /dev/blk/hdd0:0
Mount point show >>
VOLUME BLK NAME
-------------------- --------------------------------
/tmp 0