nfs系统的搭建(代码片段)

xuyaowen xuyaowen     2022-11-13     540

关键词:

问题:

  由于工作,需要,不断得进行挂在硬盘重装系统,NFS 系统给了我一个很好的解决方案。于是决定写一篇博客,防止以后再次使用的时候,能够很快得重新建立NFS 文件系统。

调研:

   NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

好处: 1. 节省本地存储空间,可以通过网络访问。 2. 可以所有用户共用一个文件系统。 3. 共享文件,并且减少网络中的移动设备的数量。

开发商: sun  公司 

种类: RPC 服务系统 

目的: 达到文件共享的目的,可以在不同系统之间使用嗯,通信协议与主机及操作系统无关。 就好像操作本地文件系统一样。

架构:

  

      对于RPC 不太了解的同学可以参见:

      深入浅出 RPC - 浅出篇  深入浅出 RPC - 深入篇

使用:

 1. 查看本地,是否已经安装了  nfs 和 rpcbind , 为什么要检查是否安装了 rpcbind : nfs 系统是rpc 系统的一种。它需要使用rpc 服务,才能正常使用。如果没有请使用 yum install 安装相应的包。

[yaowen@dhcp-65-15 ~]$ rpm -qa | grep nfs
qemu-block-nfs-2.9.1-2.fc26.x86_64
nfs-utils-2.2.1-4.rc2.fc26.x86_64
sssd-nfs-idmap-1.16.1-3.fc26.x86_64
libnfs-1.9.8-3.fc26.x86_64
libnfsidmap-2.2.1-4.rc2.fc26.x86_64
[yaowen@dhcp-65-15 ~]$ rpm -qa | grep rpcbind
rpcbind-0.2.4-8.rc3.fc26.x86_64
[yaowen@dhcp-65-15 ~]$ 

2. 当你安装好后,进行创建本地文件夹,来进行作为 nfs 的目录,并设置权限。

[yaowen@dhcp-65-15 ~]$ ll 
total 36
drwxr-xr-x. 2 yaowen yaowen 4096 Jun 27  2017 Desktop
drwxr-xr-x. 2 yaowen yaowen 4096 Jun 27  2017 Documents
drwxr-xr-x. 2 yaowen yaowen 4096 Jun 27  2017 Downloads
drwxr-xr-x. 2 yaowen yaowen 4096 Jun 27  2017 Music
drw-rw-rw-. 2 yaowen yaowen 4096 May 17 00:43 NFS
drwxr-xr-x. 2 yaowen yaowen 4096 Jun 27  2017 Pictures
drwxr-xr-x. 2 yaowen yaowen 4096 Jun 27  2017 Public
drwxr-xr-x. 2 yaowen yaowen 4096 Jun 27  2017 Templates
drwxr-xr-x. 2 yaowen yaowen 4096 Jun 27  2017 Videos
[yaowen@dhcp-65-15 ~]$ ll NFS
total 0

3. 进行使用 nfs 配置文件

/home/yaowen/NFS 10.66.0.0/16(rw,no_root_squash,no_all_squash,sync)

参数值  内容说明
rw  ro 该目录分享的权限是可擦写 (read-write) 或只读 (read-only),但最终能不能读写,还是与文件系统的 rwx 及身份有关。

sync  async sync 代表数据会同步写入到内存与硬盘中,async 则代表数据会先暂存于内存当中,而非直接写入硬盘

no_root_squash  root_squash 客户端使用 NFS 文件系统的账号若为 root 时,系统该如何判断这个账号的身份?预设的情况下,客户端 root 的身份会由 root_squash 的设定压缩成 nfsnobody, 如此对服务器的系统会较有保障。但如果你想要开放客户端使用 root 身份来操作服务器的文件系统,那么这里就得要开 no_root_squash  

all_squash 不论登入 NFS 的使用者身份为何, 他的身份都会被压缩成为匿名用户,通常也就是 nobody(nfsnobody)  

具体参数配置可以查找:2019年12月2日23:18:16

man exports 

4. 重新载入 配置文件

exportfs -r

5. 重新启用 rpcbind 和 nfs 服务

6. 配置,防火墙。测试的时候,如果我们使用 fedora 的话,我们使用 

systemctl stop firewalld.service  关闭 防火墙

7.在 另外一个电脑上,检查nfs 所在主机的可用列表:

➜ nfs showmount -e 10.66.65.15 (注意此时需要把防火墙关掉进行测试,因为如果你只开了nfs端口,可能其他相关端口没开(具体什么端口我没有调研),导致showmount阻塞不显示;)
Export list for 10.66.65.15:
/home/yaowen/NFS 10.66.8.0/24,10.66.0.0/16

这里有两个网段,是配置文件里我重复进行了配置,具体的显示的内容,会根据你的配置显示。

8. 挂载

创建挂在点,进行挂载

sudo mount -t nfs 10.66.65.15:/home/yaowen/NFS /home/xuyaowen/nfs

9. 检测

通过创建文件,在客户机上检查文件系统,是否能正常运行。

➜ nfs df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs 3.8G 57M 3.7G 2% /dev/shm
tmpfs 3.8G 2.0M 3.8G 1% /run
tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
/dev/mapper/fedora-root 49G 8.5G 38G 19% /
tmpfs 3.8G 124K 3.8G 1% /tmp
/dev/sda3 976M 186M 723M 21% /boot
/dev/mapper/fedora-home 30G 1.4G 27G 5% /home
tmpfs 769M 16K 769M 1% /run/user/42
tmpfs 769M 56K 769M 1% /run/user/1000
10.66.65.15:/home/yaowen/NFS 404G 284M 383G 1% /home/xuyaowen/nfs

可见,最后一行,就是我所挂载的文件系统。

10. 卸载

使用 umount 命令

11. 防火墙配置

我们可以根据nfs 配置文件,固定 nfs 使用的端口。这样我们就能根据使用的端口,来进行配置 防火墙的使用策略。

这里,因为暂时不需要,也就不去研究了。我想,配置起来也很简单。自己稍微查查资料就可以的。

现在,你就有一个可以用的 nfs 文件系统了。

如何在 windows 上挂载 nfs 请参考如下链接:

https://www.cnblogs.com/xuyaowen/p/windows_server_mount_nfs.html

保持更新,转载请注明出处。 2018.5.21 in Beijing.

# 补充 在ubuntu 1806 上安装nfs服务器:2019年12月2日23:17:53 

  • sudo apt-get install nfs-kernel-server
  • 之后编辑 /etc/exports : /tmp/nfs 192.168.0.0/16(rw,no_subtree_check,no_root_squash,no_all_squash,sync) (注意:修改exports 后,记得要重启nfs和rpcbind服务器)
  • exportfs -r 
  • showmount -e 查看当前导出网络文件系统;
  • 启动 nfs 服务:systemctl restart nfs-kernel-server.service ; systemctl restart rpcbind.service;(ubuntu 1804)
  • 开放防火墙端口 ufw allow nfs;
  • 在另外一个机器上挂载nfs: mount -t nfs -o fsc,sync,proto=tcp 192.168.5.3:/tmp/nfs /mnt/nfs (表示当前nfs挂载成功)
  • 另外一个挂载命令:mount.nfs -o fsc,sync,proto=tcp 192.168.5.223:/tmp/nfs /mnt/nfs 
  • 常用命令:mount.nfs -o fsc,sync,proto=tcp 10.0.2.106:/home /home/ONEPLACE  (实际使用时挂载命令实例)
  • 之后可以进行测试;(注意此处fsc 表示使用 fs-cache作为nfs的缓存,具体详情请见:https://www.cnblogs.com/xuyaowen/p/fs-cache.html

参考文献:

https://cloud.tencent.com/developer/article/1171888 在Ubuntu上配置NFS 

https://cloud.tencent.com/developer/article/1168897?from=10680 SSHFS远程挂载文件夹 

保持更新,转载请注明出处;更多内容请关注 cnblogs.com/xuyaowen; 2019年12月2日23:26:18 in beijing;

nfs(代码片段)

NFS全称net-file-system是一款网络文件系统。它的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件(NFS一般用来存储共享视频,图片等静态数据)。而在客户端看来,共享的目录就是其本身的目录。网络... 查看详情

ubuntu下搭建nfs服务(代码片段)

1、NFS介绍NFS(NetworkFileSystem)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上... 查看详情

在centos中搭建nfs(代码片段)

概述NFS是一款经典的网络文件系统,在Linux上我们可以通过创建一个NFS服务在不同的服务器之间共享磁盘文件,而不用在多个服务器之间进行不断的拷贝复制,麻烦且浪费存储空间。在k8s中我们也可以使用NFS来作为我们的存储类... 查看详情

nfs服务搭建(代码片段)

1、系统环境查询当前系统,安装对应得版本得nfs相关软件;本文系统环境为Ubuntu16.04amd64#lsb_release-a?2、NFS服务器端2.1软件安装2.1.1deb安装直接deb安装#dpkg-i*.deb?2.1.2联网安装#apt-getinstallnfs-kernel-server?3.2服务配置3.2.1防火墙设置若不... 查看详情

linux搭建nfs开发环境(代码片段)

网络文件系统,英文NetworkFileSystem(NFS),是由SUN公司研制的UNIX表示层协议,能使使用者访问网络上别处的文件就像在使用自己的计算机一样。我们可以在Ubuntu上制作板子需要的文件,然后使用NFS来加载文件到板子... 查看详情

centos7.9:nfs服务搭建与配置(代码片段)

...FS工作原理简介NFS是NetworkFileSystem的缩写,即网络文件系统。一种使用于 查看详情

redhat6.5中搭建nfs共享存储服务(代码片段)

NFS是一种基于TCP/IP传输的网络文件系统协议,通过NFS服务客户机可以像访问本地目录一样访问远程NFS服务器中提供的共享资源,对于大多数负载均衡群集来说,使用NFS协议来共享数据库较为常见,但NFS服务没有用户认证机制,且... 查看详情

nfs服务搭建与配置(代码片段)

NFS服务搭建与配置NFS介绍NFS服务端安装配置NFS配置选项exportfs命令NFS客户端问题NFS介绍NFS是NetworkFileSystem的缩写NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本NFS数据... 查看详情

搭建nfs服务实现两台虚拟机之间共享(代码片段)

NFS网络文件系统,实现Linux与Linux之间的简化文件共享服务1.创建目录,将光盘镜像挂载到新建目录上mkdir-p/media/cdrommount-oloop/dev/cdrom/media/cdrom2.配置yum源,安装nfs服务cd/etc/yum.repos.dvilocal.repo[redhat]name=redhatbaseurl=file:///media/cdromen 查看详情

nfs服务搭建与配置(代码片段)

NFS介绍NFS是NetworkFileSystem的缩写NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本NFS数据传输基于RPC协议,RPC为RemoteProcedureCall的简写。NFS应用场景是:A,B,C三台机器上需要... 查看详情

nfs服务器搭建与配置(代码片段)

NFS服务器搭建与配置前言一、nfs介绍:1.什么是nfs?2.为什么需要nfs服务器?3.nfs服务器是否是最佳的解决方法?4.存储服务器的优缺点5.nfs解决了什么问题?有什么优缺点?二、具体实验操作:1.环境准备:2.安装nfs的相关软件3.启动nfs-s... 查看详情

nfs网络文件共享系统-综合架构no.2(代码片段)

...信不可能就是自废武功!!!nfs服务器搭建文档1.先打印系统版本cat/etc/redhat-releaseuname-runame-m2.在所有需要使用nfs的服务器上安装nfs-utilsrpcbindyuminstallnfs-utilsrpcbind-yrpm-qanfs-utilsrpcbind安装好nfs系统会创建一个nfsnobody用户3.必须先启动... 查看详情

⚡超容易的nfs存储服务搭建流程⚡(代码片段)

文章目录一、NFS存储服务概念介绍二、NFS服务软件的基本作用三、NFS服务存储数据原理四、服务端NFS服务部署流程🔅1.检查相应存储软件是否安装🔅2.编写配置文件🔅3.创建共享目录信息,目录授权🔅4.启动nfs相关... 查看详情

kubernetes集群搭建zabbix监控平台(代码片段)

...3.zabbix的主要功能4.zabbix架构图二、检查本地k8s环境1.检查系统pod运行状态2.检查node节点状态三、配置nfs共享存储1.安装nfs2.创建共享目录3.配置共享目录4..启动相关服务5.使配置生效6.查看nfs7.其他节点检查nfs共享四、安装zabbix-mysql 查看详情

嵌入式设备搭建nfs环境(服务器/客户端源码下载编译文件系统适配内核适配)(代码片段)

1、什么是nfs(1)NFS(NetworkFileSystem)是网络文件系统,能让使用者访问网络上别处的文件就像在使用自己的计算机一样;(2)NFS是基于UDP/IP协议的应用,其实现主要是采用远程过程调用RPC机制,RPC提供了一组与机器、操... 查看详情

ubuntunfs服务搭建(代码片段)

...派生用场了。nfs(NetworkFileSystem)是一个网络文件系统。使用该文件系统,便能在目标板卡上访问开发宿主机上的文件,还能进行互相拷贝和移动,非常方便。本文主要描述nfs的搭建方式,由于不同环境和... 查看详情

开发环境搭建(代码片段)

...供nfs服务器使用,以后我们可以在开发板上通过网络文件系统来访问nfs文件夹,要先配置nfs,使用如下命令打开nfs配置文件/etc/exports:1sudovi/etc/exports  打开/etc/exports以后在后面添加如下所示内容(”***“为用户名):1/h... 查看详情

ubuntu20.04nfs搭建(代码片段)

使用命令安装NFS服务:sudoapt-getinstallnfs-kernel-serverrpcbind等待安装完成,安装完成以后在用户根目录下创建一个名为“linux”的文件夹,以后所有的东西都放到这个“linux”文件夹里面,在“linux”文件夹里面新建一... 查看详情