I’m in the process of planning upgrades for my server, and I’m trying to figure out the “best” drive configuration for Docker. My general understanding would be that the containers should be running from an SSD, and any storage (images, videos, documents) should use a volume on an HDD.
Is it as simple as changing the data-root to point to the SSD, and keep my external volumes on the HDD as defined in my existing compose files? I’ve already moved data-root once b/c the OverlayFS was chewing up the limited space on the OS drive, so that process isn’t daunting.
If there’s a better way to configure Docker, I’m open to it, as long as it doesn’t require rebuilding everything from scratch.
For reference, the server is running Debian Bookworm on an older i5 3400 with 32GB RAM.
Unless I’m misunderstanding, I do believe it is that simple, yes.
I think you’re right. I’m just trapped in the cycle of over-thinking and second guessing my knowledge and capabilities.
Your CPU may be a bottleneck depending on what you are doing. The slow ram speeds will mean processing will go slowly.
In my homelab I run all SSDs. They are cheap enough that I can afford them without problem. However, if you use a mix of spinning rust and SSDs you should separate them down into different pools. I would personally have the containers on SSDs and the data storage on HDDs. In the docker compose you can do a directory mount to a HDD pool.
Depending on what you are doing I would say you should get into Proxmox early. Get a small boot SSD and then create a larger SSD zfs pool and a HDD ZFS pool. From there you can setup your VMs to use either. You could have a VM with one disk in the HDD and a second disk in the SSD. This setup would also give you the flexibility to dynamically move things around. Proxmox will not work well on that old of a CPU so if you wanted to get fancy like I’m describing you would need to upgrade to something newer.
I5 3470 is old, but its not that bad. Lots of people are homelabing on NUCs which are only very slightly faster. Performance per Watt will be terrible though. (I am on an i7-10710u, and I’ve yet to run out of steam so far - https://cpu.userbenchmark.com/Compare/Intel-Core-i7-10710U-vs-Intel-Core-i5-3470/m900004vs2771 )
It has VTx/VTd, so should be okay for proxmox, what makes you think it won’t work well?
I had in my head that it didn’t have the proper extensions for virtualization.
However, the memory and core count will be a bottleneck with virtualization. Only having 4 cores will make it a hard to delicate resources and the slower ram will mean you could have performance issues. It really depends on what you are doing I suppose. It does have 6mb of cache which will help some.
If you got a i5 6500 with ddr4 memory you would have much better performance.
4 cores is a bit limiting, but definitely depends on the usage. I only have 1 VM on my NUC, everything else is docker.
I thought all the core processors had VT* extensions, I was using virtualization on my first gen i7. They are very old an inefficient now though.
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:
Fewer Letters More Letters NUC Next Unit of Computing brand of Intel small computers SSD Solid State Drive mass storage ZFS Solaris/Linux filesystem focusing on data integrity
[Thread #819 for this sub, first seen 20th Jun 2024, 21:45] [FAQ] [Full list] [Contact] [Source code]
If there’s a better way to configure Docker, I’m open to it, as long as it doesn’t require rebuilding everything from scratch.
You could try using lvmcache (block device level) or bcachefs (filesystem level caching) or something like that, have rotational storage be the primary form of storage but let the system use SSD as a cache. Dunno what kind of performance improvements you might expect, though.