0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

云服务器下搭建NFS网络文件系统

嵌入式技术 来源:嵌入式技术 作者:嵌入式技术 2022-08-31 08:57 次阅读

云服务器下搭建 NFS 网络文件系统


1.云服务器简介

云服务器(Elastic Compute Service, ECS)是一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务。其管理方式比物理服务器更简单高效。用户无需提前购买硬件,即可迅速创建或释放任意多台云服务器。

云服务器的业内名称其实叫做计算单元。所谓计算单元,就是说这个服务器只能算是一个人的大脑,相当于普通电脑的CPU,里面的资源都是有限的。你要获得更好的性能,解决办法一是升级云服务器,二是将其它耗费计算单元资源的软件部署在对应的云服务上。例如数据库有专门的云数据库服务、静态网页和图片有专门的文件存储服务。

腾讯云云服务器 (Cloud Virtual Machine, CVM) 是在云中提供可扩展的计算服务, 避免了使用传统服务器时需要预估资源用量及前期投入的情况。 通过使用腾讯云 CVM , 您可以在短时间内快速启动任意数量的云服务器并即时部署应用程序。 腾讯云 CVM 支持用户自定义一切资源: CPU、 内存、 硬盘、 网络、 安全等等, 并可在访问量和负载等需求发生变化时轻松地调整它们。

腾讯云服务器免费体验:https://cloud.tencent.com/act/pro/cvmweekly?from=18074

pYYBAGMOHTmAcc27AAQz9GbW5Bc794.png#pic_center

2.购买服务器,登录服务器

2.1 配置云服务器环境

服务器配置Linux环境可参考官方产品文档:https://cloud.tencent.com/document/product/213/2936

poYBAGMOHTqAH9PyAAM1eLeR2pk771.png#pic_center

2.2 服务器登录

pYYBAGMOHTuAd-vZAAR6hskNfWI122.png#pic_centerpYYBAGMOHTyAVHcfAAHSeTaHI3s241.png#pic_centerpoYBAGMOHTyALlR9AAKpCc9dwEc827.png#pic_center

登录成功

pYYBAGMOHTyAVphRAAH8Pqvie5s049.png#pic_center

2.3 ssh远程登录服务器

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。

SSH是由客户端和服务端的软件组成的,有两个不兼容的版本分别是:1.x和2.x。 用SSH 2.x的客户程序是不能连接到SSH 1.x的服务程序上去的。OpenSSH 2.x同时支持SSH 1.x和2.x。

服务端是一个守护进程(daemon),他在后台运行并响应来自客户端的连接请求。服务端一般是sshd进程,提供了对远程连接的处理,一般包括公共密钥认证、密钥交换、对称密钥加密和非安全连接。

客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。

2.3.1 ubuntu下安装ssh服务

[wbyq@wbyq home]$ sudo apt-get install openssh-server  #安装ssh服务器
[wbyq@wbyq home]$ sudo /etc/init.d/ssh restart #启动SSH服务
[wbyq@wbyq ~]$ sudo ufw disable  #关闭防护墙

2.3.2 SecureCRT远程登录

  1.windows 下安装 SecureCRT。 此软件自 行下载, 这里就不做说明。
  2.运行 SecureCRT 软件, 添加连接信息。

在这里插入图片描述

3.新建会话

pYYBAGMOHT6AHp81AAJcm81wM8g842.png#pic_centerpoYBAGMOHT6ARftNAAIc_r0rpGc378.png#pic_centerpYYBAGMOHT6ARPQ6AAHDnbyI2VE451.png#pic_centerpoYBAGMOHT-AMIAOAAE9A471dgc482.png#pic_centerpYYBAGMOHT-AEZfdAAEBun9vQaE710.png#pic_centerpoYBAGMOHT-AK_GjAAVCun9P8aA665.png#pic_center

  4. 软件相关设置

pYYBAGMOHUCACD7qAAUt0J1s6HU290.png#pic_centerpoYBAGMOHUGAG4ozAAIe9CVDrkE166.png#pic_centerpYYBAGMOHUGAS708AAKd5p0dW2I764.png#pic_center

3.搭建NFS服务器

3.1 NFS简介

网络文件系统,英文Network File System(NFS),是由SUN公司研制的UNIX表示层协议(presentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。

NFS是基于UDP/IP协议的应用,其实现主要是采用远程过程调用RPC机制,RPC提供了一组与机器、操作系统以及低层传送协议无关的存取远程文件的操作。RPC采用了XDR的支持。XDR是一种与机器无关的数据描述编码的协议,他以独立与任意机器体系结构的格式对网上传送的数据进行编码和解码,支持在异构系统之间数据的传送。

网络文件系统(NFS)是文件系统之上的一个网络抽象,来允许远程客户端以与本地文件系统类似的方式,来通过网络进行访问。虽然 NFS 不是第一个此类系统,但是它已经发展并演变成 UNIX系统中最强大最广泛使用的网络文件系统。NFS 允许在多个用户之间共享公共文件系统,并提供数据集中的优势,来最小化所需的存储空间。

poYBAGMOHUKABod7AASc28UXOBI448.png#pic_center

 当我们在 NFS 服务器设置好一个共享目录/home/public 后,其他有权访问 NFS 服务器的 NFS 客户端就可以将这个目录挂载到自己文件系统的某个挂载点,这个挂载点可以自己定义,并且挂载好后我们在本地能够看到服务端/home/public 的所有数据。如果服务器端配置的客户端只读,那么客户端就只能够只读。如果配置读写,客户端就能够进行读写。

3.2 Ubuntu下安装 NFS 服务器

ubuntu@VM-0-14-ubuntu:~$ sudo apt-get install nfs-kernel-server

3.3 配置共享文件夹

NFS 服务配置文件/etc/exports, 若在/etc 下没有则手动创建一个, 在该文件夹下添加配置内容。

例:/NFS_Share_work *(rw,sync,no_root_squash,no_subtree_check,insecure)

NFS 服务器共享文件夹为:/NFS_Share_work, 给所有 NFS 客户端访问, 权限为读写。

3.4指定 NFS 客户端地址配置说明

客户端地址 具体地址 说明
授权单一客户端访问NFS 192.168.1.20 一般情况, 生产环境中此配置不多
授权整个网段访问NFS 10.0.0.0/24 其中24等同于255.255.255.0,指定网段为生产环境中最常见的配置。配置简单,维护方便
授权整 网段访问 NFS 10.0.0.0* 指定网段另外写法(不推荐使用)
授权所有网段 * 一般在个人访问用的比较多

3.5 NFS配置参数说明

参数 说明
rw 可读写
ro 只读
no_root_squash 登录NFS主机,使用该共享目录时相当于该目录的拥有者,如果是root的话,那么对于这个共享的目录来说,他就具有 root 权限(这个参数权限比较开放, 在生产环境中不建议使用 )
root_squash 登录 NFS 主机,使用该共享目录相当用该目录的拥有者。但如果以 root用户使用这个共享目 录时, 那么这个使用者(root)的权限将被压缩成匿名使用者,即通常它的UID与GID都会变成nobody那个身份
no_subtree_check 即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率
subtree_check 默认属性,若输出目录是一个子目录,则nfs服务器将检查其父目录的权限。
sync 资料同步到磁盘
async 资料暂存在内存中
insecure 允许客户端从大于1024的tcp/ip端口连接服务器

3.6 NFS 服务器配置文件常见案例

常见格式 要共享的目录客户端IP地址或IP段权限设置示例
示例 1 /work 10.0.0.0/24(ro,sync)说明:客户端只读,数据同步到磁盘,授权整个网段(注:24 和’(’之间不能有空格)
示例2 /work *(insecure,rw,no_root_squash,sync)说明: 允许客户端的非授权访问,允许所有客户端读写, 并且数据同步到磁盘,正常情况下 mount 客户端请求服务器源端口必须小于 1024 (然而在使用 NAT 网络地址转换时端口一般总是大于 1024 的) , 默认情况下是开启这个选项的, 如果要禁止这个选项, 则使用 insecure 标识, 如果不禁止该选项, 客户端在挂载服务器时会出现错误。
示例3 /work *(,rw,no_root_squash,sync) 说明: 允许所有客户端读写,并且数据同步写到服务器揣的磁盘里,共享文件的访问权限和登录者身份一致

  注意:若挂载时报错mount.nfs: access denied by server while mounting,则需要在服务端NFS配置文件中加上insecure。

4.服务器下搭建 NFS 实例

4.1 编写NFS配置文件

  NFS配置文件为/etc/export文件,没有则手动创建一个。

ubuntu@VM-12-3-ubuntu:~$ vim /etc/export
/nfs_shared *(rw,sync,no_root_squash,no_subtree_check,insecure)
  • 开放所有监听端口
pYYBAGMOHUOAJudzAAKJt6f-KJw117.png#pic_center
  • 设置两个NFS共享目录。
poYBAGMOHUOABcJnAADEiP_SaJI370.png#pic_center

4.2 编写脚本文件启动NFS服务器,关闭防火墙

ubuntu@VM-12-3-ubuntu:~$ touch nfs_start.sh
ubuntu@VM-12-3-ubuntu:~$ vim /nfs_start.sh
#启动 NFS 服务器
/etc/init.d/nfs-kernel-server start
#关闭防火墙
ufw disable

5.NFS服务器相关命令使用

5.1 exprotfs命令

  在NFS服务器端,当修改了/etc/exportfs 文件后,使用 exportfs 执行即可,不需要重新启动NFS 服务器。

  • exprotfs命令说明
exportfs [-aruv]
选项与参数:
-a : 全部挂载(或卸除) /etc/exports文件内的设定。
-r : 重新挂载 /etc/exports 里 面的设定,同步内容配置内容。
-u : 卸除某一目录。
-v : 将分享的目录显示到屏幕上。

  例 1:重新挂载一次/etc/exports文件设定的内容

[xsw@xsw ~]$ sudo exportfs -arv
exporting *:/home/xsw/share_work

  例 2:将已经分享的 NFS 资源全部卸除

[wbyq@wbyq ~]$ sudo exportfs -auv
# 这时如果你再使用 showmount -e localhost 就会看不到任何资源了!

5.2 showmount 命令

  • Showmount 命令参数
[root@www ~]# showmount [-ae] [hostname| IP]
选项与参数:
-a : 显示目前主机与客户端的NFS联机分享的状态;
-e : 显示某部主机的/etc/exports 所分享的目录数据。

  在 NFS 服务器设置好后, 可以使用 showmount 命令在服务端测试共享目录是否启动成功。

[xsw@xsw ~]$ sudo showmount -e localhost

  在客户端查询某部主机NFS分享的目录

[xsw@xsw ~]$ showmount -e 42.192.3.192
Export list for 42.192.3.192:
/nfs_share_work *

5.3 客户端挂载和卸载NFS服务器

  客户端访问服务器前,需要知道服务器IP,然后可以通过showmount命令查看服务器NFS共享目录,如果是局域网访问,那么需要保证客户端与服务器在同一网段下,如果是公网访问,需要保证客户端这个能过正常连接外网网络。

  • 客户端挂载NFS服务器
[xsw@xsw ~]$ showmount -e 42.192.3.192 #查看服务器共享NFS目录
Export list for 42.192.3.192:
/nfs_share_work *
[xsw@xsw ~]$ sudo mount -t nfs 42.192.3.192:/nfs_share_work ./mnt/ #将共享目录挂载到本地mnt目录下

  如果挂载服务器时,提示 mount 命令卡住了,或者报错提示无法加锁等提示时,需要在挂载命令上加一个-onolock 参数。

[xsw@xsw ~] $ sudo mount -t nfs -o nolock 42. 192. 3. 192: /nfs_share_work . /mnt/
  • 卸载挂载目录
[xsw@xsw ~] $ sudo umount /home/xsw/mnt/


审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 文件系统
    +关注

    关注

    0

    文章

    284

    浏览量

    19869
  • NFS
    NFS
    +关注

    关注

    1

    文章

    52

    浏览量

    26074
  • 云服务器
    +关注

    关注

    0

    文章

    520

    浏览量

    13331
收藏 人收藏

    评论

    相关推荐

    Linux开发_CentOS7.4服务器搭建NFS、NGINX服务器,安装ffmpeg、Qt环境

    在CentOS7.4服务器版本的环境搭建NFS服务器、安装ffmpeg、安装nginx服务器
    的头像 发表于 07-14 13:45 1511次阅读
    Linux开发_CentOS7.4<b class='flag-5'>服务器</b><b class='flag-5'>搭建</b><b class='flag-5'>NFS</b>、NGINX<b class='flag-5'>服务器</b>,安装ffmpeg、Qt环境

    飞凌嵌入式ElfBoard ELF 1板卡-常见网络服务搭建NFS服务搭建

    网络文件系统(Network File-System),可以通过网络让不同机器、不同系统之间可以实现文件共享。通过
    发表于 09-26 09:50

    【AWorks试用体验】+NFS服务器搭建

    本帖最后由 youzizhile 于 2015-8-18 15:53 编辑 6.4 NFS服务器搭建6.4.1 NFS能做什么?在嵌入式Linux开发中,需要在Linux主机为目
    发表于 08-18 15:51

    4412开发板学习笔记-NFS服务器搭建

    Linux根文件系统裁剪和集成也是十分有必要的。接下来说说如何搭建NFS服务器1、安装nfs服务
    发表于 06-20 14:29

    ubuntu搭建NFS服务器

    -kernel-server restart5.验证nfs服务器,执行完以下命令查看/mnt目录,会看到刚才解压的文件系统#mount -t nfs -o nolock192.168.
    发表于 11-02 16:08

    NFS挂载网络文件系统学习

    今天主要的是学习一NFS挂载网络文件系统。 我这里主要是为了学习嵌入式linux开发而准备的。先分析网络
    发表于 12-22 06:03

    【米尔王牌产品MYD-Y6ULX-V2开发板试用体验】挂载NFS网络文件系统

    /linux/nfs *临时挂载NFS文件系统使用mount命令挂载NFS服务器的共享目录到开发板/mnt目录下:注意:需要把下面的192.
    发表于 12-04 22:28

    TI-Davinci DM6446开发平台的网络文件系统NFS搭建和测试

    TI-Davinci DM6446开发平台的网络文件系统NFS搭建和测试
    发表于 10-26 14:35 5次下载
    TI-Davinci DM6446开发平台的<b class='flag-5'>网络</b><b class='flag-5'>文件系统</b>(<b class='flag-5'>NFS</b>)<b class='flag-5'>搭建</b>和测试

    Mini210s NFS挂接根文件系统

    Mini210s NFS挂接根文件系统
    发表于 10-29 10:50 9次下载
    Mini210s <b class='flag-5'>NFS</b>挂接根<b class='flag-5'>文件系统</b>

    Ubuntu搭建NFS,在Smart210挂载

    不过所谓NFS(Network File System)是网络文件系统,它允许网络中的计算机之间通过TCP/IP网络共享资源。在
    发表于 04-19 14:49 1545次阅读

    详细解读NFS 文件系统源代码

    NFS(Network File System,网络文件系统)是一种基于网络文件系统。它可以将远端服务
    发表于 05-13 09:45 3797次阅读
    详细解读<b class='flag-5'>NFS</b> <b class='flag-5'>文件系统</b>源代码

    嵌入式NFS网络文件系统实验报告

    基于Linux虚拟机:NFS网络文件系统
    发表于 06-07 09:59 0次下载

    嵌入式linux实现mount挂载nfs服务器拷贝文件

    nfs服务器一般在本地虚拟机ubuntu搭建nfs服务器就行,具体流程,可以查看我的博客ubuntu
    发表于 11-01 17:07 1次下载
    嵌入式linux实现mount挂载<b class='flag-5'>nfs</b><b class='flag-5'>服务器</b>拷贝<b class='flag-5'>文件</b>

    嵌入式Linux | 挂载网络文件系统

    File System) ,即网络文件系统, 能使使用者访问网络上别处的文件就像在使用自己的计算机一样。 其工作原理是使用客户端/服务器
    发表于 11-02 11:06 19次下载
    嵌入式Linux | 挂载<b class='flag-5'>网络</b><b class='flag-5'>文件系统</b>

    服务器数据恢复—xfs文件系统服务器数据恢复案例

    某公司一台服务器,连接了一台存储。该服务器安装linux操作系统文件系统为xfs。 在运行过程中该服务器出现故障,管理员使用xfs_re
    的头像 发表于 08-19 10:49 220次阅读