知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

文件服务器NFS配置详解

发布时间:2014-09-05 14:21:30作者:知识屋

文件服务器NFS配置详解
 
在Linux下部署小型文件服务器往往采用这么一个架构方式:一台文件服务器+多台web服务器,文件服务器提供目录被web服务器同时访问和写入,可以采用apache,web服务器可以采用tomcat之类的,采用的是NFS网络文件系统共享方式。
 
这里应红红(^_^)要求写出具体操作过程。
环境:
IP                主机名称    用途
192.168.56.151    rhel151     文件服务器
192.168.56.152    rhel152     web服务器
 
0. 首先当然是部署配置文件服务器。
检查是否安装相关的软件包:
[root@rhel151 ~]# rpm -qa | grep nfs
system-config-nfs-1.3.23-2.el5
nfs-utils-1.0.9-66.el5
nfs-utils-lib-1.0.8-7.9.el5
上述3个就是NFS系统的软件包了。接下来创建一个准备用于共享访问的目录/opt/nfsshare:
[root@rhel151 ~]# mkdir -p /opt/nfsshare
然后将共享目录信息以及共享开放的权限写入配置文件:
[root@rhel151 ~]# echo "/opt/nfsshare 192.168.56.*(rw,no_root_squash)">/etc/exports
[root@rhel151 ~]# cat /etc/exports
/opt/nfsshare 192.168.56.*(rw,no_root_squash)
上述配置表示:共享目录为/opt/nfsshare,可以被192.168.56网段的主机访问,权限是读写(rw),对应root用户权限设置(no_root_squash),具体的参数说明可以参考NFS手册,这里配置的是最常用的参数,也足够用了。
接下来重启文件服务器的NFS相关服务:
[root@rhel151 ~]# service portmap restart
停止 portmap:                                             [确定]
启动 portmap:                                             [确定]
[root@rhel151 ~]# service nfs restart
关闭 NFS mountd:                                          [失败]
关闭 NFS 守护进程:                                        [失败]
关闭 NFS quotas:                                          [失败]
启动 NFS 服务:                                            [确定]
关掉 NFS 配额:                                            [确定]
启动 NFS 守护进程:                                        [确定]
启动 NFS mountd:                                          [确定]
Stopping RPC idmapd:                                       [确定]
正在启动 RPC idmapd:                                      [确定]
设定相关服务在开机启动的时候自动启动:
[root@rhel151 ~]# chkconfig portmap on
[root@rhel151 ~]# chkconfig nfs on
 
1. 配置客户端访问
客户端访问也需要启动相关的访问服务:
[root@rhel152 ~]# service portmap restart
停止 portmap:                                             [确定]
启动 portmap:                                             [确定]
设置访问服务进程开机自动启动:
[root@rhel152 ~]# chkconfig portmap on
创建一个拥有把文件服务器共享目录挂载到本地的目录/opt/nfsshare,你也可以不使用这个目录,这个目录路径没有必要和文件服务器的一致:
[root@rhel152 ~]# mkdir -p /opt/nfsshare
通过mount命令指定挂载nfs文件服务器的目录/opt/nfsshare到本地的/opt/nfsshare目录:
[root@rhel152 ~]# mount -t nfs  192.168.56.151:/opt/nfsshare /opt/nfsshare
mount: 192.168.56.151:/opt/nfsshare failed, reason given by server: Permission denied
哦哦~~报错了,原因是文件服务器rhel151配置了主机名和IP地址的映射,需要把对应客户端的映射注释掉:
[root@rhel151 ~]# cat /etc/hosts        
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1       rhel151 localhost.localdomain localhost
::1             localhost6.localdomain6 localhost6
192.168.56.1 m
192.168.56.151 rhel151
#192.168.56.152 rhel152
192.168.56.153 rhel153
192.168.56.154 rhel154
192.168.56.161 gpm
192.168.56.163 gpms
192.168.56.165 gps1
192.168.56.167 gps2
如上,把对应客户端rhel152的映射注释掉:#192.168.56.152 rhel152,记住,这个操作是在rhel151文件服务器上操作的。
返回rhel152客户端继续操作:
[root@rhel152 ~]# mount -t nfs  rhel151:/opt/nfsshare /opt/nfsshare
好了,没有任何错误,查看下挂载结果:
[root@rhel152 ~]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/sdb1 on /oradata type ext3 (rw)
rhel151:/opt/nfsshare on /opt/nfsshare type nfs (rw,addr=192.168.56.151)
很好,最后一行就是我们要的结果,通过df命令查看也可以看到结果:
[root@rhel152 ~]# df -h
文件系统              容量  已用 可用 已用% 挂载点
/dev/mapper/VolGroup00-LogVol00
                       14G  5.2G  7.8G  41% /
/dev/sda1              99M   13M   82M  14% /boot
tmpfs                1006M     0 1006M   0% /dev/shm
/dev/sdb1              99G  2.0G   92G   3% /oradata
rhel151:/opt/nfsshare
                       14G  7.6G  5.5G  59% /opt/nfsshare
然后我们在rhel152写入一个文件看看:                       
[root@rhel152 ~]# cd /opt/nfsshare/
[root@rhel152 nfsshare]# touch 111
[root@rhel152 nfsshare]# echo 'asdfasdf'>111  
[root@rhel152 nfsshare]# cat 111
asdfasdf
已经写入了一个文件1111,返回rhel151服务端看看是不是已经有结果了:
[root@rhel151 ~]# cat /opt/nfsshare/111 
asdfasdf
ok,一切正常。
最后,同理如果你还有rhel153、rhel153...一大堆的服务器需要访问,只需重复上面的rhel152的操作就可以了。
文件服务器提供集中的访问目录,因为我们不太可能在每台web服务器上都提供大容量的存储空间,最总要的一个原因是同步数据是非常麻烦的事情,现在采用这样服务端-客户端的方式就可以保证数据的读取只存放在一个地方,不存在需要同步数据的问题,而且避免了web服务器的单点故障。
-EOF-
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜