We all love to cook in our own Citrix environment. What do we need to be successfull?
Well, even though this question may sound funny it is one of the most frequently asked questions in some of these Citrix forums out there. So I like to give an answer:
- A server, 24 to 32 GB RAM (64 or even 128 GB would be way better, but 32 is fine), round about 2 TB hard disk storage (the more the better).
- The hard disk has to be SSD, this is especially true if you are short on RAM, as RAM can get replaced by swapping, that means: disk I/O!
- CPU is of minor importance. It has to be an Intel CPU, if you want to run a Citrix ADCV (NetScaler), as they don’t run on AMD CPUs.
- XenServer (you may also use KVM, VMWare or even Hype-V, however things get more complex.
- If you want to access your deployment from outside: a static IP (or dynDNS), a DNS server resolving a FQDN to this IP, a certificate for this FQDN (probably a free let’s encrypt certificate, or a self-signed one your PC is able to trust), and a “firewall” (any portfilter would be fine) with capabilities to forward to an internal IP.
- Space to put all this equipment too.
- Cooling if you live in hot area.
VMs needed
- a domain controller (no current Citrix environment without Active Directory). It may be also used as license server and file server (starting from 2 GB RAM, 1 vCPU, depending on OS version and requirements)
- a machine running StoreFront and Citrix Controller (containing SQL express data-store, at least 4 GB RAM, 1 vCPU, for virtuel Apps and Desktop)
- optionally at least one virtual workstation running anything from Windows 10 (from 2 GB RAM, 1 vCPU)
- optionally at least one RDS (Remote Desktp Server) (from 2 GB RAM)
- optionally a Citrix Gateway, formerly NetScaler Gateway (3 GB RAM, 2 virtual CPUs)
This will make a total of at least 13 GB RAM, however the more RAM you add to the devices, the more fun you get.
I learned, overcommitting CPUs by 4 and more is fine for a lab environment, as CPU-cores usually don’t get highly loaded. On the other side, the more cores a VM has the more tasks it can do in parallel. Turn on Hyper-Treating!
Software and licenses for a XenDesktop / XenApp 7x deployment
- Windows licenses: from 3x Server, Windows 10 as many as you want to provision.
- if you want to use MCS (machine creation services) or PVS (provisioning services) you have to use Microsoft KMS (key management server).
- Citrix Virtual Apps and Desktops (XenApp or XenDesktop).
- all software you want to run on top ofย your workstation / RDS server.
- Citrix Gateway (Downloads / NetScaler ADC.
You may request demo-licenses from your Citrix partner. Don’t use the one from your production system, that would not be legal. Licenses for Virtual Apps and Desktops (XenApp) are bound to then host-name, licenses for Citrix ADC (NetScaler) are bound to the MAC-address.
where to put all your equipment too
This was a great question when I settled over some years ago. IT equipment is noisy, so I did not want to store it in my living room! Putting it into one of my children’s rooms would not have been fair, and I did not even think of putting it into my own sleeping room: May have sounded like a good idea, but don’t even think of suggesting it to my wife!
So where the sh**?
Oh, that’s the solution! I have 3 more rooms in my apartment: Kitchen, bath-room and toilet (sorry Americans: you’d rather call it a rest room, but we are Europeans, so we prefer to rest in our living room). Kitchen and bath room had not been an option because of the moist or sometimes even foggy air, it would kill my server. So: The toilet!
You may say: a toilet stinks some times, no matter how good you clean. True, but computers are no humans, even if some nerds tend to mix things up by a little bit. I give a sh** on the feelings of my server!
My apartment has high ceilings, 3.4 meters. One of the previous tenants did not want to have a visible toilet tank, so he covered it using a plasterboard. But this plasterboard was just 2.3 m high. And therefore there is a kind of board on top of it. This is where all my equipment went: Internet access, WLAN, firewall server and a switch.
I own following equipment:
- Cisco router (owned by my ISP)
- FortiGate 100
- a manageable Cisco switch with 8 POE ports
- 1 Fujitsu PRIMERGY TX150 S8 (32 GB RAM, 2x 2 TB SSD). It’s not noisy and does not eat too much energy, so there is still some money for food.
- an ASUS 802.11a-d compatible WLAN router
That’s it. By far more than enough ๐
Cooling
I had some problems with cooling during summer. My first switch, a manageable HP switch, died of heat. This left me very sorry. You may want to drink a glass in its memory. Heat build up in this small room during summer heat waves, so I had to find a solution.
I could have bought an air condition. But the toilet itself is not too hot, it’s just too hot high up there, below the ceiling. A little bit of air movement – every now and then – would have been enough. And that’s my solution ๐
I hope, you like my suggestions! Any question is welcome!
Hi Johannes,
Stumbled on your blog and it”s the closest to what am looking for. Am trying to build a xenapp 7.6 environment at home to learn but I want to do this on my laptop. I have a latitude e5430 laptop with 8gb ram and 1tb ssd, could you please advise on how you feel I should set the environment up.
Many thanks
I think, you could use something like VMWare Workstaton. Unfortunately it’s not possible to use Machine Creation Services with VMWare Workstation. So you can’t try this.
Maybe you could try to install XenServer on top of VMWare Workstation to use MCS. It’s very tricky, but there are some guides out there, ask Google about this.
Your Setup would be: 1 Domain Controller, 1 XenDesktop Controler, and 1 virtual workload. 1 GB each (1,5 GB for the Controller so the data base is a bit faster), so you could run this on your laptop computer. If you run XenServer on VMWae Workstation you shoud allow at least 4 GB RAM for this VM. Don’t even think of running These 2 Controllers on this XenServer ๐
I think with 8GB of RAM to share between your laptop and a virtualisation environment you are going to really struggle to run anything meaningful.
You would also need to check if your processor supports virtualisation.
You can easily build or buy a cheap PC with a decent amount of RAM to run your setup.
You’re right, 8GB would not bee much. But it’s enough to test “something”. I think, 32 GB or more would be nice, 16 GB would be enough, but you’ll run into some troubles with 8.
I have a NetScaler test environment running on a 8GB laptop. It’s a NetScaler (4GB) and a Linux based web server with 4 IP addresses and 4 Apache instances (1 GB). I don’t care about VT as I use VMWare workstation ๐