当前位置: 首页 > article >正文

Linux 安装 NFS 实现文件目录共享

一、背景介绍

项目中,之前是单节点部署服务,关于文件的上传和下载,只要配置好路径即可。

而当集群化部署后,就会有问题。比如:文件上传的时候,访问的是主机1,而想要现在文件的时候,却访问的主机2,这样就会导致文件下载失败。

关于文件共享,可以通过Nginx、Samba、NFS、FastDFS等实现。

本篇博文根据个人项目中的实际使用场景,在不该任何服务代码的情况下,使用NFS最为合适。


二、NFS安装和配置

1、何为NFS?

NFS(Network File System)即网络文件系统,它允许网络中的计算机之间通过网络共享资源。

将NFS主机分享的目录,挂载到本地客户端当中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,在客户端看起来,就像访问本地文件一样。


2、 NFS 服务端_安装配置

1)检查是否安装NFS
rpm -qa | grep nfs
rpm -qa | grep rpcbind
2)安装NFS服务端
yum -y install nfs-utils rpcbind
3)设置开机启动NFS相关服务
systemctl enable rpcbind && systemctl enable nfs-server && systemctl enable nfs-lock && systemctl enable nfs-idmap

或者

systemctl enable rpcbind

Created symlink from /etc/systemd/system/multi-user.target.wants/rpcbind.service to /usr/lib/systemd/system/rpcbind.service.

systemctl enable nfs-server

Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.

systemctl enable nfs-lock
systemctl enable nfs-idmap
4)启动NFS相关服务
systemctl start rpcbind && systemctl start nfs-server && systemctl start nfs-lock && systemctl start nfs-idmap

或者

systemctl start rpcbind
systemctl start nfs-server
systemctl start nfs-lock
systemctl start nfs-idmap
5)创建需要共享的目录
mkdir -p /home/miracle/uploads
chmod -R 777 /home/miracle/uploads
6)配置需要共享的目录
vim /etc/exports

添加如下内容(可以配置多个共享目录,IP也可以配置单个,或者模糊匹配多个):

/home/miracle/uploads 192.168.169.2(rw,sync,all_squash)

参数列表如下:

参数说明
ro只读访问
rw读写访问
sync所有数据在请求时写入共享
asyncnfs 在写入数据前可以响应请求
securenfs 通过 1024 以下的安全 TCP/IP 端口发送
insecurenfs 通过 1024 以上的端口发送
wdelay如果多个用户要写入 nfs 目录,则归组写入(默认)
no_wdelay如果多个用户要写入 nfs 目录,则立即写入,当使用 async 时,无需此设置
hide在 nfs 共享目录中不共享其子目录
no_hide共享 nfs 目录的子目录
subtree_check如果共享 /usr/bin 之类的子目录时,强制 nfs 检查父目录的权限(默认)
no_subtree_check不检查父目录权限
all_squash共享文件的 UID 和 GID 映射匿名用户 anonymous,适合公用目录
no_all_squash保留共享文件的 UID 和 GID(默认)
root_squashroot 用户的所有请求映射成如 anonymous 用户一样的权限(默认)
no_root_squashroot 用户具有根目录的完全管理访问权限
anonuid=xxx指定 nfs 服务器 /etc/passwd 文件中匿名用户的 UID
anongid=xxx指定 nfs 服务器 /etc/passwd 文件中匿名用户的 GID
7)配置立即生效
exportfs -r 
8)查看共享目录信息
exportfs -v

3、 NFS 客户端_安装配置

1)安装 NFS 客户端
yum -y install nfs-utils
2)查看服务端的共享目录设置
showmount -e 192.168.169.1
3)创建本地目录
mkdir -p /home/miracle/uploads
4)将服务端共享目录挂载到本地目录
mount -t nfs 192.168.169.1:/home/miracle/uploads /home/miracle/uploads

至此,共享目录的安装和配置已完成,可以创建一个文件,检验共享功能是否正常。

5) 取消挂载

如果目录挂载错误的情况下,可以取消挂载。

umount 192.168.166.1:/home/miracle/uploads

或者

umount /home/miracle/uploads

三、补充说明

如果现场环境是不允许访问外网,只能离线安装的情况下,就需要提前下载好安装包。

1、下载离线安装包(只下载,不安装)

1)下载NFS服务端安装文件

存放到 /home/miacle/nfs-server 目录下,命令如下:

yum install --downloadonly --downloaddir=/home/miracle/nfs-server  nfs-utils rpcbind

在这里插入图片描述
可以将下载的NFS服务端安装文件打包,命令如下:

tar -zcvf nfs-server.tar /home/miracle/nfs-server
2)下载NFS客户端端安装文件

存放到 /home/miacle/nfs-client 目录下,命令如下:

yum install --downloadonly --downloaddir=/home/miracle/nfs-client  nfs-utils

在这里插入图片描述

可以将下载的NFS服务端安装文件打包,命令如下:

tar -zcvf nfs-client.tar /home/miracle/nfs-client

2、批量安装 rpm 文件

rpm -Uvh --force --nodeps *.rpm

在这里插入图片描述




http://www.kler.cn/a/18322.html

相关文章:

  • Python数据预处理
  • 【Elasticsearch入门到落地】1、初识Elasticsearch
  • ODOO学习笔记(3):Odoo和Django的区别是什么?
  • Docker无缝更新Zentao
  • springboot参数校验
  • 【ARM Coresight OpenOCD 系列 5 -- arp_examine 使用介绍】
  • SpringBoot创建和使用
  • RESTful风格(个人笔记)
  • MySQL事务:原理、类型和使用场景
  • taro小程序中如何引入css_moudle?配置后不生效的解决方法
  • HTML 中的常用标签用法
  • Vue中的路由设置
  • 学习大数据有推荐的么
  • 某程序员哀叹:二本计算机,4年开发,年包才40多万。二本真的不如985/211吗?
  • linux命令之journalctl详解
  • 全国职业院校技能大赛网络建设与运维赛项赛题(五)
  • Python突破某网游游戏JS加密限制,进行逆向解密,实现自动登录
  • 前端架构师-week4-通用脚手架命令Command类封装
  • 扫雷,咱就是一扫一大片(C语言完美递归版)
  • (一)zookeeper实战——初识zookeeper
  • FlashFXP快捷键
  • Mysql索引(1):索引概述
  • 【大数据之Hadoop】二十五、生产调优-HDFS核心参数
  • 【5.JS基础-JavaScript的DOM操作】
  • 操作系统:虚拟内存
  • MySQL基础(十九)Linux下MySQL的安装与使用