Citrix Mcs Create Machine Catalog Failed to Upload Disk internal Server Error

Introduction

And then today is my very first fourth dimension: After years of MCS virginity, I decided it'due south finally time to ditch the trivial farms and try out skilful ole' Citrix Motorcar Creation Services. Over the terminal x years, I almost exclusively installed small deployments. The bigger ones have about 150 concurrent users. All are built upon XenApp half dozen.5 or XenApp seven.6+ with static persistent virtual machines. I ever told myself that static persistent virtual machines, together with fully automated patch management (for instance: PDQ) are enough. And this is nonetheless true, because the maintenance effort is well-nigh nonexistent. But, it really bugs me that I'm not as familiar with at least ane of the provisioning methods. You might ask why I don't try to larn PVS instead. Well, the simple reason is that my tum tells me not to. The more valid reason is that MCS is included in every XenApp license and doesn't crave additional infrastructure. And additional infrastructure is ever a actually large topic for the client.

Twitter

This blog mail service won't be a classical "HowTo" guide, but more of a report on my journey to help me go along track of what I practice. Maybe others suffer the same knowledge gap and are interested in my findings and the path I take.

Upsides and Downsides from a Beginner's Perspective

Before this project, when I had no real MCS feel, I always idea virtually the following points. Even if they bring no real content to this blog mail, I would still like to write them down before we start. Yous may skip this part if you similar ;-)

Upsides:

  • I could easily modify the count of the XenApp VDA by adding more clones.
  • The cloned VMs would exist 100% identical, compared to the static VMs I use today, which go diff over time.
  • I get some kind of VM or generation versioning through snapshot management, if washed correctly.
  • MCS RAM cache tin can help with write IO.

Downsides:

  • I have no real plan for how to handle Windows, Role and Awarding Updates. Since MCS-cloned machines are read-only, I remember each change I accept now fully automated through PDQ Deploy would exist lost–after a weekly reboot, for instance.
  • Does this mean, instead of (about) no work today, I would have to roll-out new updated snapshots 2-4 times a month manually, to go on the same level I'm used to?
  • What virtually updates on weekdays? Every now and and so, customers decide to change things on weekdays. Or, a new Java version breaks a browser awarding and requires an immediate update. This volition be a lot harder with non-persistent VMs + a catalog update always requires a reboot, I think.

Initial State of affairs

My company'southward test environment has the following pre-condition:

  • VMware vSphere 6.5
  • Ii XenApp vii.fifteen Delivery Controllers
  • Different static persistent Windows Server 2012 R2 & 2016 XenApp VDA
  • An up and running, fully functional Active Directory Environs based on Windows Server 2016

Getting started

Create a Master Image

  1. Install a fresh Windows Server 2016 Datacenter virtual machine.
  2. Install Hypervisor Tools -> VMware Tools:
                  setup64.exe /S /v"/qn REBOOT=R"
  3. Fully patch the OS (for example with ABC-Update and automated reboots):
                  ABC-Update.exe /A:Install /S:MSUpdate /R:10 /Log_Append:c:\WSUS.log /Go out:Restart
  4. Install the Citrix XenApp Virtual Commitment Agent, for case:
    Desktop-Experience
                    import                -module                                                servermanager
    Add-WindowsFeature Desktop-Feel
    Reboot
    RDS
                    import                -module                                                servermanager
    Add-WindowsFeature RDS-RD -Server
    Reboot
    VDA Setup
                    VDAServerSetup_7.xviii.exe                                                /tranquillity                                /components                vda                                /controllers                xa-wms2016-01.int.anaxco.de,xa-wms2016-02.int.anaxco.de                                /enable_hdx_ports                                /enable_hdx_udp_ports                                /enable_framehawk_port                                /enable_real_time_send                                /enable_remote_aid                                /virtualmachine                                /optimize                                /noreboot                                /logpath                C:                \              
  5. Install the Citrix Workspace Surroundings Management Agent:
    WEM Agent
                    Citrix                                Workspace                Environment                Management                Agent                v4.04.00.00                Setup.exe                                /s                                /v"/qn /norestart"
    C : \Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe update
    C : \Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe eqi 3
  6. Install the Citrix Connection Quality Indicator (CTX220774):
                  msiexec.exe /i "CitrixCQI.msi" ALLUSERS=1 /qn /norestart /log output.log
  7. Install Base Prototype Script Framework (BIS-F) six.1.0 -> Documentation
    setup.exe /SILENT
    1. Import and configure ADMX; example ( click on images to enlarge ):
      BIS-F GPO
    2. Provide 3rd party dependencies–I decided on:
      1. Delprof2
      2. Citrix Optimizer
  8. Apply additional Bone optimizations based on your personal fashion.
    An first-class source for for this topic is: Carl Stalhood
    I will proper name a few examples:
    1. Disable Hotplug of VMware VMXNET3
    2. Remove VMware Tray Icon
    3. Blackness Screen on Windows Server 2016 / CTX225819
    4. Set UseProfilePathExtensionVersion registry value to ane
    5. Server 2016 desktop icons flickering @ discussions.citrix.com
    6. Edit pagefile.sys size
    7. Check NTFS permissions on C:\
    8. etc.
  9. Install some software, for example:
    1. vii-Zip
    2. Adobe Acrobe Reader DC Classic
    3. ASG-Remote Desktop
    4. (ControlUp Agent)
    5. (ESET AntiVirus + Agent)
    6. ESTOS ProCall CTO Client
    7. (fslogix)
    8. Google Chrome
    9. Greenshot
    10. MailStore
    11. Microsoft Office 365 ProPlus
    12. Mozilla Firefox
    13. Notepad++
    14. PutTTY + KiTTY
    15. TeamViewer
    16. VMware Remote Console
    17. VMware vSphere Customer
    18. WinSCP
    19. (Zabbix Agent)
  10. Get your Reckoner and User Group Policy Objects in place with everything you need. For example, remove typical lock-downward policies from the Master during cosmos and later maintenance:

    GPO

  11. Execute BIS-F to seal and shutdown your Primary Epitome:
    Execute BIS-F

    Hint: I had several problems with that footstep considering of very strict Anti-Virus policies. I had a keen discussion at the BIS-F Slack with Matthias Schlimm nearly this problem. Nosotros narrowed information technology down to some AppLocker-like behavior, simply information technology turned out we had some ESET policy in place, which prevented child processes from PowerShell.

    Troubleshooting with Matthias Schlimm

The Citrix Studio Hosting Connection

  1. Beginning Citrix Studio and create a new Hosting connexion. I volition refer to this example for a VMware vSphere six.5 Cluster:
    Citrix Studio Hosting Connection
  2. Trust the self-signed certificate if necessary:

    Trust the self-signed certificate

  3. Fix up your storage equally desired, consult the storage administrator if y'all need help. IMHO this determination is non a Citrix Administrators Task:

    Storage Management

  4. Select storage LUNs as desired:
    Storage Selection

    Hint: As I had to learn the hard mode, selecting all LUNs available wasn't such a good idea, and your storage ambassador won't be very pleased. Equally it turns out, MCS deploys a clone of your master image on every LUN selected. In my case, I deployed the VMDK to 17 LUNs while I merely intended to become used to MCS with two VMs:

    A hint from Jarian Gibson

    Turns out MCS needs a read-only disk on every selected LUN, contained from the VM count. Programme and size appropriately:
    Source: Citrix Production Documentation – XenApp Electric current Release

    MCS creates a total copy of the snapshot and places the re-create on each storage location defined in the host connection.

    In the terminal chapter of this blog mail service, is a clarification nearly how I handled my error.

  5. Select the VLANs that will be bachelor when you create the auto itemize. This setting won't be used until the itemize is exist created. For case:
    If yous select 3 VLANs and plan to afterwards provision VMs with one NIC, you have to select one of these three VLANs for the single NIC. The other ii won't be used. Consult the network administrator if you lot need help:

    Network

  6. Ostend the summary dialogue.

The MCS Sorcerer

  1. Login to your Hypervisor and create a snapshot manually. The VM should already be powered off, after you executed the BIS-F script. In my case, this is the Wink Player based vSphere WebClient 6.v:

    Create a VMware Snapshot

  2. Create a new Machine Catalog in Citrix Studio:

    Create Machine Catalog

  3. Because I mainly work with XenApp / RDSH / Server Os or whatever you lot might call it these days, I select Server OS:

    Operating System

  4. We fix up a VMware virtual machine as our master image, then we have a ability managed virtual machine. And as this guide is about MCS, we won't select PVS. Always keeping things simple:

    Machine Management – Power managed – Machine Creation Services

  5. From the list of VMs, we search our powered off master machine.
    Important: In step 1 we created a snapshot manually! Y'all could select the virtual car itself as a source, and this will work without whatsoever problems. Only you will lose command over your image management! If you lot let Citrix Studio exercise the piece of work for you, all the snapshots created will have the aforementioned name and description.
    Source: Citrix Product Documentation – XenApp Current Release

    If you selected a principal paradigm (rather than a snapshot), MCS creates a snapshot.

    If you do it manually (or maybe scripted old later?) you will have control over the name and the description, which brings you to some form of MCS golden master prototype versioning. Always keep rail of those versions and the changes fabricated, and then yous know exactly where to go, if you always have to roll dorsum a catalog!
    Select Golden Master Image Snapshot

  6. Select ane of the VLANs you configured in the Hosting connection for the cloned virtual machines:

    Select Network

  7. The next page is very important, yous have four values:
    Configure a cache for temporary data on each machine
    1. Virtual auto count
      The machine count is self-explanatory, but gear up the number of XenApp workers you need and you're set!
    2. Total memory for each machine
      This depends on your workload. In that location is no recommendation here other than: Test! Test! Test!
      Either practise it manually, or use tools. For case, you could inquire your monitoring administrator (#Zabbix) to provide you with hard facts about your workload. Or use some industrial standard tools similar LoginVSI to simulate a existent workload and become values for a proper sizing. But I can at least provide you with a link to an interesting web log post near sizing:
      Daniel Feller: Sizing Windows 2016, Windows 2012 and Windows 10 Virtual Machines
    3. A temporary RAM cache for writing operations
      With the release of XenApp vii.9, Citrix introduced a new feature for MCS, previously only known to PVS: A memory writing cache. This enshroud handles all writing operation prior to writing them to the temporary deejay. This tin can deliver a serious IO reduction to your storage. The amount of RAM yous configure here, gets cutting from the "Total memory for each machine" yous defined in step 2. So add more than total RAM according to the RAM cache disk size.
      Y'all tin find a lot more information about this topic in the links I collected in footstep 5.
    4. A temporary Deejay as overflow for the RAM enshroud
      The memory RAM cache disk is express (in nearly cases). And so lets say you classify about ii-half dozen GB memory cache. Depending on your workload, this could fill upwardly sooner or later. With a small or no overflow disk y'all volition get a Bluescreen #BSOD very fast. The Os tries to write, runs out of space and crashes. So your overflow disk is at that place to step in, if the RAM cache can't handle the write requests anymore. So if you would like to apply the RAM cache characteristic, never utilize it without an overflow deejay. A typical suggestion is, that the deejay should be at to the lowest degree the size of the free disk space of your VDA worker.
      You tin detect a lot more information nigh this topic in the links I collected in pace 5.
    5. Boosted Information near MCS storage optimization
      https://www.citrix.com/blogs/2016/08/03/introducing-mcs-storage-optimisation/
      https://www.controlup.com/weblog/everything-you lot-need-to-know-almost-the-new-citrix-mcs-io-acceleration/
      https://www.jgspiers.com/machine-creation-services-storage-ram-deejay-cache/
  8. Now the MCS cloned machines need to take computer accounts in Agile Directory. Hither you tin select if new or existing accounts should be used. Additionally, yous choose the OU where the reckoner accounts will be created. Important hither is the naming scheme. Yous tin can see my example choice in the screenshot:

    Active Directory Computer Accounts

  9. Finally, you choose a proper noun for the Motorcar Catalog. As before long every bit you click finish, MCS will start its work:

    Summary - Machine Catalog name

  10. MCS at work in Citrix Studio:

    marco20.png

  11. Screenshots from VMware vSphere Client 6.v (HTML5) during the Car Catalog creation:

    VMware Machine creation progress

    VMware Machine creation progress
  12. After the procedure finishes, boosted offline VMs volition be available for use.

    New virtual machines in vSphere Web Client

  13. The machines will stay offline, until Citrix Studio tells them to commencement up. For case, later they are assigned to a Commitment Grouping.

Delivery Grouping

  1. Now that we have machines bachelor, it's time to create a Delivery Grouping, so we tin can admission our piece of work from a user's perspective for the first time. Select Create Commitment Group from within Citrix Studio:

    Create Delivery Group

  2. Select the previously created MCS catalog and enter the number of machines you desire to apply. Usually this is equal to the number of virtual machines you lot created:

    Select Machine Catalog

  3. Select a User or a security group for the Commitment Grouping if desired:

    Select Users

  4. Publish different applications if desired:
    (I presume you know what a published awarding is, how and why to utilise it etc.)

    Create published applications

  5. Create a published Desktop if desired:

    Create published Desktop

  6. Give the Delivery Group an appropriate proper noun:

    Summary - Delivery Group name

  7. And washed! By at present your previously offline MCS VMs should boot up. Afterward they run through sysprep and BIS-F (cheque the log files in the UNC path yous configured!), the Citrix VDA will register itself with the Delivery Controller(s), and your newly-created Apps and Desktops will exist available through Citrix Storefront!

Update Machine Itemize

After our start successful MCS roll-out, it's time to talk most updates. I personally have no real practical experience with Machine Catalog Updates. My knowledge hither is more than theoretical, based on a lot of reading and many discussions on Slack and customs meet-ups. So in that location are several challenges to solve in my opinion, just to list a few that come to my mind:

Cons

  1. Compared to static persistent Server OS VDA RDSH VMs, all changes that happen during the VMs up-time volition exist "lost" afterwards a reboot. That is because the cloned MCS disks are read-only. Your classical Software-Deployment Auto Schedules would still work in some style, similar a Java update for example, simply as shortly equally you reboot, that volition be reset.
  2. Without Microsoft Organisation Center Configuration Director (SCCM), no scheduled roll-out seems to be possible. This is a big disadvantage in my stance. It seems like PowerShell would be the style to go. The Citrix PowerShell CMDlets seem to offer avant-garde features to control MCS itemize updates. If this could be solved, any Task Scheduler could solve the timing problem.
    Rollout Strategy

    EDIT: I got informed past Jarian Gibson, that the diction in the Rollout Strategy is not the all-time, or may exist only plain wrong:
    Troubleshooting with Jarian Gibson

    This seems to be true, so my initial clarification is incorrect. Equally detailed in the Citrix Discussions post, y'all can schedule a rollout without SCCM. The trick is that the side by side VDA reboot has to be initiated through Citrix Studio. This tin also be accomplished through a scheduled reboot inside the Delivery Group. More on this later.
    Source: https://discussions.citrix.com/topic/368238-mcs-can-i-schedule-a-automobile-catalog-update/

Pros

  1. All changes that happened during the VM'due south uptime, volition be lost. From another perspective, this can as well be considered very positive. Equally VMs will stay very clean and will never differentiate from each other.
  2. In add-on to Bespeak 2 from the Cons: You lot can work on your master epitome during work hours, without harming anybody. You can then rollout the image update, simply decide for yourself when to initiate the reboot through Citrix Studio.

The Update Itself

Later the Delivery Group was used for some time with success, we have to bring all those pesky updates that queued upwards into the master image.

  1. Boot upward your primary VM, if it's offline.
  2. Log in to your master auto via console or RDP.
  3. Apply changes equally desired. For case: Windows Updates, Office Updates, Application Updates, Runtime Updates, Citrix VDA Updates and and then on.
  4. Run BIS-F to seal and shutdown the master prototype.
  5. Login to your hypervisor and manually create a snapshot. Give it a meaningful clarification or some kind of versioning.
  6. Select "Update Machines" inside Citrix Studio:

    Update Machines

  7. Select the Machine Catalog yous desire to update:

    Affected Delivery Groups

  8. Select the Snapshot nosotros manually created and prepared beforehand:

    Select updated Master Image Snapshot

  9. Select a Rollout Strategy. Every bit I mentioned before, this is currently a huge bummer for me, as I have no environment that makes utilise of Microsoft Organization Center Configuration Manager (SCCM).
    This means the only Rollout Strategy I have is: Immediately.
    In my understanding, this would translate into: Work each and every Sunday. And I think we can agree that this I a no-get.
    For at present, I take to leave this one unsolved, because the purpose of this web log post is to examination, endeavor, learn and study. The obvious respond would be to employ Citrix PowerShell cmdlets, scripting skills and a Task Scheduler. But this won't be covered in this blog postal service.

    Rollout Strategy

    Important: As I mentioned earlier in this blog mail service: This is incorrect!
    The description from Citrix in this Wizard is not good. If you select "On next shutdown" the whole rollout process will commencement and piece of work out. The trick is, later the rollout on the hypervisor finished, the reboot has to be initiated through Citrix Studio. More on this topic in a carve up upcoming blog mail.

  10. Terminate the wizard:

    Summary


My personal Key findings

  1. Utilise Citrix Optimizer, non VMware Optimizer, or take your fourth dimension to written report VMware Optimizer real good.
  2. Use BIS-F all the time, information technology won't injure and at that place is no reason non to.
  3. You may want to create an OU construction in your Active Directory, that lets yous assign dissimilar GPOs to your Golden Master Images, then to your active VDA Worker. For case yous might desire to handle Microsoft Office and Windows Updates unlike on those machines.
  4. Don't let Citrix Studio create the VM snapshots for y'all. Make snapshots yourself and give them meaningful names and a description.
  5. Go along an eye on your snapshot concatenation. Don't let it grow also long. Some fourth dimension in the hereafter you will take to delete old versions.
  6. Brand yourself familiar with the concept of MCS rolling itemize updates. Keep two catalogs up and running and roll out catalog updates rotationally. This is the fastest fashion back, if you lot discover business critical errors in your updated machines.
  7. Peradventure find a workaround for MCS scheduled machine roll out (no SCCM available). <- Proved wrong. Scheduled rollout is possible via Citrix Studio and PowerShell.
  8. I really demand to take a close look at Microsoft Deployment Toolkit (MDT) -> Cheque out @xenappblog Automation Framework for case.

Upcoming content

Thank you for reading one of the biggest weblog posts I've always created. This guide covers the nuts to become started with Citrix Machine Creation Services. But at that place are time to come topics to get covered.
Blog posts that might follow could be:

  • Citrix Machine Cosmos Services: Rolling catalog updates
  • Citrix Car Creation Services: Rollback Machine Catalog
  • Citrix Machine Cosmos Services: Schedule Auto Catalog updates
  • Citrix Machine Creation Services: Automate the master image update process
  • Citrix Machine Cosmos Services: Automate the catalog update

Acknowledgments

A very special Thanks to Jarian Gibson, who helped me a lot with this blog postal service through the Citrix CTP mentoring program for Citrix CTA. Without him, the information in this blog post would be of less quality.

I would also similar to thank RenĂ© Bigler for proofreading this web log mail service as he has used MCS a lot longer than me!

#MCS
#XenApp
#VDA
#CTA
#2021Top10Blogs

johnsonalittly.blogspot.com

Source: https://www.mycugc.org/blogs/cugc-blogs/2018/09/21/my-first-time-citrix-machine-creation-services-mcs

0 Response to "Citrix Mcs Create Machine Catalog Failed to Upload Disk internal Server Error"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel