Jump to content

This might be a silly question, but I can’t find the answer. I’m pretty familiar with pc hardware, and am wanting to create a home server. My fiancée has a MacBook and I use PCs, so I was wondering if I could create one physical server that runs multiple VMs to accomplish the following tasks:

1. Network time machine

2. Dropbox-like NAS for Mac and PC

3. Networked backup drive for my PCs

4. Media server 

 

I know it would have to be a beefier server to run all three of these, but I don’t want to build separate machines. Would it be possible to do this? If so, what software would I need? I have essentially zero experience in the server space and am having a hard time figuring out exactly what I’d need to do after building the thing. 

Thanks

Link to comment
Share on other sites

Link to post
Share on other sites

You could do this without VM's at all actually. You can run some of those services as docker containers on top of something like unRAID (or alternatively freeNAS, though I only have experience with unraid).

 

With unRAID, the setup might look something like this:

1. unRAID bare metal:

  • Backup smb network share with time machine support enabled
  • Normal smb shares for NAS stuff

2. Docker containers:

  • Backup software with associated share for PCs
  • media server (such as plex) with an associated data share
  • something like nextcloud for a self hosted alternative to dropbox

 

My setup with unraid actually looks quite similar to this, with quite a bit more running on top (I have 25+ docker containers, 10 of which are running right now) (I also have a dedicated gaming VM that takes half the cores/threads of my 2700x, leaving all of the above with 4 cores and 16GB of ram)

 

I can share more information about my server if you want; hardware is in my signature.

Current LTT F@H Rank: 90    Score: 2,503,680,659    Stats

Yes, I have 9 monitors.

My main PC (Hybrid Windows 10/Arch Linux):

OS: Arch Linux w/ XFCE DE (VFIO-Patched Kernel) as host OS, windows 10 as guest

CPU: Ryzen 9 3900X w/PBO on (6c 12t for host, 6c 12t for guest)

Cooler: Noctua NH-D15

Mobo: Asus X470-F Gaming

RAM: 32GB G-Skill Ripjaws V @ 3200MHz (12GB for host, 20GB for guest)

GPU: Guest: EVGA RTX 3070 FTW3 ULTRA Host: 2x Radeon HD 8470

PSU: EVGA G2 650W

SSDs: Guest: Samsung 850 evo 120 GB, Samsung 860 evo 1TB Host: Samsung 970 evo 500GB NVME

HDD: Guest: WD Caviar Blue 1 TB

Case: Fractal Design Define R5 Black w/ Tempered Glass Side Panel Upgrade

Other: White LED strip to illuminate the interior. Extra fractal intake fan for positive pressure.

 

unRAID server (Plex, Windows 10 VM, NAS, Duplicati, game servers):

OS: unRAID 6.11.2

CPU: Ryzen R7 2700x @ Stock

Cooler: Noctua NH-U9S

Mobo: Asus Prime X470-Pro

RAM: 16GB G-Skill Ripjaws V + 16GB Hyperx Fury Black @ stock

GPU: EVGA GTX 1080 FTW2

PSU: EVGA G3 850W

SSD: Samsung 970 evo NVME 250GB, Samsung 860 evo SATA 1TB 

HDDs: 4x HGST Dekstar NAS 4TB @ 7200RPM (3 data, 1 parity)

Case: Sillverstone GD08B

Other: Added 3x Noctua NF-F12 intake, 2x Noctua NF-A8 exhaust, Inatek 5 port USB 3.0 expansion card with usb 3.0 front panel header

Details: 12GB ram, GTX 1080, USB card passed through to windows 10 VM. VM's OS drive is the SATA SSD. Rest of resources are for Plex, Duplicati, Spaghettidetective, Nextcloud, and game servers.

Link to comment
Share on other sites

Link to post
Share on other sites

3 hours ago, sazrocks said:

You could do this without VM's at all actually. You can run some of those services as docker containers on top of something like unRAID (or alternatively freeNAS, though I only have experience with unraid).

 

With unRAID, the setup might look something like this:

1. unRAID bare metal:

  • Backup smb network share with time machine support enabled
  • Normal smb shares for NAS stuff

2. Docker containers:

  • Backup software with associated share for PCs
  • media server (such as plex) with an associated data share
  • something like nextcloud for a self hosted alternative to dropbox

 

My setup with unraid actually looks quite similar to this, with quite a bit more running on top (I have 25+ docker containers, 10 of which are running right now) (I also have a dedicated gaming VM that takes half the cores/threads of my 2700x, leaving all of the above with 4 cores and 16GB of ram)

 

I can share more information about my server if you want; hardware is in my signature.

Okay, so when using this setup resources would be assigned automatically, as needed? Then, if I wanted to add another “docker,” it would adjust to give each process what it needs? Just wanting to make sure I’m understanding. 

Link to comment
Share on other sites

Link to post
Share on other sites

41 minutes ago, manicottimuffin said:

Okay, so when using this setup resources would be assigned automatically, as needed? Then, if I wanted to add another “docker,” it would adjust to give each process what it needs? Just wanting to make sure I’m understanding. 

Correct. Docker containers actually use the host kernel (allowing pretty much bare metal performance), so thread scheduling will work just as if the service were being run directly on the host. Once you get the hang of it you will want to get a docker container for everything; in most cases there is minimal configuration required and the container is self maintaining and plug and play.

Current LTT F@H Rank: 90    Score: 2,503,680,659    Stats

Yes, I have 9 monitors.

My main PC (Hybrid Windows 10/Arch Linux):

OS: Arch Linux w/ XFCE DE (VFIO-Patched Kernel) as host OS, windows 10 as guest

CPU: Ryzen 9 3900X w/PBO on (6c 12t for host, 6c 12t for guest)

Cooler: Noctua NH-D15

Mobo: Asus X470-F Gaming

RAM: 32GB G-Skill Ripjaws V @ 3200MHz (12GB for host, 20GB for guest)

GPU: Guest: EVGA RTX 3070 FTW3 ULTRA Host: 2x Radeon HD 8470

PSU: EVGA G2 650W

SSDs: Guest: Samsung 850 evo 120 GB, Samsung 860 evo 1TB Host: Samsung 970 evo 500GB NVME

HDD: Guest: WD Caviar Blue 1 TB

Case: Fractal Design Define R5 Black w/ Tempered Glass Side Panel Upgrade

Other: White LED strip to illuminate the interior. Extra fractal intake fan for positive pressure.

 

unRAID server (Plex, Windows 10 VM, NAS, Duplicati, game servers):

OS: unRAID 6.11.2

CPU: Ryzen R7 2700x @ Stock

Cooler: Noctua NH-U9S

Mobo: Asus Prime X470-Pro

RAM: 16GB G-Skill Ripjaws V + 16GB Hyperx Fury Black @ stock

GPU: EVGA GTX 1080 FTW2

PSU: EVGA G3 850W

SSD: Samsung 970 evo NVME 250GB, Samsung 860 evo SATA 1TB 

HDDs: 4x HGST Dekstar NAS 4TB @ 7200RPM (3 data, 1 parity)

Case: Sillverstone GD08B

Other: Added 3x Noctua NF-F12 intake, 2x Noctua NF-A8 exhaust, Inatek 5 port USB 3.0 expansion card with usb 3.0 front panel header

Details: 12GB ram, GTX 1080, USB card passed through to windows 10 VM. VM's OS drive is the SATA SSD. Rest of resources are for Plex, Duplicati, Spaghettidetective, Nextcloud, and game servers.

Link to comment
Share on other sites

Link to post
Share on other sites

You could also look into Proxmox and their LXC containers. There are plenty container templates to achieve your goals

Link to comment
Share on other sites

Link to post
Share on other sites

Alternatively, if you want a simple option and don't need to run VM's, you could buy a dedicated NAS from a company like Synology. These often have a wide range of apps preinstalled with many more you can download. All the functionality you mentioned I can do on either my Netgear or Synology NAS. Just not simultaneously as mine aren't spec'd high enough. More powerful models are available with higher specs and could handle that workload fairly easily. 

Unless you want to get into the setting up a hypervisor and multiple VM's as a learning experience, I would just go with a dedicated NAS as it would be much simpler and almost definitely more power efficient. 

Link to comment
Share on other sites

Link to post
Share on other sites

On 7/15/2019 at 9:32 PM, sazrocks said:

Correct. Docker containers actually use the host kernel (allowing pretty much bare metal performance), so thread scheduling will work just as if the service were being run directly on the host. Once you get the hang of it you will want to get a docker container for everything; in most cases there is minimal configuration required and the container is self maintaining and plug and play.

That sounds perfect. So my setup is something I'm able to snag from work and my old rig, but it would be a ryzen 3 2200g, 8gb and a couple of 4tb wd blues. Would this be okay for what I'm wanting to do? Also, is this available in the free version of unraid, or would I be paying for the software?

Link to comment
Share on other sites

Link to post
Share on other sites

21 hours ago, schuwima said:

You could also look into Proxmox and their LXC containers. There are plenty container templates to achieve your goals

That looks good too, I've been looking into proxmox and I'm liking everything I'm reading. From what I see, I could potentially use VMs instead of LXC containers if needed, which I like. In your experience, is it pretty important to have working knowledge of the command line for maintenance, or can I set it up initially and then let it do its thing? I can get by well enough, but don't know enough to really get after it without some guidance.

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, manicottimuffin said:

That sounds perfect. So my setup is something I'm able to snag from work and my old rig, but it would be a ryzen 3 2200g, 8gb and a couple of 4tb wd blues. Would this be okay for what I'm wanting to do? Also, is this available in the free version of unraid, or would I be paying for the software?

There is a trial (which is decently easy to renew) but ultimately you will need to purchase a license (which is a one time purchase, so not that bad).


As far as your hardware goes it should work perfectly fine, especially if you go with docker containers since those are much more efficient ram wise.

Current LTT F@H Rank: 90    Score: 2,503,680,659    Stats

Yes, I have 9 monitors.

My main PC (Hybrid Windows 10/Arch Linux):

OS: Arch Linux w/ XFCE DE (VFIO-Patched Kernel) as host OS, windows 10 as guest

CPU: Ryzen 9 3900X w/PBO on (6c 12t for host, 6c 12t for guest)

Cooler: Noctua NH-D15

Mobo: Asus X470-F Gaming

RAM: 32GB G-Skill Ripjaws V @ 3200MHz (12GB for host, 20GB for guest)

GPU: Guest: EVGA RTX 3070 FTW3 ULTRA Host: 2x Radeon HD 8470

PSU: EVGA G2 650W

SSDs: Guest: Samsung 850 evo 120 GB, Samsung 860 evo 1TB Host: Samsung 970 evo 500GB NVME

HDD: Guest: WD Caviar Blue 1 TB

Case: Fractal Design Define R5 Black w/ Tempered Glass Side Panel Upgrade

Other: White LED strip to illuminate the interior. Extra fractal intake fan for positive pressure.

 

unRAID server (Plex, Windows 10 VM, NAS, Duplicati, game servers):

OS: unRAID 6.11.2

CPU: Ryzen R7 2700x @ Stock

Cooler: Noctua NH-U9S

Mobo: Asus Prime X470-Pro

RAM: 16GB G-Skill Ripjaws V + 16GB Hyperx Fury Black @ stock

GPU: EVGA GTX 1080 FTW2

PSU: EVGA G3 850W

SSD: Samsung 970 evo NVME 250GB, Samsung 860 evo SATA 1TB 

HDDs: 4x HGST Dekstar NAS 4TB @ 7200RPM (3 data, 1 parity)

Case: Sillverstone GD08B

Other: Added 3x Noctua NF-F12 intake, 2x Noctua NF-A8 exhaust, Inatek 5 port USB 3.0 expansion card with usb 3.0 front panel header

Details: 12GB ram, GTX 1080, USB card passed through to windows 10 VM. VM's OS drive is the SATA SSD. Rest of resources are for Plex, Duplicati, Spaghettidetective, Nextcloud, and game servers.

Link to comment
Share on other sites

Link to post
Share on other sites

12 hours ago, manicottimuffin said:

That looks good too, I've been looking into proxmox and I'm liking everything I'm reading. From what I see, I could potentially use VMs instead of LXC containers if needed, which I like. In your experience, is it pretty important to have working knowledge of the command line for maintenance, or can I set it up initially and then let it do its thing? I can get by well enough, but don't know enough to really get after it without some guidance.

You don't really need much knowledge. It is very lightweight. If you like, you can also install docker on it (although without a GUI - for that you can deploy Portainer). It is a good allrounder. It could (and will) get complicated if you want to mount host directories into a lxc container.

Link to comment
Share on other sites

Link to post
Share on other sites

On 7/16/2019 at 7:42 AM, manicottimuffin said:

This might be a silly question, but I can’t find the answer. I’m pretty familiar with pc hardware, and am wanting to create a home server. My fiancée has a MacBook and I use PCs, so I was wondering if I could create one physical server that runs multiple VMs to accomplish the following tasks:

1. Network time machine

2. Dropbox-like NAS for Mac and PC

3. Networked backup drive for my PCs

4. Media server 

 

I know it would have to be a beefier server to run all three of these, but I don’t want to build separate machines. Would it be possible to do this? If so, what software would I need? I have essentially zero experience in the server space and am having a hard time figuring out exactly what I’d need to do after building the thing. 

Thanks

Trying to do this in VMware is a terrible idea. For some reason up and down link speeds are extremely slow like 10>Mbps down and 500>Mbps up. Use gpu passthrough, linus did a video on it 

 

 

Technology is NEVER easy :(

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×