文件共享可以说是企业内部网络中最常使用到的网络应用之一,在Windows系统中设置文件共享比较简单,在Linux系统中也提供了两种设置文件共享的方法:NFS和Samba。利用NFS服务实现的文件共享只能用于Linux系统之间,而利用Samba服务则可以实现Windows和Linux系统之间的互访。
在本篇博文中将介绍NFS服务。
NFS,网络文件系统,是由Sun公司于1984年开发出来的,主要用于UNIX/Linux系统之间的文件共享。它采用客户机/服务器工作模式,在NFS服务器上将某个目录设置为共享目录,然后在客户端可以将这个目录挂载到本地使用。
1、 启用NFS服务
在进行Linux服务器配置的时候,通常要先进行一套标准流程的操作。
(1)首先要确认NFS服务是否已经安装,可以利用rpm命令进行查询:
可以发现,系统默认已经安装好了NFS服务,如果没装的话也不要紧,配置好yum源,再执行“yum install nfs-utils”命令就可以安装nfs服务。
(2)虽然系统默认已经安装了NFS服务,那么它是否已经运行了呢?下面紧接着就要用到service命令。
可以发现服务并没有运行,那么就把服务启开:
(3)最后不要忘了还要设置服务开机自动启动:
[root@localhost ~]# chkconfig nfs on
2、 配置NFS服务
在Linux系统中配置各种服务都是通过修改相应的配置文件来实现的,NFS服务的配置文件是/etc/exports。在exports文件中可以设置NFS的共享目录、访问权限和允许访问的主机等参数。在默认情况下,这个文件是个空文件,没有配置任何共享目录,这是基于安全性的考虑,即使系统启动NFS服务也不会共享任何资源。
下面我们建立一个/common目录,在其中创建一个测试文件hello.txt。
[root@localhost ~]# mkdir /common
[root@localhost ~]# vim /common/hello.txt
然后将/common目录设为共享。
修改配置文件/etc/exports:
# vim /etc/exports (这个文件是空文件,建议用tab补全的方式写文件名)
在文件中增加下面的一行:
/common 192.168.61.0/255.255.255.0(ro,sync)
保存退出。
配置文件的相关说明:
/common 指定要共享的目录
192.168.61.0/255.255.255.0 允许访问共享的网段,如果允许所有客户端访问,可以用通配符“*”。
ro 客户端访问共享目录时的权限,ro表示只读,rw表示可读可写。
sync 设置NFS服务器同步写磁盘,这样不会轻易丢失数据,建议所有的NFS共享目录都使用该选项。
修改完配置文件后,需要重启服务生效:
[root@localhost ~]# service nfs restart
3、 使用NFS服务
下面我们先在本机(IP:192.168.11.61)上查看一下已经设置好的NFS共享,这里要用到查看共享的showmount命令。
使用showmount命令可以查看指定服务器的NFS共享信息,该命令的常用选项:
-e:显示指定的NFS服务器上所有输出的共享目录。
如在本机用showmount命令查看NFS共享:
可以成功地看到我们已经设置好的共享。
下面我们再到另外一台同样安装有Linux系统的客户端上,尝试能否查看到NFS共享信息。但此时没能成功,这是由于NFS服务器端的防火墙而导致的,Linux中的防火墙配置起来比较复杂,我们将在后期再予以介绍。所以我们在这里包括以后的服务器配置过程中,都要将防火墙关闭。
关闭防火墙可以使用setup工具。
防火墙关闭之后,在客户端就可以查看到NFS共享目录了。
但是用showmount命令只能查看到NFS共享,要想使用它还必须要将它挂载到本地。下面我们在客户端将NFS共享目录挂载到本地的/mnt/nfs目录中:
[root@localhost ~]# mkdir /mnt/nfs
[root@localhost ~]# mount 192.168.11.61:/common /mnt/nfs
这样只要访问/mnt/nfs目录就可以看到共享目录中的内容了:
[root@localhost ~]# ls /mnt/nfs
hello.txt
如果想实现每次开机时自动挂载NFS共享目录,那么可以修改/etc/fstab文件,在其中增加下面一行:
192.168.11.61:/common /mnt/nfs nfs defaults 0 0
保存退出后就可以了。
本文转自 yttitan 51CTO博客,原文链接:http://blog.51cto.com/yttitan/1197518