大家好,我是陌溪。
最近,蘑菇的云服务器快要到期了,陌溪是两年前趁着打折活动的时候,花费了 200 块买了三年。这次进入云服务器后台看到续费的价格,直接把我劝退了,续费三年竟然需要 4284 元!已经快赶上陌溪配置的台式机的价格了...
要知道,陌溪在之前在 2022 年的双十一,可是自己网上买零件配置了一台主机的,用的是当时最新刚发布的 Intel i5 13600K 芯片。装机的配置是:CPU 14 核20 线程,32GB 内存、1.5TB 固态硬盘。
整套机器配置加起来也才花费 5000 块,用了几年后依旧坚挺,还是陌溪在周末时代码输出主力机器。
现在续费的这个服务器,只有 4 核 4GB 内存 80GB 硬盘的服务器,就要了 4200 元,简直是不把老用户当人看....
所以,陌溪打算服务器到期后,就不续费这台云服务器了,毕竟自己买台物理机器,用几年后没准还能卖二手回血一波,但是买了云服务器到期后就啥都没了..
最开始陌溪想着使用自己的主机充当服务器,但是这个机器日常也需要使用,而且这个CPU基础功耗有 125 W ,如果要24 小时开机,1 天就得3 度电了,一年差不多就 1000 度电,按照现在的电费8 毛一度,差不多一年电费就得800块了,这个开销肯定顶不住的。
所以,陌溪在618 的时候,就去了解一下小主机的市场,因为平时我们部署的网站,访问量都不会太高,基本上 CPU 的资源都是闲置的,如果是 Java 项目那么对,所以可以找一些低功耗的CPU,整体的功率也会更低。
经过了几天的网上冲浪,最终选定了几款机器
-
极摩客G3 ,采用Intel 的N100 处理器,4核4线程,功耗 6W,睿频15W,最高可支持扩展:16G 内存,准系统价格 569元【准系统是指不带内存和硬盘的机器】。
-
天虹TexHoo ZNR5 ,采用锐龙R5-4500U 的迷你小主机,6核6线程,待机功耗10~15W ,满载 15~25W ,最高可以支持扩展 64G 存储,准系统的价格是 779元。
陌溪大概盘算了一波成本,假设机器平时功耗 15W ,7 * 24 小时运行一年,差不都只需要 130 度电,按照电费 8毛 计算,也只需要差不多 100 块电费搞定。
考虑到后面的扩展性,陌溪最终选定了 R5-4500U 的迷你小主机,然后在购置了16G 的内存条和 512G的固态硬盘。
PS:在陌溪文章写完的时候,已经给自己升级了一波配置,直接换了一个 32G内存条 和 R7-5700U 的小主机,拥有8核16线程。如果预算有限的情况,也可以按照陌溪上面的推荐。
这个 512G 的固态硬盘,也是陌溪拿出字节平时发的包包,和群友 PY 一波获取到的,后面等服务器搭建好了,开放一个实例给这位小伙伴使用~
所以,最终的陌溪采购小主机的价格是:848 块【小主机好评还可以返现50元】
等待了两天后,也终于都到货了,陌溪直接开启了一波安装,先把内存条、固态硬盘都安装上去,同时这个主机在顶部还预留了一个 Seta 接口的机械硬盘位置,陌溪是直接从旧笔记本上拆卸下来的硬盘安装上去,又多出了 500G 的空间,真是美滋滋。如果小伙伴有闲置的硬件,比如:原来笔记本上拆卸下来的固态,或者内存都可以直接用上,主打一个节省成本。
在所有配置都安装完毕后,把盖子合上就可以了,然后显示器连接上小主机的 HDMI 接口,进行开机。
因为机器的版本是准系统,所以需要我们安装系统,如果小伙伴们是用来作为主力办公电脑,那么可以安装一个 Windows 系统。
虚拟机系统选择
因为陌溪已经有台式机作为主力机器了,这个小主机的主要目的要做成一台服务器,同时小主机需要支持多个环境,如:蘑菇开发环境、蘑菇测试环境、蘑菇演示环境、蘑菇线上环境。
要实现上述的第一想法肯定是想到安装虚拟机。平时我们常用的一些虚拟机软件有:VMWare 、VirtualBox ,但是这些软件都需要运行在 Windows 系统上,如果我们给小主机装个 Windows 系统,那么资源损耗就太大了,因为桌面级系统本身在运行时候就需要消耗比较大的硬件资源。
目前,物理机上安装虚拟平台,目前主流的是 ESXI 和 PVE 两套。然而,ESXI 是闭源的,我们总不好在互联网上分享怎么激活使用吧。而 PVE 则是开源软件,也提供了非常强大的虚拟化技术支持,从 PVE 的官网中,可以看到以下关于 PVE的一些简介。
Proxmox VE 是一个全开源的企业虚拟化服务器管理平台。它在单一平台上,紧密集成了 KVM 管理程序、Linux容器(LXC)、软件定义存储、网络功能等。通过基于web的集成用户界面,你可以轻松地管理虚拟机和容器、实现集群高可用性,使用集成灾难恢复工具等。
面向企业级和 100% 基于软件定义等特征,无论是虚拟化IT基础设施、还是优化现有资源,Proxmox VE 都是最低成本且效率显著的完美选择。你甚至可以轻松地虚拟化最苛刻的 Linux 和 Windows 应用程序工作负载,并随着需求的增长动态扩展计算和存储,确保您的数据中心能够适应未来的增长。
最终,陌溪选中了 PVE 作为蘑菇小主机的虚拟化平台,对机器的硬件资源统一的协调管理。
烧录PVE系统
首先,开始烧录我们的PVE系统,陌溪用的是一款叫 Etcher 的软件进行烧录,小伙伴在下载的时候千万不要直接百度搜索,可能下载了一堆流氓软件,可以直接打开 Github 的 Release 页面进行下载
https://github.com/balena-io/etcher/releases
然后找到 .exe 后缀的windows 版,下载即可:
下载完成后,选择好PVE 的镜像,镜像可以直接到 PVE 的官网进行下载最新版的镜像即可
https://www.proxmox.com/en/downloads
PVE官网下载
所有软件下载好后,插上对应的U盘 ,打开软件,然后选择下载好的 PVE ISO 镜像,即可开始烧录了。
等待烧录完成后,把 U盘 插入到小主机中,然后进行开机。
在这里提醒一下,千万不在在烧录还没完成的时候拔掉U盘,不然可能导致U盘损坏,陌溪就因为烧录过程中卡掉了,直接拔掉U盘,导致无法被正确识别,所有磁道都损坏了....
但是!虽然U盘坏了,装机的节奏不能停下,直接美团下单了一个新的U盘让外卖小哥送过来,然后接着烧录系统。
后续的过程就很顺利,PVE系统正常烧录到U盘里了。
安装PVE系统
把U盘和键盘插到小主机上,点击开机按钮进行开机,然后按 Del按键即可进入到BIOS系统。设置好启动的优先级,优先从U盘启动,然后保存重启。
重启设备后,将会进入到PVE的安装界面,我们直接选择第一个图形化安装,选择第一个直接确认即可
第二步会要求签署协议,点击确认;然后第三步选择要安装的磁盘,我们优先选择安装到 固态的磁盘 上。
第四步,选择好国家输入 China,然后选择上海时区,直接点击下一步。
第五步会要求输入我们PVE系统的管理密码,后续将用于PVE系统的登录,小伙伴千万要记住。
第六步,就要求我们选择网卡设备,陌溪的小主机上三个网卡,一个是无线网卡,另外两个是有线的,这里优先选择 enp 开头的,代表是有线网卡。
Hostname我们随便填写,下面是主机的IP地址,因为我们需要能联网,所以需要保持和路由器在一个网段。
这里的网段,可以直接打开我们路由器的地址,如蘑菇是:192.168.10.1 ,那么这个地址就是网关地址,我们把 Gateway 改成 192.168.10.1。然后IP地址就在这个网段内任意选择,比如我给PVE设置的是:192.168.10.222,小伙伴可以根据自己的路由器分配的网段地址任意设置即可。【我家wifi密码被你们知道了】
点击确认后,系统就将会安装我们的PVE系统了,安装完成后,重启会展示一个链接。
http://192.168.10.150:8006 安装成功提示
到这里,我们就可以把显示器接口拔出来,插到我原来的电脑上。然后在给小主机插到网线,这里注意要插入靠近电源这边的网口。 连接上小主机和路由器
打开我们 PC 电脑,输入刚刚获取到的 PVE 链接,Chrome 浏览器默认访问的是 https,所以需要点击高级,继续访问:
访问PVE后台
然后就会 PVE 管理后台页面,输入刚刚设置的账号和密码,然后选择中文,登录即可。
输入账号和密码登录
如果小伙伴们无法打开这个地址,可以尝试修改一下电脑的IP地址,打开控制面板,找到网络,然后编辑以太网,设置固定的IPV4的地址,记得和路由器和我们的小主机在一个网段内即可。
设置好机器的网段
然后保存,重新打开页面即可。
PVE基本设置
进入PVE后台,即可看到我们小主机的一些信息,左侧侧边栏有三个栏目:
-
localnetwork:代表的是我们的网络
-
local:主要是为了存储ISO镜像和备份文件。
-
local-lvm:主要是为了存储虚拟机磁盘文件
PVE硬件资源
PVE 特意将我们的磁盘空间分为两部分,一部分用来存储ISO镜像和备份文件,一部分用来存储虚拟机磁盘。所以我们在控制面板中,只能看到一半的空间能利用。平时因为我们ISO镜像和备份需求不高,期望能存储更多的文件。所以我们需要做一些设置,让 PVE 把这部分空间合并起来。
这个时候,就会用到论坛大佬写的一个 PVE 脚本:pve_source,这个脚本能够帮我们完成很多 PVE 的设置,如:更换 PVE 源;更换Debain源;修改容量;PVE展示更多信息。【老虎大神牛~】
https://bbs.x86pi.cn/thread?topicId=20&page=6 老虎大神的脚本介绍
我们使用远程连接工具【蘑菇使用的是 MobaXterm 】,连接上我们的 PVE 机器,因为 PVE 是基于 Debain 系统开发的,所以安装完后我们可以 SSH 进入。 SSH工具连接 PVE
我们点击下面的链接,下载论坛获取的 pve_source 脚本
https://bbs.x86pi.cn/file/topic/2023-11-28/file/01ac88d7d2b840cb88c15cb5e19d4305b2.gz
解压完成后,会获取到 4 个文件,将文件丢入到服务器的 /root 目录下【注意,千万要放到 root 目录,其它目录可能没法运行脚本!!】 解压后的脚本
使用下面命令,将这几个文件设置为可执行
chmod +x pve_source
chmod +x pve_source_1
chmod +x pve_source_2
chmod +x pve_source_3
执行完成后,使用 ./pve_source 命令,运行 pve_source 脚本,然后输入 Y 接受协议 签署协议
然后就会进入到命令选择页面,我们可以按照提示,把 1~6 都执行一遍,更换我们的系统镜像源,以及登录弹出的无效订阅。
跟着指令操作
这里,我们主要是要移除掉我们的 local-lvm 存储空间,把我们的磁盘都合并起来提高利用率,这里输入 16 ,然后在输入 y ,脚本会自动帮我们移除掉 local-lvm 。 移除local-lvm硬盘
执行完毕后,我们点击数据中心,选择 存储 ,然后把 local-lvm 移除掉
删除无效的存储
在回到 PVE 虚拟机中找到存储,编辑 local 把内容所有的选项都勾选上,提交保存即可,这样我们这个 local 区域就可以上传下面这些文件内容了。 选择空间支持上传的格式
在重新查看一下概要,可以看到磁盘的空间恢复磁盘的大小。 空间回来了
如果要展示更多机器相关的数据,我们可以选择 6 ,然后在输入 1 ,在输入 o , 选择推荐方案一:高大全,然后回车; 显示更多的内存信息
安装完成后,我们打开概要页面,可以看到更多关于机器硬件相关的信息了,例如:CPU的频率 ,温度 ,磁盘使用次数 ,磁盘温度 等等,能够让我很直观了解当前硬件的一些信息。我这个笔记本上拆卸出来的磁盘,竟然使用了 14697 小时,看来也是经历了时间的锤炼。 完整的概要信息
更多的一些关于 PVE 的配置,小伙伴也可以去体验一下。
安装CentOS系统
下面就到了今天主题了,我们去安装一个 CentOS 系统,来部署我们的蘑菇博客项目,首先到 CentOS 官网,下载镜像,优先下载 7.x 版本【CentOS 昨天已经停止维护了,下次一定换成 Debain】
http://isoredirect.centos.org/centos/7/isos/x86_64/
然后切到我们的 PVE 管理页面,找到 local ,选择 ISO 镜像,把刚刚下载好的镜像上传上去。 上传镜像
上传完成后,我们点击右上角的 创建虚拟机 ,输入虚拟机的名称,然后点击下一步。 创建虚拟机
第二步,就选择刚刚我们上传的 ISO 镜像,然后类别就是默认:Linux ,点击下一步; 选择镜像
第三步直接用默认值,点击下一步 配置系统
第四步,选择总线选择 SATA ,然后磁盘大小根据自己空间来分配,我这里设置 20G ,然后选择下一步 配置磁盘空间
后面就选择 CPU 和 内存,我这里直接输入的是 2核 2G ,最后点击下一步。 配置CPU和内存空间
网络我们选择默认值,最后在勾选创建后启动,然后点击确定,开始创建 CentOS 虚拟机。 预览下配置
在左侧可以看到一个 CentOS 的实例,点击控制台进行启动 开始启动
然后会进入到 CentOS 的安装接口,选择 Install CentOS 7 安装CentOS
CentOS 的安装比较简单,按照流程安装即可 开始安装
这里可以配置好固定的IP地址,选择网络和主机,然后编辑以太网,选择手动输入IP地址,根据自己路由器的网段,输入一个固定的地址,蘑菇这里使用的是:192.168.10.155。
image-配置网络
最后在配置下 Root 的密码,等待安装完成即可,最后点击 重启 。 设置密码
重启后,我们输入刚刚设置的账号和密码,即可进入到 CentOS 系统了。 成功进入机器
按照惯例,首先 ping 一下百度,看看网络的连通性,可以看到我们的机器是可以正常访问网络的。 测试网络
下面,我们使用我们的远程连接工具【MobaXterm】,连接上我们的 CentOS 机器,输入机器的 IP地址和端口号,确认即可。 远程连接机器
输入密码,即可远程连接我们的机器了,以后就可以使用 连接成功
安装蘑菇系统
下面,我们就使用SSH远程工具访问我们的 CentOS 服务器了,因为现在给蘑菇分配了 4核7G 的资源,所以不需要额外配置虚拟内存。 系统配置
首先安装 wget 工具,用于下载蘑菇一键部署脚本
yum install -y wget
然后输入蘑菇一键部署命令,开始安装蘑菇博客
wget http://oss.moguit.cn/script/moguInit.sh && chmod +x moguInit.sh && sh moguInit.sh
想了解更多关于蘑菇博客的信息,也可以访问蘑菇开源地址
地址:https://gitee.com/moxi159753/mogu_blog_v2
输入完命令后,我们耐心等待一键部署脚本的执行,会自动给我们服务器安装 docker、docker-compose 等所需的环境。 等待安装
等待一段时间后,等脚本运行完毕,输入网址:http://localhost:9527 即可打开蘑菇的门户页面
蘑菇门户网站
输入:http://localhost:9528 即可进入到博客的后台管理系统 蘑菇后台
最后,在看看基于小主机安装了多个环境,整体的负载情况也很稳定,后续可以用来搭建蘑菇 K8S 集群~ 整体负载情况
到了大家最关心的耗电量,切换到智能开关,可以看到在 CPU 负载不高的情况下【大部分情况都不高,除非是用来玩游戏】,基本只需要10多W的,一天可能只需要 0.3 度电就够了。 用电量
好了,到这里我们就使用了小主机搭建了蘑菇博客,如果大家对这个系列感兴趣,后面陌溪也会继续讲解关于小主机的更多玩法~
最后,如果小伙伴们不想这么折腾的去搭建蘑菇博客,也可以直接购买现成的云服务器,最近搞活动还是能抢到便宜的机器的。
腾讯云:
https://curl.qcloud.com/BoYpZdLh阿里云:
https://www.aliyun.com/minisite/goods?userCode=w7aungxw
我是陌溪,我们下期再见~
推荐
推荐一款陌溪最近在持续更新和打磨的社区项目《蘑菇社区 》,蘑菇社区 定位是多人内容社区系统,在原有蘑菇博客的基础上,加入了更多的社区玩法 ,支持:用户投稿 、个人主页、用户签到 、关注/取关 、收藏/点赞 、积分模块 、VIP会员 、用户动态 (蘑菇圈)、面经模块 、课程模块 、消息通知 、公众号登录/管理、私信/群聊模块 、SEO优化 、图片敏感审核、任务模块、成就模块、勋章模块 、支付模块 、提现模块、消息触达 、资源模块、抽奖模块 等,欢迎点击左下角阅读原文了解关于社区项目更多内容~。
往期推荐
博主就职于字节跳动后端研发,一直维护校招笔记仓库 LearningNote「在Gitee上已有 6.6k star,地址 https://gitee.com/moxi159753/LearningNotes」,公众号上的文章也会在此同步更新,欢迎各位小伙伴一起交流学习,回复 「PDF」获取PDF笔记。
同时,想要丰富项目经验的小伙伴,可以参考我维护的开源微服务博客项目:蘑菇博客「 Gitee 官方推荐项目,博客类搜索排名第一,在 Gitee 已有 6.8K star,仓库地址:https://gitee.com/moxi159753/mogu_blog_v2 」。
欢迎小伙伴们添加我的私人微信 coder_moxi【备注:加群】,我将邀请你加入到蘑菇博客交流群中,欢迎小伙伴们找陌溪一块聊天唠嗑,共同学习进步。最后,如果你觉得本文对你有所帮助,麻烦小伙伴们动动手指给文章点个「赞」和「在看」,非常感谢大家的支持。 快来找陌溪唠嗑吧 点个在看你最好看