一、前期准备(硬件与环境)

1. 硬件配置确认
  • 3 台服务器完全一致:每台含 24 块 7.62TB NVMe SSD(如三星 PM1735)、2 个 25Gbps 网卡(支持 NVMe over Fabrics)、冗余电源、Intel Xeon Gold 6330 处理器(16 核)、256GB DDR4 ECC 内存;
  • 网络设备:1 台 25Gbps 核心交换机(如 Mellanox SN2410),配备足够的 QSFP28 光模块和光纤线。
2. 网络与 IP 规划
  • 存储网络(25Gbps):
    节点 1:192.168.50.10/24,节点 2:192.168.50.11/24,节点 3:192.168.50.12/24
  • 管理网络(1Gbps,可选):
    节点 1:192.168.60.10/24,节点 2:192.168.60.11/24,节点 3:192.168.60.12/24
  • 网关:192.168.50.1(交换机管理 IP)

二、软件包下载(TrueNAS Scale)

步骤 1:下载 TrueNAS Scale 镜像
  1. 访问官方下载页:https://www.truenas.com/download-truenas-scale/
  2. 选择最新稳定版(如 TrueNAS-SCALE-23.10.2.1.iso),点击 “Download”;
  3. 校验文件完整性(可选):
    下载页面提供 SHA256 校验值,本地执行:
# Linux/macOS
sha256sum TrueNAS-SCALE-23.10.2.1.iso

# Windows(PowerShell)
Get-FileHash -Path .\TrueNAS-SCALE-23.10.2.1.iso -Algorithm SHA256
  1. 制作启动盘:使用 Rufus(https://rufus.ie/)将 ISO 写入 8GB 以上 U 盘(分区类型选 GPT,文件系统选 FAT32)。

三、系统安装(3 台节点均执行)

步骤 1:安装 TrueNAS Scale
  1. 将启动盘插入节点 1,开机按 F11 进入启动菜单,选择 U 盘启动;
  2. 进入安装界面,选择 “Install TrueNAS Scale”→ 同意协议;
  3. 选择系统盘:从 24 块 NVMe SSD 中预留 1 块(7.62TB)作为系统盘(剩余 23 块用于存储池);
  4. 设置 root 密码(如NVMe@NAS2024!),选择时区 “Asia/Shanghai”;
  5. 等待安装完成(约 3 分钟,NVMe 速度快),重启节点。
步骤 2:初始化网络
  1. 重启后,节点屏幕显示临时 IP(如 192.168.1.100),通过管理电脑浏览器访问:https://临时IP
  2. 登录(账号 root,密码为步骤 1 设置的密码),进入 “Network→Interfaces”;
  3. 配置 25G 网卡(以 eth0 为例):
    • 点击 “Edit”,设置 IPv4:192.168.50.10/24,网关 192.168.50.1,DNS 223.5.5.5;
  4. 启用第二块 25G 网卡(eth1),IP 设为 192.168.50.101/24(用于链路聚合);
  5. 点击 “Apply” 生效,重复此步骤完成节点 2 和节点 3 的网络配置。

四、构建分布式存储集群(核心步骤)

步骤 1:创建集群
  1. 在节点 1 的管理界面,进入 “System→Cluster”,点击 “Create Cluster”;
  2. 集群名称:nvme-nas-cluster,点击 “Next”;
  3. 添加节点:
    • 节点 2:输入 IP 192.168.50.11,用户名 root,密码(节点 2 的 root 密码),点击 “Add”;
    • 节点 3:同上,输入 IP 192.168.50.12,完成添加;
  4. 验证节点状态(均为 “Online”),点击 “Create Cluster”,等待 10 分钟(节点自动同步配置)。
步骤 2:创建 NVMe 优化的存储池
  1. 进入 “Storage→Pools”,点击 “Add→Create New Pool”;
  2. 存储池名称:nvme-pool,选择 “Distributed” 模式;
  3. 选择硬盘:
    • 勾选 3 台节点中用于存储的 NVMe SSD(每台 23 块,共 69 块);
    • 选择 RAID 类型:RAID-Z2(容忍双盘故障,适合 NVMe 的高可靠性需求);
    • 分片大小:设为 64KB(NVMe SSD 适合小分片,提升随机 IO);
  4. 启用 NVMe 优化选项:
    • 勾选 “Disable Write Cache”(NVMe 自带断电保护缓存,无需系统管理);
    • 勾选 “Enable Async Metadata”(异步元数据写入,降低延迟);
  5. 点击 “Create”,等待存储池构建(约 15 分钟,NVMe 初始化速度快于 HDD)。
步骤 3:配置 NVMe over Fabrics(可选,提升性能)
  1. 进入 “Services”,找到 “NVMe Target”,点击 “Start” 并勾选 “Start on Boot”;
  2. 进入 “Sharing→NVMe Targets”,点击 “Add”:
    • 名称:nvme-target-1
    • 选择存储池nvme-pool
    • 关联客户端:输入需要直接访问 NVMe 的服务器 IP(如 192.168.50.200);
  3. 客户端需安装 NVMe initiator(如 Linux 的nvme-cli),执行
nvme connect -t rdma -n nvme-target-1 -a 192.168.50.10 -s 4420
步骤 4:设置热备盘与缓存
  1. 热备盘:每台节点预留的 1 块 NVMe SSD 设为热备盘(“Storage→Disks→Edit→Role=Hot Spare”);
  2. 缓存优化:NVMe SSD 无需额外缓存(本身速度足够),但可启用 L2ARC(使用剩余空间作为读缓存):
    • 进入 “Storage→Pools→nvme-pool→Add Cache”,选择每台节点的部分 NVMe 空间。

五、配置共享服务(多协议支持)

步骤 1:创建数据集
  1. 进入 “Storage→Pools→nvme-pool”,点击 “Add Dataset”:
    • 数据集 1:high-iops(高 IO 场景,如数据库备份),Quota 100TB;
    • 数据集 2:large-files(大文件存储,如视频素材),Quota 200TB;
    • 数据集 3:general(通用文件),Quota 150TB;
    • 每个数据集启用 “Sync=Always”(确保数据一致性)。
步骤 2:配置 SMB 服务(Windows/macOS)
  1. 进入 “Services→SMB”,点击 “Start” 并勾选 “Start on Boot”;
  2. 进入 “Sharing→SMB Shares→Add”:
    • 共享名称:high-iops-share,路径/mnt/nvme-pool/high-iops
    • 高级选项:勾选 “Enable SMB3 Multichannel”(利用多网卡提升吞吐量);
    • 权限:添加用户组 “Domain Users”,授予读写权限;
  3. 点击 “Save”,重复创建其他共享。
步骤 3:配置 NFS 服务(Linux 工作站)
  1. 进入 “Services→NFS”,点击 “Start” 并勾选 “Start on Boot”;
  2. 进入 “Sharing→NFS Shares→Add”:
    • 路径:/mnt/nvme-pool/large-files
    • 客户端:输入 Linux IP(如 192.168.50.201),权限 “rw,sync,no_root_squash”;
  3. 点击 “Save”,客户端挂载:
mount -t nfs 192.168.50.10:/mnt/nvme-pool/large-files /data/large-files
步骤 4:配置 25G 链路聚合
  1. 进入 “Network→Interfaces→Add→LAGG Interface”:
    • 名称:lagg0,模式:“LACP”(802.3ad);
    • 成员接口:选择 2 块 25G 网卡(eth0、eth1);
  2. 交换机配置:在 25G 交换机上对连接节点的端口配置 LACP 聚合(参考交换机手册);
  3. 验证带宽:单节点聚合后带宽达 50Gbps,3 节点总带宽 150Gbps。

六、数据保护与监控

步骤 1:自动快照配置
  1. 进入 “Storage→Snapshots→Add Task”:
    • 数据集:/mnt/nvme-pool/high-iops
    • 计划:每小时 1 次,保留 24 小时;每日 1 次,保留 7 天;
    • 快照名称:snap-%Y%m%d-%H%M
  2. 点击 “Save”,重复配置其他数据集。
步骤 2:备份策略(异地同步)
  1. 进入 “Tasks→Rsync Tasks→Add”:
    • 源路径:/mnt/nvme-pool/general
    • 远程主机:异地备份服务器 IP(如 192.168.70.10);
    • 计划:每日凌晨 2 点,启用 “Compress”(压缩传输);
  2. 点击 “Save”,确保异地服务器已安装 Rsync 服务。
步骤 3:监控与告警
  1. 进入 “System→Alerts→Settings”,配置邮件通知:
    • SMTP 服务器:smtp.example.com,端口 587,启用 TLS;
    • 发件人:nvme-nas@example.com,收件人:admin@example.com;
  2. 启用关键告警:NVMe 温度≥70℃、存储池使用率≥85%、节点离线;
  3. 性能监控:进入 “Reporting”,重点关注 “NVMe IOPS”(目标≥100 万 IOPS)和 “延迟”(目标≤1ms)。

七、客户端访问测试

1. Windows 访问 SMB
# 映射网络驱动器
\\192.168.50.10\high-iops-share
# 输入root账号密码,测试上传1GB文件(速度应≥1GB/s)
2. Linux 访问 NFS
# 测试大文件写入
dd if=/dev/zero of=/data/large-files/test.img bs=1G count=10 oflag=direct
# 预期速度:≥1.5GB/s(NVMe+25G网络)

八、验收标准

  1. 性能:单节点读写吞吐量≥2GB/s,随机 IOPS≥50 万;
  2. 可靠性:模拟单节点下线 + 2 块 NVMe 故障,数据可正常访问且自动重建;
  3. 扩展性:支持在线新增节点(如第 4 台),存储池自动扩容。

通过以上步骤,3 台 NVMe SSD 服务器将构建一个高性能分布式 NAS 平台,总可用容量约 3×23×7.62TB×(24-2)/24≈480TB,适合低延迟、高 IOPS 场景(如 AI 训练、实时数据分析)。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐