kicks|装在笔记本里的私有云环境:准备篇

作者:soulteary
接下来我计划写一个小系列,聊聊如何把一个简化过的私有云环境部署在笔记本里,以满足低成本、低功耗、低延时的实验环境。
过程中,将尽可能使用主流的开源软件和技术栈来完成功能,尽量保持日常使用的云服务的基础功能体验(如:存储、网络、监控、容器、通知)。但是,众所周知笔记本资源有限,所以许多选择、和软件配置上需要进行取舍和牺牲一定的 HA。
如果你对上面聊到的内容感兴趣,那么不妨搬个小板凳,订阅这个系列慢慢看。
写在前面几个月前,在《廉价的家用工作站方案:前篇》一文中,我提到了使用笔记本作为小型的家用服务器的可能性,文章记录了自2015年以来的一些尝试,以及背后的“沉默成本”、“性价比”、“体验上的不同”、“使用过程中的小坑”。
在最近三个月里,一边写代码、一边打游戏、一边整理服务的过程中,我将其中一台设备完全“腾了出来”,虽然之前生产环境里比较抵触 ALL IN ONE,但是如果是开发环境,其实问题不大啊,还能够更好的加深细节的理解,于是就有了本次的“为了不折腾的折腾的事情” 。
硬件环境在《AMD 4750u 及 5800u 笔记本安装 Ubuntu 20.04》一文中,我提到了我购入了一台搭载 Zen3 处理器的新笔记本,这台设备的硬件规格是这样的:

  • CPU: AMD Ryzen 7 5800U,8C16T
  • GPU: AMD Radeon RX Vega 8 (R4000/5000, 15W)
  • 存储:支持双盘位,目前磁盘是 500G + 1T 的两块SSD
  • RAM: 1x 8GB DDR4, 3200 MHz + 1x 32GB DDR4, 3200 MHz
  • 网络环境:千兆有线、千兆无线
相比较之前那台可以扩展到 64GB 内存的笔记本而言,这台内存容量少了20GB,但是在CPU性能、存储容量上则有了更大的资源冗余,还是比较适合折腾的。
接下来的实践,就将围绕这个硬件环境展开。
当然,如果你手头有更充裕的资源,也可以参考本文接下来的配置进行一定的扩展,以获得更好的体验。如果你的资源比文章中的还少,那么可以再次进行适当的配置调整,试试运气(问题不大)。
虚拟化环境传统云厂商,除了水平扩展物理机的数量之外,其实也会使用虚拟化来提高整体利率和收益(超售)。我们日常听的用的最多的 EC2 / ECS 便是基于 KVM 虚拟化方案提供的标准算力规格的虚拟化产品。
kicks|装在笔记本里的私有云环境:准备篇
文章插图

如果你想进一步了解“虚拟化”的特点和优势,可以移步 RedHat 的专题页面。
前文提到,因为实现环境限定在一台笔记本上,而不是多台物理设备,所以我们也需要使用虚拟化技术来解决一些现实问题:
  • 不同职能的服务之间需要有一定的隔离性,确保运行过程中互不干扰,确保服务运行更加稳定、数据准确不受扰动。
  • 相比较生产环境中,我们可能使用多台设备来完成业务上云架构,这里只有一台笔记本,所以要尽可能提高资源的综合利用率。
  • 我们需要将运行过程中的硬件环境确定,包括硬盘额度、读写速率限制、以及网卡、IP地址,以确保环境可以轻松重建,以及在需要的时候,能够进行相对轻松的进行快速迁移。
选择基础虚拟化方案对于个人或者小团队而言,相对靠谱的“开箱即用”的虚拟化产品选择其实不多,其中 Proxmox VE 和 ESXi 都可以考虑,我曾写过两篇关于他们的文章,可以根据自己的喜好选择。
《AMD 5800u 笔记本折腾 Proxmox VE 7.0 虚拟化》《NUC 折腾笔记 - 安装 ESXi 7》
本文将使用 ESXi 环境,在实际环境中其实和 PVE 差别不大,根据自己喜好来就是了。