20260417 NFS服务器

一、 NFS服务器

1.1 NFS 服务最佳实践

1.1.1 节点规划

节点名称 IP地址 作用
nfs-server 10.1.8.20/24 提供共享存储
nfs-client1 10.1.8.21/24 NFS客户端
nfs-client2 10.1.8.22/24 NFS客户端

1.1.2 部署服务

NFS服务由nfs-utils软件包提供。

bash 复制代码
# 安装包
[root@nfs-server ~ 13:54:07]# yum install -y nfs-utils
[root@nfs-server ~ 13:57:16]# yum install -y httpd

# 准备共享目录
[root@nfs-server ~ 13:59:30]# mkdir -p /shares/webapp
[root@nfs-server ~ 14:33:11]# chown apache /shares/webapp

# 启用并启动服务
[root@nfs-server ~ 14:33:25]# systemctl enable nfs-server --now
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.

# 配置防火墙
[root@nfs-server ~ 14:33:41]# systemctl stop firewalld

1.1.3 客户端挂载

nfs-client1:

bash 复制代码
# 安装软件包
[root@nfs-client1 ~]# yum install -y nfs-utils httpd
[root@nfs-client1 ~]# id apache
uid=48(apache) gid=48(apache) 组=48(apache)
[root@nfs-client1 ~]# systemctl enable httpd --now
# 查看服务端提供的共享
[root@nfs-client1 ~]# showmount -e 10.1.8.20
Export list for storage:
/shares/webapp 10.1.8.0/24
# 挂载
[root@nfs-client1 ~]# mount -t nfs 10.1.8.20:/shares/webapp /var/www/html
# 验证
# 发现nfs-server上的/shares/webapp已经挂载到本地的/var/www/html
[root@nfs-client1 ~]# df -h | grep www
10.1.8.20:/shares/webapp   
50G  4.9G   46G  10% /var/www/html

nfs-client2:

bash 复制代码
# 安装软件包
[root@nfs-client2 ~]# yum install -y nfs-utils httpd
[root@nfs-client2 ~]# id apache
uid=48(apache) gid=48(apache) 组=48(apache)
[root@client ~]# systemctl enable httpd --now
# 查看服务端提供的共享
[root@nfs-client2 ~]# showmount -e 10.1.8.20
Export list for storage:
/shares/webapp 10.1.8.0/24
# 挂载
[root@nfs-client2 ~]# mount -t nfs 10.1.8.20:/shares/webapp /var/www/html
# 验证
# 发现nfs-server上的/shares/webapp已经挂载到本地的/var/www/html
[root@nfs-client2 ~]#  df -h | grep www
10.1.8.20:/shares/webapp   
50G  4.9G   46G  10% /var/www/html

测试

bash 复制代码
# nfs-client1 创建了xiyangyang文件,nfs-clien2也能看到,证明使用了相同的共享存储10.1.8.20
[root@nfs-client1 ~]# touch /var/www/html/xiyangyang
[root@nfs-client2 ~]# ls /var/www/html/
xiyangyang

实战测试

在nfs-server上共享的目录里(/shares/webapp)创建index.html

bash 复制代码
[root@nfs-server ~]# echo xixihahaheihei1-109 > /shares/webapp/index.html

nfs-client1,nfs-client2的网站打开看到一样的内容都是从nfs-server来的

权限测试

bash 复制代码
# nfs-server修改配置文件
[root@nfs-server ~]# vim /etc/exports
/shares/webapp 10.1.8.0/24(rw)
[root@nfs-server ~]# systemctl reload nfs-server.service 
# root用户不能创建
[root@nfs-client1 ~]# touch /var/www/html/file1
touch: cannot touch '/var/www/html/file1': Permission denied
# apache 用户能创建
[root@client ~]# su -l -s /bin/bash apache-bash-4.2$ echo apache website > /var/www/html/web1.html

1.2 持久化挂载

修改 /etc/fstab,最后添加如下记录:

bash 复制代码
[root@nfs-client1 ~]# vim /etc/fstab 
10.1.8.20:/shares/webapp /var/www/html nfs defaults 0 0
# 重启完,发现自动挂载
[root@nfs-client1 ~]# reboot
[root@nfs-client1 ~]# df | grep www
10.1.8.20:/shares/webapp  52403200 5110784  47292416  10% /var/www/html
相关推荐
无足鸟ICT8 分钟前
【RHCA+】ipcrm命令(删除IPC资源)
linux
星恒随风1 小时前
MySQL 从零入门(四):表的增删改查与基础查询详解
linux·服务器·数据库·笔记·mysql
Z21-X2 小时前
云原生运维学习笔记:ECShop全链路容器化部署与Docker底层资源隔离深度剖析
运维·笔记·学习·云原生
陈希1234 小时前
Linux 网络诊断工具实战:ping、curl、tcpdump、mtr、dig 用法详解
linux·网络·tcpdump
进击的荆棘4 小时前
Linux系统——线程同步与互斥之线程池和安全
linux·运维·服务器·安全·单例模式·线程
刘大望4 小时前
不用买开发板:用 QEMU 走通嵌入式 Linux 全流程(三)存储与网络实地验证
linux·qemu·嵌入式linux·alpine
蜗牛一步步往上爬5 小时前
第六章 BMC常用的调试工具
服务器
小李不困还能学5 小时前
VSCode_RemoteSSH_一直卡在下载服务器_解决教程
服务器·ide·vscode
瑞雪兆丰年兮5 小时前
JavaWeb-day11-SpringBootWeb案例(文件上传)
java·运维·服务器·javaweb·oss
那明眸似水5 小时前
云原生项目三:Docker秒级启动NextCloud个人网盘存储办公系统
linux·运维·docker·云原生·容器