sun公司1984年推出,用来在网络中的多台计算机间实现资源共享(包括象文件或cd-rom)
设计的目的是:实现在不同系统间交互使用,所以它的通信协议采用与主机和 *** 作系统无关的技术
NFS Server可以看作是File Server,它可以让你的PC通过网络将远端得NFS SERVER共享出来的档案MOUNT到自己的系统中,在CLIENT看来使 用NFS的远端文件就象是在使用本地文件一样
FS协议从诞生到现在有多个版本:NFS V2(rfc1094),NFS V3(rfc1813)(最新的版本是V4(rfc3010)
RPC(Remote Procedure call)
NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些其它的传输协议。而这 些传输协议用到这个RPC功能的。
NFS本身就是使用RPC的一个程序,或者说NFS也是一个RPC SERVER所以只要用到NFS的地方都要启动RPC
服务,不论是NFS SERVER或者NFS CLIENT。这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应。可以这么理解RPC和NFS的关系:NFS 是一个文件系统,而RPC是负责负责信息的传输。
nfs在系统中的后台守护进程: nfs
nfs服务需要启动的其他进程:
rpcnfsd:接收从远程系统发来的NFS请求,并将这些请求转化为本地文件系统请求
rpcmountd:执行被请求的文件系统的挂接和卸载 *** 作
rpcportmapper:将远程请求映射到正确的NFS守护程序
rpcstatd:在远程主机重启时,提供加锁服务
rpcquotaed:提供硬盘容量的管理能力,磁盘限额
在伺服器上使用 rpcinfo -p | grep -iE "service|NFS" 命令,显示伺服器上可使用的 NFS 版本
# rpcinfo -p | grep -iE "service|NFS"
表示伺服器可提供 NFS V3 和 NFS V4。
如果不需要krb5p,设置完就可以直接可以mount了
如果需要krb5p,在/etc/sysconfig/nfs文件中要设置
RPCNFSDARGS="-N 4"
-N 表示禁用 ,也可以是"-N 3"或者"-N 2",这是代表NFS版本,NFSv2,3,4,改完这个要将服务restart
这一项必须要填,不然client端会报错access错误,而server端不会有一点反应,连log中都不会出现报错!
CentOS 7 NFS设置
>安装NFS服务器
1、首先打开“服务器管理器”。在“管理工具”菜单项中,或右击“我的电脑”选“管理”。
2、在左边的树中选中“功能”项。右边窗口中会列出“功能”的详细信息。单击“添加功能”。
3、会打开“添加功能向导”窗口。按下图选中“网络文件系统服务工具”
点“下一步”。然后点击“安装”,进行功能的安装。
4、安装成功后点“关闭”
5、添加“文件服务”角色。
6、在服务器管理器中,选中“角色”,右边会列出角色的详细信息。
7、点击“添加角色”文字,会运行“添加角色向导”。点“下一步”
8、选中“文件服务”项,在该项前面打勾。下一步。
9、直接点“下一步”
10、请确保“文件服务器”和“网络文件系统服务”项前面打勾。然后点“下一步”
11、点“安装”作者:SpookZanG
linux搭建NFS服务器
一、什么是NFS服务
NFS是Network
File
System的简写,即网络文件系统
网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS
NFS允许一个系统在网络上与它人共享目录和文件。通过使用NFS,用户和程序可以象访问本地文件一样访问远端系统上的文件。
二、NFS的优势
1本地工作站使用更少的磁盘空间,因为通常的数据可以存放在一台机器上而且可以通过网络访问到。
2用户不必在每个网络上机器里头都有一个home目录。Home目录
可以被放在NFS服务器上并且在网络上处处可用。
3诸如软驱,CDROM,和
Zip®
之类的存储设备可以在网络上面被别的机器使用。这可以减少整个网络上的可移动介质设备的数量。
NFS至少有两个主要部分:一台服务器和一台(或者更多)客户机。客户机远程访问存放在服务器上的数据。为了正常工作,一些进程需要被配置并运行。
三、NFS的搭建
1、服务器端
安装NFS的服务程序
yum
install
-y
nfs-utils
写配置文件
写入
/music
19216800/2552552550(rw,sync)
格式是:
要共享的目录
共享的IP及掩码或者域名(权限,同步更新)
启动服务
/etc/initd/portmap
restart
/etc/initd/nfs
restart
chkconfig
nfs
on
chkconfig
portmap
on
然后关闭防火墙以及更改Selinux关于NIS的选项
/etc/initd/iptables
stop
(防护墙服务关闭)
chkconfig
iptables
off
system-config-selinux
(设置selinux)
2、客户端
编辑fstab文件,实现开机自动挂载
mount
-t
nfs
IP:/目录
挂载到的目录
(此为临时挂载)
如:mount
-t
nfs
19216809:/doce
/doc
编辑FSTAB文件
vim
/etc/initd/fstab
IP:/目录
挂载到的目录
nfs
defaults
0
0
然后关闭防火墙以及更改Selinux关于NIS的选项
/etc/initd/iptables
stop
(防护墙服务关闭)
chkconfig
iptables
off
system-config-selinux
(设置selinux)
至此,搭建完毕。1、使用的技术
NFS
2、测试环境
NFS服务器:19216825518
NFS客户端:19216825511
*** 作系统:REDHAT4
3、NFS服务器配置
(1)配置 /etc/hostsdeny
禁止任何客户端能和你的NFS服务器进行NFS连接:
### NFS DAEMONS
portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL
(2)配置/etc/hostsallow
允许那些你想要的客户端和你的NFS服务器建立连接。下列步骤将允许任何IP地址
以1921682开头的主机(连接到NFS服务器上),也可以指定特定的IP地址。
### NFS DAEMONS
portmap: 192168255
lockd: 192168255
rquotad: 192168255
mountd: 192168255
statd: 192168255
(3)重启portmap
运行 $ /etc/initd/portmap restart 重启portmap daemon。
(4)配置/etc/exports
NFS挂载目录及权限由/etc/exports文件定义。比如要将我的/tmp目录让
192168255的IP共享, 则在该文件末尾添加下列语句:
/tmp 192168255(rw,sync,no_root_squash)
192168255 网段内的NFS客户端能够共享NFS服务器/tmp目录内容,且有读,写
权限,并且该用户进入/home/zp/share目录后的身份为root,最好加上sync,否则
$ sudo exportfs -r 时会给出警告, sync是NFS的默认选项。
(5)重启NFS服务
运行 $ /etc/initd/nfs-kernel-server restart 重启nfs服务)
(6)NFS服务器查看共享是否成功
$ Showmount –e 19216825518
/tmp 192168255
(6)NFS客户端启动NFS服务
service nfs start
(7)NFS客户端查看服务器共享目录
Showmount –e 19216825518
(8)挂载NFS服务器共享目录
mount –t nfs -o tcp19216825518:/tmp /tmp
4、错误排查
当/etc/exports设置的权限,不符合client端的来源时,则会出现以下错误信息:
mount: hostname:/dir failed, reason given by server: Permission denied
服务器端
1检查所需要的包
[root@app71 ~]# rpm -qa | grep nfs
nfs-utils-123-36el6x86_64
nfs4-acl-tools-033-6el6x86_64
nfs-utils-lib-115-6el6x86_64
2 配置输出选项
[root@app71 ~]# vi /etc/exports
/mnt/iso 19216811(rw,sync,no_root_squash)
3 启动NFS服务
[root@app71 ~]# service nfs start
4 查看共享
[root@app71 ~]# showmount -e
Export list for app71:
/mnt/iso 3232990/24
5 开机启动
[root@app71 ~]# chkconfig --level 35 nfs on
客户端
创建挂载点mkdir -p /mnt/bk
mount -t nfs 192168110:/mnt/iso /mnt/bk
使用df -h查看/mnt/bk是否挂载成功。
将/etc/mtab中关于nfs的行增加到/etc/fstab中,实现自动挂载,注意先启动服务器。使用mount -av来查看自动挂载是否正常,正常情况文件系统挂载点无任何变化。
如果是oracle备份需要指定参数,包括读写缓冲,版本,超时等。更多信息可查看man 手册
mkdir /sher
2、将/etc目录下的namedconf文件拷贝到/share。
cp /etc/namedconf /share
3、将/share目录设置为共享,使其可以通过Linux来访问。权限为可读可写。
这个一步需要 安装nfs服务 安装个包
yum install nfs 具体名字我忘了 你 查找下
server nfs restart 启动
chkconfig nfs on 开机启动
然后编辑配置文件
我记得 还要修改端口 和域 什么的 你都没写
vim /etc/sysconfig/nfs 这个是配置文件
4、使用Linux访问这个共享目录
适用另外一台电脑 showmount -e 0000 ip 地址
mount 就ok 了方法/步骤
首先确认自己的服务器上面是否有portmap和nfs包,一般情况下都会有
查询命令:
rpm
-qa
|
grep
portmap
rpm
-qa
|
grep
nfs
如果有就接着向下走
启动portmap和nfs,但是portmap的先于nfs启动,因为portmap为nfs动态分配端口
查看是有启动正常用如下命令
prcinfo
-p
如果看到portmap和nfs表示启动正常
设置你要共享的文件和目录
编辑vi
/etc/exports
格式如下:
共享目录
允许访问的主机ip(权限)
输出共享目录和文件
1要不重启nfs服务
2使用exportfs
-rv命令
接着到另一台服务器上面去挂载nfs服务器输出的文件和目录
1新建你要挂载的目录
2查看nfs服务器的输出目录
showmount
-e
nfs的ip
挂载目录或文件
格式如下:
mount
nfs服务器地址:/usr/local/web
/mnt/websites
查看挂载结果
df
-h
测试共享时候成功,在web1上面下面的挂载目录下面新建一个文件然后随便写点东西看web2上面时候同步
卸载目录的命令:
umount
/mnt/websites
Windows 7系统下搭建NFS服务器方法:
一、软件安装:
1、从百度搜索haneWIN,下载下来后,双击运行,出现界面后点“下一步”即可。
2、设置安装路径,选择即可。
3、是设置开始菜单下的文件名,默认即可,点“下一步”继续安装。
4、配置成功后,点击“安装”开始软件的安装,后面会自动安装完成。
二、软件配置:
1、修改exports文件:打开安装包下的exports文件,把D盘下的temp文件夹做为输出目录,这里可根据情况修改即可(-name:nfs不用去改)D:\temp -name:nfs。
2、替换安装目录下的exports文件:修改完后保存关闭,找到haneWIN软件的安装文件夹,替换掉原来的exports即可。
三、重启nfs服务器:从开始菜单下找到haneWIN软件,选择NFS下的重启所有服务即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)