Resource splitting doesn't make sense for small homelabs reddit / selfhosted ---------------------------------------------------------------------- imsinghaniya · 2023-11-10 03:34 I see people having a small 8 gigs and 4 core system and trying to split that with something like proxmox into multiple VMs. I think that's not the best way to utilise the resources. As many services are mostly in ideal mode so in case something is running it should be possible to use the complete power of the machine. My opinion is using docker and compose to manage things on the whole hardware level for smaller homelab. Only split VMs for something critical, even decide on that if it's required. Do you agree? ---------------------------------------------------------------------- stupv · 2023-11-10 04:12 Proxmox and LXCs vs Docker is just a question of your preferred platform. If you want flexibility and expandability then proxmox is better, if you just want a set and forget device for a specific static group of services, running debian with docker may make more sense to you. ---------------------------------------------------------------------- katbyte · 2023-11-10 04:12 and here i am with a rpi running two VMs 🤭 ---------------------------------------------------------------------- ttkciar · 2023-11-10 04:18 On one hand, I think VMs are overused, introduce undue complexity, and reduce visibility. On the other hand, the problem you're citing doesn't actually exist (at least not on Linux, dunno about Windows). A VM can use all of the host's memory and processing power if the other VMs on the system aren't using them. An operating system will balance resource utilization across multiple VMs the same as it does across processes to maximize the performance of each. ---------------------------------------------------------------------- mrmclabber · 2023-11-10 05:13 No, I don’t agree, not necessarily. VMs are “heavier” as in use more disk and memory but if they are mostly idling and in a small lab you probably won’t notice the difference. Now if you are running 10 services and want to put each in its own vm on a tiny server, then yea, don’t do that. In terms of cpu it’s a non-issue. Vm or docker they will still “share” cpu. I can think of cases I’d rather run proxmox and others I’d just go bare metal and run docker. Depends on what I’m running and the goal. ---------------------------------------------------------------------- imsinghaniya · 2023-11-10 05:15 Okay, I was not sure about that one either. As generally I see people mention allocating RAM and Cores when talking about VMs. ---------------------------------------------------------------------- imsinghaniya · 2023-11-10 05:16 > I can think of cases I’d rather run proxmox and others I’d just go bare metal and run docker. Depends on what I’m running and the goal. Could you share more on what cases you can think of? It will help me understand it more. ---------------------------------------------------------------------- mrmclabber · 2023-11-10 05:17 You can limit vms resources to avoid contention when you start over subscribing your cpu to keep it manageable. But if you are running a small instance probably not worth thinking about too much. ---------------------------------------------------------------------- bityard · 2023-11-10 05:55 Some people play with VMs for fun, or as a leaning experience. I don't think it's very productive or useful to tell them they're doing it wrong. ---------------------------------------------------------------------- More_Leadership_4095 · 2023-11-10 06:02 Did you man to say, you run Proxmox on bare metal? And docker on... some OS like Debian? ---------------------------------------------------------------------- lilolalu · 2023-11-10 07:04 Read some articles about the resource overhead of VM's, or even better Container which use a shared kernel: it's minimal and mainly effects ram. So if the decision is to put 16gb more into the machine to have a clean seperation of services: I think that's a no brainer. I do agree with you that complete seperation though a VM is usually overkill, a docker container is enough to isolate config / system requirements etc. ---------------------------------------------------------------------- JanBurianKaczan · 2023-11-10 07:52 yep! :D ---------------------------------------------------------------------- prime_1996 · 2023-11-10 08:28 Main advantage in my opinion is being able to easily backup and restore a VM and have other out of the box features linke point in time snapshots, firewall, hardware pass through. This I am talking about Proxmox. Now that being said I don't use VMs to run my self hosted services, I used to, but migrated all to LXC, which runs docker. Some services get their own LXC as they are critical like DNS. ---------------------------------------------------------------------- krysztal · 2023-11-10 09:47 I've had feeling towards running proxmox on my homelab, but I didn't yet felt like reinstalling and reconfiguring everything so for now its a dockerland and an extra VM for stuff that had to run separate ---------------------------------------------------------------------- SkippyBurger · 2023-11-10 10:35 Home Assistant for example is much easier to manage when running on its own OS. At the same time, I don't want to dedicate a whole server for Home Assistant so I use ProxMox to split up Home Assistant and have another Linux VM to run all my other docker based services. ---------------------------------------------------------------------- Spuxilet · 2023-11-10 10:56 I run about 30 stacks (about 60 containers) on my 1L mini pc with i5 8500T + 12 GB RAM. If i were to split them in their own VMs it would be impossible to do. I would have run out of resources probably on fourth VM :D. 5.8 GB RAM is free on idle and i also have ZRAM enabled. I work on it too i have code-server and cloudbeaver running on it. I never run out of memory. Although i am thinking to upgrade it to 16 GBs. I know RAM IS CHEAP but i do not need more then 16 GBs on this PC. This setup also does not need to be so complex. I have stacks in their own networks isolated and access them solely from wireguard VPN no matter where i am on LAN or connecting from WAN. Wireguard is always on on my laptop and phone. ---------------------------------------------------------------------- AnApexBread · 2023-11-10 11:46 It all comes down to "what are you trying to do." Not everyone runs applications, so docker is not the answer to everything. But if you only have 8Gb of RAM and are trying to run VMs then I'd advise you to go buy more RAM. ---------------------------------------------------------------------- mrmclabber · 2023-11-10 12:45 No, when people talk about "bare metal" they usually mean hypervisor free. So you'd have your OS of flavor ubuntu, windows, centos, rhel, debian, etc then run the docker daemon on top of that. Otherwise correct! :) ---------------------------------------------------------------------- mrmclabber · 2023-11-10 12:50 The best example I have is something out of my lab, but I also run an r630, but I feel I'd do it the same even on a smaller server. I really like the idea of my reverse proxy living on a different host than where I run my containers. So I might put proxmox on the NUC and spin up a CentOS box for my nginx reverse proxy, and then an ubuntu server for my docker containers. It let's me deal with hardening my outside edge and strip the CentOS down to it's essentials and giving me more flexibility on the ubuntu box. ---------------------------------------------------------------------- Perfect_Designer4885 · 2023-11-10 13:23 I run my directory services, DNS and other must be up services bare metal, and then, if it can't be containerized it goes into a VM, I prefer Containers to VMs but some things are just to not suitable as a container ---------------------------------------------------------------------- mrmclabber · 2023-11-10 13:24 Yea, not everything belongs or makes sense to be put in a container. I heavily use containers, but I still run esxi and have several VMs serving different purposes. Containers are just another tool in the tool belt. ---------------------------------------------------------------------- More_Leadership_4095 · 2023-11-10 15:32 Ah, I had that completely backwards. I thought "bare-metal" meant no OS, just a hypervisor, which I thought was less resource intensive. And when you just have docker running in a normal OS like Debian you'd just say, I'm running docker on my debian system or whatever OS. ---------------------------------------------------------------------- More_Leadership_4095 · 2023-11-10 15:41 I think I found out why I was confused. (1) Hardware. A "bare metal computer" is generally one without any software (OS or applications). However, when contrasted with a virtualized server environment, bare metal may imply a regular, non- virtual server that does include an OS. See bare bones system and bare-metal server. (2) A "bare metal" virtual machine monitor, correctly called a "hypervisor," directly controls the hardware without using device drivers from another operating system (see virtual machine). See bare- metal switch. We were both right lol. I'm more familiar with the second definition. It makes much more sense to me because, if there's no traditional OS on installed on a machine but instead just a hypervisor, that sounds more fitting to say it's running on bare-metal. No OS. Only management of VM's ---------------------------------------------------------------------- professional-risk678 · 2023-11-10 16:19 No. Stop telling people what to do with their hardware. Its THEIR hardware. Easy. ---------------------------------------------------------------------- ervwalter · 2023-11-10 18:39 It depends on your goals of course. Personally, I use Proxmox on a couple machines for a couple reasons: 1. It's way way easier to backup an entire VM than it is to backup a bare metal physical device. And when you back up a VM, because the VM is "virtual hardware" you can (and I have) restore it to the same machine or to brand new hardware easily and it will "just work". This is especially useful in the case that hardware dies. 2. I want high availability. A few things I do in my homelab, I personally concider "critical" to my home happiness. They aren't *really* critical, but I don't want to be without them if I can avoid it. And by having multiple proxmox hosts, I get automatic failover. If one machine dies or crashes, the VMs automatically start up on the other machine. Is that overkill? Yes. But I wouldn't say it "doesn't make sense". It makes sense but just isn't *necessary*. Fudge topping on ice cream isn't necessary either, but it sure is nice. ---------------------------------------------------------------------- dollhousemassacre · 2023-11-10 19:58 What you're forgetting, is a lot of homelabbing is seeing if one can actually do something. Setting up a cluster with automatic failover is a lot more fun than just a single host. Same goes for pretty much anything. Do I really need to have my workstations managed in Intune, enrolled in only Entra ID, but with SSO to my on-prem domain via a KDC proxy and Global Secure Access to my home network? You tell me. ---------------------------------------------------------------------- tech2but1 · 2023-11-10 21:28 Don't worry, no-one is listening!