先来做一个简单的自我介绍,我是计算机专业,去年刚毕业,在互联网公司上班,主要负责的是JAVA的WEB应用后端,对于linux、硬件、nodeJS自学过一些,自己也组过几台家用的台式机,动手能力比较强。如果这篇文章对你有用欢迎点赞收藏,如果有任何问题可以给我邮件,邮箱地址:[email protected],我看到会尽力帮大家解决。
然后来讲讲为什么想组这个NAS吧。其实NAS这个词我在2018年左右就听过了,那时候就百度词条了一下知道是个什么东西就结束了,因为没有实际的需求所以也没有想组一个的想法。投入工作岗位之后发现文件的存取需求发生了变化,再加上笔记本的存储空间已经不能满足存放文件的需求了,更重要的是需要随时随地进行文件的共享,比如在外边跟朋友玩这时候想找一张之前的照片,或者需要一份文件等等,这类需求的诞生与不断增多让我萌生了组一台NAS的想法。
因为我是放在家里有时候还需要用于开发等其他用处,最终权衡下来,我需要一台足够稳定的类似于服务器的NAS,NAS可以区分我、我父亲、我母亲的相片与文件,但又需要有我们都可以查看的照片视频。除了可以存储、备份文件之外还可以完成开发、娱乐甚至直接对外作为服务器使用。
截止2022年2月7日,NAS已经稳定运行近一个月,期间只出现过一次无法连接的情况,回家发现是固态硬盘松动导致无法开机,将固态硬盘从新拔插就好了。目前NAS可以完成我所有照片存储与手机照片的实时备份,所有照片都可以实时查看。存储了所有需要用到的文件,文件也可以实时访问,内网测试速度90M/s,外网测试68.6M/s,公司拷贝文件11.9M/s,在2000公里外老家用100M带宽下载上传文件3M/s。正在进行与父母公共照片、视频文件的拷贝工作。
在这里我要劝告甚至是劝退一下跟我一样打算从零开始组NAS的朋友们,即使是我这样动手能力比较强、有装机经验并且从事相关专业的人在组这台NAS的时候还是遇到了各种各样的困难与问题,解决这些奇怪的莫名其妙的问题需要花费大量的时间精力甚至是财力,所以在这里请各位认真的思考一下你是否真的有那个水平、恒心与毅力来完成这次组装。当然如果你遇到问题欢迎求助!
大家可以先把这篇文章需要用到的文件下载下来备用,也可根据需要选择下载。
所需工具
AX6路由器的openwrt开源系统
win10专业版
我事先查询了非常多的资料视频等等,最开始的组建标准是创作这篇文章的大佬。低成本100G(十万兆)家庭NAS搭建分享经验
我相信没有一个技术人员能拒绝文中性价比天花板的组建方案,但是后来我开始购买硬件的时候发现我根本没有办法把成本拉到那么低,如果硬要按照文中的来估计1W都不一定能打住,然后我重新审视了自己的需求然后参考了大佬文章最终确定了硬件的组装方案。我的组装方案中有一些是我个人的需求,而不是NAS必须,必要部分我已经在表中标注出来,必要部分的总体预算应该在5500,至于内存具体多少,硬盘大小因人而异。主板、CPU我就不说了大家参考上面那篇文章就可,我推荐一下这个机箱,多盘位很适合NAS而且性价比很高,唯一的缺点就是做工稍稍差点意思,但总体上还是ok的,性价比还是很高的。最后来说一说为什么一定要小米AX9或者红米AX6,因为只有这两款是可以刷第三方固件的小米路由器,其他的小米路由器都不支持,当然,如果有其他第三方固件的路由器也是可以的,具体可以看第3部分(红米AX6000刷openwrt)。
我一开始看错了型号,购买了小米的AX6结果研究了两天刷不成功就退了,然后就在某鱼买了红米的AX6。具体参考文章如下:
1、0成本用Win10热点和openwrt的vm虚拟机开启AX6000和AX9000的ssh
2、AX9000和AX6000获取SSH的方法
3、红米 AX6 刷 openwrt教程
4、小米红米路由器AX6刷第三方openwrt固件
我是综合按照上面4篇文章成功的,我也是总结大佬的文章给大家提供参考,接下来我就整理一下我当时整个流程给大家一个参考。首先我没有openwrt的路由器,所以采用虚拟机软路由的方式刷的。注:直到软路由开启ssh之前,电脑应该一直连接小米路由器网络,由于IP网关冲突等原因,电脑可能无法连接网络,这属于正常现象。大致的整理流程为:AX6降级并恢复出厂设置-》安装软路由-》设置软路由-》开始AX6的ssh-》刷入 openwrt 固件-》设置AX6
准备好红米 ax6 1.0.16 固件(可在本文1.6章节下载)。
打开路由器后台选择【系统升级—手动升级—然后选择下载好的固件】,等待重启。然后最好再恢复下出厂设置。
我用的VMware 16pro,安装是傻瓜式安装,可在官网直接下载,这里就不放链接,不写过程了,安装好之后。准备好Openwrt koolshare镜像(可在本文1.6章节下载)。
打开VMWare, 点击创建新的虚拟机, 选择自定义。
硬件兼容性选择15.x, 如果版本是15以下的, 就选择你能用的最高级的版本, 但我不确定可行, 反正到12.x是可行的 。
选择稍后安装操作系统 。
操作系统类型选择Linux,版本选择其他Linux 3.x内核 。
虚拟机名称与存放位置自定义。
内核数量选择一个就够用了, 内存大小要求1G以上, 我这里选择2G 。
网络模式设置为桥接模式。
SCSI控制器选择LSI Logic, 磁盘类型选择SCSI,磁盘选择使用现有磁盘, 下一步直接把我们下载好的Openwrt koolshare的vmdk文件导入进来。
如果弹出格式转换, 就选择使用现有格式 。
最后点击完成, 虚拟机就创建完成啦!安装好后先不要启动虚拟机,还需要进行如下配置,点击编辑虚拟机设置, 选择网络适配器选择,把桥接模式下的复制物理机网络状态打勾,点击确定保存设置。
开启软路由虚拟机,出现如下界面时, 说明开启完毕 。
按一下回车, 你会看到这样的界面 。
输入命令, 设置软路由IP地址。
vi /etc/config/network
单击i
键修改虚拟机的ip成169.254.31.1,最后按下ESC
, 再按住Shift + :
,输入wq
, 回车即可,然后重启软路由系统, 输入reboot
, 等待重启,重启完毕之后软路由的安装就到此为止了。接着点开系统右下角的无线网络,开启个人热点。
右键-》转到设置,编辑网络名称改成OpenWrt,密码12345678
然后编辑虚拟机的桥接网络:
菜单-》编辑-》虚拟网络编辑器-》更改设置。桥接到个人热点创建出来的虚拟网络设备。 进入到网络连接页面找到win10创建出来的热点网络连接,我这里是Microsoft Wi-Fi Direct Virtual Adapter #2,
右键属性-》网络-》去掉ipv4的勾选项目,这样这个网络连接就没有ip了这个自然也无法分配ip了 。
然后重新关闭开启热点
下载Xshell
安装完成后打开Xshell,输入ip端口号连接虚拟机软路由
然后使用vim创建 /usr/lib/lua/luci/controller/admin/xqsystem.lua 这样一个文件。命令如下:
vim /usr/lib/lua/luci/controller/admin/xqsystem.lua
文件内容填写下面的保存即可。
module("luci.controller.admin.xqsystem", package.seeall)
function index()
local page = node("api")
page.target = firstchild()
page.title = ("")
page.order = 100
page.index = true
page = node("api","xqsystem")
page.target = firstchild()
page.title = ("")
page.order = 100
page.index = true
entry({"api", "xqsystem", "token"}, call("getToken"), (""), 103, 0x08)
end
local LuciHttp = require("luci.http")
function getToken()
local result = {}
result["code"] = 0
result["token"] = "; nvram set ssh_en=1; nvram commit; echo -e 'admin\nadmin' | passwd root; sed -i 's/channel=.*/channel=\"debug\"/g' /etc/init.d/dropbear; /etc/init.d/dropbear start;"
LuciHttp.write_json(result)
end
退出并保存文件,可以 cat /usr/lib/lua/luci/controller/admin/xqsystem.lua
检查一下。
修改该 openwrt 路由器的 Lan 地址,并关闭 DHCP。 登陆 openwrt 的后台,在 网络-接口-Lan 选择编辑,IPv4 地址修改为 169.254.31.1。 在 DHCP 服务器 — 高级设置里取消勾选 动态 DHCP(也就是关闭 DHCP,这会让你需要手动设置网络 IP 才能连接上该 openwrt 路由器)然后保存 并 应用。然后重启该 openwrt 路由器
想再次连接到 openwrt 路由器,你需要讲电脑的网络 Wi-Fi 设置为手动 IPv4 (IP 地址填写:169.254.31.3;子网掩码:255.255.255.0;网关:169.254.31.1)。
然后浏览器访问:http://169.254.31.1/cgi-bin/luci/api/xqsystem/token
,如果得到下面的结果,则证明你设置成功。
将电脑的网络设置回自动获取 DHCP,然后最好将电脑用网线和 红米 AX6 连接(因为红米 ax6 解锁 Wi-Fi 可能会掉线)。获取后台 STOK 登陆小米路由器后台后,浏览器地址栏 stok= 后面的一段内容即是(选中部分),准备好备用。
第一次请求
http://192.168.31.1/cgi-bin/luci/;stok=
{SSID} 替换为 openwrt 路由器的 Wi-Fi 名
{Wi-Fi密码} 替换为 openwrt 路由器的 Wi-Fi 密码
<> 和 {} 均需要替换
我的替换后如下(我的 Wi-Fi 没有密码,你的如果有密码填上密码即可)
http://192.168.31.1/cgi-bin/luci/;stok=b3ee3b3d1baa28c0b208a46a47c84a03/api/misystem/extendwifi_connect?ssid=OpenWrt&password=12345678
将替换好的值复制到浏览器请求,如果显示 code 0 则成功。 第二次请求
http://192.168.31.1/cgi-bin/luci/;stok=
将替换好的值复制到浏览器请求,如果显示 code 0 则成功 这步完成后即可关闭热点。验证 SSH 并备份ssh 连接小米路由器,地址是192.168.31.1,端口号22,用户是root,密码是admin如果能ssh连接上则证明上述步骤均完成。
使用ssh连接红米AX6000成功后图片如下
连接成功后进行备份
mkdir /tmp/syslogbackup/ dd if=/dev/mtd9 of=/tmp/syslogbackup/mtd9
浏览器请求该地址下载备份
http://192.168.31.1/backup/log/mtd9
准备好scp软件(可在本文1.6章节下载)。
准备好适合AX6的openwrt固件(可在本文1.6章节下载)。
安装下载的scp软件,傻瓜式安装,就不写过程了,输入ip,端口等信息即可连接AX6 ssh 连接 红米 ax 设置env
ssh 连接上后复制下面执行
nvram set flag_last_success=0
nvram set flag_boot_rootfs=0
nvram set flag_boot_success=1
nvram set flag_try_sys1_failed=0
nvram set flag_try_sys2_failed=0
nvram set boot_wait=on
nvram set uart_en=1
nvram set telnet_en=1
nvram set ssh_en=1
nvram commit
scp 固件 qsdk 固件并刷入
scp 下载好的 xiaomimtd12.bin 到 红米 AX6 的 /tmp 下面,并在红米 AX6 上执行
mtd write /tmp/xiaomimtd12.bin rootfs
断电重启红米 AX6,此时红米 AX 6 的后台地址已经变为 192.168.1.1,所以需要更换xshell和scp的ip地址从新连接
重新分区
scp 下载好的 a6minbib.bin 到 红米 AX6 的 /tmp 下面,并在 红米AX6 上执行
. /lib/upgrade/platform.sh
switch_layout boot; do_flash_failsafe_partition a6minbib "0:MIBIB"
拔电源重启路由器
openwrt刷入到rootfs_1分区
scp 下载好的 openwrt-ipq807x-generic-xiaomi_ax6-squashfs-nand-factory.bin 到 红米 AX6 的 /tmp,在红米 AX6 上执行刷入
ubiformat /dev/mtd13 -y -f /tmp/openwrt-ipq807x-generic-xiaomi_ax6-squashfs-nand-factory.bin
fw_setenv flag_last_success 1
fw_setenv flag_boot_rootfs 1
红米 AX6 执行命令重启
reboot
重启后完成,系统应该已经是 openwrt 系统了。
首先将家里运营商的光猫设置为桥接模式并拨打运营商服务电话获取宽带账号和密码。因为固件版本太多而且3大运营商都不一样,所以这一块大家就自行找度娘吧,至于为什么要改为桥接模式原因有2,其一是想通过AX6获取IPV6地址。其二是对网速有一定程度的提升。
首先进入安装的openwrt,选择网络-接口-WAN,将协议设置为PPPOE,填入宽带账号和密码,点击保存&应用,然后在概况里的WAN后面点击连接就可以正常上网了。
至于使用IPV6进行访问 具体操作步骤可看此视频
2022-12-17日更:其实没必要使用IPV6,其一不方便记忆与访问,其二IPV6地址运营商也可能更换,其三容易暴露地址,存在安全隐患。所以目前我在使用DDNS的方案,具体方法请看这里(待更新)。
2023-8-15日更
我更新了外网访问的相关内容,具体请看这篇文章
NAS外网访问设置
硬件组装相对来说比较简单,内存、显卡、CPU等都有防呆设计,不要硬上就问题不大,所以这里只说一下非常需要注意的地方。
注:最重要的一点是安装好CPU内存后裸板开机,注意,此时不要把主板安在机箱内,避免因为短路、磕碰等问题导致售后责任不明确等一系列问题。
首先仔细观察CPU的防呆设计插槽。
在放入CPU的时候一定要垂直放入,最好使用CPU架,不要斜着放入,容易把针脚掰弯最后就跟我一样,针脚断了一个。。。没错你没看错,我翻车了,最后将主板寄回厂家维修的,就因为一个针脚多花了大几百。
其次就是CPU盖了,将塑料壳去掉然后轻轻放下就行,按照顺序依次拧上,注意,不要拧死,等全部带上后再全部拧死。
然后是风扇安装,将风扇上面两个螺丝拧下来然后对准主板上的孔位。
然后是内存安装,内存按照防呆设计按紧,听到两边卡扣咔咔两声就行。
安装完成后接通电源,连接屏幕,用改锥接通跳线开机测试。跳线的接法图如下:
注:主板必须放在绝缘平面上且保持平稳。此主板具有通电自动开机功能,如果需要关闭需要在BIOS里进行设置。
假如经过3分钟左右时间显示屏成功亮起则可以切断电源进行下一步,如果没有亮屏请仔细检查之前安装的每一步然后从新上电启动如果还是不行请联系售后。
如果设备正常运行则可将主板安装在机箱内,固定好即可。最后来说一下安装独立显卡的步骤。
注:个人建议在电脑运行稳定后再安装独立显卡。
我个人安装备份系统一直使用的是韩博士,用了也快10年了,没出过什么问题,在这里也推荐给大家。但是我很少使用韩博士自带的装机程序,我习惯了使用Ghost来做系统,所以这里也给大家介绍用Ghost来装系统。如果大家想使用其他方式也都是可以的。
韩博士U盘启动盘详细教程
因为是使用Ghost安装系统,所以在制作启动盘的时候就不用选择系统了。
win10专业版
这个镜像是win10专业版,带360安全卫士以及一些基本的驱动,相对来说比较干净。
将下载后的系统拷贝到启动U盘里。
将U盘插入组装好的电脑并开机。正常情况下会直接走U盘进行启动,因为硬盘是没有系统的,如果不能正常启动则进入BIOS设置启动项或者使用快速选择启动项来选择U盘启动。进入BIOS快捷键各品牌电脑不大一样,一般是按F2。进入启动菜单一般是按F12。因为我的启动盘制作时间比较早可能和刚制作的有区别,但大同小异。
选择U盘启动。
这里建议选择768或者默认分辨率,强制最高分辨率可能会出现显示兼容问题。
首先需要对新的硬盘进行分区。点击分区大师。
点击右侧需要分区的硬盘然后点击快速分区,选择GUID分区,根据需求选择分区的数量,这里建议选择1-2个分区即可,然后选择创建新的ESP和MSR分区,然后在右侧调整分析大小和卷标,点击确定稍等即可。
点击手动运行Ghost12。 这一步需要选择拷贝的WIN10系统文件。
这一步是选择镜像的来源分区,点击ok即可。
这一步需要选择你要安装系统的硬盘,选择刚刚分区的硬盘就行,然后点击ok。
这一步需要选择安装系统的分区,选择完成后点击ok。
这一步是警告你分区所有数据都会被重写,也就意味着原有数据会丢失,点击yes。
然后等他进度到100%就可以了,中间如果出现任何问题则重新执行GHOST的步骤就行,如果还无法解决就需要百度或者求助。
系统安装完成后是无法直接启动的,因为引导区的启动索引和系统还没有关联,所以就需要修复一下引导。这里我们将BIOS和UEFI引导都修复一下。
首先点击UEFI引导修复。然后选择BIOS引导,引导磁盘选择系统盘,系统盘选择系统安装盘,点击开始修复。 BIOS引导修复完成后选择修复UEFI引导,选择ESP分区,系统盘选择系统安装盘,点击开始修复。
修复完成后关闭电脑拔掉启动U盘,正常情况下系统就可以正常启动并且进行一些初始化的操作了,等待初始化完成进入系统就可以安装最基本的驱动以及其他软件开始正常使用了。
在安装完驱动和VMware后就可以安装群晖了,具体安装步骤下面这篇文章就已经很清晰了,这里就不再重复赘述了。
VMware安装群晖
这篇文章到这里就结束了,整体操作下来对于个人的要求还是非常高的,涉及的知识面也是比较广,从硬件到软件再到底层都有所涉及如果大家能完整看到这里我表示非常感谢,如果这篇文章能帮到你一点点,即使与NAS无关,比如安装了系统,或者组装了硬件等等,我觉得这篇文章的价值就已经达到了。其实这篇文章我很早就开始写了,应该是2022年2月左右,现在是2022年12月了,经历了这么久,我的NAS都已经更换了但是文章还是没有发出来,真的是让我有点惭愧。至于为什么更换了NAS设备其中最主要有两个原因。
1、使用VMware安装的群晖在硬盘管理监测等一些其他方面是有一定限制的,这让我觉得我的数据不是很安全所以想更换。
2、费电,按照这个方法组装下来的NAS日耗电量在2.5度左右,一个月光NAS的电费就要几十块钱,当然,几十块钱的电费其实没什么,最主要的是能源的浪费,主机24小时开着,但是就运行了一个虚拟机,而且虚拟机大部分时间也是比较空闲的状态,主机90%以上的消耗都浪费了,所以我想更换一下。
图片上2月20号就是在更换NAS了以2月20号为分界线基本就是以上方案和新方案的差别了,基本是对半。
新的方案其实就是绝大多数黑群晖玩家使用的方案,星际蜗牛的主机作为NAS,至于新的方案我会更新出来,并且介绍一些我目前在使用的NAS的一些能力。
最后感谢大家的支持,如果这篇文章对你有用欢迎点赞收藏,如果有任何问题可以给我邮件,邮箱地址:[email protected],我看到会尽力帮大家解决。