Firxiao

记录些有用的东西

HOME LAB

02 Jul 2022 » home, lab

引子

之前一直用树莓派 4 做为家庭娱乐中心外加开发实验环境.

由于当时买的 2G 内存版本, 跑 k3s 内存有点捉衣见肘.

遂趁着 618 入手了一台低功耗 x86 小主机(8G*2, 256 SSD, 4T*2 SATA)

配置如下:

[root@lab neofetch]# ./neofetch
           .MMM..:MMMMMMM                  root@lab.home.lan
          MMMMMMMMMMMMMMMMMM               -----------------
          MMMMMMMMMMMMMMMMMMMM.            OS: Red Hat Enterprise Linux 9.0 (Plow) x86_64
         MMMMMMMMMMMMMMMMMMMMMM            Host: SmbiosType2_BoardManufacturer SmbiosType2_BoardProductName
        ,MMMMMMMMMMMMMMMMMMMMMM:           Kernel: 5.14.0-70.13.1.el9_0.x86_64
        MMMMMMMMMMMMMMMMMMMMMMMM           Uptime: 5 days, 17 hours, 20 mins
  .MMMM'  MMMMMMMMMMMMMMMMMMMMMM           Packages: 1301 (rpm)
 MMMMMM    `MMMMMMMMMMMMMMMMMMMM.          Shell: bash 5.1.8
MMMMMMMM      MMMMMMMMMMMMMMMMMM .         CPU: Intel Celeron N5105 (4) @ 2.900GHz
MMMMMMMMM.       `MMMMMMMMMMMMM' MM.       GPU: Intel JasperLake [UHD Graphics]
MMMMMMMMMMM.                     MMMM      Memory: 10050MiB / 15405MiB
`MMMMMMMMMMMMM.                 ,MMMMM.
 `MMMMMMMMMMMMMMMMM.          ,MMMMMMMM.
    MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
      MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM:
         MMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
            `MMMMMMMMMMMMMMMMMMMMMMMM:
                ``MMMMMMMMMMMMMMMMM'

需求:

  • 文件共享
  • 时间机器
  • 虚拟机
  • k3s

折腾历程:

一开始用了网上比较流行的PVE 虚拟化方案, UI 配置比较友好且功能丰富, 打算做长期使用.

无奈用了不到 2 周发现其虚拟机稳定性特别差, 虚拟机版本群晖会无缘无故重启, Ubuntu 虚拟机会无故无响应, 找了一圈社区文档改了些参数发现无效,可能是官方没有适配家用小主机硬件的缘故吧, 也就不再折腾了.

遂引出我们今天的主角RHEL9, 可能8版本的骚操作导致大量用户涌入了Debian阵营, 所以从 9 开始支持个人开发者注册使用, 注册下载点击此处.

设计

主机名IP系统用途
lab.home.lan192.168.99.2RHEL 9kvm 宿主机, k3s
dsm.home.lan192.168.99.234群晖 OS文件共享, 时间机器, Docker

安装系统

这部就略掉了, 比 centos 安装多了一部可以输入 Redhat 账号注册.

配置网卡桥接

RHEL9 使用 nmstatectl 来定义网络配置, 配置参考如下

[root@lab ~]# cat create-bridge.yml
---
interfaces:
- name: bridge0
  type: linux-bridge
  state: up
  ipv4:
    enabled: true
    address:
    - ip: 192.168.99.2
      prefix-length: 24
    dhcp: false
  ipv6:
    enabled: false
  bridge:
    options:
      stp:
        enabled: true
    port:
      - name: enp1s0
- name: enp1s0
  type: ethernet
  state: up
routes:
  config:
  - destination: 0.0.0.0/0
    next-hop-address: 192.168.99.1
    next-hop-interface: bridge0
dns-resolver:
  config:
    search:
    - home.lan
    server:
    - 192.168.99.1

[root@lab ~]# nmstatectl apply ~/create-bridge.yml

Web 终端

RHEL9 Overview

kvm 安装 ubuntu

使用 Ubuntu Cloud Image 安装

  • http://mirrors.ustc.edu.cn/ubuntu-cloud-images/jammy/current/jammy-server-cloudimg-amd64.img

kvm_ubuntu_installation

RHEL9 安装 k3s

yum install container-selinux
dnf download k3s-selinux
rpm -Uvh --nosignature ./k3s-selinux-1.1-1.el8.noarch.rpm
curl -sfL https://get.k3s.io | sh -

参考: