通过KVM 安装黑群晖并获取独立IP

事情的起因是,实验室多了4块机械盘,想要做NAS,所以叫老板买了个NAS,但是我眼睛花了买到了一个DAS,这玩意只有USB并没有网口,更别说系统了,就是一个大号移动硬盘,好在支持USB3.0,而USB 3.0 5Gbps对于4块机械硬盘RAID0来说完全够了。因此打算基于这个配置弄一个虚拟化的NAS

弄一个虚拟化的NAS + 黑群晖的首要要求就是要有独立IP,因此想到了虚拟机。

目前虚拟机有以下几种选择:

  1. KVM + 块设备直通 + virtio-scsi
  2. VMware + 硬盘直通
  3. Hyper-V + 硬盘直通

本文采用第一种方法。方案2的性能损耗太大,而方案3只能支持带有扩展卡的,我并没有扩展卡,就一个USB硬盘,自然不可能

安装KVM并配置桥接

1
2
sudo apt update
sudo apt install qemu-kvm bridge-utils

由于我是Ubuntu 22.04,用不是netplan而是NetworkManager 来管理网络的, 因此网上很多教程都不适用,需要重新配置

1
2
3
4
nmcli connection show --active

NAME UUID TYPE DEVICE
Wired connection 1 aee52681-2068-3bfb-8536-16b3f4581145 ethernet enp39s0

记下物理网卡的名字,这里物理网卡名字是enp39s0

1
2
sudo nmcli connection add type bridge con-name br0 ifname br0
sudo nmcli connection modify br0 ipv4.method auto

推荐DHCP,如果有特殊需求需要静态IP

1
2
3
4
sudo nmcli connection modify br0 ipv4.method manual \
ipv4.addresses 192.168.1.100/24 \
ipv4.gateway 192.168.1.1 \
ipv4.dns "8.8.8.8,1.1.1.1"

从此步骤开始有断网风险,请谨慎在只能远程的设备操作

然后把物理网卡接入到这个bridge

1
2
3
4
5
6
7
8
9
10
11
# 删除旧的物理网卡连接配置(将 "Wired connection 1" 替换为你的连接名),执行这一步会断网
sudo nmcli connection delete "Wired connection 1"

# 将物理网卡 enp39s0 作为从设备添加到 br0
sudo nmcli connection add type bridge-slave con-name br0-port-enp39s0 ifname enp39s0 master br0

# 关闭STP,至少在我的网络里面开了就获取不到IP地址
sudo nmcli connection modify br0 bridge.stp no

# 激活此网口
sudo nmcli connection up br0

因为br0的mac地址和原来的不一样,所以你的IP就会变化,所以只需要重新连接到新的IP就行了

KVM里面安装黑群晖

命令行太长懒得修改,直接使用libvirt来管理KVM虚拟机好了

1
2
3
sudo apt install virt-manager libvirt-daemon-system libvirt-clients bridge-utils -y
sudo systemctl enable --now libvirtd
sudo usermod -aG libvirt $(whoami)

然后通过命令行启动virt-manager

下载rr,这是一个开源一键安装黑群晖的工具

1
wget https://github.com/RROrg/rr/releases/download/25.6.5/rr-25.6.5.img.zip

推荐找最新的,可能少一些bug

解压,然后这个就是引导盘

  1. 在QEMU设置里面新建一个虚拟机

  2. 首先开一个25G的普通硬盘,拿来装系统

  3. image-20250701152702440

  4. 把这个img映射为USB设备,然后在Boot Options里面用这个启动

    image-20250701152652389

  5. 启动了RR之后选择你喜欢的NAS型号,我用DS918+

  6. 编译和安装完了之后直接开机,硬盘/dev/sda (我是这个) 映射进去,开装!

    image-20250701153651202

这是成功之后的图

image-20250701153718274

大功告成