一、定义
NFS(Network File System)即网络文件系统,可以实现多台计算机之间资源共享。该系统需要基于RPC服务(portmap)而使用,分为服务端和客户端。
二、相关服务说明
nfsd:保证客户端能正常访问登录服务器;
mountd:当NFS客户端向服务端共享同步文件时,需要mountd服务针对服务端配置的/etc/exports文件对客户端进行权限验证,只有验证通过完成后才允许其客户端进行文件共享。
portmap:NFS服务器端与客户端之间通话是通过TCP/IP进行传输,该通话会使用随机端口方式进行通话,该端口的分配就交由portmap服务进行端口管理并提供给NFS客户端。服务端、客户端都依赖此服务。
三、服务端
a)安装portmap服务
sudo apt-get install portmap
b)安装服务端NFS软件
sudo apt-get install nfs-kernel-server
c)配置 /etc/exports 文件
var/nfs 11.10.12.11(rw,sync,no_subtree_check) 11.10.12.12(rw,sync,no_subtree_check) 11.10.12.13(rw,sync,no_subtree_check)
var/nfs:服务端地址共享文件存放地址
11.10.12.11/12/13:NFS服务端/客户端IP地址,如果服务端也充当客户端使用,这里也需要为其赋权。
rw:可读可写
ro:只读
sync:数据同步写入内存缓冲区与磁盘中,虽然这样做效率较低,但可以保证数据的一致性(适合于小文件传输)
async:数据先暂时放于内存,而非直接写入硬盘,等到必要时才写入磁盘(适合于大文件传输)
no_root_squash:使用nfs时,如果用户是root,不进行权限压缩,即root用户在nfs上创建的文件 属组和属主仍然是root(不安全,不建议使用)
root_squash:使用nfs时,如果用户是root,则进行权限压缩,即把root用户在nfs上创建的文件 属组和属主修改为nfsnobody
all_squash:所有的普通用户使用nfs都将使用权限压缩,即:将远程访问的所有普通用户及所属用户组都映射为匿名用户或者用户组(一般均为nfsnobody)
no_all_squash:所有的普通用户使用nfs都不使用权限压缩,即:不将远程访问的所有普通用户及所属用户组都映射为匿名用户或者用户组(默认设置)
anonuid=XXX:anon即anonymous(匿名者),前面关于*_squash提到的匿名用户的uid的设置值,通常为nobody或者nfsnobody,使用这个参数可以自行设定这个uid值,这个uid必须存在 于/etc/passwd
anongid=XXX:将远程访问的所有用户组都映身为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=XXX)
insecure:允许客户端从大于1024的TCP/IP端口连NFS服务器
secure:限制客户端只能从小于1024的TCP/IP端口连接NFS服务器(默认设置)
wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可提高效率(默认设置)
no_wdelay:若有写操作则立即执行(应与sync配置)
subtree_check:若输出目录是一个子目录,则NFSW:务器将检查其父目录的权限(默认设置)
no_subtree_check:即使输出目录是一个子目录,NFS服务器也不检查其父目录的权限,这样做可提高效率
d)启动portmap服务
sudo /etc/init.d/portmap restart
e)启动NFS服务
sudo service nfs-kernel-server restart
f)查看启动状态
protmap服务:service protmap status
nfs服务:service nfs-kernel-server status
四、客户端
a)安装portmap服务
sudo apt-get install portmap
b)安装客户端NFS软件
sudo apt-get install nfs-common
c)启动portmap服务
sudo /etc/init.d/portmap restart
d)启动NFS服务
sudo service nfs-kernel-server restart
e)查看启动状态
protmap服务:service protmap status
nfs服务:service nfs-kernel-server status
f)客户端共享路径挂载--手动挂载
sudo mount 11.10.12.11:/var/nfs /mnt/nfs/
mount:挂载命令
11.10.12.11:服务端IP地址
/var/nfs:服务端地址共享文件存放地址
/mnt/nfs/:客户端需共享地址
g)客户端开机自动挂载--自动挂载
将以下代码添加到/etc/fstab文件中
11.10.12.11://var/nfs /mnt/nfs/ nfs4 defaults 0 0
retrans:当客户端加载NFS不成功时,重试次数,已经无法成功报错。默认缺省hard-mount一直尝试。
其他参数可参照http://jianzong2000.iteye.com/blog/1631074
h)查看是否挂载成功
命令:df -h
查询结果如下所示:
Filesystem Size Used Avail Use% Mounted on .... 11.10.12.11:/var/nfs ...G ..G ...G ..% /mnt/nfs
此时在客户端/mnt/nfs目录下添加文件,就会同步到服务端及各个客户端。
相关推荐
本部分详细介绍了如何在Linux环境下配置NFS服务,并通过具体的实例展示了如何访问这些服务。 1. **NFS服务的确认与启动** - 首先需要确认Linux系统是否支持NFS服务。可以通过检查`/etc/rc.d/init.d`目录下是否存在...
### Linux NFS服务器的安装与配置 #### 一、NFS服务简介 NFS(Network File System,网络文件系统)是一种允许不同操作系统之间的机器共享文件的协议。它最初由Sun Microsystems开发,并于1984年公开发布。NFS的...
### 实现Windows与Linux的NFS共享目录服务详解 #### 引言 在跨平台的开发环境中,实现Windows与Linux之间的文件共享是一项常见的需求。NFS(Network File System)作为一款成熟的网络文件系统协议,提供了在异构...
Linux 配置 NFS 和 TFTP 服务 Linux 操作系统中,配置 NFS(Network File System)和 TFTP(Trivial File Transfer Protocol)服务可以实现文件共享和文件传输。本文将详细介绍如何配置 NFS 和 TFTP 服务。 一、...
NFS V3在写模式上引入了更强的一致性选择,不同于NFS V2的简单模式,NFS V3能够更精细地控制写操作,确保数据在写入前后的完整性,特别是在并发写入时,能够有效防止数据丢失或覆盖的问题,提升了数据的安全性和一致...
NFS最初由SUN公司开发,遵循RFC1904和RFC1813标准,使得不同操作系统之间的数据交换变得简单和标准化。 NFS的工作原理基于XDR(外部数据表示法)和RPC(远程程序调用)协议。XDR确保数据在各种平台间保持一致的格式...
2. **配置NFS服务器**:在主机上设置一个NFS服务器,将包含Linux内核、设备树、根文件系统等的目录导出。确保NFS服务启动并正确配置。 3. **准备U-boot**:下载并编译适合你目标架构的U-boot源码。配置并生成适合...
linux下NFS的配置,一个的简单的配置描述,可以让你快速的构建一个自己的NFS服务器,讲述不详细,但是是根据自己亲自测试通过。
NFS服务在Linux环境中提供了强大的文件共享功能,使得跨系统之间的文件交换变得简单高效。通过本指南,您应该能够成功地在自己的Linux系统中部署和管理NFS服务。随着技术的发展,NFS也在不断进化和完善,未来还将有...
总之,配置NFS可以极大地简化Android开发过程中的文件共享,使得在多个设备之间快速同步代码和资源变得简单。但是,请确保在生产环境中谨慎使用,因为NFS共享可能会带来安全风险,特别是当网络不受控制时。
NFS的设置涉及安装NFS服务器软件包,配置服务器端的NFS共享目录,并在开发板系统上配置NFS客户端,使得开发板可以挂载服务器上的共享目录。 使用NFS相对于FTP方式有显著优势。FTP虽然简单,但效率较低,无法进行...
本文将详细介绍如何在嵌入式Linux系统中配置NFS服务,包括必要的配置参数及其含义,并提供一种通过虚拟机进行配置的方法。 #### 二、NFS简介 NFS是一种分布式文件系统协议,允许用户在网络上共享文件和目录,如同...
linux nfs配置详解,linux nfs配置详解
Linux下的NFS快速配置教程与安全策略 以下是从给定的文件中生成的相关知识点: 1. NFS 概念和原理 NFS(Network File System)是一种分布式文件系统协议,允许不同的机器之间共享文件。NFS 采用 Client/Server ...
本文将详细介绍如何在Linux系统中安装和配置TFTP、NFS和DHCP这三种网络服务。 首先,TFTP(Trivial File Transfer Protocol)是一个简单的文件传输协议,常用于无盘启动环境中获取启动文件。安装TFTP服务一般会涉及...
### Embedded Linux的NFS开发环境配置详解 #### 一、前言 在嵌入式Linux开发领域,构建一个高效稳定的开发环境至关重要。其中,NFS(Network File System,网络文件系统)作为一项关键技术,被广泛应用于开发环境...
Linux下的tftp与nfs是两种常用的网络...总结,搭建Linux下的tftp和nfs服务涉及多个步骤,包括安装相关软件包、配置服务参数以及处理可能出现的问题。理解这些步骤并熟练掌握,将有助于提升你在Linux环境中的工作效率。
### 简易NFS服务器设定详解 #### NFS概述与功能 NFS(Network File System)是一种网络文件系统,最初由Sun Microsystems开发。其主要目的是允许不同计算机与操作系统之间能够共享文件,即实现跨平台的文件共享。...
NFS就是Network FileSystem的缩写,最早之前是由 Sun 所发展出来的。他最大的功能就是可以透过网络,让不同的机器、不同的操作系统...文中通过实例介绍了在Linux系统下NFS的配置方法,以及在配置过程中应该注意的问题。