Having been involved in a case for a long time now where a partner wanted to use SCVMM with XenApp 6.5 and PVS 7.1 for a customer and it has not been quite as successfull.
Now I wanted to share some notes with PVS and Hyper-V and what the limitations are there at the moment.
- First of it is important to note that PVS 7.1 is the only version of provisioning that supports SCVMM 2012 R2, as the support matrix lists.
- Using PVS with Hyper-V is now functional with PVS 7.1 this requires Legacy adapters in Hyper-V since Legacy adapters are the only NICs in Hyper-V that support PXE boot
- Citrix has implemented a failover mechanism between Legacy and Synthetic which means that the streaming traffic can start from the Legacy adapter and then switch to the synthetic.
- Hyper-V 2012 R2 does support PXE with Sythentic devices with Generation 2 Virtual Machines, but THIS IS NOT SUPPORTED BY CITRIX YET.
- If we for instance are using a VM with two Legacy adapters, Hyper-V will always boot from the last legacy NIC added to the virtual machine, if we are using “Stream VM wizard” in PXE it will add the first NIC in the virtual machine meaning that we get the wrong MAC address in the PVS database
- Hyper-V creates a new NIC GUID when creating a machine from a tempalte unlike Vmware or XenServer which does not.
- Stream VM wizard in PVS creates virtual machines from templates which means that NIC’s on the PVS virtual machines get reinitialized when booting and therefore service stop responding since it delays the network start.
- The only solution to this is to clone machines and then add them manually to PVS like in this CTX article –> http://support.citrix.com/article/CTX128750
- XenDestkop setup wizard in PVS DOES NOT create virtual machines from template, but clones the virtual machine using a set of PowerShell cmdlets.
Hopefully 7.5 has support for Generation 2 Virtual Machines!
While working on a Hyper-V project I was noticing that the virtual machines had very sluggish network performance. This was a brand new enviroment with a good bandwidth so therefore I was a bit stumped on why the Network was acting so sluggish.
After doing some testing we saw that the hyper-v host had about 100mbit access to the internet and low latency on the link. The virtual machine that was running on it with a shared network card has about 1/3 of the speed and was getting quite high latency when accessing the internet.
After playing around with the Network driver I tried disabling VMQ on the card and voila! everything worked perfectly. When I saw it was a Broadcom driver and did a quick google search I found that there is a known issue with Broadcom network adapter drivers and VMQ
You can read more about it here –> http://support.microsoft.com/kb/2902166
So if you are having trouble with virtual machines and sluggish network performance with Broadcom drivers, try disabling VMQ
NOTE: I had added the latest Broadcom drivers to the hyper-v host but they did not fix the issue, I contacted Broadcom which gave me a hotfix which I used in this instance.
So I see more and more questions regarding Office365, and therefore I suggest looking on this exam , Administering Office 365 for Small Businesses 74-325 https://www.microsoft.com/learning/en-us/exam-74-325.aspx
I have taken the exam so therefore I wanted to create a study guide to make it easier to study for this exam. First of I suggest looking at the jumpstart on Microsoft Virtual Academy which covers most of the topics. (This requires a MVA account) http://www.microsoftvirtualacademy.com/training-courses/administering-office-365-for-small-business-jump-start
Important to note that this exam is purely multiple choice and remember to read the questions carefully.
Also remember to take note of the different PLANs and the amount of users and what it includes in data storage.
I have also added technet articles under each topic. So this is what the exam covers:
Provision and manage users, groups, and domains
Create users; configure user and group properties and settings; manage user licenses and subscriptions; Bulk Add Users Wizard (CSV import); use Microsoft Online Services Directory Synchronization Tool to provision and manage users and groups; recover identities and users; add and verify domains; Microsoft Online Services module for Windows PowerShell
User administration –> http://technet.microsoft.com/en-us/library/office-365-user-account-management.aspx
Add and verify domains –> http://technet.microsoft.com/en-us/library/office-365-domains.aspx
PowerShell module –> http://technet.microsoft.com/en-us/library/jj151815.aspx
Office 365 administrator roles; delegated administration; Exchange role-based access control (RBAC) roles, including management role assignment policies for users
Assigning users and roles –> http://onlinehelp.microsoft.com/en-us/office365-enterprises/ff637584.aspx
Prepare the client computer and configure remote connectivity
Prepare the client computer (prerequisites, desktop integration, Group Policy settings, manage desktop shortcuts, Microsoft Online Services Sign-In Assistant); troubleshoot remote connectivity issues (Windows Firewall and network firewall for Lync, Exchange, and SharePoint); autodiscover and service location, trusted zones; configure remote administration (enable administrator for remote Windows PowerShell, Exchange Management Console), Office Professional Plus 2010
Client Support –> http://technet.microsoft.com/library/office-365-system-requirements.aspx
Ports and protocols users by Office365 –> http://technet.microsoft.com/en-us/library/hh852522.aspx
Deployment Office365 Proplus –> http://technet.microsoft.com/en-us/library/gg998766(v=office.15).aspx
Manage mailboxes, contacts, and groups
Single item recovery; recover mailboxes; migrate mailboxes; Email Migration Wizard; configure global policy settings, including Outlook Web App mailbox policy and Exchange ActiveSync policies; security and distribution groups (moderated, restricted, dynamic, and self-service)
Manage devices in ActiveSync –> http://help.outlook.com/en-us/140/ms.exch.ecp.activesyncaccess.aspx
Item recovery Office365 –> http://help.outlook.com/en-us/140/hh125820.aspx
Migrate options office365 from Exchange –> http://support.microsoft.com/kb/2798131
Manage messaging security and compliance
Antivirus/antispam (Exchange Online Protection); Exchange Data Loss Prevention; S/MIME; Information Rights Management (IRM); journal rules; certificates; Mutual TLS (MTLS); create and manage retention policies and retention tags; administrator audit logging; mailtips; litigation hold; archive mailbox (personal and online) –>
Mailtips Offic365 –> http://help.outlook.com/en-us/140/ff872400.aspx
Manage Lync in an Office 365 environment
Configure Lync services; configure federation and public IM connectivity (PIC); configure user settings (audio/video, file transfer, dial-in audio conferencing settings) –>
Lync Administraton –> http://technet.microsoft.com/library/lync-online-administration-and-management.aspx
Enabling features in Lync Online –> http://onlinehelp.microsoft.com/en-us/office365-enterprises/hh416768.aspx
Manage site collections
Create site collections; manage site collection properties (quotas, owners, administrators, and external user policies); create and configure the public website
Creating site collection and defining quotas –> http://office.microsoft.com/en-us/windows-sharepoint-services-it/configuring-site-collection-quotas-and-locks-HA001160794.aspx
Setting public website Office365 –> http://office.microsoft.com/en-us/office365-sharepoint-online-enterprise-help/set-up-a-public-website-HA102476205.aspx
Manage user profiles
Configure user and organization properties and policies; manage social tags and notes; configure MySite properties; manage audiences
Manage team site; external user permissions; send external invites; create permission sets; define roles and groups; site templates; solution and feature framework (activating, deactivating, sandbox solutions); mobile device support; Recovery and Recycle Bin
Mobile Device support –> http://technet.microsoft.com/en-us/library/office-365-mobile-devices.aspx
External user permissions and invitations –> http://office.microsoft.com/en-us/office365-sharepoint-online-small-business-help/manage-sharing-with-external-users-HA102849862.aspx
Manage public-facing website
Create a public website with the default domain; create a public website with a custom domain name; change the domain name of your existing public website; view the public website DNS information
Configuring pulblic website and domain –> http://office.microsoft.com/en-us/office365-sharepoint-online-enterprise-help/set-up-a-public-website-HA102476205.aspx
Now been encoutering some cases lately regarding use of App-V and Shared Content Store deployed from Configuration Manager. There are a couple of things that are worth taking note of here.
* Shared Content Store is an client configuration!
This can be enabled either during deployment of the App-V client by using this command.
appv_client_setup.exe /SHAREDCONTENTSTOREMODE=1 /q
Or using PowerShell
Set-AppvClientConfiguration -SharedContentStoreMode 1
The shared content store is very usefull in RSDH / XenApp and VDI implementations since it does not store app-v packages in the local cache. So instead of caching frequest access packages it uses NTFS points to point to a network share instead.
And when using App-V with Citrix PVS is the way to go!
Problem is when using Configuration Manager to deliver the packages to the App-V clients. You have two ways to deliver App-V packages. Either will streaming the content from the distribution point into the cache. Or by downloading the packages from the distribution point and then running the packages.
Important thing to note here is that the deployment type must be stream content from distribution point and not Download content from distribution point! since the Configuration Agent handles the App-V delivery it will ignore the SCS setting in the App-V client.
So worked with a issue with Internet Explorer 10 and its webcache and roaming profiles. The trouble is that with IE10 is that it stores its cache in the local appdata folder. (Same goes for IE11) With IE9 we do not have this issue.
This folder –> %LocalAppData%\Microsoft\Windows\WebCache
Here it stores the frequently access sites, password and so on.
The problem with using regular roaming users is that that %LocalAppData% folder is not part of the roaming profile user and will always stay on the server a user accessed. So the problem occurs when a user accesses a new server and again needs to build up their resources in IE10.
One solution is to create a group policy which alters the default behaviour of if Localappdata to allow to be part of the roaming profile.
This allows the local appdata folder to syncronized with romaing profiles as well. Now this has its advantages since it is easy to setup and easy to change with Group Policy, but it takes everything inside the folder to sync so you might need to look at the size of the romaing profiles. You can also use deduplication feature in Windows Server 2012 to save some space.
Another solution is to create a symlink here we can do it for a particular folder in order to reduze the roaming profile folder.
mklink C:\Users\user\AppData\Local\Microsoft\Internet Explorer \\roamingprofilefolder /D
This needs to be run as administrator in order to take effect, so if you have RES for instance you can run this at logon to setup the link.
Microsoft recetly published an blogpost with how we can use data deduplication with Configuration Manager. http://blogs.technet.com/b/configmgrteam/archive/2014/02/18/configuration-manager-distribution-points-and-windows-server-2012-data-deduplication.aspx
Now the reason why you would use Data deduplication is to save space, since this works on a file level it allows us to remove redudant chunks on files within a volume.
So instead of having file with a chuch of A B C D E F F F we would just have A B C D E F, im simple terms . I have written about how to use data deduplication within one of m y previous posts here, this shows how to trigger a schedule and setting it up using PowerShell http://msandbu.wordpress.com/2012/09/12/windows-server-2012-storage-redefined-part-1/
Now in terms of using it with Configuration Manager, there are some couple of things you might want to note.It is supported using data deduplication on a distribution point, but not on the source files. Meaning that we can use deduplication on volumes where the content library is located. This on the other hand, allows us to reduce a good amount of storage on our distribution point, but again it requires that the server is running Windows Server 2012 or 2012 R2.
So Atlantis recently had a webinar where they went trough the different aspects of their new product, USX.
USX is a extension of the previous product ILIO with some more storage features which allows them to tier and setup different forms of storage disks and with the additional benefit of having RAM included in the mix.
The webinar was last week and has already been published available on Youtube –>
I suggest you check this our if you are interested in Software Defined Storage!
Jeg ser mange forespørseler rundt dette både ute i markedet samt på sosiale medier så derfor måtte jeg bare skrive om dette på norsk
Tidene endrerer seg, det samme gjør teknologien. Det siste året har det vært mye fokus rundt konvergert infrastruktur. I essensen betyr at man slår sammen flere komponenter til en enkelt løsning. Tradisjonelle løsninger baserer seg vanligvis på 3 hoved komponenter, servere, nettverk og lagring.
Så visst man skal sette opp et virtualiseringsmiljø er man avhengig av disse 3 komponentene. Alle de store leverandørere gjør mye her for å få på plass løsninger, som f.eks Storage spaces med Windows Server gjør at man ikke er så avhengig av et dyrt SAN for å få en god ytelse å kjøre et virtuelt miljø på.
Samtidig som nettverk begynner å bli mer og mer virtualisert så vil man begynne å styre dette direkte fra virtualiseringsmiljøet i stedet for ute på enheten selv. Men selv om all denne teknologien kommer på plass så er man avhengig av at de 3 hardware komponentene er satt på plass å det er her konvergert infrastruktur kommer inn.
Dell har designet en ny konvergert løsning som kalles PowerEdge VRTX, rettet mot større kunder med behov for lokal infrastruktur på utekontorer eller som et komplett virtuelt datasenter for mindre til mellomstore bedrifter. Denne kan faktisk stå under en pult da det er mulig å få den levert med hjul. Kan fort tenkes at den bråker mye men neida, den er like stille som en vanlig stasjonær eller laptop. Men det som er unikt med VRTX er at den slår sammen de 3 komponentene (servere, nettverk og lagring) i et chassis.
Et eksempel, så kan denne bestå av 4x M520 Server (Definerte VRTX M520 servere siden VRTX utgavene har egen firmware) med 12x 3,5” disker. Alle serverene i chassiet deler midplane slik at alle serverene kan få tilgang til lagringen og nettverk. Lagringen blir presentert til serverene som SAS disker, og via management consolet til VRTXen definerer vi hvilken server node som skal ha tilgang til lagrings enhetene. Den kommer også med 3 full lengde PCI-E sloter som gjør at vi f.eks. etterhvert som det blir supportert sette inn et Nvidi GRID kort. I tillegg kommer VRTX med 5 halvlengde PCI-E slot. Totalt 8 PCI-E sloter utøker bruksområde,
du kan kople på ekstern lagring hvis du vokser ut av VRTX, ulike GPU og nettverkskort.
Her er det flere muligheter som dukker opp avhengig av hva den skal benyttes til.
Vi kan f.eks bruke den som en scale-out file server med SMB 3.0, hvor f.eks to noder som scale out-file server og 2 noder som Hyper-V servere. Da har vi et ferdig virtuelt miljø kjørende på samme løsning. Med 2012 R2 kan vi også bruke SSD disker som en del av løsning å få Storage Tiering funksjonalitet, refererer til min tidligere artikkel –> https://msandbu.wordpress.com/2013/09/18/storage-tiering-for-scale-out-file-server-jbod-sas/ For å få enda bedre ytelse på lagringen.
En annen ting kan også være å levere VDI løsninger, med f.eks Nvidia grid skjermkort satt inn, er det fult mulig å sette opp en fullstendig VDI løsning med lagring og mulighet til å levere “tunge” grafiske applikasjoner enten via Citrix eller Microsoft RemoteFX. Så det blir spennende å følge med på dette fremover å hvordan dette spiller sammen med Microsoft!
Jeg ser også at Dell og Microsoft har fått et tettere samarbeid, både på lagring og leveranse av VDI løsninger. Nylig har også Dell annonsert at de har kommet med hardware støtte for Storage Spaces i Windows Server med PowerVault løsningen sin. Dette gjør det enklere å sette opp billige lagringsløsninger for virtualiseringsmiljø med Hyper-V. Dere kan lese mer om nyheten på Microsoft annonseringen her –> http://blogs.technet.com/b/server-cloud/archive/2014/02/11/today-dell-announced-hardware-support-for-storage-spaces-in-windows-server.aspx
Visst det skulle være noen spørsmål så er bare å legge igjen en kommentar!
So this is hot news! For those that aren’t familiar with Atlantis it is a company that appeared 4 years ago and the worked with one object RAM as primary storage.
They had the ILIO product around for a couple of years now, pointing at the VDI and XenApp marked.
ILIO is a virtual appliance which runs on top of either Hyper-V or VMware ESX and there it takes physical ram from the host and present it out as storage to the hypervisor (either as iSCSI or NFS) And on top of this is can do inline deduplication and compression to mention a few features. Which allows for a great performance improvement and offloading the back end SAN.
So that was a quick overview of ILIO. With USX Atlantis takes it a bit further. They describe it as Software defined Storage. Meaning that we are going to be able to mix and match a bunch of different storage vendors and drives to create it as a single resource and having the ability to run from RAM as well.
From Atlantis’s own website
Atlantis ILIO USX (Unified Software-defined Storage)—the industry’s first in-memory software-defined storage solution, enabling IT to support up to 5x more VMs on the existing storage resources they already have today, dropping the cost of storage by up to 50%.
Atlantis ILIO USX gives IT the flexibility to get more out of existing storage investments, and creates new software-defined storage hybrid arrays, hyper-converged systems, and all-flash arrays by aggregating and pooling the SSDs, SAS, flash, and RAM for any number of servers.
Atlantis ILIO USX eliminates the inefficiencies of storage silos, that have been created to support specific applications, by unifying all storage types into a highly-optimized pool of storage resources that are made available to all applications. Policy-based control then optimizes capacity, availability and performance based on application needs, resulting in lower storage costs and better VM performance.
They have also added a techincal FAQ which shows a bit about the flexibility this is going to deliver.
What type of application workloads does Atlantis ILIO USX support?
A. Atlantis ILIO USX was designed from the ground up to support any server workload and has a range of storage volume types that provide optimal capacity reduction, performance and availability for the target application. It is suitable for a wide variety of application workloads from MS-SQL to Exchange and big data workloads such as Hadoop.
Q. What type of storage can be used?
A. Any storage that can be presented to the hypervisor can be pooled and optimized by Atlantis ILIO USX. This includes SAN, NAS, flash arrays and local DAS including SATA, SAS, flash, SSD and RAM.
Q. Do you provide High Availability (HA)?
A. Yes. Atlantis ILIO USX provides integrated HA and data protection for the Atlantis ILIO USX storage volume. There is no single point of failure. Atlantis ILIO USX HA has no reliance on external HA functionality provided by the hypervisor layer. Customers can still use the hypervisor’s HA and DRS functionality to provide VM level protection.
Q. Can Atlantis ILIO USX create a hyperconverged infrastructure (storage and compute combined)?
A. Yes. Atlantis ILIO USX can pool local server resources such as SAS, Flash, SSD and RAM to create a hyper-converged infrastructure.
Q. Does Atlantis ILIO USX support VMware vSAN?
A. Yes, Atlantis ILIO USX can pool VMware vSAN along with any other types of storage and provide optimization that improves performance and reduces capacity utilization for vSAN.
Q. Can I pool storage between public and private clouds?
A. Yes, this has been tested with Amazon Storage Gateway, EC2 and S3. For solution details, please contact Atlantis Computing.
Q. What hypervisors are supported?
A. Atlantis ILIO USX has been designed to be hypervisor agnostic. The initial release will support VMware vSphere 5.x or later. Additional hypervisor platform support will be delivered in a future release. Atlantis ILIO Desktop Virtualization products are already available on VMware vSphere, Microsoft Hyper-V and Citrix XenServer.
Q. Are all writes committed to physical storage?
A. Atlantis ILIO USX has the option to configure a storage volume to provide different levels of protection. All storage volume types have the capability of guaranteeing that writes are committed down to physical storage before being acknowledged back to the application layer.
Q. What are the minimum requirements
You can read more about it here –> http://www.atlantiscomputing.com/downloads/Atlantis_ILIO_USX_Solution_Brief.pdf
This is something I have been wanting to do for some time now, and now that I am doing a lot of research for my upcoming book, this subject poped up in my head…. How can we automate setup on a Citrix Netscaler ?
Citrix Netscaler has a NITRO protocol which is in essence a REST interface, which means that we have an API to communicate with on the Netscaler. We can also make custom applications using C# and JAVA since within the NITRO SDK comes with common libraries for both.
You can download the Netscaler SDK for each build in mycitrix.com
Link to the latest SDK –> http://www.citrix.com/downloads/netscaler-adc/sdks/netscaler-sdk-release-101.html
Extract the Csharp tar file and browse into the lib folder. Here we have to import the two library files.
$path1 = Resolve-Path Newtonsoft.Json.dll
$path = Resolve-Path nitro.dll
After we have imported the library files we can start a connection to Netscaler. First of we can either code the variables here NSIP, Username and password before or we can use read-host command. In this example the NSIP of the Netscaler is set to 192.168.88.3 and the username and password is default nsroot As you can see security is my top priority
$nsip = «192.168.88.3″
$user = «nsroot»
$pass = «nsroot»
$nitrosession = new-object com.citrix.netscaler.nitro.service.nitro_service($nsip,”http”)
$session = $nitrosession.login($user,$pass)
This COM object is the one that contains the common services against the Netscaler for instance
- Login / Logout
- Save Config
- Enable / Disable features
If we wanted to for instance do a restart we would need to use the same object. For instance some examples to save config and restart.
$session = $nitrosession.save_config()
$session = $nitrosession.reboot($true)
Since the Com object is already loaded we can just run the commands directly. Just to name a few (refer to the SDK documentation for info about all the classes)
So what are some of the basic configurations that we need to do on a Netscaler? First of we need to change the default hostname for instance.
$hostname = New-Object com.citrix.netscaler.nitro.resource.config.ns.nshostname
$hostname.hostname = «NSpowershell»;
Next we should also add an DNS server to the Netscaler so It can do hostname lookups.
$dns = New-object com.citrix.netscaler.nitro.resource.config.dns.dnsnameserver
$dns.ip = «192.168.88.10″;
And then if we want it to do load-balancing we first need to add a server or two which we want it to load-balace.
$server1 = New-Object com.citrix.netscaler.nitro.resource.config.basic.server
$server1.name = «Powershell»;
$server1.ipaddress = «192.168.88.100″;
Next we need to bind that server to a service.
$service1 = New-Object com.citrix.netscaler.nitro.resource.config.basic.service
$service1.name = «IIS»;
$service1.servicetype = «HTTP»;
And lastly create a load balanced vServer and do a service to vServer binding.
$lbvserver1 = New-Object com.citrix.netscaler.nitro.resource.config.lb.lbvserver
$lb_to_service = New-object com.citrix.netscaler.nitro.resource.config.lb.lbvserver_service_binding
$lb_to_service.name = «lbvip_sample»;
$lb_to_service.servicename = «IIS»;
And of course lastly remember to save the config of the Netscaler
So there you have it, some example Netscaler/PowerShell commands! I just getting started here myself so I will return when I have some more usefull commands and im going to make a custom setup script as well