淘汰电脑再利用——搭建Proxmox VE+OpenWrt x86软路由改善家庭网络

By | 2020年2月1日

淘汰电脑再利用——搭建Proxmox VE+OpenWrt x86软路由改善家庭网络。老电脑发挥余热,当然单独做软路由能耗是个问题,安装PVE系统就是为了希望能发挥更多应用,如安装群晖DSM、Miktotik RouterOs+Openwrt双路由等等。

如图pve安装多台虚拟机稳定运行多日

老电脑的主要配置:华硕P8h61-mle主板,Intel i3CPU,4G DDR3内存,32G SSD做系统盘,1T HHD硬盘,500G HHD硬盘2块,Intel 82576双口网卡+板载🦀网卡。

Proxmox VE是基于Debian进行开发,使用pve 系统ISO镜像文件安装,官方下载地址https://pve.proxmox.com/wiki/Downloads 选择(iso image)。使用iso文件制作U盘启动盘。

转换工具img2kvm下载: https://odobagg-my.sharepoint.com/:u:/g/personal/lance_od_obagg_com/EWJRPiZTh7NIvvfQSl0vg5UB1orI2F_5tEqJTx9HAPi0LQ?e=9WO6NN

OpenWrt X86 固件下载:https://odobagg-my.sharepoint.com/:u:/g/personal/lance_od_obagg_com/EdG-TWQIEphBt-DRx3bZoSgBAgmIegA75p0BxEAsMvSkDg?e=NbyhyN文件需要解压成img文件

群晖DSM DS3615xs 6.2.2引导文件下载:https://odobagg-my.sharepoint.com/:u:/g/personal/lance_od_obagg_com/EScBWP0_kKRKhyj3uNItcaYBz1CeDH7hR0oMyKnYSKvSvw?e=rfoNVR

使用U盘引导启动,进入pve安装界面,注意记住设置的IP地址,后面登陆web界面要用,其它基本都是默认安装,具体安装过程没难度教程百度一大把。

安装结束,成功启动

如图显示表明安装结束成功启动了

浏览器输入http://安装设置的IP:8006,如果提示不完全链接,进入高级选择继续登录链接地址。

选择最下面选择简体中文界面语言;输入账号、密码登录
进入pve web管理界面,选择右上“创建虚拟机”
选择节点,默认VM ID 或者自定义无重复ID,自定义虚拟机名称。
操作系统-不使用任何介质
如图设置
硬盘-SATA 1-硬盘大小大于8G
如图设置
内存大小,看你资源情况和用途设置,能大点肯定好。
如图设置,网卡可选半虚拟,我选了e1000
确认无误-创建
节点列表可见新建虚拟机
我是苹果Mac 使用SecureFX登陆pve,上传已经下载的OpenWrt X86固件img文件和转换工具img2kvm到pve root目录。windows可用putty上传。
选择你创建的虚拟机-进入shell 终端界面

镜像转换
chmod +x img2kvm
./img2kvm openwr.img 104 vm-104-disk-1 openwrt.img是你上传的openwrt x86固件img文件,104是VM ID,disk-1是不重复的硬盘位置码。
选择编辑生成的disk-1,设置为SATA 0
添加硬件-网卡

下面就是选择启动虚拟机,登陆openwrt x86 web管理界面设置。

创建群晖DSM虚拟机的过程基本一样,大家可以尝试,pve下有问题也不怕,最多重来,不会影响其它虚拟机的运行。

下面是我使用过程中的一些配置命令分享给大家

镜像转换
chmod +x img2kvm
./img2kvm synoboot.img 104 vm-104-disk-1

网卡直通
Intel CPU
shell里面输入命令:
nano /etc/default/grub
在里面找到:
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
然后修改为
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"
在更新一下
update-grub
重启一下
reboot

AMD CPU
shell里面输入命令:
nano /etc/default/grub
在里面找到:
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
然后修改为
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on""
重启一下
reboot

PVE直通还需要在/etc/modules文件下添加
vfio
vfio_iommu_type1
vfio_pcioptions
vfio_virqfd
这四行内容,并且执行update-initramfs -u -k all命令来更新initramfs.
如果上面这些都弄完了添加了PCI设备无法开启虚拟机的话需要在/etc/modprobe.d/pve-blacklist.conf文件里面添加一行options vfio_iommu_type1 allow_unsafe_interrupts=1来启用不安全的中断。这些都在proxmox的官方文档里面说的很清楚了,看来UP主没看全呀


硬盘直通给容器(可以从物理机上拆下硬盘无损数据直通挂载到容器)
apt-get install lshw
安装lshw
ls -l /dev/disk/by-id/
查看设备的磁盘ID
roxmox网页的话可以选中右键复制
ata-WDC_WD10EZEX-08M2NA0_WD-WCC3FP2U67YA
完成后应该是这样一行设备信息
然后我们用下面的代码把他直通给群晖
qm set 104 --sata2 /dev/disk/by-id/ata-WDC_WD10EZEX-08M2NA0_WD-WCC3FP2U67YA
上一行代码中, 104代表VMID,sata2代表总线类型以及编号,最后面的是硬盘的路径以及编号

0