跳至主要内容

NFS基础使用实例

 网络文件系统(NFS)是一种分布式文件系统协议,它允许用户通过网络访问文件,就像访问本地磁盘一样。由Sun Microsystems于1984年开发的NFS提供了一种通过网络与他人共享目录和文件的方法。NFS广泛应用于UNIX和Linux环境,但也被其他操作系统(如Windows)所支持。

本文介绍了能够轻松挂载NFS导出的基本服务器配置。此外,由于NFS(无Kerberos)的授权选项有限,本文给出了一些如何通过配置选项提高NFS服务器的安全性和可访问性的提示。

NFS基本结构

NFS服务器/客户端结构

NFS体系结构基于服务器/客户机模型,其中NFS服务器托管文件系统,并使它们可供NFS客户机使用。NFS协议的实际版本为NFS v4 (RFC 7530)。
NFS多客户端结构示例

NFS服务器

NFS服务器负责通过网络与客户端共享其目录和文件。服务器控制对其文件系统的访问,管理权限,并处理客户端对数据的请求。

NFS服务器的关键组件包括:
  • 导出目录:可供客户端使用的目录。
  • 访问控制:控制哪些客户端可以访问哪些目录的权限集。
  • NFS守护进程:管理来自客户端的文件系统请求的后台进程(例如 nfs-server.service )。

NFS客户端

NFS客户端是指从NFS服务器访问共享目录的部分。客户机在本地挂载远程文件系统,允许用户与它们交互,就像它们在本地机器上一样。
NFS客户端的关键任务包括:
  1. 挂载远程目录: dietpi-drive_manager  (Linux操作系统 mount )等命令用于连接NFS服务器并访问共享目录。
  2. 与挂载的文件系统交互:在挂载的目录上执行文件操作(如读、写、删除)。

NFS服务器安装

NFS服务器的安装通过安装 nfs-kernel-server 完成,可以通过菜单导航或直接从命令行安装:
这将安装NFS服务器(Debian软件包 nfs-kernel-server ),生成一个示例NFS导出配置文件 /etc/exports.d/dietpi.exports 并启动服务器。
默认的exports文件包含 /mnt/dietpi_userdata ,没有任何客户端限制:

root@NFS-server:~# cat /etc/exports.d/dietpi.exports
/mnt/dietpi_userdata *(rw,async,no_root_squash,crossmnt,no_subtree_check)
/ mnt / dietpi_userdata * (rw,异步、no_root_squash crossmnt, no_subtree_check)
(注:直到DietPi v9.8,导出文件有选项 fsid=0 。这导致 dietpi-drive_manager 挂载过程出现问题:当时只使用NFS v3(见下文)。在NFS v4中使用 fsid=0 只能通过手动编辑 /etc/fstab 文件来实现。

使用以下命令启动服务器

systemctl status nfs-server


root@NFS-server:~# systemctl status nfs-server         
● nfs-server.service - NFS server and services
Loaded: loaded (/lib/systemd/system/nfs-server.service; enabled; preset: enabled)
Drop-In: /run/systemd/generator/nfs-server.service.d
└─order-with-mounts.conf
Active: active (exited) since Fri 2024-09-13 02:51:45 BST; 10min ago
Process: 473 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
Process: 475 ExecStart=/usr/sbin/rpc.nfsd (code=exited, status=0/SUCCESS)
Main PID: 475 (code=exited, status=0/SUCCESS)
CPU: 4ms

Sep 13 02:51:45 NFS-server systemd[1]: Starting nfs-server.service - NFS server and services...
Sep 13 02:51:45 NFS-server systemd[1]: Finished nfs-server.service - NFS server and services.
Active: active 部分表示服务器已经启动并运行。

NFS客户端安装

通常,用户不需要显式安装NFS客户端,因为如果通过安装nfs挂载NFS共享,则会自动安装NFS客户端。
这将安装NFS客户机(Debian软件包 nfs-common ),而不需要任何进一步的NFS挂载操作。
安装完成后检查状态
systemctl status nfs-client.target


root@NFS-client:~# systemctl status nfs-client.target ● nfs-client.target - NFS client services Loaded: loaded (/lib/systemd/system/nfs-client.target; enabled; preset: enabled) Active: active since Fri 2024-10-25 16:42:11 BST; 20min ago Oct 25 16:42:11 NFS-client systemd[1]: Reached target nfs-client.target - NFS client services. 

评论

此博客中的热门博文

手把手教你用威联通nas(2)——快速入门

  不少童鞋买回来威联通nas却不知道如何下手,完全不知道怎么配置,本篇手把手教大家从系统初始化开始配置威联通qts系统,快速入门。 第一篇:《 小白也能玩转威联通nas(1)——四盘位 464c2简单开箱以及加装内存 》 一、系统初始化 先提前下载qfinder pro(威联通nas管理软件),这个是用来查找nas ip,当然也可以在路由器后台查找nas ip,软件下载地址: https://www.qnap.com.cn/zh-cn/utilities/essentials#utliity_5 nas插电开机后等待一段时间,qfinder pro会自动搜索到局域网内的威联通nas。这时候可以在浏览器输入nas的ip:5000(例如192.168.31.27:5000)进入到nas控制台,也可以点击状态那里直接自动打开。 一般新的nas还会自动弹出延保的,点击关闭即可。 现在就进入到系统初始化设置的阶段,点击安装。 这里会要求选择固件版本,强烈建议直接选择5.1版本。 进行管理员账户密码配置。 这里注意admin为最高权限账户(root),默认禁用,如果需要对系统进行修改,需要登录到admin,默认admin登录密码为网口1的mac地址(不知道mac地址可以直接看路由器后台,或者看qfinder pro),为了安全起见,强烈建议非特殊情况不要开启admin,若需要用也建议使用后关闭账户。 开始配置时区,一般都是不用调整,除非和当前时区不一致再修改。 配置ip,除非路由器关闭了dhcp或者需要自己划分ip,不然都选自动获取IP。 注意,强烈建议自动获取ip地址之后在路由器进行arp绑定,可以理解成把当前的ip与机器绑定,不然过段时间内网ip会变动,导致原本的smb等网络共享连接失败。 最后就是检查全部配置。 之后会提示初始化系统会删除所有硬盘数据。 注意:如果原本有威联通nas,需要硬盘迁移到新设备,千万不要在此时把数据盘放入,否则会删除所有的数据!!!需要迁移硬盘第一种是把原本所有的磁盘都迁移过来,这样就不会重新安装系统,自然没有这一步;第二种是只迁移数据盘,那需要初始化系统盘之后再把数据盘插进去恢复。 注:上面说的数据盘和系统盘在威联通其实并没有这个概念,但是我们可以单独用一块硬盘先初始化系统,此时系统数据就会存储在上面,就是通常意义上的系统盘;数据盘就...

小白也能玩转威联通nas(1)——四盘位 464c2简单开箱以及加装内存

  最近上车了威联通的464c2,虽然处理器还是n5095,但是可以自行更换内存,自带8g内存,价格也是非常不错,新的5.1系统也流畅不少,这里干脆就趁现在写几篇小白教程,从0开始使用威联通nas。 之前也有一些童鞋在公众号后台私信说为什么我都自己组个nas了还用成品,自组nas是可玩性高,成本也低,但是我认为个人认为存储最重要的是数据安全以及稳定,事实证明我也根本玩不动truenas,三天两头炸一次,黑裙之前也炸过(虽然都是自己折腾),基本上每个月就能看到各种炸系统的,truenas/黑裙一旦炸机,要么靠网友要么靠自己,不然有很大概率救不回来,不折腾也一样会突然暴毙,当然,成品nas也可能会,但至少还能找官方,至于这多花的钱是不是智商税那就仁者见仁智者见智。 威联通之前的系统一直被人诟病卡、慢、难用,前两个倒是真的,后面难用仁者见仁智者见智,我还觉得群晖那种傻瓜式系统一点都不好用,要啥没啥,功能到处缺失,不过前些日子威联通qts 5.1正式发布了,那个流畅度是真的提升不少,在我看来只要继续打磨就可以了, 之后的教程也是以5.1系统为例 ,毕竟不会还有人会守着5.0系统吧。 这里也简单介绍一下464c2的配置: n5095的cpu用来跑一些轻量化的任务是绰绰有余,软raid也可以跑满sata; 自带8g笔记本内存,两个内存槽也可以自行更换和升级内存; 四个3.5寸盘位,如果用A2AR硬盘转接盒能接8个2.5寸硬盘; 两个m.2槽,能存储数据也能当缓存盘,就是速度只有3.0x2; 两个2.5g网卡中规中矩; 体积也算小,但个人认为家用没必要追求小体积,毕竟塞一塞还能能放下的。 一、开箱 到手先检查封口,无开封就行。 打开外包装,拿出机器,内含一根网线(两个网口就一根线....);84w的航嘉电源适配器,这个功率带4盘位也是足够了,就是不能做成内置式的吗,后面还拖个尾巴都不好放;一堆硬盘螺丝;两个m.2散热马甲;一对硬盘托盘钥匙;一份建议看的说明书。 看下机器本体,正面四个3.5存盘位,硬盘托盘现在带锁了(这个真的要好评!!!),不用担心有人以为这是共享充电宝直接拔出来了;一堆指示灯;一个usb3.1;一个快速复制按钮;一个电源按钮。 机器背面两个2.5g网口,可以链路聚合实现速度翻倍变成5g;一个usb3.1;一个usb2.0,接ups刚刚好;一个hdmi;一...

耗时超十年完成4.17 亿像素的仙女座星系全景图

  这张仙女座星系的照片拼图距离地球250万光年,是利用哈勃太空望远镜图像制作出的有史以来最大的一张。它包含600多张哈勃图像,制作耗时超过十年。这张合成图像展现了2亿颗恒星,而仙女座星系估计有一万亿颗恒星,这不过是其中一小部分。| 完整尺寸版本 (203MB)  天文学家借助哈勃太空望远镜,完成了对仙女座星系最为全面的观测,并制作出一幅4.17亿像素的全景图。这幅全景图耗时十余年完成,包含600多张照片。 这幅巨型全景图像素为42208×9870,是利用哈勃太空望远镜观测数据制作出的最大的照片拼图。这一巨大拼图展现了2亿颗恒星,而仙女座星系估计有一万亿颗恒星,这仅仅是其中一小部分。该拼图像素总数达25亿,其细节将助力科学家进一步探究仙女座星系的历史,包括它与较小卫星星系在遥远过去的合并情况。 作为银河系最近的邻居,仙女座星系长久以来一直吸引着天文学家。一个世纪前,以哈勃太空望远镜命名的埃德温·哈勃(Edwin Hubble)证实,当时被称为“螺旋星云”的仙女座星系,实际上远在银河系之外。在这一发现之前,人们认为银河系就是整个宇宙。哈勃的这一发现,瞬间改变了人类对宇宙的认知。 “有趣的区域包括:(a) 镶嵌在星系内的亮蓝色恒星团、在更遥远背景处可见的星系,以及几颗实际上位于我们银河系内的明亮前景恒星的‘乱入抢镜’;(b) NGC 206,仙女座星系中最显眼的恒星云;(c) 一个由新生蓝色恒星组成的年轻星团;(d) 卫星星系M32,它可能是曾经与仙女座星系碰撞的一个星系的残留核心;(e) 横跨无数恒星的黑暗尘埃带。” | 完整尺寸版本   仙女座星系的影响持续显著,因为它为研究银河系提供了关键线索。美国国家航空航天局(NASA)解释道:“倘若没有仙女座星系作为宇宙中螺旋星系的代表,天文学家对我们银河系的结构与演化了解将大为减少。这是因为我们身处银河系之中。这就好比站在中央公园中央,试图弄清楚纽约市的布局。” 华盛顿大学的首席研究员本·威廉姆斯(Ben Williams)解释说:“借助哈勃望远镜,我们能够深入了解仙女座星系整个星系盘上全面而细致的情况。对于其他任何大型星系,我们都无法做到这一点。”  哈勃合成全景图的局部精选画面 尽管较新的詹姆斯·韦布空间望远镜抢了哈勃一些传奇的风头,但哈勃空间望远镜对于天文学和物理学研究依然至关重...