之前的事情:
本文以上一篇的自组 NAS 为基础,升级了一些配置,就性价比而言感觉这钱花得不算太值。
硬件部分
品牌 | 型号 | 参数 | 购买价 | |
---|---|---|---|---|
CPU | Intel | E5-2690 v4 | 14 核 2.6GHz 规格表 | ¥134(洋垃圾) |
内存 | Samsung | M386A4G40DM0-CPB | DDR4 2133 MHz 32GB 规格表 | ¥155(洋垃圾) |
接口扩展 | (主控)Marvell | 88SE9215 | PCIe2.0x1 转 SATAx4 规格表 | ¥75 |
总计 | ¥364 |
CPU
同样是按照之前的设置,使用sysbench
粗测的对比如下:
CPU | 主频 | TDP | Events/s | Avg. Latency |
---|---|---|---|---|
E5-2660 v4 | 2.0 GHz | 105 W | 17251.86 | 1.62 ms |
E5-2690 v4 | 2.6 GHz (+30%) | 135 W (+28.6%) | 22860.48 (+32.5%) | 1.22 ms (-24.7%) |
考虑到这两块 CPU 除了主频和功耗外几乎一致,性能成比例地提升确实是预料之中。也就是说我为了 30% 的性能提升多花了 157.7% 的钱,性价比不算高, 不过主频的提升对于一些多线程优化不好的任务(例如 Minecraft 服务器)还是有用的。
此外我买到的似乎是这个商家的最后一块 E5-2690 v4,我下单后回到详情页就发现这个型号缺货了。
内存
我本来认为这个 32GB 的内存条和之前购买的 16GB 内存条是兼容的,因为我在我的笔记本上用的就是 8GB+32GB 的非对称双通道的配置。 内存条到货之后才发现,虽然这两条单独安装都是能正常启动的(说明两条都没坏),但是两者同时安装的时候,无论放在哪两个插槽,NAS 都无法开机。 这让我感觉很奇怪,奈何也找不到解决方法,只好当作是主板/CPU 不支持,并闲置原来的 16GB 内存条。
PCIE转SATA扩展卡
这个是在淘宝上随便找的一个。因为我需要接的也都是机械硬盘,传输瓶颈还是在机械硬盘的读写上,所以我对速率没什么要求,能跑满机械硬盘的读速就可以。
至于它是不是真的值 75 元就不得而知了。
扩展完 SATA 口之后,机箱内一共有 7 个 SATA 接口,但是只有4个硬盘位,我想下一步应该是购买硬盘支架了。
软件部分
Gitea
Gitea 是开源的代码托管平台。 自己有时候写了一些工具项目,不想向 Github 上传的时候(担心隐私问题,以及大陆地区访问 Github 有时连接不畅),就会传到自建的 Gitea 上。
虽然名字和 Gitee 只差一个字母,但是它们应该没有任何关系。 类似的自建代码托管平台还有 GitLab 和 Gogs等。 不用 GitLab 是因为 GitLab 的资源占用太大了,并且我也基本用不到它的 CI/CD 功能。
Gitea 可以直接使用 docker 镜像部署,具体参照 Gitea 官方文档。
Immich
Immich 是开源自建的相册服务,类似于谷歌相册,提供了图片管理、人脸识别、地图和智能搜索等功能,并且在 IOS、Android 和网页端都有官方的客户端。
这个项目各方面都挺不错的,缺点是版本更新有点太快了,最快的时候一周能发三四个版本。当然对于项目而言这是好事,是项目活跃的证明,但是对于使用体验而言就不那么好了。 它更新的时候可能会引入 breaking changes,这就要求每次更新前都要到其 github 的发布页查看升级前的注意事项,然后才能用 docker compose 拉镜像。 拉镜像的过程也有些折磨,因为镜像实在太大了。
官方文档里给出了使用 docker compose 部署 Immich 的方法。
LANraragi
LANraragi 是用 Perl 语言编写的自建漫画库和漫画阅读器。 优势是通过浏览器访问,且支持直接从 zip、tar.gz 等压缩文件/归档文件读取图片,而不用手动解压。
缺点是它对 unicode 的支持不太好,我觉得 Lanraragi 在管理漫画方面的功能也比较欠缺,不算特别好用。 可以先找找它的替代品,找不到的话不妨有空自己动手用 golang 实现一个。
官方文档给出了使用docker部署的方法。
主页(homer)
NAS上运行的服务多了,每次访问服务都要输地址(无论是 ip + 端口还是内网域名)会很麻烦,于是用 homer 搭建了 NAS 的入口页。
由于是纯静态的网页(改完配置也不需要重新编译之类的),部署的时候进项目的 release 页下载编译好的 zip 文件解压,然后直接在 nginx 里添一个 server 就行,也可以改 default,让它成为路由无匹配时的默认页面。配置时只要改assets/config.yml
,在浏览器里刷新页面(可能需要在开发者工具的 networks 里 Disable Cache)就能看到更改了。
百度网盘客户端
之前在复习备考的时候,有很多考研资料是通过百度网盘流传的。 又因为百度网盘的限速,和它的一些操作让我不是很想在本机安装它的客户端,催生了我在 NAS 上部署其客户端的需求。 一搜果然有大佬做好了百度网盘客户端的 docker 镜像,其中之一是 gshang2017 做的 。
把指令转换成docker-compose.yaml
文件,然后docker compose up -d
,不出意外用浏览器访问 NAS 的 5800 端口就能看到登录界面了。
|
|
因为这个镜像是以官方的 linux 客户端为基础制作的,功能基本上与之相同。除了广告点不开(这是好事)之外我在使用过程中没有遇到什么问题。
饥荒服务器
我的舍友想要联机玩饥荒(Don’t Starve (Together)),于是拜托我在 NAS 上搭了一个饥荒服务器(不过我自己没什么兴趣就是啦)。
我在 Docker 上没找到下载量较多的镜像,于是按照知乎和 Fandom wiki 的教程搭建了环境(配置起来还挺麻烦),然后写了dnst.service
让它作为 systemd 服务运行和自启动:
|
|
虚拟化(KVM)
关于虚拟机,我之前只用过图形界面的 VirtualBox,这是我第一次接触 Linux 服务器上常用的 Kernel-based Virtual Machine(KVM)。 我是按照这篇教程在服务器上安装的KVM,按照这篇教程在本机(Arch Linux)安装了Virtual Machine Manager。
目前只是在虚拟机里装好了 Ubuntu 系统,还没有深入折腾。