- Dec 17, 2001
- 3,566
- 3
- 81
I've run several virtual machines (DNS/mail, web, file server) in a ancient VMWare Server installation at home for a looong time. I've updated the guest OS's occasionally over the years, but never saw a compelling reason to tear apart the underlying host. But the current guest OS's are out of long-term support now and the hardware is ancient, so I figure it's finally time to start fresh. However, I haven't followed the tech scene in general lately, and certainly not the virtualization niche, so I have little idea of just what's out there or what best practices are these days. I'm hoping some knowledgeable folks here can help.
My demands on the system are minimal. I need a VM to handle DNS and email for my little family domain. I've always run a web server VM too, mainly for webmail, but that never gets used now that we all have smartphones that can just connect to IMAP directly. I'll probably still keep a web server running for the rare times that I want to serve up a file without relying on a cloud service, but it will mostly just idle. And I need a VM to handle file service for our media library and documents. VM's will all run some flavor of Linux (likely Debian).
My current setup, apart from being ancient and out of support, has been great for me. The host OS is Linux and boots to a pair of mechanical drives in a kernel-based RAID 1 array. All of the guest OS's and their data live on that array, except for the file storage data. That lives on a single, large mechanical drive. All the data (email, web pages, media, etc.) backs up once a week to an eSATA external drive via rsync. The configuration of the various services almost never changes, so I just make an occasional tarball of each VM and back those up to the external drive. It's a lightweight backup and recovery solution, but it's been good enough for me. I do also have a virtual server out there on the internet to act as a secondary MX and DNS server in case of connection/hardware problems at home. The server itself is headless and managed via either SSH or VMWare's web-based console. I have no problem with command-line tools.
I don't have a specific budget in mind for this project. I can spend whatever needs to be spent to have an effective and trouble-free solution. But clearly my needs are minimal, so I don't want to waste money on power I don't need. So, questions...
1) Virtualization platform - That's the big choice. I've browsed a bit, but don't know all the pros and cons. Linux's KVM looks capable enough for my minimal needs. I'd prefer to stick with a solution that runs on top of Linux so that I can take advantage of the Linux networking and backup tools that I already know. Thoughts?
2) CPU - With very little work to be done, my main concern is low power operation. Probably I want something with 4 cores. What's cheap and good enough here?
3) Storage and Reliability - Way back when I built the current host, SSD's were still too expensive and small to consider, hence the kernel-based RAID 1 setup. But I've never been entirely comfortable with that - making that soft-raid array bootable is awkward, though I have recovery procedures documented very carefully (on paper) in case of a problem. With SSD's being more reliable, could I get away with a simpler single-drive setup (apart from media and documents, which would still live on a big mechanical drive)? Uptime is not tremendously important - if a drive died, the host could stay down for a day or two. Clearly, some kind of real hardware RAID solution would offer more ease of use and reliability, but it just doesn't seem worth the cost to me, unless decent RAID cards are a lot cheaper now than they used to be. If I do go with SSD's, are there any particular models that would be more suitable for always-on server use?
Thanks for any wisdom you all can provide. And if there are other questions I should be considering, please send a clue my way.
My demands on the system are minimal. I need a VM to handle DNS and email for my little family domain. I've always run a web server VM too, mainly for webmail, but that never gets used now that we all have smartphones that can just connect to IMAP directly. I'll probably still keep a web server running for the rare times that I want to serve up a file without relying on a cloud service, but it will mostly just idle. And I need a VM to handle file service for our media library and documents. VM's will all run some flavor of Linux (likely Debian).
My current setup, apart from being ancient and out of support, has been great for me. The host OS is Linux and boots to a pair of mechanical drives in a kernel-based RAID 1 array. All of the guest OS's and their data live on that array, except for the file storage data. That lives on a single, large mechanical drive. All the data (email, web pages, media, etc.) backs up once a week to an eSATA external drive via rsync. The configuration of the various services almost never changes, so I just make an occasional tarball of each VM and back those up to the external drive. It's a lightweight backup and recovery solution, but it's been good enough for me. I do also have a virtual server out there on the internet to act as a secondary MX and DNS server in case of connection/hardware problems at home. The server itself is headless and managed via either SSH or VMWare's web-based console. I have no problem with command-line tools.
I don't have a specific budget in mind for this project. I can spend whatever needs to be spent to have an effective and trouble-free solution. But clearly my needs are minimal, so I don't want to waste money on power I don't need. So, questions...
1) Virtualization platform - That's the big choice. I've browsed a bit, but don't know all the pros and cons. Linux's KVM looks capable enough for my minimal needs. I'd prefer to stick with a solution that runs on top of Linux so that I can take advantage of the Linux networking and backup tools that I already know. Thoughts?
2) CPU - With very little work to be done, my main concern is low power operation. Probably I want something with 4 cores. What's cheap and good enough here?
3) Storage and Reliability - Way back when I built the current host, SSD's were still too expensive and small to consider, hence the kernel-based RAID 1 setup. But I've never been entirely comfortable with that - making that soft-raid array bootable is awkward, though I have recovery procedures documented very carefully (on paper) in case of a problem. With SSD's being more reliable, could I get away with a simpler single-drive setup (apart from media and documents, which would still live on a big mechanical drive)? Uptime is not tremendously important - if a drive died, the host could stay down for a day or two. Clearly, some kind of real hardware RAID solution would offer more ease of use and reliability, but it just doesn't seem worth the cost to me, unless decent RAID cards are a lot cheaper now than they used to be. If I do go with SSD's, are there any particular models that would be more suitable for always-on server use?
Thanks for any wisdom you all can provide. And if there are other questions I should be considering, please send a clue my way.