Ubuntu 使用NFS共享存储
服务端和客户端系统:Ubuntu
服务端IP:192.168.128.1
客户端IP:192.168.128.130
NFS:网络文件系统(Network File System),能够直接访问其计算机的文件
服务端安装和配置:
1. 安装nfs-kernel-server
sudo apt install -y nfs-kernel-server
2. 配置参数
2.1 打开配置文件
sudo vim /etc/exports
2.2 在/etc/exports最后一行添加以下内容
/home/xqs/xian 192.168.128.130(rw,sync,no_root_squash,no_subtree_check)
TIPS:
指定方式: 可以IP,也可以是子网所有的IP,也可以是域名,或者所有的主机
IP:192.168.128.130
子网所有的IP:192.168.0.0/24
域名:www.baidu.com
所有主机:*
参数:
ro 该主机对该共享目录有只读权限
rw 该主机对该共享目录有读写权限
root_squash 客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户
no_root_squash 客户机用root访问该共享文件夹时,不映射root用户
all_squash 客户机上的任何用户访问该共享目录时都映射成匿名用户(nfsnobody)
no_all_squash 与all_squash取反(默认设置)
anonuid=XXX 将客户机上的用户映射成指定的本地用户ID的用户(UID=xxx)
anongid=XXX 将客户机上的用户映射成属于指定的本地用户组ID (GID=xxx)
sync 资料同步写入到内存与硬盘中,效率低,但可以保证数据的一致性
async 资料会先暂存于内存中,而非直接写入硬盘
insecure 允许从这台机器过来的非授权访问
subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
no_subtree_check 和上面相对,不检查父目录权限
wdelay 检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置)
no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。若有写操作则立即执行,应与sync配合使用
hide 在NFS共享目录中不共享其子目录
no_hide 共享NFS目录的子目录
secure NFS通过1024以下的安全TCP/IP端口发送
insecure NFS通过1024以上的端口发送
3. 重启NFS服务
在终端重启输入指令重新启动
sudo systemctl stop nfs-kernel-server
sudo systemctl start nfs-kernel-server
客户端安装配置:
1. 安装客户端
sudo apt install -y nfs-common
2. 查看服务端所共享的文件目录
showmount -e 192.168.128.1
3. 挂载共享目录到客户端指定目录下
3.1 临时挂载(重启电脑需要重新挂载)
sudo mount -t nfs 192.168.128.1:/home/xqs/xian /home/xian/works
3.2 永久挂载(重启电脑不用重新挂载)
打开/etc/fstab在最后一行加入以下内容:
192.168.128.1:/home/xqs/xian /home/xian/works nfs defaults 1 1
3.3 在终端执行执行指令,让fstab添加参数生效(注意:一定是root用户)
1 | mount -a |
3.4 查看以下是否成功
4. 取消挂载
umount /home/xian/works
或删除/etc/fstab中步骤3.2添加的一行代码
5. 注意NFS服务没有密码验证,安全性一般,最好内网使用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库