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. rolling方式修改oplog

    在 3.4之前版本 , 修改oplog 是一个非常麻烦的事情, 要停数据库 , rolling方式适合 3.4 之前版本修改oplog的大小 1. 配置文件注释 replSet2. 配置文件 oplo ...

  2. Java—关于String的分析

    一.两种赋值方式的比较 1.直接赋值法:String s1="abc"; 这种赋值方法用的最多,因为它可能不需要创建对象,或者只创建一次. 它首先会判断字符串常量池有没有存在字符串 ...

  3. Java后台 解析JSON的几个方法

    1.对象转JSON对象. public static void main(String[] args) { Domain demo = new Domain( "在线JSON校验格式化工具 ...

  4. [转] 用协议分析工具学习TCP/IP

    一.前言 目前,网络的速度发展非常快,学习网络的人也越来越多,稍有网络常识的人都知道TCP/IP协议是网络的基础,是Internet的语言,可以说没有TCP/IP协议就没有互联网的今天.目前号称搞网的 ...

  5. Chapter 3 Phenomenon——2

    I had enough trouble not falling down when the ground was dry; it might be safer for me to go back t ...

  6. go语言接受者的选取

    何时使用值类型 1.如果接受者是一个 map,func 或者 chan,使用值类型(因为它们本身就是引用类型).2.如果接受者是一个 slice,并且方法不执行 reslice 操作,也不重新分配内存 ...

  7. R语言中常用包(二)

    数据导入 以下R包主要用于数据导入和保存数据 feather:一种快速,轻量级的文件格式.在R和python上都可使用readr:实现表格数据的快速导入.中文介绍可参考这里readxl:读取Micro ...

  8. 记录自己使用到的git命令行代码与git使用流程

    1.安装创建版本库 新建一个文件夹,用命令行实现: $ cd /d             //进入d盘 $ mkdir gitproject      //新建gitproject文件夹 $ cd ...

  9. js / jquery 获取和设置 FCK Editor 的值

    开发中遇到 通过 $("#content").val(); 或者 document.getElementById("content"); 并不能获取到 id 为 ...

  10. Maven 添加 Tomcat 插件

    若想在 Maven 中使用 Tomcat 服务器,需要在 pom.xml 文件中的 <build></build> 标签中添加以下代码 <!-- Maven项目编译插件 ...