`
- 浏览:
508755 次
- 性别:
- 来自:
长沙
-
1、NFS简介
主要用在linux或unix环境中,是由sun公司开发;一般NFS广泛应用在集群服务器上,他的最大特点是可以通过网络让不同的机器,不同的操作系统可以彼此的共享文件,所以它可以看作一个简单的文件服务器。
NFS其实可以被视为一个RPC服务程序,在启动RPC程序前我们先要做好端口的映射工作这就是portmap,portmap的意思是当Client要连接服务器时必须知道服务器的一个空闲端口这时Client会向服务器的portmap请求一个端口然,然后Server告诉Client这端口后才可以建立连接,所以在启动NFS前要先启动portmap
NFS是以发布目录的方式将文件进行发布,而客户端是以挂载的方式进行访问,类似于Windows的共享目录。
2、NFS(Network File System)的原理
.将其他计算机的共享目录映射成本地目录
.基于RPC服务
.NFS Server 是提供共享目录的计算机,即提供空间的计算机
.NFS Client 是使用NFS服务的计算机
.NFS Client 可以读写NFS Server共享目录,但不可以移除或者删除服务器共享目录
NFS服务器共有两种类型,一种是以内核模块方式提供的 nfs-kernel-server,另一种是以用户空间程序提供的 nfs-user-server。
3、NFS的组成
为NFS服务器提供服务的程序有如下三个
.rpc.portmapper 这一程序本身并不直接提供NFS服务,但是它将其他计算机发出的调用请求映射到正确的NFS守护进程,即端口映射
.rpc.nfsd 这一进程把NFS请求转化为本地的文件系统上的实际请求
.rpc.mountd 这一守护程序负责为加载和卸载文件系统的请求提供服务
4、NFS的安装(服务端)
.服务端 NFS服务器需要指定可以共享的文件目录、客户端读写的限制、可以访问本服务器的IP地址范围等。
A、检查机器上石佛已经安装了NFS,没安装的话则安装
#rpm –qa |grep nfs && rpm –qa | grep portmap #查找这两个是否安装
B、编辑/etc/exports
#vi /etc/exports
# 格式 [共享的目录][主机名或IP(参数,参数)]
# 默认参数:sync,ro,root_squash,no_delay
# 当主机名或IP地址为空时,则代表共享给所有客户机提供服务
# 当将同一目录共享给多个客户机,但对每个客户机提供的权限不同时,可以这样:
# [共享的目录] [主机名1或IP1(参数1,参数2)] [主机名2或IP2(参数3,参数4)]
# NFS Server configure
/nfserver 192.168.1.2(rw,no_root_squash,sync) 192.168.1.3(rw,no_root_squash,sync)
下面是一些NFS共享的常用参数:
ro 只读访问
rw 读写访问
sync 所有数据在请求时写入共享
async NFS在写入数据前可以相应请求
secure NFS通过1024以下的安全TCP/IP端口发送
insecure NFS通过1024以上的端口发送
wdelay 如果多个用户要写入NFS目录,则归组写入(默认)
no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。
hide 在NFS共享目录中不共享其子目录
no_hide 共享NFS目录的子目录
subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
no_subtree_check 和上面相对,不检查父目录权限
all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
no_all_squash 保留共享文件的UID和GID(默认)
root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squash root用户具有根目录的完全管理访问权限
anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的GID
C、使更新的配置文件即时生效:#exportfs:
D、重启相应的服务
# service nfslock restart(可选)
# service portmap restart
# service nfs restart
启动NFS服务器需要启动portmap和nfs两个服务.并且portmap一定要优先于nfs启动,停止NFS服务器,需要先停止NFS服务再停止portmap服务。至于nfslock:通过共享NFS目录打开文件时,锁定可以使用户不能覆盖同一个文件。锁定通过nfslock脚本并使用 rpc.lockd监控程序启动运行。
5、NFS连接(客户端)
.客户端不需要开启nfsd服务,重启nfslock与portmap服务(默认是启动的)
#service nfslock start
#service portmap start 或 /etc/init.d/portmap start
通过NFS服务,可以把服务器上共享的目录 mount 到本地,就像访问本地目录一样
.查看NFS 服务器共享内容
#showmount -e 服务器主机名或者ip地址
示例:$ showmount -e 192.168.123.66
.挂载NFS服务器的共享目录到本地计算机
mount 服务器主机名或者IP :共享目录 本地挂载目录名
示例:# mount 192.168.123.66/home2/nfsroot/longtu /mnt/
.卸载NFS服务目录
umount 本地挂载目录
示例:# sudo umount /mnt
如果你想要开机启动时自动挂载NFS服务器导出目录,我们在NFS端/etc/fstab文件中加入以下一行:
192.168.123.66/home2/nfsroot/longtu /mnt (可选参数如:nfs rsize=8192,wsize=8192,timeo=14,intr)
6、UNFS VS KNFS
默认的Linux内核一般都支持Kernel Space,无须单独编译或者安装了,只要安装操作系统上自带的NFS软件包,即可使用kernel space方式的NFS。User Space的有点是无须任何内核级别的支持。当NFS出现问题的时候,只有NFS进程会卡出或者崩溃。但是内核以及整个linux系统都不会出现问题。缺点是user-space NFS的速度稍稍慢于kernel space NFS。
注意:redhat as/es 系列linux内置的rpm nfs-lib是kernel space NFS,不是User Space NFS, 一般我们会安装kernel server;user server 功能虽然比较多,但速度慢、稳定性比较差。 除非有特別的需要,否则应该用kernel server。
7、安装使用UNFS
而我由于通过NFS来使用MooseFs,安装MFSClient的时候安装了FUSE,因此在MFSClient中使用NFS得使用UNFS才行。
我下载的版本为nfs3-9.17,下载安装,配置与nfs一致,启动时直接使用命令:#nfsd即可。
网上也有如下的说法 :如果使用User Space NFS,需要使用-r参数启动:
# portmap
# rpc.mountd -r
# rpc.nfsd -r
否则客户端可能会报告permission denied的错误, unfsd与knfsd有冲突是因为它们监听的端口是同一端口,它们默认地启动端口为2049。参考文档:http://www.tldp.org/HOWTO/NFS-HOWTO/server.html
附我的困惑:
我使用#unfsd来启动unfs,然而却不知道如何停止掉unfs,我现在的做法是首先找到unfsd对应的进程号,然后再杀掉进程。unfsd对应的停止命令是啥呢?
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
在主机A上,你需要使用NFS配置工具来共享一个目录,例如`/home/hello`,允许客户端进行读写操作。通常,这涉及到编辑`/etc/exports`文件,添加以下内容: ```bash /home/hello *(rw,sync,no_subtree_check) ``` 这...
在AIX操作系统中,NFS(Network File System)配置是一个关键步骤,允许系统之间共享文件系统。本教程将详述如何在AIX 5300-08版本上配置NFS服务器和客户端。 首先,我们关注服务器端的配置。在AIX节点p550_1上,...
Linux_Solaris_NFS 配置详解 Linux_Solaris_NFS 配置是指在 Linux 和 Solaris 操作系统中配置 NFS(Network File System)的过程。NFS 允许不同的操作系统之间共享文件系统,以提高资源利用率和网络存储效率。在...
### RHCE NFS配置详解 #### 一、NFS简介与应用场景 NFS(Network File System,网络文件系统)是一种分布式文件系统协议,主要用于通过网络共享文件。它允许一个系统在网络上与另一台远程计算机进行交互,就好像...
在CGSL(可能是某国产操作系统的简称)上配置NFS服务是实现跨网络文件共享的重要步骤。NFS,即网络文件系统,是一个允许不同计算机之间通过网络共享文件和目录的协议,最初由Sun Microsystems开发,现在已成为Linux...
### Mini2440无盘启动详解:服务器NFS配置、支持NFS内核编译、根文件构建及U-Boot烧写 #### 一、概述 无盘启动技术允许设备通过网络从远程服务器上加载操作系统,从而实现无本地存储介质的启动方式。Mini2440是一款...
在配置NFS以供Windows客户端使用时,通常还需要在Windows上安装SFU(Services For Unix),它提供了一个NFS客户端,使Windows能够访问NFS服务器。同时,需要配置用户映射,以确保Windows和AIX之间的身份认证兼容。这...
本文还介绍了NFS客户端的配置方法,包括U-boot的配置和Linux内核的配置。U-boot的配置需要烧录带NFS客户端的U-boot到开发板上,并与笔记本进行串口连接,以便键入命令控制和监控Linux启动和根文件系统挂载过程。 ...
### NFS配置与应用详解 #### 一、NFS概述 NFS(Network File System)是一种分布式文件系统协议,由Sun Microsystems开发,允许网络中的不同计算机共享彼此的文件系统。通过NFS,用户可以在本地计算机上访问远程...
以下是在U-Boot环境下设置NFS配置的命令: ``` setenv bootargs console=ttySAC0,115200 root=/dev/nfs nfsroot=192.168.1.88:/home/gobinlin/test/rootfs ip=192.168.1.230:192.168.1.88:192.168.1.88:255.255.255...
- 在I.MX6U设备上安装NFS客户端软件,如`nfs-utils`,并配置网络和挂载点。 5. I.MX6U设备配置: - 对于TFTP,配置网络接口和DNS,确保能连接到TFTP服务器。 - 对于NFS,配置网络,然后使用`mount`命令挂载NFS...
安装nfs-utils后,配置`/etc/exports`文件,指定要共享的目录和权限,然后启动NFS服务。开发板端需要设置挂载点并执行挂载命令以连接到NFS服务器。 5. **网络调试** 在整个过程中,可能会遇到的问题包括ping失败、...
以下是AIX上NFS配置的详细步骤: 1. **创建逻辑卷和文件系统** 在AIX服务器端(如p550_1),首先需要创建一个新的逻辑卷(LV)和JFS2文件系统,以供NFS使用。这可以通过以下命令完成: - `mklv -t jfs2 -y lv_...
在NFS配置过程中,如果修改了/etc/exports文件后,不一定需要重新启动nfs服务,可以使用exportfs命令来使改动立即生效。exportfs命令具有多种参数,例如-a参数用于全部mount或unmount/etc/exports中的内容,-r参数...
- **安装NFS相关软件包**:确保服务器上已安装NFS服务软件。 - **配置NFS服务**:编辑`/etc/exports`文件,指定哪些目录对外共享以及共享给哪些客户端。 - **启动NFS服务**:运行`systemctl start nfs-server`或类似...
通过以上步骤,你将在CentOS 6.6系统上成功离线安装并配置了`nfs-common`,从而能够与其他NFS服务器进行文件共享。请注意,离线安装可能会错过一些安全更新和补丁,因此在生产环境中,建议尽可能保持系统更新。
5. **配置QEMU**:使用QEMU的命令行工具,指定NFS服务器的IP地址、导出的目录以及U-boot和Linux内核的位置。例如: ``` qemu-system-arm -m 512M -nographic -kernel u-boot.bin -append "root=/dev/nfs ip=dhcp ...
### Win下NFS共享知识点详解 #### 一、NFS(网络文件系统...这不仅涉及到 NFS 服务的安装和配置,还包括客户端的挂载及权限设置等方面。在实际应用中,还需要根据具体需求调整相关设置,以确保数据的安全性和可用性。
在NFS配置中,使用all_squash参数可以将所有远程用户的权限统一映射到本地的nobody用户,这有助于简化权限管理和安全控制。具体操作如下: 1. 编辑/etc/exports文件,将共享目录的权限配置为`/software *(sync,all_...