开篇:折腾的起点,All in One 的构想
最近这几个月,我几乎放下了手头的一切事务,全身心地投入到了一场关于“服务器”的折腾之旅中。 故事的缘起要追溯到九月份,当时我购入了一台家用 NAS,一个构建 “All in One” 家庭服务器的念头也随之萌发。 借此机会,我想好好梳理一下这些年来,我与各种“服务器”设备之间的点点滴滴。
启蒙:从树莓派开始的探索
故事的开端,也是我这个个人网站最初的雏形,都搭建在一块小小的树莓派上。这块树莓派是我大学时代购入的,它真可谓是我的编程启蒙老师,为我日后接触各种开发板和服务器奠定了基础。 除了那台 500 块的惠普旧电脑,树莓派就是我探索数字世界的另一扇窗。 我在这块小板子上软硬兼施,尽情折腾。 犹记得,当年 200 多元购入的树莓派,一度价格飙升至 700 多元。虽然卖掉它能轻松赚取 500 元的差价,但我最终选择珍藏起来,它象征着我对未知世界的好奇和对知识永不停止的渴求。
陪伴了我漫长岁月的树莓派,其活跃的社区支持令人惊叹。 大部分热门的开源项目都能在其上完美运行,即使是一些相对冷门的领域,也能在社区中找到解决思路或是不完善但可行的方案。 每次整理物件时,看到那块静静躺在那里的树莓派,我总能瞬间回到当年面对编程和硬件学习时,那种对未知充满兴奋和渴望的状态,那种欣喜若狂的感觉至今难忘。
尝试:香橙派的性价比之路
后来,我了解到国产的香橙派 Zero 同样可以运行 WordPress。 出于好奇和对国产硬件的支持,我将网站迁移到了香橙派上。 虽然运行内存从最初的 512MB 提升到了 1GB,但处理器性能依旧略显不足。 国产开发板就像一块裸板,你需要付出更多的精力去适配它,许多服务需要自行编译开发,一些硬件也需要自己编写驱动。 能力有限的我,只能勉强拼凑着运行几个简单的项目。 所幸,香橙派的价格优势明显,如果进行批量开发,这将是一个巨大的优势。 可惜,后续的批量开发计划未能实现。
如今,我的香橙派已经落满了灰尘。 但不可否认的是,现在的香橙派性能已经有了质的飞跃,可以用“秒天秒地”来形容。 尽管仍然存在一些不足,但随着性价比的提升和产品出货量的增加,其社区也变得日益活跃。 我对国产硬件抱有很高的期望,希望未来能涌现出更多优秀的国产开发板。
主力:瑞芯微系列的稳定服役
瑞芯微(Rockchip)系列的开发板,在我后来的服务器系统中扮演了稳定的主力角色,我使用了将近一年的时间。
最初我购买了一块搭载 RK3399 处理器的工控主板,它完美满足了我搭建 MQTT 服务的需求。 之前的那些开发板主要用于视觉开发的图像识别终端(那是另一个故事了),处理图片尚可,但要搭建一个 полноценный 博客还是有些吃力。 RK3399 的表现相当不错,更令人惊喜的是,它的价格比香橙派还要便宜,性能却提升了好几倍。 这块板子陪伴了我很长一段时间,期间还承担了老刘的影视需求,帮她下载和共享她喜欢的电视剧和电影,为此我还外接了一块 1TB 的移动硬盘。
实际上,RK3399 在当时基本能够满足我的需求。 后来,我又购入了一块搭载 RK3588 处理器的黑豹 X2,希望能够单独部署一些服务进行功能拓展。 期间,我在上面部署了一些物联网服务、WordPress 博客、Nextcloud 以及我的世界服务器。 我还尝试过在这块开发板上安装 TrueNAS,虽然运行速度较慢,但并非完全不可用。 总的来说,1GB 或 2GB 的内存对于当时的我的需求来说已经足够了。 在这个过程中,我学习了大量的知识,包括各种服务器的配置、Docker 技术以及网络穿透等等。 虽然只是简单地列举了几个词汇,但这背后却是我花费的大量时间和精力。 每个功能的实现、每项配置的完成,都需要自己一点点地去完善。 有时候,一个小小的问题就能卡住我好几天。 有些知识需要从头开始理解和学习。 虽然过程充满挑战,但也乐在其中。
进阶:X86 平台的性能释放
之前的几款开发板毕竟不是专门为服务器设计的,长时间运行下来还是会遇到一些小问题,比如温度过高,或是硬件和软件的稳定性不足,偶尔会出现莫名其妙的重启或服务丢失的情况。 而且,随着摄影素材的不断积累,我越来越渴望拥有一个 NAS,这大概是中年男人的共同爱好吧,总想要拥有一个属于自己的服务器,用来存储这些年零零散散的记忆。 X86 架构的服务器基本上是民用领域的性能天花板了。 我最初也曾考虑过购买正经的服务器,但又担心高昂的电费。
一开始,我自然而然地关注了群晖的 NAS 产品,但其价格实在让我望而却步。 符合我性能要求的产品,价格更是高得离谱。 毕竟,除了存储服务,我还需要一定的性能支持。 几经周折,我将目光投向了 DIY NAS 领域。 最初映入眼帘的是蜗牛星际,但其搭载的 J1900 处理器性能让我不太满意。 而且,处理器型号也比较老旧了,要知道,越新的处理器,其功耗和性能比值往往越高。 后来,我又关注了搭载 N100 处理器的双盘位 NAS,如果只是作为纯粹的 NAS 使用,它还算不错。 但如果想要兼顾服务器的功能,则显得有些力不从心。 我的目标很明确:在未来五年内,使用这台设备作为我的主力 24 小时开机服务器。 最终,我将目光锁定在了 AMD 的服务器平台,其性能是 N100 的三倍。 于是,我开始深入研究 AMD 的服务器。 综合网上能找到的信息,我总结出了以下几点:服务器的耗电量越少越好、盘位越多越好,频繁折腾最费钱,一步到位最省心。
购买之后,随之而来的是无尽的痛并快乐着。 拥有自己的服务器真的是一件很酷的事情。 那些细枝末节暂且忽略不提,最令人开心的是:所有的服务,都可以用一台配置不错的电脑来完成。 我可以不间断地进行各种活动,例如多平台的数据同步、状态同步、工具同步以及自动化处理等等。 我可以根据自己的知识架构框架,自由地部署各种服务。 目前我自用的服务大致如下:
我的整体网络架构是:光猫 -> 软路由 -> 老 X2 服务器/新天钡 WTR Pro/路由器 -> 路由器下接其他设备。
群晖自然是首选,TrueNAS、Unraid、Nextcloud 等也是不错的选择。 但考虑到我已经习惯了群晖的操作方式,它的确更加方便易用,所以最终没有选择其他的系统,直接上了群晖。 大部分的数据交互都通过群晖完成,的确省事不少。 当时让我纠结最久的就是 Nextcloud,我上一个服务器的所有服务都是基于 Nextcloud 构建的 All in One 方案。 但问题在于,当需要与许多其他服务集成时,都需要进行互相认证,这实在太难搞定了。 而且,一些集成功能的完成度也略显简陋。 最终我放弃了 Nextcloud 作为主力,但我并没有完全抛弃它。 在新的架构中,我将原有的服务器设置为旁路由和反向代理服务器,并在其中部署了 Nextcloud 作为同步工具。 我在老服务器上接了一个 256GB 的 SSD,用 Nextcloud 搭建了一个临时网盘。
其次是笔记系统。 我最初打算选择纯在线的开源方案,但在一番对比之后,最终选择了 Obsidian。 主要看中了其强大的双向链接功能,感觉对于构建个人知识图谱会非常有用,可以将知识点互相串联起来。 一开始我认为 Web 端更好用,但从便捷性来说,我依然认为 Web 端更胜一筹。 然而,从功能完整性来说,还是客户端的表现更出色。 经过一段时间的使用后,我不得不承认,纯 Web 端的体验更加流畅。 最终,我切换到了纯 Web 的 Trilium。 关于笔记,我认真思考了一下,最重要的就是能够随时拿起就写,有时间再慢慢整理。 Obsidian 用起来很爽,整体的 UI 设计我也很喜欢。 唯一让我感到困扰的就是多端同步问题。 我配置了 WebDAV,实现了数据同步,但每次同步都需要等待将近一分钟,这实在让人难以忍受。 而我使用 Web 端的解决方案,从电脑上直接输入域名,基本上两秒钟就可以打开笔记页面,手机上浏览器打开默认是我所有服务的聚合页面,再点击进入笔记网站,也就半分钟左右。 对于笔记这类工具,能够立刻记录是最重要的,其次是同步,最后才是整理,然后才是软件本身的功能和使用体验。
个人网站方面,我依然选择了传统的 WordPress。 其实,我在 WordPress 上写的东西并不多,很多想法都随手记录在了笔记软件中,比起发布到需要精心排版的网站上,感觉更加自由,还能写一些天马行空的幻想。 但出于对旧互联网时代的一种执念,我终究还是需要一个属于自己的博客,用来撰写一些真正的长篇内容,记录一些成型的想法。
我还有第二个网站,最初并没有打算将其做成网站的形式。 一开始我也不知道 WordPress 可以通过 API 进行操作,技术选型从一开始就错了。 最初的想法是:我对一些特定的信息源很感兴趣,我想将这些网站的信息,例如:热榜、每日新闻、新闻联播等,抓取下来,然后进行排版,最终放到一个页面上,方便我每天通勤的时候浏览。 最终,我选择了使用爬虫抓取信息,然后将新闻排版成 Markdown 格式的文档。 Hugo 这个静态网站生成器会自动识别这些 Markdown 文档,并进行渲染展示。 如果当时我知道 WordPress 可以基于 API 进行操作,我就不会费劲地部署 Hugo 了。 Hugo 很好用,因为它能自动识别 Markdown 格式的文档并进行页面渲染,但可以自定义的东西实在太少了。
阅读部分,我之前一直使用服务端 Calibre-Web。 现在条件好了,也算是奢侈一把,直接上了完整版的 Calibre 全套服务。 阅读是我获取信息的重要途径之一。 我曾尝试过很多种阅读方式。 最初,我的阅读离不开 Kindle。 我的第一台 Kindle 是将近十年前购买的,它确实培养了我的阅读习惯,并且能够与手机上的 Kindle 应用进行同步,保证阅读进度的同步。 前年,国内停止了 Kindle 电子书店的服务,我不得不做出改变。 但多平台的阅读进度同步真的没有什么好的解决方案。 我先后尝试了微信读书和京东读书。 因为有京东会员,京东读书的体验还算不错,但有一些我想长期阅读的特定版本书籍它并没有,同步起来就很麻烦。 所以,最终我还是决定自己整理书籍。 一开始,我想到的解决方案是:WebDAV + 静读天下进行同步,体验确实很不错,唯一的缺点是无法进行多端同步,只能在安卓设备之间同步。 但我手头有 Windows、苹果、安卓、Mac 和 Linux 等多种设备,这种方案根本无法满足我的需求。 我认为最舒服的阅读和写作方式就是灵感来了,能够立刻开始阅读和写作。 于是,我找到了 Calibre。 最初,由于使用的是性能相对较弱的 RK3588 处理器,我使用的是 Calibre-Web,虽然可以阅读,但同步非常麻烦。 我还有做读书笔记的习惯,一些针对特定段落做的笔记无法同步,也很不方便。 我寻遍整个互联网,也没有找到一款完全符合我使用习惯的软件。 最后,我发现 Calibre 有很多封装的版本,有的可以进行格式转换,有的专注于阅读。 最终,我找到了一个原版的封装,直接将 Calibre 封装了起来,提供了两个可以使用的端口。 一个是 VNC 封装的接口,拥有电脑版本的所有功能;第二个是 Calibre 自带的服务端口。 这样一来,我就不需要再琢磨其他的了。 我只需要将书籍同步到 Calibre 中,就不需要进行其他客户端的设置和同步。 每次使用的时候,打开网页,随时进入阅读状态。 所有的内容,包括笔记,都是实时同步的。
浏览器同步方面,包括密码同步、书签同步和稍后阅读列表。 虽然 Google 和 Edge 浏览器的同步服务已经非常出色,但对于需要混合使用多个服务器的情况来说,还是有些麻烦。 我一直以来的做法就是,能够统一解决的、难度较高、重复度较高的任务,都会尽可能地统一寻找解决方案,以此来缩短在这些重复性工作上浪费的时间,就像是手机摇一摇广告的屏蔽,以及我对服务器服务的需求一样,我希望是无感的,以上提到的三个同步服务都接近于无感,打开就能用,后台自动同步。
之后就是一些办公服务,例如:Photoshop、CAD、PDF 编辑器、思维导图等一系列应急使用的服务。 其实,说到这些服务,并没有什么特别深入的思考。 大部分都是一些应急使用的产品,没有经过仔细打磨。 不出意外的话,这些服务可能会被废弃,因为公司新购入的戴尔 R730 服务器直接开启了虚拟机功能,真正实现了云办公。 无论是什么办公需求,都可以使用手机、平板或电脑连接到 Windows 虚拟机上进行解决,这比使用本地软件的限制少太多了。
至此,我的服务器架构已经算是一个比较完善的体系了。 整个系统从信息输入、处理到输出,形成了一个闭环流程。 而且,随着需求的不断变化,我也可以对不同的服务进行修改和部署。
我搭建这套服务器架构,主要是为了完善自己的思考方式和知识体系,最终落实到的是用户的使用体验。 经过这几个月的使用,我对这套架构还是比较满意的,它极大地提高了我在阅读和笔记方面的使用频率和效率。
跃迁:正经八百的服务器体验
公司前段时间正好也购买了一台服务器,戴尔 R730,这可是个重量级的家伙。 双路 E5 处理器加上 256GB 的内存,硬盘因为需求暂时上了两块 4TB 的,双电源冗余。 这一套配置下来,足够一个小团队使用了。
在没有接触到商用服务器之前,我对服务器的理解还是比较模糊的。 我不清楚服务器和普通的家用电脑之间到底有什么区别。 之前一直知道的是服务器的耐用性、服务能力以及各种冗余设计等等。 但具体的区别不太清楚。 真正接触到之后,才发现它真的是一个效率利器。
首先,对我冲击最大的就是 iDRAC(集成戴尔远程访问控制器)。 我之前听说过这个功能,但没想到它竟然如此好用。 整套设计可以将所有启动时的 BIOS 设置、系统安装、网络配置、磁盘阵列配置等等事情全部通过 iDRAC 完成。 更重要的是,它还提供了一个可视化的操作界面。 服务器的整体状态、错误报告等信息都非常详细,甚至还能查看实时功耗(我在我的家用服务器上花了 60 块钱买了一个智能插座才实现类似的功能)。 成熟的商用服务器抛开功耗不谈(是的,除了功耗),噪音甚至都没有我觉得很大。 说起电费,这台服务器在目前的配置下,每年的用电量至少要 1000 度,后期如果增加独立显卡,更是可能达到 1500 度以上。 戴尔服务器一天就要耗费 3-4 度电,对比我的家用服务器,一天只需 0.7 度电,着实让人有些承受不住。 一年的电费抵得上我家用服务器五年的电费。
抛开电费不谈,这台服务器的性能是真的强悍。 256GB 的内存简直用不完。 我也是基于 PVE 平台,直接虚拟化了四台 6 核 32GB 内存的 Windows 主机,又部署了一台 Ubuntu 作为服务器,用来运行一些公司业务需要的服务。 在这种情况下,每个虚拟机运行起来都非常流畅。
关键是在使用了这台服务器之后,我突然发现,很多关于我个人办公或学习的持续性需求,其实使用 Windows 虚拟机就可以解决。 而且,这个虚拟机使用 Windows 的远程桌面连接,竟然没有什么明显的卡顿。 连接双方都是普通的家庭网络,没有任何专线优化。 这个发现可能会颠覆我整体的工作流程。 或许在不久的将来,我会给这台服务器加装一些内存,并在我自己的天钡 WTR Pro 中也增加一个 Windows 虚拟机。
总之,正经八百的商用服务器给我带来了工业级产品的震撼。 的确能够感受到各个方面的自由度和冗余设计。 对于我这种喜欢机械设计的人来说,是非常认可和喜欢的。 但对于家用场景来说,最大的缺点就是电量消耗。 或许随着半导体工艺的不断进步,这个问题可以得到解决。
云端漫步:免费的午餐也丰盛
按理来说,手头已经有了这么多服务器,我肯定不会再购买新的服务器了。 但赛博世界的“大善人”亚马逊、微软、甲骨文却慷慨地提供了免费的云服务器资源。 亚马逊和微软的服务多少还是有些“套路”,一不小心就容易产生费用(虽然我没有被扣过费,但我直接注销了账号)。 甲骨文可真是“大善人”,但注册过程却十分艰难,我经历了三四个月,几乎每周都尝试注册,才最终成功。 成功之后,可以申请 X86 或 ARM 架构的服务器。 一开始,想申请 ARM 服务器根本无法成功,只申请到了一台 1 核 1GB 内存的 X86 服务器。 我对这个结果还是挺满意的,至少拥有了一个不会失联的网站,国内外都可以访问。 自己使用动态公网 IP 搭建的服务,访问时需要添加端口号,而且国内的公网 IP 默认会屏蔽 80 和 443 端口。 这对于正常使用来说没什么影响,只是看起来像是一个不正经的网站。
经过一段时间的使用,不知道为什么,我竟然申请到了一台 1 核 6GB 内存的 ARM 服务器。 到了这个阶段,我已经不知道还能用它来做什么了。 6GB 内存对于云服务器来说,部署大部分应用都足够了。 我简单地部署了一个 gpt4free,一个可以收集免费 ChatGPT API 并进行使用的网站,又部署了一个我的世界服务器(我特别喜欢玩我的世界,虽然玩得不怎么样)。 这一通操作下来,基本上把 6GB 内存用完了。
前段时间,我感觉 1 核 1GB 内存的服务器实在太难受了,用起来处处受限,毕竟我也体验过拥有 256GB 内存服务器的人。 我尝试删除这台服务器,然后重新申请,结果竟然给我申请到了一台 2 核 12GB 内存的服务器,这真是让我有些不知所措。 竟然能申请到配置这么高的免费服务器吗? 关键是:永久、免费。 这个配置真的让人有些“幸福的烦恼”,不知道该用来做什么。 这样一来,我整体的服务器架构又需要进行调整了。
总结: 不断演进的数字基石,连接热爱与创造
回顾这一路走来的服务器升级历程,它不仅仅是对硬件设备的更迭,更是一次对自我需求、知识体系和生活方式的持续探索与完善。 从最初的树莓派启蒙,到国产板的性价比尝试,再到瑞芯微系列的稳定支撑,直至 X86 平台的性能释放和商用服务器带来的工业级震撼,每一步都带着我对技术的热情和对未知的好奇。
这不仅仅是搭建一个又一个的服务器,更像是在构建一个属于我自己的数字世界。 这个世界并非一蹴而就,而是在不断地试错、学习和调整中逐渐成型。 学习成本是必然的,但每攻克一个难题,每实现一个功能,那种由衷的成就感都令人沉醉。 它远不止是技术的堆砌,更是将个人的思考方式和知识结构,通过代码和配置,转化为实际可用的工具和服务。
如今,拥有如此多样的服务器资源,看似繁琐,实则是不同阶段需求的体现,也是对各种技术可能性的一种探索。 我依然在思考如何更好地利用这些资源,例如尝试远程启动家里的高性能主机,或许能带来更进一步的性能提升。 这既是对现有架构的优化,也是为未来需求预留的弹性空间。
更令人惊喜的是,意外获得的免费云服务器资源,为我的世界增添了新的维度。 它们不仅能作为可靠的公网服务节点,也激发了我去尝试更多可能性,例如部署一些有趣的应用,甚至搭建一个共享的游戏空间。
与其说这是一篇关于服务器升级的总结,不如说这是一段关于个人成长的旅程。 它让我深刻体会到,技术并非冰冷的工具,而是连接热爱与创造的桥梁。 在这个过程中,我不仅获得了掌控感和自由度,更在嘈杂的世界中,开辟出了一片属于自己、可以自由探索和创造的净土。 未来,这条服务器的升级之路还将继续延伸,而我,也将怀揣着这份热情与好奇,不断前行。
总之,让我们一起,变得更强。