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
相关推荐
Plastic garden几秒前
Docker(3)Docker 镜像 & Dockerfile
运维·docker·容器
console.log('npc')10 分钟前
Windows试用期重置工具,纯官方 / 安全教程
运维·自动化·typora·脚本
月夜的风吹雨10 分钟前
Linux 基础开发工具详解:从 yum 到 gdb 实战指南
linux·git·ubuntu·centos·vim
小马爱打代码11 分钟前
MySQL高可用与扩展:主从复制、读写分离、分库分表
服务器·数据库·mysql
DeeplyMind11 分钟前
Linux 内核日志级别kern_levels与 dmesg 用法
linux·dmesg
Shingmc314 分钟前
【Linux】多路转接之epoll
linux·运维·服务器·开发语言·网络
心满意足的大脸猫23 分钟前
Win11 开启 SSH 服务器与密钥登录配置记录
服务器·microsoft·ssh
Cat_Rocky25 分钟前
Jenkins通过kubernetes连接K8s集群
运维·kubernetes·jenkins
Plastic garden25 分钟前
Docker(2)数据挂载
运维·docker·容器
Plastic garden26 分钟前
Docker(4) Compose
运维·docker·容器