本文记录了在RHEL 5.4上搭建NFS服务器的一些相关细节。
原文:http://wqmsl.blog.51cto.com/847418/360985
目标
1、搭建NFS服务器
2、使用客户端访问(Linux)
3、使用Windows客户端访问
4、常用到的命令介绍
相关说明
192.168.0.2——主机名:nfs.wqmsl.comNFS服务器
192.168.0.3——主机名:client.wqmsl.com client客户端
前期准备:更改主机名称(更改三处):1、hostname更改,2、hosts更改,3、/etc/sysconfig/network
一、现在实现第一个目标,搭建NFS服务器
所需软件包如下
nfs-utils-1.0.9-24.el5——nfs服务的主程序包,它提供rpc.nfsd及rpc.mountd这两个daemons以及相关的说明文件。
portmap-4.0-65.2.2.1——rpc主程序,记录服务的端口映射信息。
NFS的常用目录
1、/etc/exports这个文件是NFS的主要配置文件,默认这个文件时空的哦,需要自己手动添加。
2、/usr/sbin/exportfs这是维护NFS共享资源的命令,用的不是很多,我们一般在配置文件里面定义。
3、/usr/sbin/showmount命令主要用在客户端,可以用来查看NFS共享出来的目录资源。
4、/var/lib/nfs/etab(xtab)其中的etab记录了NFS分享出来的目录的完整权限设定值,另一个是xtab,记录曾经连接到此NFS主机的相关client数据。
这个配置文件只要分为三列
第一列------写入你需要共享的目录路径
第二列------写入客户端描述,也就是哪些客户端可以使用你的服务器
第三列------是紧挨着第二列的,内容是共享的权限(rw ro sync)
我共享了/var 和/etc两个目录,
1、NFS对client的表达方式要求不是很严格,常用的表达方式都可以识别,例如:IP就直接输入IP地址192.168.0.0网段:192.168.0.0/24 ;192.168.0.0/255.255.255.0
域名:www.wqmsl.com域:*.wqmsl.com
2、如果表示所有的IP都能访问,就直接输入" * " .
3、sync:同步写入资料到内存与硬盘中async:资料会暂存到内存中,而非直接写入硬盘
4、这两个那个比较好?
如果你是重要的小文件,当然是sync,同步写入,避免文件丢失
如果你是很大的数据,建议不要同步写入
5、rw:可读可写
6、ro:只读,这个很简单
重启nsf服务,由于nfs是基于portmap进程的,所有先启动它然后启动nfs.
OK以后,大家使用showmount指令看看是否共享成功
showmount -e 后面跟你的服务器IP
也可以使用showmount -e 这是默认查看自己共享的服务,前提是要DNS能解析自己,不然容易报错
nfs的端口是 2049 ,但是它基于portmap,portmap的端口是111
#p#
编辑NFS的端口配置文件
vi /etc/sysconfig/nfs
配置nfs固定端口
vim /etc/sysconfig/nfs
自定义以下端口,然而不能和其他端口冲突
RQUOTAD_PORT=5001
LOCKD_TCPPORT=5002
LOCKD_UDPPORT=5002
MOUNTD_PORT=5003
STATD_PORT=5004就是这 5个参数
但是 LOCKD_TCPPORT= LOCKD_UDPPORT= 可以使用一个端口号
大家定义好了,重新启动服务器就可以了
#p#
启动portmap和nfs服务
由于NFS服务是基于portmap服务的,所以我们需要先启动portmap服务:service portmap restart ,然后 service nfs restart
使用rpcinfo命令检测nfs是否使用了固定端口
rpcinfo -p
我没有使用固定端口,默认还是111和2049.
检测nfs的rpc注册状态
rpcinfo -u 主机名或IP地址 进程
rpcinfo -u 192.168.0.2 nfs
查询服务器的状态
为了保证NFS服务器能够正常工作,系统中需要运行portmap和nfs两个服务程序
# service portmap status
# service nfs status
启动服务器
# service portmap start
# service nfs start
停止服务器运行
# service nfs stop
#p#
二、实现第二个目标,使用Linux客户端访问
挂载使用mount命令手动挂载,也可以使用autofs挂载
如果使用fstab挂载的话,要注意了,由于系统启动读取fstab在启动rc.d之前。所以那个时候nfs还没有启动,所以会挂在失败,可以在rc.local里面写入 mount -a 来在最后从新挂载fstab
我们先手动挂载试试。
挂载及卸载NFS文件系统
mount -t nfs NFS服务器IP地址或主机名:共享名 本地挂载点
mount -t nfs 192.168.0.2:/etc /mnt
已经挂载成功了
挂载成功后没有任何提示,如果挂载失败的时候会有提示。
也可以用mount 命令来查看是否挂载成功
卸载为:umount /mnt
启动自动挂载nfs文件系统
vim /etc/fstab
使用客户端查看nfs的共享资源
三、实现使用Windowss客户端访问Linux的NFS
Omni Lite是比较常用的Windows操作系统中运行的NFS客户端软件
Omni Lite是商业软件,可以下载并进行试用
ftp://ftp.xlink.com/pub/xlink_demo/cnet/liteall.exe
1、启动NFS Client程序
2、设置NFS服务器主机记录
3、定义NFS驱动器的连接
4、挂载NFS驱动器
5、使用NFS网络驱动器
6、卸载NFS驱动器
7、启动NFS Client程序
Windows下的东西这里我就不多讲了,一般都很简单的。
#p#
四、常用到的命令介绍
重新输出共享目录
使nfs服务器重新读取exports文件中的设置
# exportfs -rv
停止输出所有目录
停止当前主机中NFS服务器的所有目录输出
# exportfs -auv
输出(启用)所有目录
输出当前主机中NFS服务器的所有共享目录
# showmount -e
显示NFS服务器的输出目录列表
显示当前主机中NFS服务器的输出列表
# showmount -e
显示指定NFS服务器中的共享目录列表
# showmount -e 192.168.152.131
显示NFS服务器中被挂载的共享目录
显示当前主机NFS服务器中已经被NFS客户机挂载使用的共享目录
# showmount -d
显示NFS服务器的客户机与被挂载的目录
显示当前主机中NFS服务器的客户机信息
# showmount -a
显示指定主机中NFS服务器的客户机信息
# showmount -a 192.168.152.131
注意事项
提示1:
在进行NFS服务器访问的实验中,应注意NFS服务器端的网络防火墙的访问策略和SELinux是否允许进行nfs网络服务的访问,以上所有试验均是在允许情况下实现的。
【编辑推荐】