软路由N5095折腾日记(四 虚拟化层之上)

2022-06-22 13:06:29 30点赞 156收藏 32评论

前言

不知不觉已经写到第四篇了。总结一下写作经验:

  • 写硬件的文章更容易引发讨论

  • 写软件的文章更容易被收藏

  • 竟然有这么多人只收藏不点赞

  • 手把手的教程更受欢迎

好了,进入正式的前言。上回说完虚拟化层的选择,这回就到虚拟化层之上了。虚拟化层之上就是虚拟机了,简单的说,此篇就是水一水建了哪些虚拟机。

容器的宿主1

先解答两个问题

Q1: 为什么要在虚拟机中跑容器?PVE本身就支持LXC,而且PVE的基于Debian的,本身也可以安装docker
A1: 一句话解释,为了稳定。在上一篇中也提到过,稳定也是选择PVE的原因之一。
为什么在PVE中跑容器就不稳定呢?
两个逻辑:
1、干的越少,错的越少。
2、容器共享主机的内核,比起虚拟机,对主机的影响更大
所以,PVE就专心干好虚拟化吧。

Q2: 为什么是宿主1,还有宿主2吗,为什么要两个,区别是什么?
A2: 在下一节中再解释。

既然谈完了需要一个容器的宿主,那么接下来的问题就是,选谁来做容器的宿主呢?

首先梳理一下基本的需求

  • 需要一个图形化的容器管理界面

  • 容器的宿主只要干好容器的管理,其他的不需要

  • 稳定,另外出了问题也比较容易定位

基本上就在linux的各大发行版之间去选了

软路由N5095折腾日记(四 虚拟化层之上)

发行版优点缺点
Alpine轻量源码编译稍复杂、debug相对麻烦
ArchLinux新,pacman真香新(稳定性稍差)
Centos稳定,包管理方便内核版本,软件版本较低,可能会遇到一些兼容的问题
Debian稳定,包管理方便,软件版本相对较新
Fedora没看到特别的优点
Ubuntu没看到特别的优点
RancherOS专为容器化打造,与rancher是亲兄弟基于alpine(好像是),继承了alpine的缺点
Suse
不当大哥好多年

好像只有Debian只说了优点,没说缺点。哈哈,因为最终使用了Debian。

但是过程是曲折的。

最初被rancher所吸引,画风清新,又是专为容器设计。RancherOS又是rancher的亲兄弟。果然先上了RancherOS。

软路由N5095折腾日记(四 虚拟化层之上)

完全没想到的是,安装完RancherOS,再安装rancher,竟然直接启动失败。

后来也是费了劲找到原因,成功安装上了。但是并没有那么美好。

虽然新版的rancher迁移到了k3s,对资源的消耗减少了很多。但是在CPU资源本就不富裕的N5095上,系统空载就要消耗10%~20%的CPU,我也不太能接受。

再加上rancher的应用商店基本没有家用的容器应用,瞬间不香了。rancher其实是专为企业和集群打造的,家用不合适。

下面换到了Alpine,主要是想着轻量。安装完成后,内存占用<50MB,确实比较轻量。促使我把它换掉的原因是,有一次内核崩溃了,想配上kdump,竟然全网搜不到资料。算了算了,还是传统的发行版比较好用。

Centos的缺点已经说了,ubuntu基于Debian,离开了图形桌面,也没感觉比Debian好。那就是它了。

安装完Debian,进入系统,内存占用不到100MB,也是相当省资源了。docker的图形化管理,自然就不考虑rancher了,选择了portainer。

软路由N5095折腾日记(四 虚拟化层之上)

有点遗憾的就是没有应用商店,只能手把手自建了。好在docker-compose的xml还是比较多的,随便拷过来改改就能用了。也算是自建了应用商店了,哈哈

软路由N5095折腾日记(四 虚拟化层之上)

容器的宿主2

上一节中遗留了一个问题,为什么还要有容器的宿主2。

主要的考虑是把与内核或硬件相关的容器 和 与硬件无关的容器分离。

好处是在我编译内核,折腾硬件解码,直通网卡等各种操作时,与内核或硬件无关的容器可以一直稳定运行。

我这里选择了ArchLinux做为容器的宿主。

ArchLinux的缺点上面也提到了,软件版本过于新了,稳定性上肯定比centos,debian稍差的。不过我还是很喜欢这个发行版的,主要是包管理器挺好用的。

然而最主要的原因是为了jellyfin的硬件解码。5.15左右的内核存在一个bug导致N5095的核显无法使用。为了不用自己编译内核,能选择的貌似也只有Archlinux了,版本新也有新的好处。

(N5095上直通核显也是可以使能jellyfin的硬件解码的,并不需要在PVE上再用lxc+docker那种傻傻的架构…… 这里就不多说了)

其他

其他就安装了一个openwrt做旁路由,和一个debian的虚拟机跑网心云和甜糖。甜糖这收益真是一言难尽……

openwrt做旁路由主要也是不想被老婆拉出去毒打一顿(感觉折腾软路由的人都有这种体验吧,买了一堆设备,然后网络变差了,哈哈)。

目前旁路由已经稳定运行好几周了,估计做主路由问题也不大。

结束

另外搞all-in-one要注意数据的安全性,因为硬盘总是会坏的。

没有提前考虑的话,硬盘一坏,一切从头再来(想想就可怕)。

Raid1是最省心的了。


作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
32评论

  • 精彩
  • 最新
  • 么有点基础的人是看不懂你这个的,话说我选择CENTOS,毕竟资料多,它至少支持到2024年

    校验提示文案

    提交
    哈哈,想到哪就写到哪了。centos的用户群体应该还是最多的

    校验提示文案

    提交
    centos不是要死了吗

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • “N5095上直通核显也是可以使能jellyfin的硬件解码的,并不需要在PVE上再用lxc+docker那种傻傻的架构…… 这里就不多说了”
    这里老哥能详细说说吗? 我想买个n5105,但是我搜到的资料里说11代处理器不支持核显直通,我看了司波图all in one的视频,只知道个lxc+docker这种傻傻的架构 [喜极而泣]

    校验提示文案

    提交
    这周末我抽空写一下

    校验提示文案

    提交
    感谢大佬的回复 [高兴]

    校验提示文案

    提交
    还有10条回复
    收起所有回复
  • 我觉得lxc跑jellyfin挺浪费的,直通核显给windows能做更多事情,win一样可以安装jellyfin。我弄了两个lxc,但是没跑docker,没这方面需求,我是一个openwrt,一个宝塔面板。

    校验提示文案

    提交
    Windows可以干啥?没看到什么用Windows的需求,但是Windows是资源大户

    校验提示文案

    提交
    远程打印文件、远程P图,下载,看视频、运行小软件...干啥都行。我用N5105的机器,pve虚拟机win10,待机cpu总占用率也基本在5%以下,无非就是内存和硬盘要大一点。

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 请问能不能用这个跑智能家居的ha?

    校验提示文案

    提交
    具体看了,linux本身就有ha,就是稍微麻烦了点。rancher,pve也都有ha。不过不知道你说的ha跟我说的是不是一回事

    校验提示文案

    提交
    收起所有回复
  • 我是j4125 需求就两个 一个是win 用来挂小下载和有时候远程win系统使用,而是用来给手机同步,以前用的是群辉相册同步很好用,现在想物理安装群辉,然后群辉里虚拟windows,还有个方案就是物理机win然后找个win下的相册同步系统,不知道楼主有没有什么推荐,

    校验提示文案

    提交
    物理机用win,24小时开机的话,也可以虚拟群晖

    校验提示文案

    提交
    收起所有回复
  • 可以尝试casaos

    校验提示文案

    提交
    看起来很棒

    校验提示文案

    提交
    收起所有回复
  • 在京东上买了个maxtang大唐N5095的迷你主机,正好有用 [脸红]

    校验提示文案

    提交
  • lxc里面装Debian貌似效率更高

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
156
扫一下,分享更方便,购买更轻松