CentOS7配置NFS服务

1. 配置NFS服务器端

1.1. 安装nfs-utils软件

[root@server1 ~]# yum install -y nfs-utils

Loaded plugins: fastestmirror

base | 3.6 kB 00:00

extras | 3.4 kB 00:00

updates | 3.4 kB 00:00

1.2. 配置NFS服务的域名

[root@server1 ~]# vi /etc/idmapd.conf

添加如下的内容

Domain=smartmap.com


1.3. 配置NFS服务的读写属性

[root@server1 ~]# vi /etc/exports

/home 192.168.1.0/24(rw,no_root_squash)

更多参数请参见:

http://hongtengfei.blog.51cto.com/9881650/1684809

权限参数

权限参数类型

功能

rw

可读写的权限

ro

只读的权限

sync(同步)

资料同步写入到内存与硬盘中(慢,不容易丢数据)

async(异步)

资料会暂存于内存当中,而不是写入硬盘(快,容易丢数据)

no_root_squash

客户端用root用户访问该共享文件夹时, root用户不会映射成匿名用户(极不安全,不建议使用)

root_squash

客户端用root用户访问该共享文件夹是,将root用户映射为匿名用户

all_squash

不论登入NFS的使用者身份是谁,他的身份都会被压缩成匿名用户(nfsnobody)

anonuid=xxx

指定NFS服务器的匿名用户UID

anongid=xxx

指定NFS服务器的匿名用户GID

insecure

NFS通过1024以上的端口发送

secure

NFS通过1024以下的安全TCP/IP端口发送

hide

在NFS共享目录中共享其子目录

no_hide

在NFS共享目录中共享其子目录

wdelay

如果多个用户写入NFS目录,则归组写入(默认)

no_wdelay

如果多个用户写入NFS目录,则立即写入,当使用async时,无需此设置

subtree_check

在共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)

no_subtree_check

和上面相对,不检查父目录权限

NFS常用命令

命令

参数

含义

exportfs

-a

递增式更新,对/etc/export增加或修改的部分进行挂载和卸载

-i<文件>

指定配置文件

-r

更新配置重新读取/etc/exports

-u

卸载指定的目录

-o

使用指定的参数

-v

显示共享详细情况

showmount

-a或--all

以host:dir 这样的格式来显示客户主机名和挂载点目录

-d或--directories

仅显示客户端挂载的目录名

-e或--exports

显示NFS服务器输出清单

-h或--help

显示帮助信息

-v或--version

显示版本信息

--no-headers

禁止输出描述头部信息

rpcinfo语法:rpcinfo –p [host];rpcinfo [-n port] –u |-t host program[version]

rpcinfo

-p(probe,探测)

列出所有在host用portmap注册的RPC程序,如果没有指定的host,就查找本地上的RPC程序

-n(port number,端口号)

根据-t或者-u,使用编号为port的端口,而不是由portmap指定的端口号

-u(UDP)

UDP RPC调用host上程序program的version版本,并报告是否接収到响应

-t(TCP)

TCP RPC调用host上程序program的version版本(如果指定的话),并报告是否接收到响应

-b(broadcast,广播)

向程序program的version版本进行RPC广播,并列出响应的主机

-d(delete,删除)

将程序program的version版本从本机的RPC注册表中删除。只有root特权用户才可以使用这个选项

mount(nfs)

-t

指定设备的文件系统类型

-r

以只读方式加载设备

umount

-t

仅卸除选项中所指定的文件系统

-r

若无法成功卸除,则尝试以只读的方式重新挂入文件系统

1.4. 将NFS服务配置成系统的远程调用服务

[root@server1 ~]# systemctl start rpcbind nfs-server

[root@server1 ~]# systemctl enable rpcbind nfs-server

Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.

[root@server1 ~]#

1.5. 在防火墙中设置NFS服务

[root@server1 ~]# firewall-cmd --add-service=nfs --permanent

FirewallD is not running

[root@server1 ~]# firewall-cmd --reload

FirewallD is not running

[root@server1 ~]#

2. 配置NFS客户端

2.1. 安装nfs-utils软件

[root@server2 ~]# yum install -y nfs-utils

Loaded plugins: fastestmirror

base | 3.6 kB 00:00

extras | 3.4 kB 00:00

2.2. 配置NFS服务的域名

[root@server2 ~]# vi /etc/idmapd.conf

添加如下的内容

Domain = smartmap.com


2.3. 启动系统的远程调用服务

[root@server2 ~]# systemctl start rpcbind

[root@server2 ~]# systemctl enable rpcbind

[root@server2 ~]#


2.4. 挂载NFS服务的文件系统

[root@server2 ~]# mount -t nfs 192.168.1.101:/home /home

[root@server2 ~]# df -hT

Filesystem Type Size Used Avail Use% Mounted on

/dev/sda2 xfs 36G 878M 36G 3% /

devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev

tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm

tmpfs tmpfs 2.0G 8.7M 2.0G 1% /run

tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup

/dev/sda3 xfs 10G 138M 9.9G 2% /var

/dev/sda1 xfs 2.0G 119M 1.9G 6% /boot

tmpfs tmpfs 394M 0 394M 0% /run/user/0

192.168.1.101:/home nfs4 36G 877M 36G 3% /home

[root@server2 ~]#


2.5. 设置NFS服务的文件系统在系统启动时即进行挂载

[root@server2 ~]# vi /etc/fstab

[root@server2 ~]#

在文件的结尾加入如下的内容

192.168.1.101:/home /home nfs defaults 0 0


2.6. 配置自动装载

2.6.1. 安装autofs

[root@server2 ~]# yum install -y autofs

2.6.2. 配置autofs
2.6.2.1. 修改auto.master

[root@server2 ~]# vi /etc/auto.master

在文件的结尾添加如下的内容

/- /etc/auto.mount


2.6.2.2. 修改auto.mount

[root@server2 ~]# vi /etc/auto.mount

在文件的结尾添加如下的内容

/mntdir -fstype=nfs,rw 192.168.1.101:/home


2.6.2.3. 创建挂载的目录

[root@server2 ~]# mkdir /mntdir

2.6.2.4. 启动autofs服务

[root@server2 ~]# systemctl start autofs

[root@server2 ~]# systemctl enable autofs

Created symlink from /etc/systemd/system/multi-user.target.wants/autofs.service to /usr/lib/systemd/system/autofs.service.

[root@server2 ~]#

2.6.2.5. 验证

[root@server2 ~]# cd /mntdir

[root@server2 mntdir]# ll

total 0

[root@server2 mntdir]# cat /proc/mounts | grep mntdir

/etc/auto.mount /mntdir autofs rw,relatime,fd=19,pgrp=8161,timeout=300,minproto=5,maxproto=5,direct,pipe_ino=34331 0 0

192.168.1.101:/home /mntdir nfs4 rw,relatime,vers=4.1,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.102,local_lock=none,addr=192.168.1.101 0 0

[root@server2 mntdir]#

CentOS7系列--3.1CentOS7中配置NFS服务的更多相关文章

  1. CentOS7系列--5.1CentOS7中配置和管理KVM

    CentOS7配置和管理KVM 安装与配置虚拟化软件KVM ( Kernel-based Virtual Machine ) + QEMU,它要求计算机的CPU支持Intel VT or AMD-V功 ...

  2. CentOS7系列--3.2CentOS7中配置iSCSI服务

    CentOS7配置iSCSI服务 在网络上的存贮服务为iSCSI Target,而连接到iSCSI Target服务的叫iSCSI Initiator 1. 直接配置iSCSI Target服务 1. ...

  3. CentOS7系列--2.2CentOS7中配置SSH服务

    CentOS7配置SSH服务 1. SSH配置 1.1. 使用SSH服务更加安全 [root@centos7 ~]# vi /etc/ssh/sshd_config 设置如下 PermitRootLo ...

  4. CentOS7系列--2.1CentOS7中安装配置NTP服务

    CentOS7安装配置NTP服务 NTP服务是时间同步服务 1. 安装NTPd [root@centos7 ~]# yum install -y ntp [jack@centos7 ~]$ vi /e ...

  5. CentOS中配置NFS服务

    1.服务器端安装rpcbind.nfs-utils.nfs-server包 yum install nfs-utils -y 2.修改服务器端配置文件,添加需要共享的文件夹. vim /etc/exp ...

  6. CentOS7系列--10.1CentOS7中的GNOME桌面环境

    CentOS7中的桌面环境 1. 安装GNOME桌面环境 1.1. 列出所有安装套件 [root@appclient ~]# yum groups list Loaded plugins: faste ...

  7. CentOS7系列--5.3CentOS7中配置和管理Kubernetes

    CentOS7配置和管理Kubernetes Kubernetes(k8s)是自动化容器操作的开源平台,这些操作包括部署,调度和节点集群间扩展.如果你曾经用过Docker容器技术部署容器,那么可以将D ...

  8. CentOS7系列--5.2CentOS7中配置和管理Docker

    CentOS7配置和管理Docker Docker是操作系统级别的虚拟化工具,它能自动化布署在容器中的应用 1. 安装Docker 1.1. 安装Docker相关软件 [root@server1 ~] ...

  9. (转)Centos7安装配置NFS服务和挂载

    Centos7安装配置NFS服务和挂载 原文:https://www.u22e.com/601.html NFS简介 NFS(Network File System)即网络文件系统,是FreeBSD支 ...

随机推荐

  1. UR5 改造

    背景 项目要求 UR5 安装在移动平台上,需要做以下改造: 供电:由 220V 市电改为直流电源(锂电池)直接供电: 控制:由示教器控制改为上位机远程控制 线路改造 1. UR5 电气图(来自UR5服 ...

  2. (转)关于IBM小机P520的面板使用

    原文:http://www.xlgps.com/article/390810.html 经过搜索资料及自己的试验,现将解决方法记录如下.P520控制面板上有三个按钮,按钮上方有一个显示屏,上面显示你操 ...

  3. java android中日期时间 问题总结

    Date 类型: Date date = new Date();   // 代表获取当前系统日期和时间 System.out.println(date); 使用类的方法设置时间和日期:(通过该方法初始 ...

  4. Linq基础知识小记一

    1.LINQ(语言级集成查询)的作用就是提供一种统一且对称的方式,让程序员在广义的数据上获取和操作数据.广义的数据包括XML文档数据.元数据.System.Data.dll和System.Data.S ...

  5. 在Mac OS X上启用Apache和PHP

    因为Mac OS X上都已自带了Apache和PHP,所以都无需进行安装,只要按照自己的需要进行设置即可. 找到httpd.conf文件,并用编辑器打开. 加载PHP模块.找到 #LoadModule ...

  6. C/C++ -- Gui编程 -- Qt库的使用 -- HelloWorld

    1.纯代码写对话框HelloWorld 创建空Qt工程,添加C++源文件main.cpp 需要设置编码以支持中文 -----源代码main.cpp----- #include <QApplica ...

  7. 机器学习--Gradient Boosting Machine(GBM)调参方法详解

    一.GBM参数 总的来说GBM的参数可以被归为三类: 树参数:调节模型中每个决策树的性质 Boosting参数:调节模型中boosting的操作 其他模型参数:调节模型总体的各项运作 1.树参数 现在 ...

  8. lintcode-->哈希函数

    在数据结构中,哈希函数是用来将一个字符串(或任何其他类型)转化为小于哈希表大小且大于等于零的整数.一个好的哈希函数可以尽可能少地产生冲突.一种广泛使用的哈希函数算法是使用数值33,假设任何字符串都是基 ...

  9. ls命令显示的total你知道代表着什么吗?

    今天我无意间在用ls命令的时候发现显示的内容里的total,这个total代表着什么,引起了我的疑惑. 接下来开始解开它的神秘面纱. total后面的数字是指当前目录下所有文件所占用的空间总和,它是怎 ...

  10. 使用Koa2搭建web项目

    随着Node.js的日益火热,各种框架开始层出不穷的涌现出来,Node.js也开始逐渐的被应用到处理服务端请求的场景中.搭建Web项目的框架也随之开始出现——express.koa.koa2.egg等 ...