服务器(linux)磁盘挂载nfs

这篇具有很好参考价值的文章主要介绍了服务器(linux)磁盘挂载nfs。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、需求背景

笔者项目中此前有这么个需求,需要支持文件进行预览,文件的存储位置都在后端服务器上,想要支持预览是比较困难的(若是在前端服务器上则比较方便),因为无法做到跨服务器之间的静态文件预览,然后解决这个问题的思路就设定在了将后端服务器的文件所在位置挂载到前端服务器上,然后再使用nginx的反向代理,将文件地址代理出去,这样就可以实现文件预览功能了。方案确定以后就是技术选型了,最后确定使用了nfs来解决服务器之间的磁盘挂载,当然不止nfs可以实现,其他也可以。这里对nfs的使用做一次总结。

二、使用nfs实现多服务器之间磁盘挂载

1.nfs安装

# ubuntu 安装nfs
sudo apt-get install -y nfs-kernel-server
# centos 安装nfs
sudo yum install nfs-utils rpcbind

2.nfs使用

nfs使用不难,只需要很少量的配置即可,下面来展示下这个配置

2.1服务端配置

服务端负责把文件共享出去,我们相当于把某个文件夹暴露给某个ip或者暴露在公网环境下。

# 先安装nfs
# 编辑服务端配置文件
vim /etc/exports
# 添加共享信息:将本地的/data目录共享给192.168.150.166,并让该ip拥有对该目录的rw权限
/data 192.168.150.166(rw)
# 重启nfs
systemctl restart  nfs-server.service
# rpc如果没有启动的话,这里启动下就行,启动过则无需重启
systemctl start rpcbind.service
# 重载 /etc/exports
exportfs -rv

2.2客户端配置

客户端负责将本地的某个文件夹与服务端建立连接,这样就可以在本地操作远端服务器目录了。

# 先安装nfs
# 启动nfs
systemctl restart  nfs-server.service
systemctl restart rpcbind.service
# 与服务端建立连接:将本地的mnt挂载到 192.168.150.167:/data 目录下
mount  -t nfs 192.168.150.167:/data /mnt
# 查看挂载是否成功,挂载成功的话会能看到成功挂载的信息
df -h
# 客户端取消挂载:将本地的mnt挂载进行取消
umount /mnt

一个服务端是可以同时被n个客户端进行挂载的,所以服务端与客户端其实是1对n的关系。

3.nfs介绍

上面说了是啥,这里介绍下他的原理。原理都是网络上搜的,作为了解。

3.1nfs是什么

NFS是一种基于TCP/IP 传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源
NAS存储: NFS服务的实现依赖于RPC (Remote Process Call,远端过程调用)机制,以完成远程到本地的映射过程。需要安装nfs-utils、 rpcbind 软件包来提供NFS共享服务,前者用于NFS共享发布和访问,后者用于RPC支持。手动加载NFS共享服务时,应该先启动rpcbind, 再启动nfs。
nfs端口:2049
RPC端口:111
服务器(linux)磁盘挂载nfs

3.2nfs特点

采用TCP/IP传输网络文件
安全性低
简单易操作
适合局域网环境

3.3共享时权限选项

常用的赋予权限类型,如下命令:

# 将本地的/data目录共享给192.168.150.166,该ip对于该目录及文件具有括号内的这些权限
/data 192.168.150.166(rw,sync,no_subtree_check,no_root_squash)

下面是权限的所有可选项:

ro 只读访问
rw 读写访问
sync 所有数据在请求时写入共享
async NFS在写入数据前可以相应请求
secure NFS通过1024以下的安全TCP/IP端口发送
insecure NFS通过1024以上的端口发送
subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
no_subtree_check 和上面相对,不检查父目录权限
all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
no_all_squash 保留共享文件的UID和GID(默认)
root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squash root用户具有根目录的完全管理访问权限
anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID

3.4其他常用命令

# 服务端命令,查看服务端共享出去的文件信息
exportfs -v 
# 服务端命令,重新加载配置文件,通常这么使用:exportfs -rv
exportfs -r

三、实践中碰到的问题

1.挂载时报错:mount.nfs: Stale file handle

这个报错笔者这里是因为之前客户端挂载过别的服务器,但是服务端直接将挂载取消了,这里再从客户端进行别的挂载就报了这个错误,只需要执行以下命令即可解决该问题

# /mnt是之前挂载的目录
umount -lf /mnt

2.共享时报错:exportfs: does not support NFS export

解决办法:查看文件类型:cat /etc/fstab,若文件类型不是ext4则无法正常共享,若本来就是挂载的文件夹也是无法共享的。文章来源地址https://www.toymoban.com/news/detail-445385.html

到了这里,关于服务器(linux)磁盘挂载nfs的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Debian系统上通过NFS挂载远程服务器硬盘

    步骤 1:配置远程服务器 在拥有硬盘内容的远程服务器上,进行以下配置: 安装NFS服务器软件: 编辑NFS服务器配置文件 /etc/exports ,添加需要共享的目录及其权限设置。例如,要共享 /data 目录: 这里的 192.168.1.0/24 是允许访问的客户端IP范围, rw 表示读写权限, sync 表示同步

    2024年02月11日
    浏览(29)
  • Ubuntu20.04.5配置nfs服务器并自动挂载

    两台Ubuntu20.04.5版本的操作系统 分别当作一台服务器,一台客户机 1.服务器端(主机名我的是ceph01) 1.1安装nfs服务 apt install nfs-kernel-server 1.2 查看nfs版本 cat /proc/fs/nfsd/versions 安装完成后,NFS 服务将会自动启动,默认在Ubuntu 20.04上NFS2 被禁用,NFS3和NFS4以上可以使用。 查看NFS的版

    2024年02月06日
    浏览(57)
  • Liunx服务器磁盘挂载

    可以看到我的vdb磁盘是没有进行挂载的,挂载前需要先进行磁盘分区 分区相关指令 m 显示命令列表 p 显示磁盘分区同fdisk -l n 新增分区 d 删除分区 w 写入并退出 首先输入n新增分区,然后选择p分区类型为主分区。然后按回车键直到出现“ Command(m for help): ”,最后输入w写入分

    2024年02月12日
    浏览(33)
  • 服务器磁盘挂载及格式化

    一边学习,一边总结,一边分享! 最近一直折腾组装的电脑,来回折腾了很久关于我花费六千多组了台window+Linux主机,目前基本是可以使用了。对于Windows主机配置基本是没问题,一直在使用,以及桌面化软件,都可以自己安装,只是说这台主机有些软件可能一时半会安装不

    2024年01月18日
    浏览(55)
  • 在云服务器中云磁盘如何挂载

    由于轻量级服务器不能够直接扩容,所以就采用云磁盘挂载的方式来扩大储存空间的, 以下以腾讯云服务器作为演示!!! 1、同区创建云硬盘 2、更多-挂载(挂载到哪个实例)-开始挂载-----------------------------状态会变为挂载 3、来到终端内进行“真实的挂载” 以下/dev/vdb的

    2024年02月12日
    浏览(46)
  • ROS主机搭建NFS服务器,虚拟机通过挂载访问及修改主机文件

       本文主要介绍在ROS主机中搭建NFS服务器,虚拟机(从机)通过nfs挂载的方式访问及修改主机中文件的方法    一、ROS主机NFS服务器搭建:    若机器人配有显示屏,此部分可直接在机器人上操作,否则,可通过SSH远程登录的方式,在虚拟机上进行远程登录后操作,下

    2023年04月22日
    浏览(35)
  • Proxmox VE进行磁盘分区并配置NFS服务器实现文件共享

    有2个服务器,服务器都是PVE8.1,并处于一个集群中。为了节约空间,想在服务器A中配置一个NFS服务器实现文件共享。现在服务器A有一个500G的盘,分出400G用来当共享文件夹。 查看设备挂载情况  发现500G盘为 /dev/sdd 或者通过GUI查询 使用 fdisk /dev/sdd 开始分区 分区完成    P

    2024年01月22日
    浏览(42)
  • NFS客户端挂载nfs服务器共享目录时的报错及解决办法:mount.nfs: access denied by server while mounting

    客户端挂载nfs共享目录时的报错信息:mount.nfs: access denied by server while mounting 192.168.41.191:/nfsfile NFS服务器 1、我原来nfs配置文件exports里面的内容如下 2、重启rpcbind和nfs-server服务;查看了一下nfs-server服务,上面显示“Active: active (exited) \\\",意思是“活动:活动(已退出)”,这是

    2024年02月05日
    浏览(36)
  • 服务器 Docker Alist挂载到本地磁盘(Mac版)夸克网盘

    1.服务器下载alist 默认有docker环境 2.生成容器 -v /home/alist:/opt/alist/data 这段意思是alist中的数据映射到docker 主机的文件夹,/home/alist就是我主机的文件夹,这个文件夹必须先创建 3.开通服务器的5244访问 4.获得Alist初始登录密码 5.登录web服务器,输入账号密码 6.配置夸克服务器 点

    2024年02月15日
    浏览(53)
  • Mac开机自动连接挂载服务器NAS或SMB磁盘类似Windows映射网络驱动器

    在生活和工作中,经常需要电脑连接共享磁盘,或者SMB服务器磁盘,从而方便文件资源共享。 而在使用Windows的时候,Windows自带的资源管理器中有一个映射网络驱动器的功能很是让Mac羡慕,只要添加了,每次开机,打开资源管理器后,就有。非常的方便。 虽然Mac系统也有类似

    2024年03月14日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包