Virtualizing my entire home network

sasquatch989

Honorable
Jul 10, 2013
8
0
10,520
I'm thinking about a way to virtualize my entire home network. I have about 15 OS's total with 4 providing 24hr services like NAS, SAN, and backups. Some are HTPC's in various rooms in the house, others are virtualized on Hyper-V.

I'd like to get most if not all of them on one central physical box and have thin clients boot off the server and be able to provide their full range of uses ex. HD streaming on the HTPC's (with sound). I have one beefy machine with an i-7qc and 16GB ram and a 7870 card used for video editing with a WACOM tablet screen, but I'm thinking that I won't be able to virtualize that since the wacom driver is demanding....unless the thin client houses the video card too? This is the only machine that i don't mind being left out of the central server. This is not the box a want to use to host this solution, btw. I plan to rack mount a server with dual xeon and maybe 64 - 96 GB Ram to support all of this.

Other than that VE machine, the rest are a mix of *nix and windows. The idea is to get all workstation-type computers in the house to act like terminals without losing their ability to function as HTPC's, workstations, and hopefully the video editing, etc. The tablets can RDP/VNC into machines if they need to and the servers can run headless in the background.

I have full GB ethernet NIC's and switches in the house LAN with mostly cat6 behind the walls so I can support the bandwidth as is (like streaming HD from the NAS to an HTPC).

I did a cursory search here and on google but I havent quite found the answer I'm looking for. Anybody have any insight on this? i feel like there is a solution being used already and I just don't know what it's called.

Any links to existing threads or even better an RTFM link?
 
Solution
The biggest problem you will have is that remote desktop doesn't always work the greatest for multimedia purposes. In fact, without very specialized hardware and configuration, it can perform abysmally for playback of video. This is a problem with ANY remote desktop connection and not just Microsoft.

That being said, you can do what you are wanting to do AND get the performance for doing multimedia tasks, you just have to run the multimedia needs on the local machine instead of through the RDP service. For instance, you can set up a single remote desktop session host that allows each person to connect with a remote session to the SAME virtual machine. This gives everyone access to all the exact same work environment and software...

flexxar

Honorable
Oct 6, 2012
431
0
10,860
This is your problem...
"get all workstation-type computers in the house to act like terminals without losing their ability to function as HTPC's, workstations, and hopefully the video editing, etc"

You should be able to move your hyper-v to a bigger server and just add the rest of the servers you have in the house to it. You can then convert your workstations to thin clients using something like vdi-blaster and access your virtual servers over the network or buy thin clients that support rdp 5.0 or later. Converting them to thin clients will prevent you from using your workstations as thick clients anymore though.

The only sure way that I know of that you can allow you to use your workstations as thick clients as well is to just use remote desktop. However, this will only work with your windows virtual servers. I hear that there might be a way to install rdp on lunix machines as well, but I never tried it.

I'm not super familiar with hyper-v, but I'm going to make two assumptions. I'm going to assume that it's hosted on a windows operating system and I'm going to assume that while on that system, you can open up any virtual machine you want in full screen mode. If those are both correct, then you should be able to just remote desktop from the workstations around your house into the main windows server hosting hyper-v. Then, just launch whatever server you want to access within your remote desktop window.

Some potentially useful links...
http://www.edugeek.net/forums/thin-client-virtual-machines/107139-thin-clients-hyperv.html
http://citrixandmicrosoft.com/Documents/Why_Hyper-V_for_VDI.pdf
 

sasquatch989

Honorable
Jul 10, 2013
8
0
10,520


There are rdp client/server solutions for *nix like xrdp and what not so that won't be an issue, plus vnc is an option.



yeha, hyper-v is a windows service and there is a hypervisor that can be opened from within the OS.

I'll look over these links when I get a chance, but I'm thinking that my dream might have to be put on hold for now. I don't want machines all over the place, i want a temrinal where i can turn it on and quickly and directly go to a hosted remote OS that can provide as rich a user experience as I want be it HD streaming, video editing, compiling etc but instead of a a noisy box of gear in the room, have it all running off a rack in the garage!

 

choucove

Distinguished
May 13, 2011
756
0
19,360
The biggest problem you will have is that remote desktop doesn't always work the greatest for multimedia purposes. In fact, without very specialized hardware and configuration, it can perform abysmally for playback of video. This is a problem with ANY remote desktop connection and not just Microsoft.

That being said, you can do what you are wanting to do AND get the performance for doing multimedia tasks, you just have to run the multimedia needs on the local machine instead of through the RDP service. For instance, you can set up a single remote desktop session host that allows each person to connect with a remote session to the SAME virtual machine. This gives everyone access to all the exact same work environment and software, and you purchase licensing based on the number of remote sessions users or remote client devices. The other option is to set up multiple virtual machines for people to directly access their own system. This allows them to customize the layout, the type of software, and you can customize the amount of resources depending upon the individual virtual machine's needs. This is called VDI. It can be a little more complex to set up and require a little more computing resources, but overall it's the closest to what you seem to be describing.

So, you can set up virtual machines (and sometimes even just duplicate your existing physical machine into a virtual machine hard drive file) and load that up into Hyper-V on your host server. Then using RDP you can remote access to these virtual machines. Without additional configuration or specific VDI implementations, this doesn't require a whole lot of additional cost, but the graphics performance is going to just be mediocre, but more than adequate for doing basic productivity tasks like browsing online or typing documents at 1080p. However, if you need better graphics performance you're going to have to set up a full VDI solution which supports graphics acceleration on each virtual machine, requires setting up additional VMs for things like connection broker, and can get more costly and complex obviously to do.

So, for the best performance (and cost) you can use remote desktop to access to your "standard" stuff on the Hyper-V server, and if you need to stream video, play back some sort of multimedia like a Blu-Ray or DVD, then use the local computer system to do so. You can use a more basic Windows desktop to do this and have access to Windows Remote Desktop features. A nice quality thin client can even do some multimedia functions, but they're much more stripped down and less flexible for a home environment and given the cost of a decent one you can pretty much just get a new basic Windows desktop instead and have the same or better performance.

One thing you may run into is limitations based on licensing. What version of Microsoft Server do you have running now? Server 2012 Standard gives licensing to run two instances of that same licensing on one physical host. If you're going to be virtualizing Windows 7/8 desktops then you just have to use one license of that OS for each VM of course.

Next, given that number of virtual machines running simultaneously, you should make sure that your storage subsystem not only has the capacity that you need but the performance as well. You also have to be careful with your network throughput because even if you have full gigabit network, a single gigabit line can easily get saturated to your server if all that virtual machine traffic is running through it. This means a server with several gigabit network ports is going to give you better flexibility and overall throughput. And finally, keep in mind the cost of licensing for your additional software as that can make a difference if you are considering a multi-VM desktop solution more like VDI, or a single VM session-based solution like Remote Desktop Session Host. With VDI you'd have to license each VM individually, including software like Microsoft Office, but with RDSH you only have to license the one VM which each person remotes to and is given an individual session.
 
Solution

sasquatch989

Honorable
Jul 10, 2013
8
0
10,520
choucove,
I hear you all the way, using RDP or VNC for MM use is totally garbage hence my inspiration for this thread. As for the network yes, I'll be running two nics of the server and lag's around the crucial junctions of the network--I'm a network eng by day so this side of the house I'm fine, its the sysadmin'y stuff that I'm really looking for assistance on. :p

It sounds to me like VDI is the possible solution. I was also wondering if PXE boot would help in any way but I think I have enough info now to get started. If i hack something pimp I'll be sure to come back and share it!
 

flexxar

Honorable
Oct 6, 2012
431
0
10,860
Like i said, there are small thin clients that you can buy that should provide a good experience. You just haveto make sure that they have rdp 5.0+. You can probably find one online for maybe $150. it might be worth the cost to buy one and try it.
 

choucove

Distinguished
May 13, 2011
756
0
19,360


This is what I ended up doing just to try out using thin clients personally. The unit that I bought is a beast of a thin client though, an HP model with dual core AMD Turion processor, 4 GB of DDR3 RAM, and support for an add-in graphics card to run up to four monitors. Working with that thing is as responsive as many simple desktop systems, of course the price for that unit is more than $400 at most places so understandably not the cheapest solution. Still, for the best working environment and ease of use I'd recommend looking for a thin client running Windows 7 Embedded Standard. You might want to purchase one, even used from eBay can get good deals, and just try out how that works. Try out running things from off the server and also on the local system, such as playback of HD Youtube videos. If it's not working how you wanted, at least you only spent a couple hundred bucks testing it than invested possibly thousands only to be disappointed with it.