Red Hat6.4环境下搭建NFS服务器
NFS(Network File System)是一种分布式文件系统协议,允许客户端通过网络访问服务器上的文件,就像访问本地文件一样。NFS服务器是提供文件共享服务的服务器,广泛应用于Linux和Unix系统中。以下是关于NFS服务器的详细介绍和配置教程:
1. NFS服务器的功能
- 文件共享:允许多个客户端通过网络访问服务器上的文件。
- 跨平台支持:支持Linux、Unix、Windows(通过第三方软件)等操作系统。
- 高性能:通过缓存和优化机制,提供高效的文件访问性能。
- 权限管理:通过用户和组权限控制文件访问。
2. NFS服务器的工作原理
- 服务器端:将指定的目录共享给客户端。
- 客户端:将服务器共享的目录挂载到本地文件系统中。
- 通信协议:使用RPC(Remote Procedure Call)和NFS协议进行通信。
- 权限验证:通过用户ID(UID)和组ID(GID)验证客户端访问权限。
3. 配置NFS服务器(以Linux为例)
1、检查软件是否安装
[root@localhost ~]# rpm -q rpcbind[root@localhost ~]# rpm -q nfs-utils
创建挂载点,挂载光驱,并切换到安装目录:
[root@localhost ~]#mkdir /mnt/cdrom[root@localhost ~]#mount /dev/cdrom /mnt/cdrom[root@localhost ~]#cd /mnt/cdrom/Packages [root@localhost Packages]# rpm -ivh nfs-utils-1.2.3-36.el6.x86_64.rpm //这一步要注意所安装软件包的名称,要从Package里面找到准确的名称
2、启动
[root@localhost ~]# service nfs start
3、配置文件
创建/nfs目录:
[root@localhost etc]#mkdir /home/nfs
使用vi编辑器打开主配置文件/etc/exports:
[root@localhost etc]# vi exports
按以下格式修改/etc/exports文件,并保存退出:
/home/nfs 192.168.0.0/24(ro)
当修改了/etc/exports文件的内容后,不需要重新启动NFS进程,直接使用exportfs命令即可使新修改的配置文件生效,并可通过选项查看NFS服务器实现目录共享的情况。
[root@localhost ~]# exportfs –rv
4、测试:
在NFS服务器的输出目录中,创建一个测试文件:
[root@localhost ~]# touch /home/nfs/123
NFS客户机中创建挂载点:
[root@localhost ~]# mkdir /mnt/nfs
客户端挂载NFS服务器的输出目录:
[root@localhost ~]# mount 192.168.0.100:/home/nfs /mnt/nfs
转换到挂载目录,就可以执行相应的文件操作:
[root@localhost ~]# cd /mnt/nfs
查看文件:
[root@localhost ~]# ls
取消挂载到客户端/mnt/nfs目录下的NFS共享目录,命令行为:
[root@localhost ~]# umount /mnt/nfs
5、应用案例
新星公司NFS服务器的IP地址192.168.200.100。所需要共享目录有如下要求:
共享/nfs目录给192.168.200.0/24网络的所有计算机,权限可读写,数据同步;
共享/home/bob目录给客户机192.168.200.2上的bob用户,权限为可读写,允许bob用户从大于1024的端口连接NFS服务器;
共享/sdcet目录给域sdcet.cn中的所有用户,权限只读,客户机无论以何种身份登录NFS服务器映射到服务器为匿名用户(通过设置选项来实现)。
服务器端配置:
(1)配置NFS服务器IP地址
配置NFS服务器IP地址为192.168.200.100。
(2)添加bob用户
[root@localhost ~]#useradd bob
(3)修改/etc/hosts文件
[root@localhost ~]#vim /etc/hosts
在文件中增加一条记录:
192.168.200.100 bob
(4)给目录授权:
[root@localhost ~]#mkdir /nfs[root@localhost ~]#chmod 777 /nfs[root@localhost ~]#chmod 777 /home/bob[root@localhost ~]#mkdir /sdcet[root@localhost ~]#chmod 755 /sdcet
(5)修改主配置文件/etc/exports
使用vi编辑器打开/etc/exports文件:
[root@localhost ~]#vim /etc/exports
按以下内容修改该文件,并保存退出:
/nfs 192.168.200.0/24(rw,sync)/home/bob bob(rw,insecure)/sdcet *.sdcet.cn(ro,all_squash)
(6)重新载入输出目录
[root@localhost ~]# exportfs –rv
exportfs:192.168.200.0/24:/nfs
exportfs:bob:/home/bob
exportfs:*.sdcet.cn:/sdcet
(7)192.168.200.102客户端的配置:
1创建bob用户
[root@localhost ~]#useradd bob
2检查服务器上的共享目录
[root@localhost ~]#showmount –e 192.168.200.100
3挂载共享目录
[root@localhost ~]# mount 192.168.200.100:/home/bob /home/bob
5. NFS服务器的优化与安全
- 限制访问范围:在
/etc/exports
中指定允许访问的客户端IP范围。 - 启用防火墙:限制NFS端口(默认2049)的访问。
- 使用NFSv4:NFSv4支持更安全的身份验证和加密。
- 监控日志:定期检查
/var/log/messages
或/var/log/syslog
,发现异常行为。 - 备份数据:定期备份NFS共享目录中的重要数据。
6. 常见问题
- 挂载失败:
- 检查NFS服务是否正常运行。
- 检查防火墙是否阻止NFS端口。
- 检查
/etc/exports
配置是否正确。
- 权限问题:
- 确保客户端和服务器的用户ID(UID)和组ID(GID)一致。
- 使用
no_root_squash
选项允许root用户访问。
- 性能问题:
- 使用
async
选项提高性能(但可能增加数据丢失风险)。 - 调整NFS缓存大小。
- 使用