}

QNAP(威联通)系统结构与迁移系统盘至SSD

📁 知乎内容 📅 2022-04-24 22:51 👁 13 次阅读 ✍️ Sun
QNAP(威联通)系统结构与迁移系统盘至SSD

「收藏时间:2026-09-09 16:40」 【来源:https://zhuanlan.zhihu.com/p/503555798】

📄 原文内容

QNAP知名度和使用人群远不及群晖,群晖主要面向小白用户。QNAP配置起来会麻烦很多,但性价比高,基本上旧的SSD和内存条我都加到自己的TS551机器上了,废物利用得很爽。网上已有很多关于QNAP换系统盘的文章,但都没讲清楚QNAP的系统结构、整个系统的启动过程和系统安装过程。开始折腾的时候我还以为系统盘就是安装操作系统的那个盘,后来才发现不是。实际上QNAP操作系统包括2个部分,一个是最小系统,包括了BootLoader,initrd,最终形成一个临时操作系统和临时的rootfs,用于提供网络、web服务,使得用户可以通过浏览器安装操作系统,这个最小系统叫做firmware。它的破解见

一位老大爷完成了它的破解,制作了x86的启动盘,或者叫做一个DIY的qnap firmware,使得用户可以把QNAP完整操作系统安装在x86 PC,该破解文章详细讲解了firmware的构成。就像可玩性很高的readynas duo系列,firmware固化在主板的flash上,flash上固化了包括BootLoader,kernel,initrd等最小linux启动部件。但是qnap的操作系统除了firmware还包括了通过网络安装的系统部分,firmware+系统=完整的qnap操作系统。操作系统安装完成后才涉及到网络上讲的“系统盘”问题。

ts551拥有2个SSD盘位,实际上如果你装上2块SSD,firmware会自动做RAID1,将操作系统安装在SSD的RAID1上。若没有SSD,操作系统则会被firmware安装在机械盘内,分区、RAID都是一样的。安装操作系统后,本例使用了SSD,挂载和分区如下:

图1. 挂载

因为没有lsblk工具,暂时无法得知具体的分区和RAID情况。但大致是/dev/md9和/dev/md13都是ssd的RAID1分区,用于挂载操作系统,大量系统应用程序都在/mnt/ext挂载下,也就是说操作系统是被RAID1保护的,如果你有2块SSD,2块SSD都会安装操作系统,如果是一块SSD+机械硬盘,那就是SSD与机械硬盘形成操作系统的RAID1分区。fdisk -l /dev/mmcblk0 发现是一块4G的存储,这个设备应该就是传说中的内置emmc,firmware就是烧写在那里。

这篇救砖文章就是下载了一个对应机器的firmware,通过u盘启动qnap,然后再把/dev/mmcblk0重新刷写,之后就可以通过qfinder找到机器安装操作系统了。文章最后通过qfinder安装的可不是firmware,而是操作系统,这点很重要。清楚firmware的位置后,只要firmware不被破坏,qnap就不会砖,顶多就是重装操作系统。这也从侧面说明了qnap操作系统的结构和对应硬件设备。

mmcblk0 179:0 0 3.7G 0 disk
├─mmcblk0p1 179:1 0 16M 0 part
├─mmcblk0p2 179:2 0 224M 0 part
├─mmcblk0p3 179:3 0 224M 0 part
├─mmcblk0p5 179:5 0 8M 0 part /mnt/boot_config
└─mmcblk0p6 179:6 0 8M 0 part

官方恢复方法Firmware Recovery Guide for x86 based NAS

将其中一块磁盘卸下用另一台linux机器分析发现分区如下:

图X. 其中一块SSD分区

8G分区是swap。

文件系统如下:

图2.根文件系统

安装好操作系统后,通过entware,安装lsblk工具后用于安装系统的第一块SSD分区和挂载如下:

图3.用于安装操作系统的第一块SSD

注意第5个分区sda5,这个分区做了RAID1,容量有8G,这个分区就是前面图X提到的swap分区。

图4.第一块机械硬盘分区和挂载

下面才到网络上常说的系统盘,此时已经可以通过web配置qnap,新建的第一个存储池qnap会把它当做系统盘,之后所装的所有软件都在上面,包括那些无法迁移的软件。这个所谓的系统盘挂载在/share/CACHEDEV1_DATA,如果你的cachedev1没有放在SSD,就表明你的系统盘没有放在SSD上面。qnap把操作系统的挂载都做了RAID1,如/mnt/HDA_ROOT和/mnt/ext,有趣的是每个磁盘都被raid了。sdc是一块机械硬盘,同样被RAID挂载了/mnt/HDA_ROOT和/mnt/ext。/mnt/ext挂载下有许多重要的系统应用,位于/mnt/ext/opt下,例如apache就在里面。所以,理论上对QNAP的系统软件进行升级是可能的,例如它的apache,完全可以另外搞一个更高性能的web服务器,提高web管理时的页面响应。

需要注意的是,使用SSD新建存储池需要大于144G的空间,所以用一块120g SSD即可把操作系统安装在SSD,但却无法将系统盘定位至SSD。若是想将操作系统和系统盘都装在SSD,则需要至少1块大于120g的SSD,成本有点高。本例用的2块SSD,一块装系统,一块做ssd缓存加速。装好以后datavol1就是系统盘,如图:

须保证datavol1是ssd

至此,结构基本清楚了,给qnap用SSD千万别踩这个坑。firmware、操作系统和系统盘是三个不同的物理和逻辑存储单元,把系统盘搞定,装好软件,再装机械存储。

这哥们说装好系统后2块SSD再做RAID1来做系统盘,完全没有必要,因为操作系统已经是RAID1,系统盘保留快照功能做点备份就没问题了。因为操作系统是RAID1,所以只要有一块SSD存在,甚至只有1块机械硬盘,安装好的操作系统都不会丢失,丢失系统盘也只会丢失一些后面安装的软件而已。

还有个要注意的问题是swap,如果内存足够大,或者使用了机械硬盘上的swap,启用swap会导致系统慢、卡顿。cat /proc/swaps看一下启用了哪些swap,例如我这台qnap就给我的机械硬盘搞了个8G的swap,设备是/dev/md322,这真是个傻逼的操作,估计qnap并没有做针对SSD的定制开发,都是按全机械硬盘干的,都是qnap是干企业存储起家的,现在看来还真是。cat /proc/sys/vm/swapness看看数值,该值表面了qnap在内存小于%多少时候启用swap,但我发现实际上也不是这样,我的机器内存已经给到了12G,基本不可能用完,但qnap还是会使用swap。因此我将机械硬盘上的swap全停用,SSD上的/dev/md321让它用,还有位于SSD上的/share/CACHEDEV1_DATA/.swap/qnap_swap也可以让qnap用,只是md321有8个G,而且是swap分区,效率要高得多。/dev/md322则关掉,因为它是在机械硬盘上的swap,通过swapon、swapoff开关即可,你会发现加了内存的qnap快得飞。


🔗 阅读原文 | 🕐 剪藏于 2026-09-09 16:40 | 🧩 解析方式:知乎

标签: # 网页剪藏 # 知乎内容 # 知乎专栏 # 知乎
← 上一篇
中国茶入门:8大茶类一次讲清
下一篇 →
如何通过宝塔设置反代,去除docker端口号,实现通过二级域名直接访问服务

🔗 相关文章

📚

玩Docker不求人!威联通Container Station轻松入门、实例演示威联通Docker常见部署方式,不用翻教程,独立实现容器部署 | 威联通TS-464C2体验

知乎内容 📅 2026-09-09 👁 11
🖥️

Obsidian 的 13 种内容形式,你用全了吗?

知乎内容 📅 2026-07-18 👁 20
📝

云原生家庭网络(十五):使用 victoria-metrics-k8s-stack 打造监控系统

知乎内容 📅 2024-05-28 👁 51
← 返回文章列表