This commit is contained in:
V-LiuShuang
2026-08-14 13:52:09 +08:00
commit 609e3bf66e
29 changed files with 3793 additions and 0 deletions
@@ -0,0 +1,87 @@
# Intro
本文介绍如何把 NAS 主机目录挂载到 Linux 主机,并通过 Volume 挂载到 Docker 容器,借助 NAS 的阵列盘实现高可靠数据存储。
- NAS"/vol1/workspace"
- Linux"/mnt/nas/vol1/workspace"
- Docker"/workspace"
假设 NAS 的用户名密码是"admin/123456"IP为"192.168.1.100",目录映射目标:"/vol1/workspace" -> "/mnt/nas/vol1/workspace" -> "/workspace"。
## 基于 NFS 协议挂载
1. 在 Linux 安装相关工具
Debian/Ubuntu
```bash
sudo apt update && sudo apt install nfs-common -y
```
CentOS/RHEL
```bash
sudo yum install nfs-utils
```
2. 创建目录
NAS
```bash
sudo /vol1/workspace
```
Linux
```bash
sudo mkdir -p /mnt/nas/vol1/workspace
```
3. 授权(UID=1000GID=1000
NAS
```bash
sudo chown -R 1000:1000 /vol1/workspace
```
Linux
```bash
sudo chown -R 1000:1000 /mnt/nas/vol1/workspace
```
4. 在 Linux 执行挂载
```bash
sudo mount -t nfs -o rw,vers=4.2,noatime,rsize=1048576,wsize=1048576,timeo=1200,retrans=2,_netdev 192.168.1.100:/vol1/workspace /mnt/nas/vol1/workspace
```
| 参数名称 | 说明 |
| --- | --- |
| rw | 拥有读写权限 |
| vers | 使用 nfs 4.2 版本 |
| noatime | 不更新文件的访问时间戳,能显著减少磁盘 I/O 和网络开销,提升性能 |
| rsize/wsize | 读写块大小,1MB 是 NFS v4.2 推荐的尺寸,适合高速内网传输文件,有效利用网络带宽 |
| timeo | 客户端等待重传前的超时时间,给网络波动留的容忍度,单位是厘秒,1200=120秒 |
| retrans | 连接彻底失败之前,仅重传 2 次。配合长超时,客户端会很有耐心地等待,不会因短暂网络抖动而频繁报错|
| _netdev | 告诉系统等网络可用后再挂载,防止在启动初期,网络未就绪时挂载失败 |
5. 在 Linux 设置开机自动挂载(可选但强烈推荐)
```bash
sudo nano /etc/fstab
```
在文件末尾追加一行:
```text
192.168.1.100:/vol1/workspace /mnt/nas/vol1/workspace nfs rw,vers=4.2,noatime,rsize=1048576,wsize=1048576,timeo=1200,retrans=2,_netdev 0 0
```
6. 在 Linux 运行 Docker 容器并挂载
```bash
docker run -v /mnt/nas/vol1/workspace:/workspace --user 1000:1000 <镜像名>
```