Proxmox on Laptop, Network Setup

RealBot@lemmy.world to Selfhosted@lemmy.world – 5 points –

I am trying to install and setup proxmox on laptop and use it as daily driver. I want to make network setup that can use both ethernet and WiFi, whichever is available and i want VMs to be able to access LAN because some things dont work otherwise (like NDI). I have writen config file that makes 2 bridges and every VM would have 2 interfaces. I havent installed Proxmox yet because i dont want to mess things up (it wouldn't be first time :) ). My question is does this config look ok and are there some recomendations.

/etc/network/interfaces

auto lo
iface lo inet loopback

# Ethernet interface
auto eth0
iface eth0 inet manual

# WiFi interface
auto wlan0
iface wlan0 inet manual

# Ethernet bridge
auto vmbr0
iface vmbr0 inet dhcp
    bridge_ports eth0
    bridge_stp off
    bridge_fd 0

# WiFi bridge
auto vmbr1
iface vmbr1 inet dhcp
    bridge_ports wlan0
    bridge_stp off
    bridge_fd 0
13

When you say you want to use proxmox as your daily driver, what sort of things are you wanting to do with it? Are you going to be spending most of your time inside a WM, and want to be able to switch to a different VM? I'm struggling to see your use case.

I would do everything in VMs, mostly Linux and probably one Windows. Proxmox would be only for managing VMs. I want everything in VMs because it's more flexible for partitioning storage and i can have both Linux and Windows runing at the same time (which can't be done with dualboot). I am student of computer science so i use it for programming, both for college and side projects. Sometimes there are a lot of programs i have so OS kind of gets bloated, not so much from performance standpoint but just mental overhead of having 10, 20, 30 programs and having to keep in mind what program needs what dependencies, env variables, etc.. so i want to kind of group them to VMs and CTs.

You'd probably be better off picking a normal distro and then running QEMU to run Windows or other VMs. Proxmox is more comparable to VMware ESXi in that it is designed for running server VMs and managed through a web ui.

I have thought about that, but Proxmox already has built-in a lot of things for virtualization and managing VMs and has less bloat because it has only one purpose.

Have you thought about trying QubesOS instead, as it's pretty much built for this purpose?

That's interesting, haven't considered that. Although I would want to run most things in CTs/LXCs and not full VMs for performance reasons. And Proxmox has more DIY feel which i kind of like. If I fail with Proxmox, might give QubesOS a try.

Qubes OS doesn't have GPU acceleration using Virtio-powered interfaces if that's something you need. Also it's based on Xen and you are not encouraged to mess around with dom0.

TBH if there's a way that you can attach to the display output of a VM with a GUI when you start your computer, it will probably fit your use-case perfectly. I haven't found a method to do this but I think there should be some way to attach directly to the display of a VM after booting up.

And check their device compatibility list. Also, you'll need plenty of RAM.

watch out for your battery.

i don't do proxmox; but i do a lot of virtualization through kvm/qemu on my own laptop and the battery can take a beating if you don't mitigate it somehow. i've had this laptop less than 6 months and the battery condition is already at 67%.

i'm lucky in that i got this laptop from a linux company so i can can order replacement batteries; but most people don't (willingly) have this luxury anymore.

If i mostly use CTs/LXCs the impact should be minimal (in theory), maybe even better if i dont have everything powerd up.

You definitely should try something with an actual desktop. It sounds like you're wanting a headed server with virtualization capabilities. I'd personally run LXD or KVM and LXC if I needed a type 2 hypervisor and containers like what you're saying. Luckily, a ton of distros support both of these at this point.

Btw, proxmox utilizes KVM and LXC on the backend. So the only difference is that you're leveraging the tools directly. If you're a CS student then learning the underlying tools is the best way to learn about a system and how it all interacts.