nfs共享服务为中小型企业在存储上提供了有效的节省空间,许多大型的网站也在使用nfs,如百度和阿里等,下面结合自己所学的知识,阐述如何在centos6和centos7下配置nfs。注:除了必要的说明外,未说明的命令代表centos6和7的命令是一样的。

一、服务器端:

1、首先在服务器端禁止selinux和防火墙(测试环境下);

setenforce 0  ----临时禁止selinux;

service iptables stop  ---在centos6下停防火墙,

systemctl stop firewalld  -----在centos7下停防火墙;

2、下载软件包

nfs服务依赖于rpc服务,nfs服务只有在rpc服务内注册后,nfs客户端才能检测到服务器端的nfs服务端口;

rpm -qa|grep -E 'nfs-utils|rpcbind'  ----使用grep-E多过滤查询是否已经存在来nfs和rpc的软件包

rpm -qa nfs-utils rpcbind  ---检查系统是否已经存在来nfs和rpc的软件包,如果没有,测执行下面的下载命令;

yum -y install nfs-utils rpcbind  -----使用yum源安装rpc和nfs服务;

3、启动rpc和nfs

/etc/init.d/rpcbind start  ----centos6下启动rpc服务;

systemctl start  rpcbind  ---centos7下启动rpc服务

/etc/init.d/rpcbind status  ---centos6下查看rpc服务状态;

systemctl start  rpcbind  ---centos7下查看rpc服务状态

rpcinfo -p localhost  ----查看本机的rpc进程;

centos6下rpc的状态     注:默认情况下rpc会使用111端口

[root@h1 ~]# rpcinfo -p localhost
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper

centos7下的rpc状态

[root@hxy ~]# rpcinfo -p localhost
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper

/etc/init.d/nfs start  ----在centos6下启动nfs服务

/etc/init.d/nfs status  ----在centos6下查看nfs服务状态

systemctl start  nfs  ---在centos7下启动nfs服务

systemctl status  nfs  -----在centos7下查看nfs服务状态

rpcinfo -p localhost  ----再次执行rpcinfo -p localhost,查看nfs在rpc中注册的端口信息;

[root@h1 ~]# rpcinfo -p localhost
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100011 1 udp 875 rquotad
100011 2 udp 875 rquotad
100011 1 tcp 875 rquotad
100011 2 tcp 875 rquotad
100005 1 udp 49695 mountd
100005 1 tcp 59877 mountd
100005 2 udp 45066 mountd
100005 2 tcp 56487 mountd
100005 3 udp 32839 mountd
100005 3 tcp 35875 mountd
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 2 tcp 2049 nfs_acl
100227 3 tcp 2049 nfs_acl
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 2 udp 2049 nfs_acl
100227 3 udp 2049 nfs_acl
100021 1 udp 34416 nlockmgr
100021 3 udp 34416 nlockmgr
100021 4 udp 34416 nlockmgr
100021 1 tcp 32899 nlockmgr
100021 3 tcp 32899 nlockmgr
100021 4 tcp 32899 nlockmgr

设置开机自启动nfs(此处不是必须的,根据需求自行选择是否添加该功能)

centos6下的设置

chkconfig rpcbind on;

chkconfig nfs on;

centos7下的设置

systemctl enable rpcbind;

systemctl enable nfs;

4、配置nfs权限配置文件,确定客户端访问的权限;

vi /etc/exports

/mnt/cdrom *(rw,async)

注:/mnt/cdrom 指想要共享的文件目录,*代表所有的ip都可以访问,(rw,async)代表访问者对此目录有读和写的权限,aysnc指:不同时写到内存和文件中;

exportfs -r  ----使配置文件立即生效;

5、将共享目录的所有者和群组配置为nfsnobody

chown nfsnobody:nfsnobody /mnt/cdrom -R

或者将此文件夹的其他人权限改为rwx

chmod o=rwx /mnt/cdrom

二、客户端的配置

1、客户端只需要安装rpc服务即可;

rpm -qa nfs-utils rpcbind

yum -y install rpcbind  ---不存在rpc才执行此命令

2、查看是否能够访问服务器端的共享文件目录;

[root@hxy ~]# showmount -e 192.168.222.128
Export list for 192.168.222.128:
/mnt/cdrom *

3、将服务器端的共享目录挂载到本地目录下

mount -t nfs 192.168.222.128:/mnt/cdrom/ /mnt/cdrom/

4、查看挂载是否成功

[root@hxy ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 7.8G 1.4G 6.1G 18% /
devtmpfs 223M 0 223M 0% /dev
tmpfs 235M 0 235M 0% /dev/shm
tmpfs 235M 5.6M 229M 3% /run
tmpfs 235M 0 235M 0% /sys/fs/cgroup
/dev/sda1 976M 103M 807M 12% /boot
tmpfs 47M 0 47M 0% /run/user/0
192.168.222.128:/mnt/cdrom 918M 918M 0 100% /mnt/cdrom

此处可见,已经成功了,

注:如果想要永久挂载在本地目录下,必须将其写入/etc/fstab文件下,并执行mount -a 检索挂载语法,这样才能实现永久挂载;

现在亲可以试着访问服务器端此文件夹下的文件了

如何在centos6和centos7上部署nfs共享服务器和客户端的更多相关文章

  1. 在 CentOS7 上部署 MySQL 主从

    在 CentOS7 上部署 MySQL 主从 通过 SecureCRT 连接至 MySQL 主服务器: 找到 my.cnf 文件所在的目录: mysql --help | grep my.cnf 一般 ...

  2. 在 CentOS7 上部署 zookeeper 服务

    在 CentOS7 上部署 zookeeper 服务 1 用 SecureCRT 或 XShell 等 Linux 客户端工具连接至 CentOS7 服务器: 2 进入到 /usr/local/too ...

  3. 在阿里云ECS CentOS7上部署基于MongoDB+Node.js的博客

    前言:这是一篇教你如何在阿里云的ECS CentOS 7服务器上搭建一个个人博客的教程,教程比较基础,笔者尽可能比较详细的把每一步都罗列下来,包括所需软件的下载安装和域名的绑定,笔者在此之前对Linu ...

  4. 在CentOS7上部署Kubernetes集群

    在CentOS7上部署Kubernetes集群 文/FCBusquest 2015-12-22 18:36:00 简介 Kubernetes(k8s)是Google开源的大规模容器集群管理系统, 本文 ...

  5. CentOS7上部署ASP.Net Core 2.2应用

    前言 在CentOS7上部署ASP.Net Core应用是我的技术路线验证的一部分,下一个产品计划采用ASP.Net Boilerplate Framework开发.因此需要求提前进行一下技术验证,在 ...

  6. 【docker】centOS7上部署的mysql和spring boot服务,要求,mysql的时间、java程序服务的时间和宿主机的时间完全保持一致【修改mysql时区,临时和永久】【修改spring boot配置文件时区】【修改docker启动spring boot实例程序时区】

    要求:centOS7上部署的mysql和spring boot服务,要求,mysql的时间.java程序服务的时间和宿主机的时间完全保持一致: ============================ ...

  7. (转)Centos7上部署openstack ocata配置详解

    原文:http://www.cnblogs.com/yaohong/p/7601470.html 随笔-124  文章-2  评论-82  Centos7上部署openstack ocata配置详解 ...

  8. centos7上部署dubbo管理控制台dubbo-admin

    centos7上部署dubbo管理控制台dubbo-admin 1 准备工作 服务器:系统centos7, 内存4G, 存储60G, ip 192.168.159.128 软件环境: 安装有jdk1. ...

  9. windows上搭建NFS服务器及客户端 挂载

    在Windows相关系统上搭建NFS服务及客户端挂载  有两种方式: 第一种: (Windows Server2008R2等类似企业版这样的版本的Server服务上有自带的NFS服务进行搭建) (特别 ...

随机推荐

  1. 【leetcode】Sliding Puzzle

    题目如下: On a 2x3 board, there are 5 tiles represented by the integers 1 through 5, and an empty square ...

  2. Memcached在Asp.net下的应用

    Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached ...

  3. 阿里jetcache

  4. .NET面试题系列(二十)XX

    遍历树.实现造成锁的代码.在线音乐网站 抽象工厂和工厂的区别 简单工厂 : 用来生产同一等级结构中的任意产品.(对于增加新的产品,无能为力) 工厂方法 :用来生产同一等级结构中的固定产品.(支持增加任 ...

  5. mac 的 quickTime Player 设置播放速度

    按住 option 点击 下一个视频的图标每次调整幅度为0.1,大于 1.9 声音会消失. 按住 option+J 调慢播放速度 option+L 调快播放速度 每次调整幅度为0.1

  6. [BZOJ4456][ZJOI2016]旅行者:分治+最短路

    分析 类似于点分治的思想,只统计经过分割线的最短路,然后把地图一分为二. 代码 #include <bits/stdc++.h> #define rin(i,a,b) for(regist ...

  7. CSS 处理溢出强行换行

    CSS折行样式 word-break:break-all;允许单词拆分折行 word-break:keep-all;只能在半角空格或连字符处换行. word-wrap:break-word;在长单词或 ...

  8. Java缓存机制

    1 Java缓存 1.1 jvm内置缓存 Java中实现缓存的方式有很多,比如用static hashMap基于内存缓存的jvm内置缓存,简单不实用,保对象的有效性和周期无法控制,容易造成内存急剧上升 ...

  9. JDK中String类的源码分析(二)

    1.startsWith(String prefix, int toffset)方法 包括startsWith(*),endsWith(*)方法,都是调用上述一个方法 public boolean s ...

  10. python 整数转字节 char

    把10进制整数30,转换为字节 方法一 chr(30).encode() 结果 方法二 struct.pack('B', 30) 结果 准确地讲,Python没有专门处理字节的数据类型.但由于str既 ...