乐云主机笔记

  • 首页
  • 学习记录
  • 资源下载
  • 新手教程
  • 其他
  • 脚本源码
  • 自用主机
  • 主机优惠
  • 域名优惠
  • 网赚项目

  1. 首页
  2. 学习记录
  3. 正文

debian下通过NFS4挂载共享磁盘

2026年 4月 2日 3点热度 0人点赞 0条评论

下面给你一套**在 Debian 12 + NFSv4 环境下,将 A 服务器 `/dev/vdb1` 共享给 B 服务器 `/mnt`,并支持双向即时读写的较安全方案**。
我会按 **架构 → 分区与挂载 → NFS 服务 → 权限与用户映射 → 安全加固 → 验证与排错 → 数据安全保障** 的顺序来说明。

---

# 一、总体架构说明

| 角色 | 主机名 | IP | 磁盘 |
|---|---|---|---|
| NFS Server | A | 1.2.3.4 | `/dev/vdb1` |
| NFS Client | B | 5.6.7.8 | `/dev/sda1`(本地盘,不用于本次共享) |

目标:
- A 的 `/data/nfs_share`(由 `/dev/vdb1` 挂载)通过 **NFSv4** 共享
- B 挂载到 `/mnt`
- **双向即时读写**(同一导出目录)
- 强调 **权限一致性 + 网络与数据安全**

---

# 二、磁盘准备(A 服务器)

## 1. 分区与文件系统(若尚未格式化)

⚠️ 以下会清空磁盘,仅首次执行

```bash
mkfs.ext4 /dev/vdb1
```

建议使用 `ext4` 或 `xfs`(推荐 `xfs` 更适合大文件/并发)

```bash
mkfs.xfs /dev/vdb1
```

## 2. 创建挂载点并挂载

```bash
mkdir -p /data/nfs_share
mount /dev/vdb1 /data/nfs_share
```

## 3. 设置开机自动挂载

编辑 `/etc/fstab`:

```bash
nano /etc/fstab
```

添加:

```text
/dev/vdb1 /data/nfs_share xfs defaults,nofail 0 2
```

测试:

```bash
mount -a
df -hT /data/nfs_share
```

---

# 三、NFSv4 服务端配置(A 服务器)

## 1. 安装 NFS 服务

```bash
apt update
apt install nfs-kernel-server -y
```

确认 NFSv4:

```bash
cat /proc/fs/nfsd/versions
```

应至少包含 `+4 +4.1 +4.2`

---

## 2. 配置导出目录

编辑:

```bash
nano /etc/exports
```

添加:

```text
/data/nfs_share 5.6.7.8(rw,sync,no_root_squash,no_subtree_check)
```

参数说明(重点):

| 参数 | 作用 |
|---|---|
| rw | 读写 |
| sync | 同步写入(数据安全)✅ |
| no_root_squash | 允许 root 权限(谨慎) |
| no_subtree_check | 提高性能 |

⚠️ **如果你担心权限风险,可改为 `root_squash` + 统一 UID/GID**

---

## 3. 导出并启动服务

```bash
exportfs -r
systemctl restart nfs-server
systemctl enable nfs-server
```

检查:

```bash
exportfs -v
```

---

# 四、客户端配置(B 服务器)

## 1. 安装 NFS 客户端

```bash
apt update
apt install nfs-common -y
```

## 2. 创建挂载点

```bash
mkdir -p /mnt
```

## 3. 手动挂载测试

```bash
mount -t nfs4 1.2.3.4:/data/nfs_share /mnt
```

查看:

```bash
df -hT /mnt
```

## 4. 开机自动挂载

编辑 `/etc/fstab`:

```bash
nano /etc/fstab
```

添加:

```text
1.2.3.4:/data/nfs_share /mnt nfs4 rw,sync,_netdev 0 0
```

测试:

```bash
mount -a
```

---

# 五、权限与用户一致性(非常关键)

## ✅ 推荐方案:统一 UID/GID(最安全)

假设用户为 `appuser`:

```bash
id appuser
```

输出示例:

```text
uid=1001(appuser) gid=1001(appuser)
```

在 **A / B 两台机器** 上保持一致:

```bash
usermod -u 1001 appuser
groupmod -g 1001 appuser
```

然后:

```bash
chown -R appuser:appuser /data/nfs_share
```

---

## ❌ 不推荐但可用:no_root_squash

如果你必须使用 root 写入:

```text
/data/nfs_share 5.6.7.8(rw,sync,no_root_squash)
```

⚠️ 风险:客户端 root 可对服务器文件为所欲为

---

# 六、安全加固(强烈建议)

## 1. 防火墙(UFW)

### A 服务器(NFS Server)

```bash
ufw allow from 5.6.7.8 to any port nfs
ufw reload
```

### B 服务器(Client)

无需开放 NFS 端口

---

## 2. 禁用 NFSv3(防降级)

编辑:

```bash
nano /etc/nfs.conf
```

确保:

```ini
[nfsd]
vers3=n
vers4=y
```

重启:

```bash
systemctl restart nfs-server
```

---

## 3. 使用 Kerberos(企业级安全,可选)

如需 **身份认证 + 加密传输**,可使用 `sec=krb5p`
但部署复杂度较高,适合内网高安全环境。

---

# 七、即时读写验证

在 B 上:

```bash
echo "hello from B" > /mnt/test.txt
```

在 A 上:

```bash
cat /data/nfs_share/test.txt
```

反向测试:

```bash
echo "hello from A" >> /mnt/test.txt
```

✅ 实时可见即成功

---

# 八、数据安全与可靠性建议

## ✅ 必做项

1. **定期备份**
```bash
rsync -avxH --delete /data/nfs_share /backup/
```

2. **监控磁盘健康**
```bash
smartctl -a /dev/vdb
```

3. **使用 UPS(防止断电损坏文件系统)**

---

## ✅ 进阶建议

| 场景 | 建议 |
|---|---|
| 高并发 | 使用 `xfs` |
| 断线保护 | `hard,intr` 挂载选项 |
| 数据校验 | 定期 `rsync --checksum` |
| 快照 | LVM / btrfs snapshot |

---

# 九、常见坑位排查

| 问题 | 解决 |
|---|---|
| 权限拒绝 | UID/GID 不一致 |
| 卡死 | 使用 `hard,intr` |
| 无法写入 | `no_root_squash` 或权限 |
| 重启后未挂载 | `_netdev` |

---

# 十、总结一句话

> ✅ 本方案基于 **NFSv4 + ext4/xfs + 统一 UID/GID + sync 写入**,在保证 **双向即时读写** 的同时,最大程度保障 **数据一致性与安全性**。

如果你愿意,我可以:
- 给你一套 **生产环境标准 exports 模板**
- 或帮你设计 **LVM + 快照 + 自动备份方案**
- 或评估是否 **iSCSI / CephFS 更适合你的场景**

欢迎继续交流 👍

标签: 暂无
最后更新:2026年 4月 2日

cloud, le

这个人很懒,什么都没留下

点赞
< 上一篇

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理。

搜一搜

归档

  • 2026 年 4 月
  • 2026 年 3 月
  • 2026 年 1 月
  • 2025 年 12 月
  • 2025 年 11 月
  • 2025 年 10 月
  • 2025 年 9 月
  • 2025 年 8 月
  • 2025 年 7 月
  • 2025 年 6 月
  • 2025 年 5 月
  • 2025 年 4 月
  • 2025 年 3 月
  • 2025 年 2 月
  • 2025 年 1 月
  • 2024 年 12 月
  • 2024 年 11 月
  • 2024 年 10 月
  • 2024 年 9 月
  • 2024 年 7 月
  • 2024 年 3 月
  • 2024 年 2 月
  • 2024 年 1 月
  • 2023 年 12 月
  • 2023 年 11 月
  • 2023 年 10 月
  • 2023 年 9 月
  • 2023 年 8 月
  • 2023 年 7 月
  • 2023 年 6 月
  • 2023 年 5 月
  • 2023 年 4 月
  • 2023 年 3 月
  • 2023 年 2 月
  • 2023 年 1 月
  • 2022 年 12 月
  • 2022 年 11 月
  • 2022 年 10 月
  • 2022 年 9 月
  • 2022 年 8 月
  • 2022 年 7 月
  • 2022 年 6 月
  • 2022 年 5 月
  • 2022 年 4 月
  • 2022 年 3 月
  • 2022 年 2 月
  • 2022 年 1 月
  • 2021 年 12 月
  • 2021 年 11 月
  • 2021 年 10 月
  • 2021 年 9 月
  • 2021 年 8 月
  • 2021 年 7 月
  • 2021 年 6 月
  • 2021 年 5 月
  • 2021 年 4 月
  • 2021 年 3 月
  • 2021 年 2 月
  • 2021 年 1 月
  • 2020 年 12 月
  • 2020 年 11 月
  • 2020 年 10 月
  • 2020 年 9 月
  • 2020 年 8 月
  • 2020 年 7 月
  • 2020 年 6 月
  • 2020 年 5 月
  • 2020 年 4 月
  • 2020 年 3 月
  • 2020 年 2 月
  • 2020 年 1 月
  • 2019 年 12 月
  • 2019 年 11 月
  • 2019 年 10 月
  • 2019 年 9 月
  • 2019 年 8 月
  • 2019 年 7 月
  • 2019 年 6 月
  • 2019 年 5 月
  • 2019 年 4 月
  • 2019 年 3 月
  • 2019 年 2 月
  • 2019 年 1 月
  • 2018 年 12 月
  • 2018 年 11 月
  • 2018 年 10 月
  • 2018 年 9 月
  • 2018 年 8 月
  • 2018 年 7 月
  • 2018 年 6 月
  • 2018 年 5 月
  • 2018 年 4 月
  • 2018 年 3 月
  • 2018 年 2 月
  • 2017 年 12 月
  • 2017 年 11 月
  • 2017 年 10 月
  • 2017 年 9 月
  • 2017 年 8 月
  • 2017 年 7 月

分类

  • 主机优惠
  • 其他
  • 域名优惠
  • 学习记录
  • 新手教程
  • 网赚项目
  • 脚本源码
  • 自用主机
  • 资源下载

COPYRIGHT © 2021 Letcloud.cn. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

粤ICP备15031609号-3

粤公网安备44050702001530号