在CentOS中搭建NFS
概述
NFS是一款经典的网络文件系统,在Linux上我们可以通过创建一个NFS服务在不同的服务器之间共享磁盘文件,而不用在多个服务器之间进行不断的拷贝复制,麻烦且浪费存储空间。在k8s中我们也可以使用NFS来作为我们的存储类,实现文件的持久化存储。
安装
接下来我们介绍一下如何在CentOS中安装NFS服务,以及如何在客户端机器挂载NFS。
服务端
操作系统:CentOS 7.6 64bit
IP地址: 192.168.202.151
为服务端安装NFS相关组件
yum -y install nfs-utils
创建需要共享的NFS目录,并赋予相关权限
mkdir /home/nfs
chmod 777 /home/nfs
编辑配置文件/etc/exports来配置我们的NFS服务的访问和同步策略
- ro 只读
- rw 可读写
- sync 同步写数据,保证数据不丢失
- async 异步写数据,在写入持久化存储之前进行请求响应,如果服务器重启可能会导致文件丢失或者损坏
- root_squash 将root用户(uid/gid 0)的请求映射为匿名用户(anonymous uid/gid)
- no_root_squash 禁用root_squash规则
- all_squash 将所有用户都映射为匿名用户
- no_all_squash 禁用all_squash规则,默认选项
- anonuid 指定要映射为匿名用户的uid,例如:anonuid=150
- anongid 指定要映射为匿名用户的gid,例如:anongid=100
这里我们挂载的NFS指定为可读写的目录,并且进行同步读写,将所有root用户都映射为匿名用户
/home/nfs 192.168.202.1/24(rw,sync,root_squash)
完整的配置参数介绍可以使用以下命令查看
man exports
配置完成后,启动NFS相关的服务
systemctl restart rpcbind
systemctl start nfs-server
如果需要的话,可以配置NFS服务端为开机自启动
systemctl enable rpcbind
systemctl enable nfs-server
如果不再需要开机启动时,也可以使用以下命令禁用开机自启动
systemctl disable rpcbind
systemctl disable nfs-server
客户端
操作系统:CentOS 7.6 64bit
IP地址: 192.168.202.152
为客户端安装NFS相关组件
yum -y install nfs-utils
创建需要挂载到本地的目录并赋予权限,这里任意指定,不一定要与服务端相同
mkdir /home/nfs
chmod 777 /home/nfs
将NFS文件系统挂载到本地的目录上
mount -t nfs 192.168.202.151:/home/nfs /home/nfs
如若不再需要可以使用以下命令卸载NFS目录
umount /home/nfs
如果执行上述的mount命令一直处于等待状态,可能是服务器上启用了防火墙或者是云服务器本身的防火墙限制了端口的访问,需要在NFS服务端开放以下端口号的访问权限:111、2049、20048。如果是云服务器可以到各自的网站后台去配置防火墙策略,如果是本地的机器可以使用以下命令开放指定的端口。
firewall-cmd --zone=public --add-port=111/tcp --permanent
firewall-cmd --zone=public --add-port=111/udp --permanent
firewall-cmd --zone=public --add-port=2049/tcp --permanent
firewall-cmd --zone=public --add-port=20048/tcp --permanent
firewall-cmd --zone=public --add-port=20048/udp --permanent
firewall-cmd --reload
上述端口信息都可以在以下文件中查找到
/usr/lib/firewalld/services/nfs.xml
/usr/lib/firewalld/services/rpc-bind.xml
/usr/lib/firewalld/services/mountd.xml
如果你不关心具体的端口号,也可以直接使用以下命令,直接根据配置文件放行相应的端口
firewall-cmd --zone=public --add-service=nfs --permanent
firewall-cmd --zone=public --add-service=rpc-bind --permanent
firewall-cmd --zone=public --add-service=mountd --permanent
firewall-cmd --reload
如果想要在开机的时候自动挂载NFS目录,则需要在/etc/fstab文件中新增一行添加以下记录
192.168.202.151:/home/nfs /home/nfs nfs defaults 0 0
其他命令
# 在服务端执行,查看nfs状态信息
nfsstat -s
# 在客户端执行,查看nfs挂载信息
nfsstat -m
# 查看服务端的远程共享信息,此命令会调用服务端的20048端口
showmount -e 192.168.202.151
# 查看rpcbind注册的所有端口号
rpcinfo -p
# 在服务端执行,重新挂载/etc/exports中配置
exportfs -r
在CentOS中搭建NFS的更多相关文章
- CentOS中搭建Redis伪分布式集群【转】
解压redis 先到官网https://redis.io/下载redis安装包,然后在CentOS操作系统中解压该安装包: tar -zxvf redis-3.2.9.tar.gz 编译redis c ...
- 应用SVN(CentOS中搭建SVN服务器)
简单介绍如何在虚拟机 CentOS 中,搭建 SVN 服务器. 软件版本信息 Vmware 10.0.0 build-1295980 CentOS 7.0-1406-x64 Java 1.7.0_67 ...
- CentOS中配置NFS
https://www.cnblogs.com/yeungchie/ NFS是Network File System的缩写,即网络文件系统. 它的主要功能是通过网络(一般是局域网)让不同的主机系统之间 ...
- CentOS下搭建NFS服务器总结
环境介绍: . 服务器: 192.168.0.100 . 客户机: 192.168.0.101 安装软件包: . 服务器和客户机都要安装nfs 和 rpcbind 软件包: yum -y instal ...
- 在centos中搭建基于nginx的apt源服务器,整合yum源和apt源在一台服务器
1.首先关闭防护墙或者设置规则通过且关闭selinux 2.nginx-1.14.2版本(编译安装)-自定义安装路径 3.开启nginx目录浏览 以上步骤请参考前文:https://www.cnblo ...
- CentOS 中安装NFS
NFS(network file system)网络文件系统,类似Windows中的文件夹共享,如下有三台机器A, B, C,它们需要访问同一个目录,目录中都是图片,传统的做法是把这些图片分别放到A, ...
- 在Ubuntu12.04中搭建NFS的步骤
1.首先安装nfs-kernel-server apt-get install nfs-kernel-server 2.然后创建一个目录: mkdir -p /opt/share 并赋予权限777: ...
- CentOS中配置NFS服务
1.服务器端安装rpcbind.nfs-utils.nfs-server包 yum install nfs-utils -y 2.修改服务器端配置文件,添加需要共享的文件夹. vim /etc/exp ...
- centos中搭建nginx环境
原文地址 安装PCRE 源码:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ cd /usr/local/src wget ftp://f ...
- Ubuntu16.04中搭建TFTP 和 NFS 服务器
Ubuntu 16.04中搭建TFTP服务 1. 安装 $ apt-get install tftp-hpa tftpd-hpa 2. 建立目录 $ mkdir /tftpboot # 这是建立t ...
随机推荐
- Linux 服务器安全扫描
工具一:Nmap 1. 探测网络中活跃的主机 nmap -sP 10.0.105.1/24 :探测10.0.105网段中的全部主机 2. 探测主机系统版本 nmap -O IP :探测指定IP的相关数 ...
- 初探AOP
1.背景介绍 1.什么是AOP 1)在OOP(面向对象编程)中,正是这种分散在各处且与对象核心功能无关的代码(横切代码)的存在,使得模块复用难度增加. 2)AOP则将封装好的对象剖开,找出其中对多个 ...
- STM32中断调试中遇到的问题
STM32应用过程中遇到的问题 实现功能: 1.自动流水灯:在LED1~LED4上实现自动流水灯,流水间隔时间为200ms/bit,然后通过按键KEY1改变流水灯的速度,每次按键间隔时间增加200ms ...
- 在Unity3D中开发的Dissolve Shader
Swordmaster Dissolve Shaders 特点 本插件共包含两种Dissolve Shader: (1).一种类型是Bumped Specular工作流的Dissolve Shader ...
- STM32F103RCT6驱动AD7705(cubeide)
首先在cubeide上配置spi,使用spi1,由于正点开发板上的nr24l01与ad7705正好相同,因此根据引脚配置PA1为DRDY,PC4为CS片选 根据手册上所写,配置寄存器初始化 uint8 ...
- Windows 10 ~ Docker 安装
Windows安装Docker 不推荐在Windows系统安装Docker,会有一些奇怪的坑不容易解决,建议windows环境安装虚拟机,通过虚拟机中的Linux系统安装Docker 官方安装文档 9 ...
- re模块相关介绍
re模块 模块和实际工作时间的关系 time模块和时间是什么关系?re模块和正则表达式的关系? 有了re模块就可以在python语言中操作正则表达式 正则表达式 1:什么是正则表达式? 一套规则--- ...
- 搭建react项目
1.打开新建的项目空文件夹,终端输入命令:npm init,文件夹生成package.json文件: 2.安装webpack.webpack-cli和cross-env:npm install web ...
- CSS 语法-习惯代码书写风格
代码风格是实际开发中的书写方式,并非强制标准. CSS 样式格式: 展开格式:开发过程使用,代码可读性强,便于调错. 紧凑格式:上传服务器时使用,减少不必要的空白字符,压缩文件大小,利于传输. 代码压 ...
- 【第4次作业】CNN实战
使用VGG模型进行猫狗大战 import numpy as np import matplotlib.pyplot as plt import os import torch import torch ...