Announcement

Collapse
No announcement yet.

MS Server, RDP for clients - Got myself in a pickle

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • MS Server, RDP for clients - Got myself in a pickle

    So I got myself in a bit of a pickle(?).
    I created an application that runs in Excel/VBA and SQL Server for a client. It is rather bespoke and will require support/maintenance. Having spoken with one of the IT managers, it has become clear to me that all personal runs on rather limited VMs and that for software to be installed on their servers puts some hefty requirements on the form of the apps. Way over my head. It will be impossible for me to get it on there.

    An acceptable alternative however would be if I were to install the stuff on a server of my own and have the client RDP into it. Sounds like fun and the great thing about this is that in order to provide support/maintenance, I could simply RDP myself or approach the server directly.

    I hate security on a machine level, I want users to be able to do whatever. But not on my server of course. So here is what I would like:
    1. Setup a server in my own office. We have a fixed IP address.
    2. Create a VM within in that:
    2.1. Runs SQL Server (or should I do that on the Server itself, have the VM connect to the SQL Server DB and at least there do something with approvals?
    2.2. Runs MS Office (Excel and Access actually, possibly a mail client)
    2.3. Can be logged on from the outside via RDP
    3. Everything will be MS-based. No linux/citrix, not sure about VMWare.
    4. I’ll need two such VMs for different clients, one for testing/development and be able to define more VMs. They will not see heavy use, mostly a few days on a monthly basis and only intensely once in a while during those days.

    I think I already know that:
    1. Each VM can/should have its own IP address (in the LAN, so 192.168.x.x) and I would assign a fixed LAN IP address to it.
    2. RDP runs over a specific port but I should be able to instruct the client to RDP into our internet IP address and use a specific port which I would forward to the RDP port (443/4125?) for the VMs IP Address.

    Now, my questions:
    1. Will a VM always be “on” or can it start/boot once an RDP session is requested?
    2. What version of Windows Server would I need if I wanted it to provide the VMs itself, what version if I were to use VMWare?
    3. How is a VM actually stored on the Server? The Server will be backed up of course and I need to know I’ll be able to recover/transport.
    4. The application can be rather I/O intense at times and I wish the DB to be on an SSD. Can I allocate (parts of) an SSD to a VM, say have a C:\ on a HDD and a D:\ with the DB on an SSD?
    5. How does licensing work here? I am thinking I would need:
    5.1. 1 MS Server (and I assume it comes with a license for one user being the administrator)?
    5.2. Any CALS for the clients or for a VM?
    5.3. 1 SQL Server (and I assume it comes with a license for one user being the administrator/DBA)?
    5.4. 2 SQL Server CALS, one for both clients
    5.5. 3 MS Office licenses (1 for Server for my own, 1 for each client/VM)?
    6. Do I also need licences for the OS that each VM would run? E.g. W7 Home Premium per VM if I wanted them to run W7?
    7. What kind of CPU does a VM require, can all do it nowadays? I am thinking about E3-1275L v3, E5-2630L v3, i7-4790T, i74785T. I like the option to have in excess of 32GB of memory.

    Only starting out in VM, RDP, Server (aside from my WHS 2011 Server which has been a great experience) and SQL Server for third parties (have used it extensively for my own data analisys, T-SQL, stored procedures etc), I am sure I am missing out on a lot still. Any other ideas?
    Join MURCs Distributed Computing effort for Rosetta@Home and help fight Alzheimers, Cancer, Mad Cow disease and rising oil prices.
    [...]the pervading principle and abiding test of good breeding is the requirement of a substantial and patent waste of time. - Veblen

  • #2
    Licensing is not my thing so I provided some links that will hopefully clarify some stuff better than I can.

    Now, my questions:

    1. Will a VM always be “on” or can it start/boot once an RDP session is requested?

    Whichever you want. If you want them always on you can create a security policy where non-admin users cannot turn off the VM. If you don't care about them being shut down then leave things default.

    2. What version of Windows Server would I need if I wanted it to provide the VMs itself, what version if I were to use VMWare?

    All versions of Windows Server starting with 2008 R2 and above have Hyper-V built-in at no extra charge. The different editions of Server allow a certain number of VMs at no additional cost. Standard is two free VM instanses, Enterprise (pre-2012) is 4, and Data Center is unlimited VM licenses. As in you can put as many VMs as the host will allow and pay only for the host OS licenses.

    Server 2012 R2 is the latest and greatest Windows Server and Hyper-V. I has an automatic licensing feature for VMs.

    http://technet.microsoft.com/en-us/library/dn303421.aspx

    Licensing workstation versions of Windows (Win 7/8) is different. That is where things get tricky... you'd have to talk to MSFT sales guy to figure that out.


    3. How is a VM actually stored on the Server? The Server will be backed up of course and I need to know I’ll be able to recover/transport.

    The VM is stored in a virtual hard drive file on the server's storage (VHDX in Hyper-V, VMDK(?) for VMware). Or on a SAN. Server 2012+ can store the files remotely over an SMB3 share, but most NAS vendors don't support that just yet.

    There are lots of backup options. VEEAM seems to be the most popular VMware option. There is a VEEAM Hyper-V product too. Microsoft's option is called Data Protection Manager (DPM). But really, any VSS (Volume Shadow copy Service) aware backup solution will work. VSS is what allows you to backup live files in Windows without locking the file or disk to do so.


    4. The application can be rather I/O intense at times and I wish the DB to be on an SSD. Can I allocate (parts of) an SSD to a VM, say have a C:\ on a HDD and a D:\ with the DB on an SSD?

    Yes.

    5. How does licensing work here? I am thinking I would need:

    5.1. 1 MS Server (and I assume it comes with a license for one user being the administrator)?

    http://www.microsoft.com/OEM/en/licensing/productlicensing/Pages/server-cal.aspx#fbid=7YQkrUkHhp9

    5.2. Any CALS for the clients or for a VM?

    Only if you are using remote desktop services (RDS), like a desktop gateway. If its direct VM connection over one of the default RDP connections then no. As in, if there is one VM per user then no CALs. If there are ten simultaneous users on a VM then you need RDS.

    5.3. 1 SQL Server (and I assume it comes with a license for one user being the administrator/DBA)?

    http://blogs.technet.com/b/volume-licensing/archive/2014/03/10/licensing-how-to-when-do-i-need-a-client-access-license-cal.aspx
    http://www.microsoft.com/licensing/a...s-license.aspx

    5.4. 2 SQL Server CALS, one for both clients

    ..maybe. Depending on SQL Server edition and version.

    http://blogs.technet.com/b/uspartner_ts2team/archive/2011/11/30/a-concise-sql-server-2012-licensing-overview.aspx

    5.5. 3 MS Office licenses (1 for Server for my own, 1 for each client/VM)?

    I'm pretty sure you must have a VL (Volume License) to run Office on a server or VM...


    6. Do I also need licences for the OS that each VM would run? E.g. W7 Home Premium per VM if I wanted them to run W7?

    This may require a VDI license. It may be cheaper to use a VM running server since those licenses may be included with the host license.

    7. What kind of CPU does a VM require, can all do it nowadays? I am thinking about E3-1275L v3, E5-2630L v3, i7-4790T, i74785T. I like the option to have in excess of 32GB of memory.

    Pretty much any server CPU made in the past 5 years will work.

    I would recommend a server with at least 2 NICs. One, or a team, for the vSwitch used by the VMs, and one, or a team) for host communication. The way Hyper-V works to make VM networking faster causes the host to work slower over that adapter. So using a second NIC for host communications is preferred, as there will be no performance penalty.
    “Inside every sane person there’s a madman struggling to get out”
    –The Light Fantastic, Terry Pratchett

    Comment


    • #3
      Jamm, a world of thanks for taking the time and, of course, I have some more...

      1. Will a VM always be “on” or can it start/boot once an RDP session is requested?
      I don't think I care about a user through RDP turning off his/hers VM. I would hope though that a new RDP session request could then "reboot" the VM. Is that right?

      2. So if I have a real server with WS2012R2 running, that is that that is not virtual in any way, then I can have a number of VMs running below that? I think I mean, would the "Hypervisor"(?) run on that non-virtual instance? Knowing nothing about VMs, I see a VM sort of as a ringfenced container for a virtual PC that can not reach outside its ringfenced domain. Does that make sense? And I can purchase licenses for additional VMs I think.

      3. Does *everything* of a VM need to be in the .vhdx? Or can I share folders such that the VM actually has some access to the file system of the non-virtualised OS? I guess that is in somewhat conflict with the idea of a VM being portable but still. Assume I have the actual server with keyboard/monitor etc, so like a desktop running a Server OS. Could I not RDP into the VM running on the same machine?

      4. Wrt Backup, I was thinking that I could simply use the WS2012R2 Server Backup solution as it would backup the VMs (files) as well?

      5.2. Any CALS for the clients or for a VM?
      "Only if you are using remote desktop services (RDS), like a desktop gateway. If its direct VM connection over one of the default RDP connections then no. As in, if there is one VM per user then no CALs. If there are ten simultaneous users on a VM then you need RDS."
      Let me get this straight: If the VM emulates a single user (at a time) desktop, then no. If the VM emulates a _server_ to which multiple users can log on, then yes for each user? That would actually make sense I guess.

      6. Do I also need licences for the OS that each VM would run? E.g. W7 Home Premium per VM if I wanted them to run W7?
      "This may require a VDI license. It may be cheaper to use a VM running server since those licenses may be included with the host license."
      If I understand you correctly, then you are saying I might as well have each VM running WS2012R2 with just one user?

      2-NICs is understood.

      And really, many thanks already.
      Join MURCs Distributed Computing effort for Rosetta@Home and help fight Alzheimers, Cancer, Mad Cow disease and rising oil prices.
      [...]the pervading principle and abiding test of good breeding is the requirement of a substantial and patent waste of time. - Veblen

      Comment


      • #4
        1. If it's a normal RDP session they can reboot it at any time. Unless you explicitly take away that right. You can also turn off the VM if you want. The only power mode a VM doesn't have is hibernate.

        2. Without getting too technical, yes. The WS2012R2 with a GUI run and works like normal on the physical server, even with Hyper-V (the hypervisor) installed. That is called the "host server". You can then run a number of guest OSs (VMs) on top of the host via Hyper-V. The host and VMs will share RAM, processor and (potentially) storage.

        You get 2 "free" (as in no additional license needed) guest licenses with 2012 R2 Standard. If you want to add more just purchase a license and you can add them as needed.

        3. You can setup a share on the host and the guests can access it... in most cases. There are three types of Hyper-V network: external, private, internal. External allows the VM to share a physical NIC and access off host resources, like the Internet and corporate network. Internal allows VM-to-VM connections, and VM-to-host. Private networks only work VM-to-VM. You'll likely use an external network, so you'll have access to all network resources including the host server.

        4. I believe so. EDIT: with Server 2012 R2 you can do live VM backups on the host with Windows Server Backup.



        5./6. You can use any username to log into the VM, even a domain user. But you can only have two RDP'ed in at any one time. Windows allows two remote desktop connections at a time without any additional licensing. A VM is considered a separate Windows installation, so 2 for the host, 2 for each VM. As long as you don't need more than two people at a time to a single Windows instance there is no need to buy additional RDS licenses. As I understand it...

        You're welcome.
        Last edited by Jammrock; 29 October 2014, 14:20.
        “Inside every sane person there’s a madman struggling to get out”
        –The Light Fantastic, Terry Pratchett

        Comment


        • #5
          I think I already know that:
          1. Each VM can/should have its own IP address (in the LAN, so 192.168.x.x) and I would assign a fixed LAN IP address to it.
          2. RDP runs over a specific port but I should be able to instruct the client to RDP into our internet IP address and use a specific port which I would forward to the RDP port (443/4125?) for the VMs IP Address.

          > you can setup remote desktop gateway. thus you have https facing outwards and then people can rdp into vm1.umfriendsdomain.local vm2.umfriendsdomani.local
          You can create access rights on domain accounts. For example Loesje can rdp in vm1. Tijs can rdp in vm2 and Umfi can rdp into everything

          Now, my questions:
          1. Will a VM always be “on” or can it start/boot once an RDP session is requested?
          best to have them start on host powerup if clients need them


          2. What version of Windows Server would I need if I wanted it to provide the VMs itself, what version if I were to use VMWare?
          You can virtualize any MS OS. Use the one you have licence
          Generally you want to use hyperv. you can put VM-s on server where apps are also running but if that server needs to be rebooted then all VMs also go on reboot. So you either use VMware or free hyperv or one instance of server for only the hypervistor and virtualize all VMs where apps will run. You need to have all instances covered but hypervisor (Vsphere or Hyperv) you can get for free.
          VMware > Hyper-V

          I inherited a Hyper-V setup (that was also not that great) and then I migrated everything to new VMware box. It's running better now with less problems.

          3. How is a VM actually stored on the Server? The Server will be backed up of course and I need to know I’ll be able to recover/transport.
          You have two options:
          put VMware on USB key and use all disks on server in one big array as storage. Then create folders and virtual disks, each machine has folder and virtual disk files in it. For production machines you want to use persistant (allocate all 80GB now) instead of self growing (which you use for test machines) virtual disks. If you use windows, you put VMs in folder on NTFS volume.

          Another option is to buy storage or build storage server and provide volumes to host. This you do if you want to have higher availability - in this case you can have two hosts which host machines from same storage server and if one goes down, vmotion moves them to another host, etc...


          4. The application can be rather I/O intense at times and I wish the DB to be on an SSD. Can I allocate (parts of) an SSD to a VM, say have a C:\ on a HDD and a D:\ with the DB on an SSD?
          create RAID1 volume of 2 SSD disks, create virtual disk in that storage in VMware VSphere and plug that disk into VM. Then in VM os tell SQL to put DB on that drive.
          in HyperV you create F: which is on SSD, then you do the same.

          5. How does licensing work here? I am thinking I would need:
          5.1. 1 MS Server (and I assume it comes with a license for one user being the administrator)?
          5.2. Any CALS for the clients or for a VM?

          CALs thin whether device or user CALs. I think user CALs are the way to go.
          Another problem is that if you want more than 2 users per server, you need TS licences, which are enforced (CALs are not)

          5.3. 1 SQL Server (and I assume it comes with a license for one user being the administrator/DBA)?

          5.4. 2 SQL Server CALS, one for both clients
          5.5. 3 MS Office licenses (1 for Server for my own, 1 for each client/VM)?

          correct

          6. Do I also need licences for the OS that each VM would run? E.g. W7 Home Premium per VM if I wanted them to run W7?
          I would buy Server

          You would need 2 standard server licences, if you plan to expand at some point it's more affordable to buy Datacenter as you can run unlimited VMs on 1 host.


          7. What kind of CPU does a VM require, can all do it nowadays? I am thinking about E3-1275L v3, E5-2630L v3, i7-4790T, i74785T. I like the option to have in excess of 32GB of memory.

          You want EPT

          Only starting out in VM, RDP, Server (aside from my WHS 2011 Server which has been a great experience) and SQL Server for third parties (have used it extensively for my own data analisys, T-SQL, stored procedures etc), I am sure I am missing out on a lot still. Any other ideas?
          Last edited by UtwigMU; 29 October 2014, 18:38.

          Comment


          • #6
            try ebaying SBS 2011 Premium (or it may still be in stock somewhere) or server box with OEM SBS 2011 - this gives you SQL + 2 server instances + 5 SQL and server cals (SBS cal is valid for server 2008 in domain) for about 1500 EUR, then you can buy another server 2012 (but downgrade to 2008) for 2 more instances and then you can put sql on all of them if they are on same phyisical box.

            With SBS you get 5 SBS Premium CALs, which are good for all domain servers and all instances of Premium's SQL on one physical box.

            I saved some customers about 10k EUR in licencing costs by going similar route. Instead of buying crappy new licences I bought a badass server with maxed top CPUs and OEM SBS licence (this should be good untill 2020 when 2008R2 is no longer supported).

            If you buy good OEM server, you can then buy warranty (if you need it). For HDDs I recommend ebaying caddies and then buying new HDDs/SSDs (with warranty). Buy 1 or 2 more than you need and keep a cold or hot spare - it's cheaper than buying official HDDs.

            If you want I can also come up to Holland to set everything up for you for a fee or do it remotely

            If you can run your app on free SQL (10GB DB, 1GB RAM) - you can also just buy 2 (7 Enterprise or Ultimate allowed 2 instances, for 8 check) or 4 (if 8 doesn't allow 2 VMs per licence), virtualize everything. Then regedit change RDP ports and forward different ports to different VMs or IPs

            For licencing questions email microsoft, they are very nice and reply. MS licencing is very very complicated. In one big shop I spent a man-month getting all licences in compliance.
            Last edited by UtwigMU; 29 October 2014, 18:40.

            Comment


            • #7
              Backup you do like normal backup. 2008 R2 and above can do image backup on network share. Otherwise you can also buy synology NAS and 2 4TB drives. Then create iSCSI volumes bigger than as one VM's size of all disks. Then connect to iSCSI from VMs (Win Pro or server can do it) and use iSCSI volume - looks like normal disk and connects over LAN, very easy to setup iSCSI with Synology - for backups. if you need to restore you can restore files or whole VM - boot VM from windows OS ISO DVD image and point it to backup. On VMware you need to create virtual disk and copy contents of iSCSI volume to that, then connect that virtual disk to VM before you can do bare metal restore.

              On Hyper-V you can restore from network share but hyper-V is damn slow - took me 5h to restore a VM with customers watching with worried faces. If that wouldn't have worked, I'd have to commit a seppuku there.

              Comment

              Working...
              X