Linux通过NFS实现文件共享

简介: Linux通过NFS实现文件共享

在项目生产环境我们经常需要实现文件共享,传统的常见方案是通过NFS,实现服务器之间共享某一块磁盘,通过网络传输将分散的文件集中存储在一块指定的共享磁盘,实现基本的文件共享。实现这种方案,分服务端和客户端,将服务端的磁盘mount到客户端指定目录下,在客户端操作就像操作本地磁盘一样,nfs基本的安装如下:


模拟环境:


服务端/客户端 服务器IP 版本信息
服务端 1.2.1.11 centOS 7.2
客户端 3.1.8.4 centOS 7.2


一、服务端安装NFS


step1、安装nfs和rpcbind程序:yum -y install nfs*


step2、检测nfs与rpcbind是否安装OK


rpm -qa |grep nfs
  rpm -qa |grep rpcbind


step3、创建一个共享目录,并配置共享信息


 mkdir /data01/nfs     这里假设共享目录为/data01/nfs


 vi  /etc/exports

aHR0cHM6Ly9pbWcyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTI1NDIzOC8yMDE4MTEvMTI1NDIzOC0yMDE4MTEyODE2MDU0NzgzMy0xMjA0NzIzMzA4LnBuZw.png


step4、启动nfs,rpcbind

systemctl enable rpcbind
  systemctl start rpcbind
  systemctl enable nfs
  systemctl start nfs

step5、查看是否共享成功


showmount -e localhost


aHR0cHM6Ly9pbWcyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTI1NDIzOC8yMDE4MTEvMTI1NDIzOC0yMDE4MTEyODE2MDgwNTg5My0zNDU0NDI1NzgucG5n.png


二、客户端安装并挂载


step1、安装nfs程序:yum -y install nfs*


step2、启动nfs,rpcbind

systemctl enable rpcbind
  systemctl start rpcbind
  systemctl enable nfs
  systemctl start nfs

step3、创建挂在目录:mkdir  /data01/share


step4、检测远程共享服务器是否共享成功(可以跳过,检测失败也可以共享成功)


aHR0cHM6Ly9pbWcyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTI1NDIzOC8yMDE4MTEvMTI1NDIzOC0yMDE4MTEyODE2NDM0ODcwMy0xMTg2MDQ0ODk3LnBuZw.png

step5、挂载,mount -t nfs -o nolock 服务端IP:共享目录绝对路径 本地挂载目录

mount -t nfs -o nolock 120.27.15.116:/data01/nfs /data01/share

step6、查看挂载结果:df -Th


aHR0cHM6Ly9pbWcyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTI1NDIzOC8yMDE4MTEvMTI1NDIzOC0yMDE4MTEyODE2NDY0NTU3Ny05NzEwMTk0MzAucG5n.png


 可以看到,远程那块磁盘已经挂载OK。


三、测试


 在/data01/share下新增一个文件,并写入相关内容,然后到服务器端查看

 

aHR0cHM6Ly9pbWcyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTI1NDIzOC8yMDE4MTEvMTI1NDIzOC0yMDE4MTEyODE2NDkxMDc3Mi04OTgyNzU3OTQucG5n.png


去服务端查看:

aHR0cHM6Ly9pbWcyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTI1NDIzOC8yMDE4MTEvMTI1NDIzOC0yMDE4MTEyODE2NTAyMDE2NC04MjM2NzMzNjcucG5n.png

四、卸载


 卸载直接执行如下操作即可:umount 120.27.15.116:/data01/nfs


五、所遇到的问题


1、如果是在阿里云上,可能要在安全组开放相关的端口,在私有环境下,同样需要处理防火墙,开放相关端口。可以通过rpcinfo -p 查看具体用到的端口。


iptables -A INPUT -p tcp --dport 111 -j ACCEPT
  iptables -A INPUT -p udp --dport 111 -j ACCEPT

 其他端口类似处理


2、由于NFS启动会随机生成端口并向RPC注册,每次的端口都不固定,所以,可以设置固定端口,便于配置防火墙和安全组。例如:

aHR0cHM6Ly9pbWcyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTI1NDIzOC8yMDE4MTEvMTI1NDIzOC0yMDE4MTEyODE3MTY1OTg5My0xMTEyMjcxMTc1LnBuZw.png


目录
打赏
0
0
0
0
39
分享
相关文章
|
25天前
|
Linux基础:文件和目录类命令分析。
总的来说,这些基础命令,像是Linux中藏匿的小矮人,每一次我们使用他们,他们就把我们的指令准确的传递给Linux,让我们的指令变为现实。所以,现在就开始你的Linux之旅,挥动你的命令之剑,探索这个充满神秘而又奇妙的世界吧!
70 19
|
1月前
|
Linux 常用文件查看命令
`cat` 命令用于连接文件并打印到标准输出,适用于快速查看和合并文本文件内容。常用示例包括:`cat file1.txt` 查看单个文件,`cat file1.txt file2.txt` 合并多个文件,`cat > filename` 创建新文件,`cat >> filename` 追加内容。`more` 和 `less` 命令用于分页查看文件,`tail` 命令则用于查看文件末尾内容,支持实时追踪日志更新,如 `tail -f file.log`。
62 5
Linux 常用文件查看命令
|
18天前
|
如何创建Linux交换文件?Linux交换文件最新创建方法
Swap是Linux中的虚拟内存空间,用于在物理内存不足时将非活动进程移至磁盘,从而优化活动进程的性能。通过创建交换文件(如1GB),可灵活调整交换空间而无需重新分区。步骤包括:使用`fallocate`或`dd`创建文件、设置权限 (`chmod 600`)、格式化 (`mkswap`)、启用交换 (`swapon`)、修改`/etc/fstab`以持久化配置,以及调整`vm.swappiness`值(默认60,建议从10开始)来平衡内存与交换的使用。最后通过`swapon -s`检查状态并重启生效。此方法适用于VPS和专用服务器,需以root用户操作。
45 2
Linux|Transfer.sh 轻松实现文件共享
Linux|Transfer.sh 轻松实现文件共享
46 2
Linux|Transfer.sh 轻松实现文件共享
【Linux】进程IO|系统调用|open|write|文件描述符fd|封装|理解一切皆文件
本文详细介绍了Linux中的进程IO与系统调用,包括 `open`、`write`、`read`和 `close`函数及其用法,解释了文件描述符(fd)的概念,并深入探讨了Linux中的“一切皆文件”思想。这种设计极大地简化了系统编程,使得处理不同类型的IO设备变得更加一致和简单。通过本文的学习,您应该能够更好地理解和应用Linux中的进程IO操作,提高系统编程的效率和能力。
120 34
linux怎么把文件传到docker里面
在现代应用开发中,Docker作为流行的虚拟化工具,广泛应用于微服务架构。文件传输到Docker容器是常见需求。常用方法包括:1) `docker cp`命令直接复制文件;2) 使用`-v`选项挂载宿主机目录,实现数据持久化和实时同步;3) 通过SCP/FTP协议传输文件;4) 在Dockerfile中构建镜像时添加文件。选择合适的方法并确保网络安全是关键。
174 1
|
2月前
|
Linux文件与目录的日常
目录的切换 一般使用(”pwd“)显示当前所在的目录 比如:当前目录是在home下面的,与用户名相同的文件夹,可以使用(”cd“)命令来切换目录; 进入下载目录(”cd home/a/下载“)这种从给目录开头的一长串路经”叫做绝对路径“; 进入图片目录(”cd .. /图片/“)".."代表当前路径的上级路径,相对于当前的目录而言的”叫做相对路径“,(”.“)代表当前路径; 如果,想快速切换,上一个所在目录可以(”cd - / cd..“); 如果,想快速切换,追原始的目录可以(”cd --“); 查看目录及文件
57 14
|
2月前
|
Linux 将所有文件和目录名重命名为小写
Linux 将所有文件和目录名重命名为小写
65 3
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
132 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
4月前
|
golang编译成Linux可运行文件
本文介绍了如何在 Linux 上编译和运行 Golang 程序,涵盖了本地编译和交叉编译的步骤。通过这些步骤,您可以轻松地将 Golang 程序编译成适合 Linux 平台的可执行文件,并在目标服务器上运行。掌握这些技巧,可以提高开发和部署 Golang 应用的效率。
555 14
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等