企业级NAS建设方案

发布时间:2026/7/23 22:35:12

企业级NAS建设方案 一、项目概况1、 背景与建设初衷我司目前员工规模在 100 人以内。随着公司业务的快速发展技术研发、产品运营及日常管理中所产生的内部资产资料急剧增加企业内部资料的集中管理、权限划分与高效流转需求日益凸显。为了打破数据孤岛提升团队协同效率我司计划搭建一套企业级 NAS网络附加存储系统。该系统本质上是一台专用于数据集中管理与共享的私有云服务器旨在实现内部资料的统一存储、精细化安全共享支持多终端随时随地的高效访问并为公司未来的 AI 训练与智能体应用提供稳定、高效的数据底座。2、现有硬件资产评估目前产品技术部现有一台高配开发服务器核心硬件配置如下●计算资源搭载双路海光 32 核 2.5GHz CPU、64GB 内存。●网络资源配备 1 张千兆网卡包含 2 个物理端口支持链路聚合与网络流控。●存储资源经 RAID 5 阵列配置拥有约 12TB 的高可用、容错存储空间当前容量使用率不足 1%。●数据库环境宿主机已预装并运行原生 MySQL 数据库。●操作系统预装国产统信 UOS 1070e 操作系统。评估结论该服务器硬件算力极其充裕存储冗余空间巨大且网络端口具备扩展性操作系统环境具备良好的容器化兼容性。因此完全具备在保留原有开发功能的同时并行部署企业级 NAS系统的硬件与系统条件。通过盘活现有闲置资产并直接复用宿主机现有的 MySQL 数据库不仅能大幅节省容器内存开销更能统一现有数据库的备份与维护策略实现效益最大化。3、拟部署的核心能力拟部署 of NAS 系统将重点实现以下核心能力●全平台无缝访问与协同全面支持 Windows/Mac PC 端及 iOS/Android 移动端支持外网 PC 端直接挂载为本地虚拟磁盘实现跨设备的文件同步、在线预览与无感协同。●安全远程接入通道配置严密安全的互联网访问通道通过自建私有组网控制端确保员工在外网办公环境下也能安全、稳定、高速地获取内部资料。●AI 算力与智能体协同开放标准存储接口如 WebDAV将海量非结构化数据直接对接本地 AI Agent 框架如 OpenClaw作为高效的数据底座支持模型训练与推理并开辟“智能体成果输出区”实现自动化数据处理闭环。说人话就是可以远程访问如果不能通过互联网访问那这个NAS基本没有意义除此之外NAS的资料还要支持AI读取。NAS的初衷不仅仅是为了资料存放和共享更多的是希望把公司的文档资料利用起来建成一个知识库。要完成这个东西需要AI的参与。二、系统架构、技术选型和工作原理1、NAS软件选用nextcloud作为nas系统。开源、据说私有云市场份额第一明文存储上传资料文件名不变对AI读取友好2、NAS客户端客户端使用RaiDriver挂载nas将nas挂载成本地一个盘方便访问3、远程访问公司全体员工通过无线路由器上网同时公司在阿里云上有域名可以使用无线路由器进行动态域名解析同时无线路由器通过端口映射将访问NAS端口的流量分配至NAS服务器从而实现通过域名访问NAS。1动态域名访问指定域名请求将来到公司的无线路由器2端口映射无线路由器将请求分配到NAS服务器3NAS服务器中的反向代理软件nginx proxy manager以下简称NPM将请求引导到NextCloud。因为请求的8443端口是反向代理软件的端口。为什么要有这个反向代理软件呢理由有二1NPM可以签发全球认可的正式的https证书。这种证书不会像自签发的那样引起浏览器的警告。支持https且有公信力的证书是客户端顺利访问NAS的必要条件2NPM可以根据二级域名将请求引导到不同的服务。比如nas.monkey.com引导到nasai.monkey.com引导到小龙虾。为什么NPM这么牛可以签发全球所有操作系统、浏览器和手机都原生信任的正式 HTTPS 证书原因是NPM 底层直接集成了一个叫 Let’s Encrypt 的服务。Let’s Encrypt 是由 Linux 基金会、电子前沿基金会EFF、Mozilla火狐、谷歌、加州大学伯克利分校等巨头联合发起的非营利性证书签发机构CA。它的目的就是让全球的互联网流量都实现免费加密。全球有几十亿个网站都在用它的证书权威性与花钱买的商业证书没有任何区别。NPM (你的 NAS) ──(自动申请)── Let’s Encrypt 官方服务器│ ││──(验证你确实拥有域名)───┘│└──(验证通过)── 签发全球通用的 SSL/TLS 证书三、部署前准备用网线将NAS服务器直连无线路由器然后为NAS服务器分配一个固定的IP。这样所有使用该无线路由器上网的机器都能访问到这个IP。如前所述在无线路由器上设置动态域名端口映射将请求分配到NAS服务器。四、部署服务器1、使用mysql作为nextcloud的数据库由于NAS服务器已装有 MySQL可以直接使用。登录MySQL为 NAS 创建独立隔离的数据库与专属用户账户-- 创建专用 NAS 数据库CREATEDATABASEnextcloudCHARACTERSETutf8mb4COLLATEutf8mb4_general_ci;-- 创建专属数据库账号CREATEUSERnas%IDENTIFIEDBYStrongSecureDBPassword123;-- 授予该账号对 NAS 数据库的全部管理权限GRANTALLPRIVILEGESONnextcloud.*TOnas%;FLUSHPRIVILEGES;2、创建存放nextcloud的文件所在文件夹sudomkdir/data/nas_sharesudochown-R33:33 /data/nas_sharesudochmod-R770/data/nas_share3、创建nas和npm等服务所在文件夹数据和程序分离。sudomkdir-p/home/nas/docker/nextcloud\/home/nas/docker/nginx/data\/home/nas/docker/nginx/letsencryptsudochmod755/data /home/nas/dockersudochmod-R755/home/nas/docker/nginx4、部署服务在 /home/nas/docker 下创建配置文件docker-compose.ymlservices:nextcloud:image:nextcloud:latestcontainer_name:nextcloudrestart:alwaysexpose:-80volumes:# 路径同步网盘主数据指向 /data/nas_share-/home/nas/docker/nextcloud:/var/www/html-/data/nas_share:/var/www/html/dataenvironment:-TRUSTED_PROXIES172.16.0.0/12 192.168.0.0/16 100.64.0.0/10-OVERWRITECLIURL[https://nas.monkey.com:8443](https://nas.monkey.com:8443)-OVERWRITEPROTOCOLhttps-MYSQL_DATABASEnextcloud-MYSQL_USERnas-MYSQL_PASSWORDStrongSecureDBPassword123# 黄金优化使用 Docker 默认网桥网关 172.17.0.1实现容器对宿主机 MySQL 的超安全、局域网物理隔离式直连-MYSQL_HOST172.17.0.1:3306nginx-proxy:image:jc21/nginx-proxy-manager:latestcontainer_name:nginx-proxy-managerrestart:alwaysports:-8080:80-8443:443-81:81volumes:-/home/nas/docker/nginx/data:/data-/home/nas/docker/nginx/letsencrypt:/etc/letsencrypt5、启动服务d /home/nas/dockersudodocker-composeup-d6、反向代理及证书配置假设分配给NAS服务器的固定IP为192.168.3.200则在浏览器中访问 http://192.168.3.200:81登录 Nginx Proxy Manager (NPM)。1证书核心安全提示请在证书选项直接选择“Request a new SSL Certificate”自动申请全球受信的 Let’s Encrypt 免费证书系统会自动无感续期实现 RaiDrive、iOS 和 Android 客户端的零警告、开箱即用。证书创建了以后会自动存放于/home/nas/docker/nginx/letsencrypt。nginx-proxy并不是完全等同于nginx它接管了外部对服务器的访问将流量导向指定的站点。因此nextcloud并不需要证书nginx-proxy有证书就可以了。2代理代理的作用是凡来访问nas.monkey.com的都转向nextcloud。7、设置开机自启1创建自启脚本catEOF/home/nas/autosetup-nas.sh#!/bin/bash sleep 10 cd /home/nas/docker/ docker-compose down docker-compose up -d EOF2赋上权限chmodx /home/nas/autosetup-nas.sh3创建一个系统服务文件sudocatEOF/etc/systemd/system/nas-autostart.service[Unit] DescriptionDocker NAS Autostart and Repair Service Afterdocker.service Requiresdocker.service [Service] Typeoneshot ExecStart/home/nas/autosetup-nas.sh RemainAfterExityes [Install] WantedBymulti-user.target EOF4刷新配置并启用该服务# 重新加载系统服务配置sudosystemctl daemon-reload5开启开机自启sudosystemctlenablenas-autostart.service五、配置NextCloud1、初始化首次设置NextCloud必须 通过NPM 安全域名访问在本项目也就是https://nas.monkey.com:8443进行设置。如果无线路由器的动态域名还没设置生效也可以通过修改管理机的hosts文件将nas.monkey.com指向NAS服务器。总之需要通过域名、https。不知道为啥。首次信任写入通过域名进行首次初始化配置数据库类型选择 MySQL/MariaDB填入宿主机 MySQL 凭证数据库 nextcloud用户名 nas如前所述。2、修改配置文件上面步骤安装完成后估计会出现gateway error的提示页面。这是因为将端口号由默认的443改成了8443配置文件需要做一定修改。否则系统还是会顽强地跳到443。vi /home/nas/docker/nextcloud/config/config.php六、设置客户端客户端使用RaiDriver。不过这个软件有点怪第一次使用会让你打开网页注册一个账号。这个账号跟nextcloud没有关系纯粹是RaiDriver自己的账号。运行RaiDriver以后挂载nextcloud分配的空间。填上nextcloud给的账号、密码、网址、端口如图所示。七、补充如前所述我们访问NAS的时候使用了端口8443使用起来有点别扭。为什么不直接用443呢像我们公司这种没有固定的外网IP只能依赖无线路由器解析动态域名就不可以。因为无线路由器可能出于尊重域名解析商的考虑似乎禁止了动态解析80、443这种默认端口。

相关新闻