Nfs 共享存储搭建

为了实现不同操作系统中的数据共享,我们一般会搭建一些用于文件共享的服务器,nfs服务器就是其中一种,它实现的是linux与linux之间的共享。今天我将把如何在linux系统搭建nfs服务器的步骤分享出来,供大家参考。

介绍

NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。

NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利;

NFS一般用来存储共享视频,图片等静态数据;NFS 协议默认是不加密的,它不像 Samba,它不提供用户身份鉴别。服务端通过限定客户端的 IP 地址和端口来限制访问。

原理

NFS在文件传送或信息传送的过过程中,依赖于RPC协议。RPC,远程过程调用(Remote Procedure Call),是使客户端能够执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,就是因为NFS使用了RPC提供的传输协议,可以说NFS就是使用PRC的一个程序

  1. 首先服务器端启动RPC服务,并开启111端口

  2. 服务器端启动NFS服务,并向RPC注册端口信息

  3. 客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口

  4. 服务端的RPC(portmap)服务反馈NFS端口信息给客户端。

  5. 客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输

一 环境准备

服务器 IP地址 角色 备注
master01 10.0.0.100 NFS服务端 共享存储服务器 /data/nfs
node01 10.0.0.101 客户端  
node02 10.0.0.102 客户端  

#01 创建虚拟机 修改IP地址
sed -i   's#10.0.0.100#10.0.0.101#g' /etc/sysconfig/network-scripts/ifcfg-ens32
hostnamectl set-hostname node01
reboot

#02 修改主机名
hostnamectl set-hostname node01

二.开始搭建服务端

  • master01 执行

2.1 安装nfs所需软件包

yum install -y rpcbind nfs-utils

复制

2.2 创建测试文件并赋权限

#01 创建共享目录 并授权
[root@master01 ~]# mkdir -p   /data/nfs
[root@master01 ~]# chmod 777 -R /data/
[root@master01 ~]# cd /data/nfs/


#02 创建测试文件
[root@master01 nfs]# echo 'zhangbingbing zhen bucuo' >test.txt
[root@master01 nfs]# cat test.txt
zhangbingbing zhen bucuo

2.3 修改配置文件

[root@master01 nfs]# cat /etc/exports
/data/nfs 10.0.0.0/24(rw)
 

解释下: 共享文件路径 允许共享网段(10.0.0.0/24)(共享文件读写权限)
 
 
  • 权限

共享文件可执行权限有:
     ro           只读访问
     rw           读写访问
     sync          所有数据在请求时写入共享
     hide          在NFS共享目录中不共享其子目录
     no_hide         共享NFS目录的子目录
     all_squash       共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
     no_all_squash      保留共享文件的UID和GID(默认)
     root_squash       root用户的所有请求映射成如anonymous用户一样的权限(默认)
     no_root_squas      root用户具有根目录的完全管理访问权限

2.4 开启服务


#01 启动服务
[root@master01 nfs]# systemctl start rpcbind nfs
[root@master01 nfs]# systemctl enable rpcbind nfs


#系统管理 systemctl
   #启动 start
   #关闭 stop
   #重启 restart

设置开机自启
echo "192.168.121.38:/home/test /nfs nfs4 defaults 0 0" >> /etc/fstab
mount -av

2.5 检查共享信息



#01 检查进程
[root@master01 nfs]# ps -ef | grep nfs
root       1518      2  0 23:02 ?        00:00:00 [nfsd4_callbacks]
root       1524      2  0 23:02 ?        00:00:00 [nfsd]
root       1525      2  0 23:02 ?        00:00:00 [nfsd]
root       1526      2  0 23:02 ?        00:00:00 [nfsd]
root       1527      2  0 23:02 ?        00:00:00 [nfsd]
root       1528      2  0 23:02 ?        00:00:00 [nfsd]
root       1529      2  0 23:02 ?        00:00:00 [nfsd]
root       1530      2  0 23:02 ?        00:00:00 [nfsd]
root       1531      2  0 23:02 ?        00:00:00 [nfsd]
root       1542   1187  0 23:02 pts/0    00:00:00 grep --color=auto nfs
[root@master01 nfs]# ps -ef | grep rpc
rpc        1482      1  0 23:02 ?        00:00:00 /sbin/rpcbind -w
rpcuser    1499      1  0 23:02 ?        00:00:00 /usr/sbin/rpc.statd
root       1501      2  0 23:02 ?        00:00:00 [rpciod]
root       1506      1  0 23:02 ?        00:00:00 /usr/sbin/rpc.idmapd
root       1513      1  0 23:02 ?        00:00:00 /usr/sbin/rpc.mountd
root       1544   1187  0 23:02 pts/0    00:00:00 grep --color=auto rpc


#02 检查挂载目录
[root@master01 nfs]# showmount -e 10.0.0.100
Export list for 10.0.0.100:
/data/nfs 10.0.0.0/24

(此处ip地址为搭建服务器主机地址)

三.搭建客户端

  • node01 node02 执行



#00 安装NFS
yum install -y nfs-utils


#01 启动服务 并创建目录
[root@node01 ~]# mkdir -p /data/nfs
[root@node01 ~]# systemctl start nfs
[root@node01 ~]# systemctl enable nfs

#02 检查是否启动
[root@node01 ~]# systemctl status nfs
● nfs-server.service - NFS server and services
  Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; vendor preset: disabled)
  Active: active (exited) since 六 2023-07-22 23:09:39 CST; 4min 32s ago
Main PID: 1470 (code=exited, status=0/SUCCESS)
  CGroup: /system.slice/nfs-server.service

7月 22 23:09:39 node01 systemd[1]: Starting NFS server and services...
7月 22 23:09:39 node01 systemd[1]: Started NFS server and services.


#03 挂载目录
[root@node01 ~]# mount 10.0.0.100:/data/nfs /data/nfs


#04 检查
[root@node01 ~]# df -h
文件系统                 容量 已用 可用 已用% 挂载点
devtmpfs                 979M     0 979M    0% /dev
tmpfs                   991M     0 991M    0% /dev/shm
tmpfs                   991M  9.5M 981M    1% /run
tmpfs                   991M     0 991M    0% /sys/fs/cgroup
/dev/mapper/centos-root   38G  1.6G   36G    5% /
/dev/mapper/centos-home   19G   33M   19G    1% /home
/dev/sda1               1014M 137M 878M   14% /boot
tmpfs                   199M     0 199M    0% /run/user/0
10.0.0.100:/data/nfs     38G  1.6G   36G    5% /data/nfs


#05 授权
[root@master01 nfs]# chmod 777 -R /data/


Nfs 共享存储搭建的更多相关文章

  1. 负载均衡LVS之DR(附:NFS共享存储) 五分钟搭建手册

    一:DR-模式 调度器Ip:192.168.1.254 服务器ip:192.168.1.1/192.168.1.2 VIP:192.168.1.10 ——配置负载均衡调度器: 关闭重定向响应配置: V ...

  2. 使用URLOS在linux系统中极速部署NFS共享存储服务

    如何在linux系统里搭建NFS服务?其实我们只需要安装一个URLOS面板,然后就能在3分钟内将NFS服务部署完成.近日,URLOS在应用市场中上架了一款NFS应用,它可以让我们的节点主机在3分钟内极 ...

  3. NFS 共享存储实战

    目录 NFS 共享存储实战 一.NFS概述 二.NFS部署 部署NFS客户端backup和web01 统一web.nfs.backup的用户权限 代码部署步骤 三.NFS配置详解 NFS存储小结 四. ...

  4. NFS 共享存储

    目录 环境准备 NFS服务端 NFS客户端 部署时常见报错 httpd服务 NFS 共享存储的坑 环境准备 主机名 WanIP(Wide Area Network) LanIP(Local Area ...

  5. 生产场景NFS共享存储优化及实战

    生产场景NFS共享存储优化: 1.硬件:sas/ssd磁盘,买多块,raid0/raid10,网卡好 2.NFS服务器端优化加all_squash,async /backup/NFS 192.168. ...

  6. Linux之nginx反向代理+三台web+nfs共享存储实现集群配置

    作业四:nginx反向代理+三台web+nfs共享存储实现集群配置 在各个web服务器上挂载nfs [root@localhost nginx]# mount -t nfs 192.168.152.1 ...

  7. 虚拟化(四):vsphere高可用功能前提-共享存储搭建(使用微软提供的iscsi software target,也可以使用免费开源的openfiler)

    虚拟化(一):虚拟化及vmware产品介绍 虚拟化(二):虚拟化及vmware workstation产品使用 虚拟化(三):vsphere套件的安装注意及使用 虚拟化(四):vsphere高可用功能 ...

  8. 虚拟化(四):vsphere高可用功能前提-共享存储搭建

    虚拟化(一):虚拟化及vmware产品介绍 虚拟化(二):虚拟化及vmware workstation产品使用 虚拟化(三):vsphere套件的安装注意及使用 虚拟化(四):vsphere高可用功能 ...

  9. Linux架构之NFS共享存储1

    第35章 NFS共享存储 35.1 NFS基本概述 NFS是Network File System的缩写及网络文件系统.NFS主要功能是通过局域网络让不同的主机系统之间可以共享文件或目录. 常见的文件 ...

  10. 基于NFS共享存储实现KVM虚拟机动态迁移

    基于NFS共享存储实现KVM虚拟机动态迁移 一:配置环境 二:安装相关的依赖包 三:实现NFS共享存储 四:KVM机配置相同的步骤 五:安装KVM01安装虚拟机 六:实现迁移  实验初始配置:所有主机 ...

随机推荐

  1. 【8】python_matplotlib改变横坐标和纵坐标上的刻度(ticks)、sagemath-list_plot()调整图例(legend)中点的数量、Matplotlib画各种论文图

    1.python_matplotlib改变横坐标和纵坐标上的刻度(ticks) 用matplotlib画二维图像时,默认情况下的横坐标和纵坐标显示的值有时达不到自己的需求,需要借助xticks()和y ...

  2. 9.3 Windows驱动开发:内核解析PE结构节表

    在笔者上一篇文章<内核解析PE结构导出表>介绍了如何解析内存导出表结构,本章将继续延申实现解析PE结构的PE头,PE节表等数据,总体而言内核中解析PE结构与应用层没什么不同,在上一篇文章中 ...

  3. SSM整合思维(随手记)

    整合方向(整合思路): 用Spring去整合SpringMVC和Mybatis. 一.先创建Spring项目测试运行成功后,再创建SpringMVC项目再单独测试SpringMVC项目如果运行成功后即 ...

  4. Visual Basic 6的安装与辅助插件 - 初学者系列 - 学习者系列文章

    好久没玩VB6了,今天无聊,就把原来的VB6相关的代码翻了出来,然后上了VMWare虚拟机,把VB6安装上,然后把架构设计那个模板找出来完善了一下.看了一下,VB6这块需要记录一些内容,于是有了本文. ...

  5. Windows 恶意软件数量是 Mac 的 5000 倍,是 Linux 的 36 倍

    AV-TEST 是一个独立的测试机构,他们会根据各种标准对操作系统的防病毒和安全软件进行评估和评级,并将测试结果免费提供给用户,帮助用户选择最适合自己的产品.近日,AV-TEST 联合旗下的威胁情报平 ...

  6. PHP 会话(Session)实现用户登陆功能

    PHP 会话(Session)实现用户登陆功能 Session 的工作机制是:为每个访客创建一个唯一的 id (UID),并基于这个 UID 来存储变量.UID 存储在 cookie 中,或者通过 U ...

  7. 打开PDB报错ORA-30013

    多租户架构,之前还在做运维的时期接触也不多.遇到多租户问题,第一反应是有些发虚的. 但实际很多问题很简单,也容易解决.本文就是一个例子. 问题:RAC节点2打开所有PDB时,报错ORA-30013. ...

  8. SOCKS5协议解析

    socks的官方文档:https://www.ietf.org/rfc/rfc1928.txt 本文改变其他作者之手,在原文基础上加入客户端的编写,完善了服务端代码,原文是Linux端的程序代码,本文 ...

  9. .Net Core + 微信赋能企业级智能客服系统--学习笔记

    摘要 围绕目前需求猛增的微信及移动端企业智能客服业务,利用 .NET Core 的一系列优秀特性及 SignalR 模块打造全双工.跨微信/QQ/钉钉等应用平台.跨系统平台.跨终端.支持企业级并发的移 ...

  10. 2023年多校联训NOIP层测试7+【LGR-149-Div.3】洛谷基础赛 #2 & qw Round -1

    普及模拟3 \(T1\) 最大生成树 \(100pts\) 简化题意:给定一个 \(n(1 \le n \le 1 \times 10^5)\) 个点的完全图,给定各点的点权 \(a_i(1 \le ...