首页 > 其他分享 >Nfs 共享存储搭建

Nfs 共享存储搭建

时间:2023-07-25 15:22:37浏览次数:41  
标签:02 00 NFS 23 nfs Nfs 共享 root 搭建

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/


标签:02,00,NFS,23,nfs,Nfs,共享,root,搭建
From: https://www.cnblogs.com/saas-open/p/17579959.html

相关文章

  • Rsync 备份服务搭建
    Rsync备份服务搭建目录Rsync备份服务搭建一.前言二.rsync和sersync2.1rsync基本语法2.2本地文件传输2.3ssh远程文件传输2.4基于服务远程主机文件传输三.部署rsync3.1项目要求3.2环境准备3.3搭建服务端rsync3.3搭建客户端rsync四.部署sersync4.1环境准备......
  • springcloud- 分布式session,全局session共享的解决方案
     1.导入依赖     <dependency>       <groupId>org.springframework.session</groupId>       <artifactId>spring-session-data-redis</artifactId> <!--     <version>2.3.0.RELEASE</version>-->......
  • 直播平台搭建源码,Fragment 显示 隐藏 监听
    直播平台搭建源码,Fragment显示隐藏监听 @OverridepublicvoidonHiddenChanged(booleanhidden){super.onHiddenChanged(hidden);if(!hidden){updateUserinfo();}}@OverridepublicvoidsetUserVisibleHint(booleanisVisibleToUser){super.setUserVisibleHint(isVisibl......
  • 文件共享服务器
    ftp协议全球通用 cisp协议微软开发,cisp服务器一般用于公司内部分享,ftp服务器一般对外 本地ntfs权限仅限制本地登录,远程登陆时受共享权限和本地权限双重限制,规则为取交集。设置不同用户对某些文件夹权限可以在具体的文件夹上给权限。共享文件名后加$符号实现隐藏共享,在地址栏......
  • 财务共享中心的持续发展规划怎么确定?
    作者:杨晓晨 财务共享中心0-1、1-N的持续运营分几个阶段?每个阶段应该达成什么样的目标?本篇财务共享避坑指南将为您详解财务共享各阶段运营方法。多年前,企业通过建立财务共享中心,将大量重复性和标准化程度高的业务集中起来,以解决分散模式下存在的种种问题,达到降本增效的目的。同时,业......
  • mRemoteNG 设置共享账号
    FoldersandInheritance—mRemoteNGdocumentation可以通过在文件夹设置账号和密码,然后文件夹下的Connection继承账号和密码Rightnownothinghaschangedandnothingwillbeinherited.Toenableinheritanceswitchtotheinheritanceviewbyclickingthededicated......
  • JavaWeb--环境搭建(idea,tomcat)到跑测试中我犯下的滔天大罪
    1.在网上copy时路径没有写对点击查看代码<?xmlversion="1.0"encoding="UTF-8"?><web-appxmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation......
  • 搭建k8s集群
    一、k8smaster部署Master节点上会运行的组件:etcd,kube-apiserver,kube-controller-manager,kuctl,kubeadm.kubelet,kube-proxy,flannel,docker Kubeadm,官方k8s一键部署工具Flannel,网络插件,确保节点间能够互相通信 环境初始化: 1)hosts解析cat>>/etc/hosts <<EOF0.......
  • hadoop-eclipse开发环境搭建及error: failure to login错误
    对于Hadoop开发者来讲,通过JAVAAPI编程是进入Map-Reduce分布式开发的第一步。由于Eclipse本身并没有提供对MapReduce编程模式的支持,所以需要一些简单的步骤来实现。1.安装Hadoop。本文的Hadoop是部署在虚拟机上的伪分布模式。相关软件环境如下:JDK:sunjdk1.6.0_30Hadoop:hadoop-0......
  • 多容器共享卷
    首先定义一个pod,其中包含两个容器apiVersion:v1kind:Podmetadata:name:two-containersspec:restartPolicy:Nevervolumes:-name:shared-datahostPath:path:/datacontainers:-name:nginx-containerimage:nginxvolumeMo......