04. NFS服务部署流程
RPC: 远程过程调用服务程序--- 相当于租房的中介(网络编程支持)
服务端部署
第一个历程: 下载安装软件
rpm -qa|grep -E "nfs|rpc"
yum install -y nfs-utils rpcbind

第二个历程: 编写nfs服务配置文件
vim /etc/exports (man exports)
01 02(03)
01: 设置数据存储的目录 /data
02: 设置网络一个白名单 (允许哪些主机连接到存储服务器进行数据存储)
03: 配置存储目录的权限信息 存储目录一些功能
/data 172.16.1.0/24(rw,sync)

第三个历程: 创建一个存储目录
mkdir /data
chown nfsnobody.nfsnobody /data

第四个历程: 启动服务程序
先启动 rpc服务
systemctl start rpcbind.service
systemctl enable rpcbind.service
再启动 nfs服务
systemctl start nfs
systemctl enable nfs

客户端部署
第一个历程: 安装nfs服务软件
yum install -y nfs-utils

第二个历程: 实现远程挂载共享目录
mount -t nfs 172.16.1.31:/data /mnt

05. NFS服务工作原理:
服务端:
1. 启动rpc服务,开启111端口
2. 启动nfs服务
3. 实现nfs服务进程和端口好的注册

补充: 检查nfs服务进程与端口注册信息
没有注册时候:
[root@nfs01 ~]# rpcinfo -p 172.16.1.31
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
nfs服务注册之后信息:
[root@nfs01 ~]# rpcinfo -p 172.16.1.31
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
100024 1 udp 53997 status
100024 1 tcp 49863 status
100005 1 udp 20048 mountd
100005 1 tcp 20048 mountd
100005 2 udp 20048 mountd
100005 2 tcp 20048 mountd
100005 3 udp 20048 mountd
100005 3 tcp 20048 mountd

客户端:
1. 建立TCP网络连接
2. 客户端执行挂载命令,进行远程挂载
3. 可以实现数据远程传输存储

06. nfs服务端详细配置说明
实现多个网段主机可以进行挂载
第一种方法:
/data 172.16.1.0/24(rw,sync) 10.0.0.0/24(rw,sync)
第二种方法:
/data 172.16.1.0/24(rw,sync)
/data 10.0.0.0/24(rw,sync)

总结:共享目录的权限和哪些因素有关:
1)和存储目录的本身权限有关 (755 属主:nfsnobody)
2)和配置文件中的权限配置有关 rw/ro xxx_squash anonuid/anongid
3)和客户端挂载命令的参数有关 ro
??

NFS配置参数权限
rw -- 存储目录是否有读写权限
ro -- 存储目录是否时只读权限
sync -- 同步方式存储数据 直接将数据保存到磁盘(数据存储安全)
async -- 异步方式存储数据 直接将数据保存到内存(提高数据存储效率)
no_root_squash -- 不要将root用户身份进行转换
root_squash -- 将root用户身份进行转换
all_squash -- 将所有用户身份都进行转换
no_all_squash -- 不要将普通用户身份进行转换

操作演示all_squash参数功能:
vim /etc/exports
/data 172.16.1.0/24(ro,sync,all_squash)
[oldboy@backup mnt]$ touch oldboy_data.txt
[oldboy@backup mnt]$ ll
total 4
-rw-rw-r-- 1 nfsnobody nfsnobody 0 May 9 12:11 oldboy_data.txt

操作演示no_all_squash参数功能:
[root@nfs01 ~]# vim /etc/exports
/data 172.16.1.0/24(rw,sync,no_all_squash)
[oldboy@backup mnt]$ touch oldboy_data02.txt
touch: cannot touch ‘oldboy_data02.txt’: Permission denied
解决权限问题:
[root@nfs01 ~]# chmod o+w /data/
[root@nfs01 ~]# ll /data/ -d
drwxr-xrwx. 2 nfsnobody nfsnobody 52 May 9 12:11 /data/
[oldboy@backup mnt]$ touch oldboy_data02.txt
[oldboy@backup mnt]$ ll
total 4
-rw-r--r-- 1 nfsnobody nfsnobody 7 May 9 10:57 backup_data.txt
-rw-rw-r-- 1 oldboy oldboy 0 May 9 12:17 oldboy_data02.txt
-rw-rw-r-- 1 nfsnobody nfsnobody 0 May 9 12:11 oldboy_data.txt

操作演示root_squash参数功能:
vim /etc/exports
/data 172.16.1.0/24(rw,sync,root_squash)
[root@backup mnt]# touch root_data.txt
[root@backup mnt]# ll
-rw-r--r-- 1 nfsnobody nfsnobody 0 May 9 12:20 root_data.txt

操作演示no_root_squash参数功能
[root@backup mnt]# ll
total 4
-rw-r--r-- 1 root root 0 May 9 12:23 root_data02.txt

企业互联网公司如何配置NFS 各种squash参数
保证网站存储服务器用户数据安全性:
no_all_squash 需要进行配置 共享目录权限为www(确保客户端用户 服务端用户 uid数值一致)
root_squash 需要进行配置 root---nfsnobody data目录---www
以上默认配置(很多服务默认配置都是从安全角度出发)
如何查看nfs默认配置
cat /var/lib/nfs/etab --- 记录nfs服务的默认配置记录信息
/data 172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,n
o_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,secure,root_squash,no_all_squash)

如何让root用户可以操作管理www用户管理的data目录
root --- root_squash --- www ---操作--- data目录
anonuid=65534,anongid=65534 --- 可以指定映射的用户信息

修改映射用户:www=1002
/data 172.16.1.0/24(rw,sync,anonuid=1002,anongid=1002)

企业中如何编辑nfs配置文件
01. 通用方法 *****
/data 172.16.1.0/24(rw,sync)
02. 特殊情况 (让部分人员不能操作存储目录 可以看目录中的数据)
/data 10.0.0.0/24(ro,sync)
03. 修改默认的匿名用户
/data 10.0.0.0/24(ro,sync,anonuid=xxx,anongid=xxx)

nfs服务问题:
01. nfs服务器重启,挂载后创建数据比较慢
服务器重启方式不正确
服务重启:
01. restart 重启服务 强制断开所有连接 用户感受不好
02. reload 重启服务(平滑重启) 强制断开没有数据传输的连接 提升用户感受

07. nfs客户端详细配置说明
mount -t nfs 172.16.1.31:/data /mnt

如何实现自动挂载:
01. 利用rc.local
echo "mount -t nfs 172.16.1.31:/data /mnt" >>/etc/rc.local
02. 利用fstab文件
vim /etc/fstab
172.16.1.31:/data /mnt nfs defaults 0 0
特殊的服务已经开启了

centos6:无法实现网路存储服务自动挂载原因
根据系统服务启动顺序
按照顺序依次启动 network服务--- sshd服务--- crond服务--- rsync服务--- rpcbind服务--- nfs服务
先加载/etc/fstab --- network服务 --- autofs服务

autofs服务程序:开机自动启动
服务启动好之后,重新加载fstab

centos7:无法实现网路存储服务自动挂载原因
根据系统服务启动顺序
network服务
sshd服务
crond服务
rsync服务
先加载/etc/fstab network服务
autofs==centos7??

客户端mount命令参数
rw --- 实现挂载后挂载点目录可读可写 (默认)
ro --- 实现挂载后挂载点目录可读可写
suid --- 在共享目录中可以让setuid权限位生效 (默认)
nosuid --- 在共享目录中可以让setuid权限位失效 提供共享目录的安全性
exec --- 共享目录中的执行文件可以直接执行
noexec --- 共享目录中的执行文件可以无法直接执行 提供共享目录的安全性
auto --- 可以实现自动挂载 mount -a 实现加载fstab文件自动挂载
noauto --- 不可以实现自动挂载
nouser --- 禁止普通用户可以卸载挂载点
user --- 允许普通用户可以卸载挂载点
[oldboy@web01 ~]$ umount /mnt
umount: /mnt: umount failed: Operation not permitted

客户端如何卸载
umount -lf /mnt --- 强制卸载挂载点
-l 不退出挂载点目录进行卸载
-f 强制进行卸载操作

day30 nfs服务器配置的更多相关文章

  1. CentOS下NFS服务器配置教程

    说明: NFS服务器: 操作系统:CentOS 5.5 IP:192.168.21.160 nfs网络文件服务器共享目录:/data/osyunwei 目录所有者:www(说明:www为nginx运行 ...

  2. NFS笔记(二)NFS服务器配置实例

    一.NFS服务器配置实例实验拓扑 二.实验要求及环境 2.1实验环境 NFS服务器 IP:192.168.8.5环境:[root@server7 ~]# uname -aLinux server7.c ...

  3. 实验三——NFS服务器配置

    实验三——NFS服务器配置 实 验 基 本 信 息 实验名称:NFS服务器配置(3学时) 实验时间:    年 月 日 实验地点:   信工606实验室 同组同学: 实验目的: 了解NFS服务的基本原 ...

  4. NFS 服务器配置(Ubuntu)

    # NFS 服务器配置(Ubuntu 20.0) # 1.配置网络环境 # NFS 的客户端和服务端必须在同一局域网 # 2.在服务器上安装nfs sudo apt-get install nfs-c ...

  5. NFS服务器配置文档

    Server:192.168.1.206/WindowsClient:192.168.1.208/CentOS一.搭建windows NFS服务:1.安装NFS服务器:打开"服务管理器&qu ...

  6. 2017-1-2 nfs服务器配置

    配置apt工具集 1.打开配置文件 sudo vim /etc/apt/sources.list 2.将上面文件中内容删除,选择阿里云的软件源加入 # deb cdrom:[Ubuntu 16.04 ...

  7. [国嵌笔记][010][TFTP与NFS服务器配置]

    交叉开发 嵌入式软件产生的平台称为宿主机,运行嵌入式软件的平台称为目标机 宿主机一般通过串口.网络.USB.JTAG等方式将软件下载到目标机 网络下载 一般有TFTP和NFS两种方式 tftp服务器 ...

  8. part1:10-TFTP与NFS服务器配置

    1.交叉开发 嵌入式系统开发多采用交叉开发模式,所谓嵌入式交叉开发就是指在宿主机上进行程序的编写,然后通过交叉编译生成目标机平台可以运行的二进制代码,最后再下载到目标平台上的特定位置运行.产生嵌入式软 ...

  9. nfs服务器配置

    安装 nfs-utils,该软件包提供了 NFS 工具: # yum install nfs-utils 配置启动脚本,使得共享在系统每次启动时都有效: # chkconfig --add rpcbi ...

随机推荐

  1. Linux内存管理解析(二) : 关于Linux内存管理的大体框架

    什么是内存管理 ? 首先内存管理管理的主要对象是虚拟内存,但是虚拟内存对应的映射主要为物理内存,其次也可能通过交换空间把虚拟内存与硬盘映射起来,既然如此,那我们先了解物理内存的管理. 对于物理内存而言 ...

  2. 解决.net core3.1使用docker部署在Ubuntu上连接sqlserver报error:35的问题

    最近把一个项目从core2.2迁移至core3.1,在本地win上跑没有问题,但是上线到生产Ubuntu docker环境下连接不上sqlserver报以下错误. A connection was s ...

  3. ARC-082F Sandglass

    题意 有一个含有两个玻璃球的沙漏,分别称这两个玻璃球为\(

  4. 错误:EfficientDet网络出现"No boxes to NMS"并且mAP:0.0的解决方案

    近日,在使用谷歌新推出来的一个网络EfficientDet进行目标检测训练自己的数据集的时候,出现了如下错误: 其中项目开源地址是:https://github.com/toandaominh1997 ...

  5. workerman离线推送方案

    方案一:目前网上比较流行的 方案二:参考腾迅IM

  6. PS切图工具

    缓存设置: 编辑-首选项-暂存盘 改完除了C盘之外的其他盘 单位设置: 编辑-首选项-单位与标尺 将单位修改成像素  PS预设: 工具   (窗口-工具) 标尺  (视图-标尺) 图层  (窗口-图层 ...

  7. SQL中的事务ACID

    概述: 事务是由一系列语句构成的逻辑工作单元.事务和存储过程等批处理有一定程度上的相似之处, 通常都是为了完成一定业务逻辑而将一条或者多条语句“封装”起来,使它们与其他语句之间出现一个逻辑上的边界,并 ...

  8. C#中的异步编程--探索await与async关键字的奥妙之处,原来理解和使用异步编程可以这么简单

    前言 await与async是C#5.0推出的新语法,关于await与async有很多文章讲解.但看完后有没有这样一种感觉,感觉这东西像是不错,但好像就是看不太懂,也不清楚该怎么使用.虽然偶有接触,但 ...

  9. 如何在Mac上显示和查看隐藏的文件/文件夹

    今天的文章推出的是如何在Mac上显示和查看隐藏的文件/文件夹.出于隐私或安全性考虑,出于多种原因,我们需要在Mac计算机上隐藏某些文件.这些文件或文件夹在默认情况下是为Mac的平稳运行而隐藏的,但是如 ...

  10. 在系统下使用命令安装gnome图形界面程序

    yum groupinstall "GNOME Desktop" "Graphical Administration Tools" reboot 记得别忘了更新 ...