淘汰电脑再利用——搭建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镜像文件安装,官方下载链接 选择(iso image)。使用iso文件制作U盘启动盘。

* 转换工具img2kvm 下载链接

* OpenWrt X86 固件 下载链接 文件需要解压成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代表总线类型以及编号,最后面的是硬盘的路径以及编号