Quantcast
Channel: Xenthusiast
Viewing all 28 articles
Browse latest View live

Polish Citrix User Group – meeting on 5th of March, 2015 in Krakow

$
0
0

I’m very happy to announce, that I will be presenter on 1st meeting of Polish Citrix User Group. This meeting will take place on 5th of March, 2015 in Krakow. My topic is – Case Study about Citrix Provisioning Services implementation for 300+ servers and 3500+ users.

Information on Citrix Blog: http://blogs.citrix.com/2015/02/17/polskim-new-citrix-user-group-meeting-5th-march-2015-krakow-poland/

And registration form on official PLCUG site: http://www.plcug.pl/events/i-spotkanie-plcug/

PolishCUGsmall


XenDesktop 7.x Desktop integration with VMM Virtual Machine – VM migration

$
0
0

Last days I had to migrate couple VDI’s VM from one Hyper-V installation to another (separate VMM instances). But I didn’t want to recreate Catalogs and Desktop Groups. I just wanted to change the “link” from XD object (BrokerDesktop) to VMM object (Virtual Machine).

So let’s take a look, how this integration is implemented – I prepared a simple diagram:

BrokerDesktop2VMM

In the box “Citrix XenDesktop 7.x” you can see BrokerDesktop object (that user can see and can connect to) and Hypervisor connection object. Of course, you can have many connections to many VMM installations.

So let’s start with PowerShell (I guess, that this operation is only possible in that way).

PS C:\> Add-PsSnapin Citrix.*

And list information about this connection (our machine name is VDI01 and domain: home.lab):

PS C:\> Get-BrokerDesktop [[-MachineName] ...]
MachineName Gets desktops with a specific machine name (in the form 'domain\machine').

Get-BrokerDesktop help and link to PowerShell documentation (for XenDesktop 7.6): PowerShell cmdlet help

PS C:\> Get-BrokerDesktop -MachineName "home.lab\VDI01" | select MachineName, HostedMachineId, HypervisorConnectionUid

HostedMachineId         : 874e03b5-2da3-4695-8153-d9cc8a30025d
HypervisorConnectionUid : 1
MachineName             : home.lab\VDI01

OK, so right now we will list VMM connections:

PS C:\> Get-BrokerHypervisorConnection

Capabilities               : {PowerOn, PowerOff, SuspendResume, Shutdown...}
HypHypervisorConnectionUid : 18496319-fa94-49aa-b37e-07d3e6448b7d
IsReady                    : True
MachineCount               : 3
MetadataMap                : {}
Name                       : VMM01
PreferredController        : home.lab\XD01
State                      : InMaintenanceMode
Uid                        : 1

Capabilities               : {PowerOn, PowerOff, SuspendResume, Shutdown...}
HypHypervisorConnectionUid : 593ddedb-99ec-409b-801d-f9696a0bf4af
IsReady                    : True
MachineCount               : 2
MetadataMap                : {}
Name                       : VMM02
PreferredController        : home.lab\XD01
State                      : On
Uid                        : 2

OK, so let’s say, that we moved our VM from one VMM (VMM01) to another (VMM02). We will have to change property of that Desktop to use the proper connection:

PS C:\> Set-BrokerMachine -MachineName "home.lab\VDI01" -HypervisorConnectionUid 2

But when we moved this VM to new VMM virtual machine ID might changed. So we will also have to change this value on XD. Let’s find out, what is the new ID for out VDI. Open PowerShell windows from VMM and type:

PS C:\> Get-VM "XD01" | select Name, ID

Name : XD01
ID   : ce9873ea-777a-4acd-a510-bd0e159fcb8a

As we can see, VM ID changed. So right now we will update this value in XD Desktop object:

PS C:\> Set-BrokerMachine -MachineName "home.lab\VDI01" -HostedMachineId "ce9873ea-777a-4acd-a510-bd0e159fcb8a"

And that’s all, now you have to restart Desktop services on all DDCs, to reload configuration and to be sure, that new VMs will be visible from XD perspective.

P.S.

to get more information about hypervisor connections you can also use this commands (XDHyp object):

PS C:\> dir XDHyp:
Connections
HostingUnits

PS C:\> dir XDHyp:\Connections

PSPath                      : Citrix.Host.Admin.V2\Citrix.Hypervisor::XDHyp:\Connections\VMM01
PSParentPath                : Citrix.Host.Admin.V2\Citrix.Hypervisor::XDHyp:\Connections
PSChildName                 : VMM01
PSDrive                     : XDHyp
PSProvider                  : Citrix.Host.Admin.V2\Citrix.Hypervisor
PSIsContainer               : True
ConnectionType              : SCVMM
HypervisorAddress           : {vmm01.home.lab}
HypervisorConnectionName    : VMM01
HypervisorConnectionUid     : 593ddedb-99ec-409b-801d-f9696a0bf4af
MaintenanceMode             : False
Metadata                    : {Citrix_Broker_MaxAbsoluteActiveActions = 50, Citrix_Broker_MaxAbsoluteNewActionsPerMinute = 10, Citrix_Broker_MaxPowerActionsPercentageOfDesktops = 10, Citrix_Broker_MaxPvdPowerActionsPercentageOfDesktops = 25}
MetadataMap                 :
Persistent                  : True
PluginId                    : MicrosoftPSFactory
Revision                    : ae0f417e-f4fe-4d49-9536-7a85d4e3c7f0
SupportsLocalStorageCaching : False
SupportsPvsVMs              : True
UserName                    : home.lab\xd_vmm_01
Scopes                      :
UsesCloudInfrastructure     : False
ConnectionTypeName          : SCVMM

No more Green Bubbles – Citrix StoreFront X1 Tech Preview !!!

$
0
0

Two days ago Citrix published brand new StoreFront – X1 (formally Receiver X1). This is only Tech Preview version (2.7), but it looks promising.

http://blogs.citrix.com/2015/03/04/welcome-to-receiver-x1/
http://blogs.citrix.com/2015/03/04/x1-storefront-and-receiver-x1-for-web-tech-preview-now-available/

In the previous version (green bubbles) you might customize StoreFront for Web, but Receiver application remain with the green interface. It wasn’t cool. In this new version all customization setting should be pass to Citrix Receiver to customize it – and this is great.

Here are some screenshots:

citrix_receiver_x1_01

The main window when you login – Favorites:

citrix_receiver_x1_02

Applications – right now we can bind them in a groups:

citrix_receiver_x1_03

Timout information:

citrix_receiver_x1_04

Windows with Desktops:

citrix_receiver_x1_05

And StoreFront configuration. Simple customization can be done from GUI (we dont’ have to directly modify files):

citrix_receiver_x1_06

And this new grouping option:

citrix_receiver_x1_07

citrix_receiver_x1_08

Grouping methods:

citrix_receiver_x1_09

Polish Citrix User Group 1st meeting – review

$
0
0

On March 5th, 2015 took place 1st Polish Citrix User Group meeting. Paweł Serwan prepared short review (it was written in polish, but you can always use google translate).

Here are two photos:

Me and my presentation about Citrix Provisioning Services – Case Study:

OLYMPUS DIGITAL CAMERA

New Citrix Mouse X1 – I’m doing a short demo:

OLYMPUS DIGITAL CAMERA

And at the end – my presentation:

How to monitor Citrix Counters – Performance Monitor (perfmon)

$
0
0

During last Polish Citrix User Group (PLCUG) meeting I was asked what is the best way, to measure user ICA Session latency. We have several methods to do this:

  • HDX Monitor – we can use it for XenApp 6.5 – XenDesktop 7.6
  • EdgeSight – only for XenApp 6.5 (for EUEM counters we will need Platinum licenses)
  • Citrix Director (part of XenDesktop 7.x) – it shows latency in the same way

Unfortunately this methods allow us only to verify few counters, and only in limited way (latency is shown in Real Time without history data). We can’t use it for deep analytics and troubleshooting. That’s we Citrix implemeneted performance counters. The most important thing is, that we can set collecting all data when users are working and can analyze it lately.

References: XenApp 6.5 Performance Counters Reference.

I won’t write here, how to use performance monitor (you can find many posts, how to use it).

Here are some screenshots from performance monitor.

Below we can see “\ICA Session(*)\Latency – Last Recorded” counters. I marked (black line) one – average value was 18ms (it’s very nice) and maximum recorded value was 312ms.

perfmon_ctx3

If we want to verify, what is the network bandwidth we can use “\ICA Session(*)\Output Session Bandwidth” counters. Below one user session – average 242 kbps with maximum value at 1,5 Mbps.

perfmon_ctx2

And the last one – server load. Using this “\Citrix MetaFrame Presentation Server\Cumulative Server Load” counter we can  verify Server Load – the same value show command “QFARM /LOAD“.

Counters:

  • Red – Server Load
  • Black – % Commited Bytes In Use
  • Green – % Processor Time
  • Purple dashed – Active user sessions
  • Blue – Context switches/s

perfmon_ctx1

I guess that’s all right now. If you are interested more about those counters or performance monitoring of XenApp servers please let me now (using comments below).

Monitoring Citrix Licenses usage – Graphs using WMI, Powershell and RRDtool

$
0
0

Have you ever wandered how Citrix License usage looks like? You can open License Server console and check it. But what about some graphs or proactive informations? You can use EdgeSight – there is License Server monitoring tool. But what can you do, if you don’t want to install this tool. EdgeSigth is dedicated to old XenApp – based on IMA – and is no longer supported. So it rather pointless to use it. Mayby we can export informations from server and create graphs in Excel. Or, if we want to have “online” monitoring, we can use greate tool called – RRDtool. Information from official website:

What RRDtool does
RRDtool is the OpenSource industry standard, high performance data logging and graphing system for time series data. RRDtool can be easily integrated in shell scripts, perl, python, ruby, lua or tcl applications.

rrdtool-stream-pop

So I decided to write simple mechanism to create nice usage graphs:

CtxLicUsage-1d_

We will use:

  • PowerShell and CMD – to write all scripts
  • WMI – to get information from Citrix License Server
  • RRDtool – to save data in Round Robin Database and to generate nice graphs

All script will be executed on Citrix License Server. You can modify update script to call WMI remotly.

Create new directory called CTX. Inside this directory we will have:

CtxLicUsage_dir

  • graphs – folder contain generated graphs
  • RRDtool – windows binaries
  • CtxLicUsage.rrd – our Round Robin Database
  • CtxLicUsage_Graph.bat – script with commands to generate graphs  – this batch is run using Task Scheduler
  • CtxLicUsage_Update.bat – script to execute PowerShell script- CtxLicUsage_Update.ps1 – this batch is run using Task Scheduler (every 5 minutes)
  • CtxLicUsage_Update.ps1 – script to update RRD file

So let’s start. At the beginning let’s create new RRD file – we will do this only once:

c:\CTX\RRDtool\rrdtool.exe create CtxLicUsage.rrd \
--start now-10m --step 300 \
DS:total:GAUGE:450:0:U \
DS:used:GAUGE:450:0:U \
DS:avail:GAUGE:450:0:U \
DS:overdraft:GAUGE:450:0:U \
RRA:AVERAGE:0.5:1:2880 \
RRA:AVERAGE:0.5:3:2880 \
RRA:AVERAGE:0.5:9:2880 \
RRA:AVERAGE:0.5:54:2880

We created one RRD file with 4 Data Sources (DS). These DS will collect informations about license usage – total, used, available and overdraft (these overdraft exists only in User/Device license type, so if you want to monitor CCU type you can make simple modifications). We will be collecting data every 300 seconds (5 minutes) – I think it’s enough for U/D licenses, but you can change it to 1 minute (for CCU). We will collect all data in 4 Round Robin Archives (RRA). 1st for 10 days (2880 samples every 300 seconds is 864000 seconds / 60 seconds = 14400 hours / 60 minutes = 240 hours / 24 hour = 10 days), 2nd for 30 days, 3rd for 3 months and the last one for 18 months.

CtxLicUsage_Update.ps1

$licensePool = gwmi -class "Citrix_GT_License_Pool" -Namespace "ROOT\CitrixLicensing"
$usage = $licensePool | where-object {$_.PLD -like "XDT_ENT_UD"} | select Count,InUseCount,PooledAvailable,Overdraft
# Write-Host $usage.Count $usage.InUseCount $usage.PooledAvailable
$unixtime = [int][double]::Parse($(Get-date -date (Get-Date).ToUniversalTime()-uformat %s))

$cmd = "C:\CTX\RRDtool\rrdtool.exe update CtxLicUsage.rrd $($unixtime):$($usage.Count):$($usage.InUseCount):$($usage.PooledAvailable):$($usage.Overdraft)"
iex $cmd

What we do in this script. We are using WMI to get information about licenses. Then we are creating update command. Remember, rrdtool update accept only unix timestamps, and command syntax is:

rrdtool.exe update database.rrd unix_timestamp:value1:value2:value3:value4

So in my case it was:

rrdtool.exe update CtxLicUsage.rrd 1429608601:660:537:123:60
rrdtool.exe update CtxLicUsage.rrd 1429608901:660:537:123:60
rrdtool.exe update CtxLicUsage.rrd 1429609201:660:537:123:60
rrdtool.exe update CtxLicUsage.rrd 1429609501:660:537:123:60
rrdtool.exe update CtxLicUsage.rrd 1429611301:660:538:122:60
rrdtool.exe update CtxLicUsage.rrd 1429611601:660:539:121:60
rrdtool.exe update CtxLicUsage.rrd 1429611901:660:540:120:60
rrdtool.exe update CtxLicUsage.rrd 1429612201:660:541:119:60
rrdtool.exe update CtxLicUsage.rrd 1429612501:660:540:120:60

OK, updating PowerShell script is done. Now we have to execute it every 5 minutes. So let’s use Windows Task Scheduler for this. Create file CtxLicUsage_Update.bat:

PowerShell.exe -command ". C:\CTX\CtxLicUsage_Update.ps1"
C:\CTX\CtxLicUsage_Graph.bat

We will call PoSH update commands and after that we will generate graphs. Now set Task Scheduler, to execute this CtxLicUsage_Update.bat script every 5 minutes (infinitely). So right now our RRD database will be filled with data every 300 seconds.

The last and most spectacular step – graph generating.

CtxLicUsage_Graph.bat

c:\CTX\RRDtool\rrdtool.exe graph graphs\CtxLicUsage-1d.png -w 600 -h 200 --slope-mode \
--vertical-label "Licenses Checked Out" --title "Citrix license usage - XDT_ENT_UD - User/Device" \
DEF:Total=CtxLicUsage.rrd:total:AVERAGE \
DEF:Used=CtxLicUsage.rrd:used:AVERAGE \
DEF:Avail=CtxLicUsage.rrd:avail:AVERAGE \
DEF:Overdraft=CtxLicUsage.rrd:overdraft:AVERAGE \
CDEF:LineUsed=Used,1,* \
CDEF:LineAvail=Avail,1,* \
CDEF:LineTotal=Total,1,* \
CDEF:LineOverdraft=Total,Overdraft,- \
COMMENT:" " COMMENT:"Last    " COMMENT:"Maximum " COMMENT:"Average " COMMENT:"Minimum\l" \
AREA:LineUsed#fe3562:"Used ":STACK GPRINT:Used:LAST:"%%6.3lf %%S" GPRINT:Used:MAX:"%%6.3lf %%S" GPRINT:Used:AVERAGE:"%%6.3lf %%S" GPRINT:Used:MIN:"%%6.3lf %%S\l" \
AREA:LineAvail#cfe694:"Available ":STACK GPRINT:Avail:LAST:"%%6.3lf %%S" GPRINT:Avail:MAX:"%%6.3lf %%S" GPRINT:Avail:AVERAGE:"%%6.3lf %%S" GPRINT:Avail:MIN:"%%6.3lf %%S\l" \
LINE2:LineTotal#3b73fc:"Total " GPRINT:Total:LAST:"%%6.3lf %%S" GPRINT:Total:MAX:"%%6.3lf %%S" GPRINT:Total:AVERAGE:"%%6.3lf %%S" GPRINT:Total:MIN:"%%6.3lf %%S\l" \
LINE1:LineOverdraft#9e0b0f:"Overdraft " GPRINT:Overdraft:LAST:"%%6.3lf %%S" GPRINT:Overdraft:MAX:"%%6.3lf %%S" GPRINT:Overdraft:AVERAGE:"%%6.3lf %%S" GPRINT:Overdraft:MIN:"%%6.3lf %%S\l"

By default graph command generate image for 1 day time period. First graph (at the beginning of this post) was generated using this command. If you want to create image for 10 days period you can add

--end now --start end-10d

so the first line will be:

c:\CTX\RRDtool\rrdtool.exe graph graphs\CtxLicUsage-10d.png -w 600 -h 200 –end now –start end-10d –slope-mode

CtxLicUsage-10d_

At the beginning I wrote, that we can do some predictions. Let’s generate trend line (we will show 10 days prediction using 10 days data from the past):

c:\CTX\RRDtool\rrdtool.exe graph graphs\CtxLicUsage-trend.png -w 600 -h 200 --end now+10d --start now-10d --slope-mode \
--vertical-label "Licenses Checked Out" --title "Citrix license usage - XDT_ENT_UD - User/Device" \
DEF:Total=CtxLicUsage.rrd:total:AVERAGE \
DEF:Used=CtxLicUsage.rrd:used:AVERAGE \
DEF:Avail=CtxLicUsage.rrd:avail:AVERAGE \
DEF:Overdraft=CtxLicUsage.rrd:overdraft:AVERAGE \
CDEF:LineUsed=Used,1,* \
CDEF:LineAvail=Avail,1,* \
CDEF:LineTotal=Total,1,* \
CDEF:LineOverdraft=Total,Overdraft,- \
VDEF:slope=LineUsed,LSLSLOPE \
VDEF:cons=LineUsed,LSLINT \
CDEF:leastsquareline=LineUsed,POP,slope,COUNT,*,cons,+ \
COMMENT:" " COMMENT:"Last    " COMMENT:"Maximum " COMMENT:"Average " COMMENT:"Minimum\l" \
AREA:LineUsed#fe3562:"Used ":STACK GPRINT:Used:LAST:"%%6.3lf %%S" GPRINT:Used:MAX:"%%6.3lf %%S" GPRINT:Used:AVERAGE:"%%6.3lf %%S" GPRINT:Used:MIN:"%%6.3lf %%S\l" \
AREA:LineAvail#cfe694:"Available ":STACK GPRINT:Avail:LAST:"%%6.3lf %%S" GPRINT:Avail:MAX:"%%6.3lf %%S" GPRINT:Avail:AVERAGE:"%%6.3lf %%S" GPRINT:Avail:MIN:"%%6.3lf %%S\l" \
LINE2:LineTotal#3b73fc:"Total " GPRINT:Total:LAST:"%%6.3lf %%S" GPRINT:Total:MAX:"%%6.3lf %%S" GPRINT:Total:AVERAGE:"%%6.3lf %%S" GPRINT:Total:MIN:"%%6.3lf %%S\l" \
LINE1:LineOverdraft#9e0b0f:"Overdraft " GPRINT:Overdraft:LAST:"%%6.3lf %%S" GPRINT:Overdraft:MAX:"%%6.3lf %%S" GPRINT:Overdraft:AVERAGE:"%%6.3lf %%S" GPRINT:Overdraft:MIN:"%%6.3lf %%S\l" \
LINE1:leastsquareline#FF9900:"Trend"

CtxLicUsage-trend_

Windows binaries are here and all downloads. I’m using 1.3.8 RRDtool version.

Right now I’m also working on other monitoring scripts.

Graphs, that will show user session for each published apps or desktops (or all):

ctx_stats_1

Graphs, that will show server count for each load range (some kind of map of server “heat”):

ctx_stats_2

 

If you think, that this license monitoring tool is usefull please let me know using comments below. If you are interested in other usage of RRDtool (in Citrix environment) please let me know.

High latency network connection – simulation of bad UX

$
0
0

We all know, that all network applications where user experience (UX) is critical requires low network latency.

We also know, that Citrix works very well on high latency WAN links. It provides many features, that keeps user satisfied by UX. In the past we had “Local Text Echo” and “SpeedScreen”. Right now we have “HDX SuperCodec” and recently Citrix announced “Framehawk” technology for HDX.

OK, let’s say, that we want to verify, if our XA/XD customization works correctly in high latency WAN links. But we are connected to Data Center usually with at least 100MBps link (with <1ms RTT). So what can we do? We can switch to GSM modem, but nowadays we mobile providers connects us by LTE technology. I had this problem 2 month ago – how to simulate high latency link. In my case I wanted to test network file transfer using SMB protocol in WAN environment.

I found great tool – it’s called clumsy. Short description about those tool and it’s options (from clumsy website):

Leveraging the awesome WinDivert library, clumsy stops living network packets and capture them, lag/drop/tamper/.. the packets on demand, then send them away. Whether you want to track down weird bugs related to broken network, or evaluate your application on poor connections, clumsy will come in handy:

  • No installation.
  • No need for proxy setup or code change in your application.
  • System wide network capturing means it works on any application.
  • Support not only HTTP, any protocol based on TCP/IP is supported.
  • Works even if you’re offline (ie, connecting from localhost to localhost).
  • Your application keeps running, while clumsy can start and stop anytime.
  • Interactive controll how bad the network can be, with enough visual feedback to tell you what’s going on.

 

latency_clumsy_01

I decided to use this tool, to verify UX in XenApp environment. I started clumsy (to verify if it works) and set Lag to 200ms. Remember, when you set Lag for both Inboud and Outbound traffic, that you will get 400ms latency. Remember to start clumsy as an administrator.

latency_icmp_01

OK, so now the XenApp test.
On screenshot below you can see two graphs with ICA performance countes. Upper – shows “Latency – Last Recorded” counter. Lower – show “Output Session LineSpeed”. In first case, I set latency to 500ms (red circle). Citrix detected, that line speed is very low and UX was terrible. What is interested – session compression level didn’t changed (with comparsion to low latency netrowk). After that I stopped clumsy, and my latency back to normal (1-3ms) – it’s blue circle. XenApp recalculated the line speed, and shows almost real value.

latency_perf_02

Clumsy – more information from it’s website:

clumsy will choose which packets to capture by given filter, in which in can specify whether it’s inbound or outbound, tcp or udp, socket port or ip, or a logical combination of many of those criterias. When started clumsy will only capture packets based on the filter, leaving others untouched.

After packets are captured, you can choose to enable provided functions to worsen perspective network condition:

  1. Lag, hold the packets for a short period of time to emulate network lagging.
  2. Drop, randomly discard packets.
  3. Throttle, block traffic for a given time frame, then send them in a single batch.
  4. Duplicate, send cloned packets right after to the original one.
  5. Out of order, re-arrange the order of packets.
  6. Tamper, nudge bits of packet’s content.

And here are links: download & manual.

Windows 10 – force upgrade (from Windows 7)

$
0
0

Yesterday (28th of July) Microsoft started upgrading Windows 10 on client machines. But as you know not all of us will be able to install the new version just right after this date. On my one PC, where I had Windows 10 Technical Preview I got final version 1 week before official release. But on my laptop also with Windows 7 I currently I didn’t get this update yet.

Windows10_up_to_date

 

I found one solution:

  1. Enable automatically Windows Updates
  2. Delete the content (files and directories) in the C:\Windows\SoftwareDistribution\Download folder
  3. Open cmd as an administrator and execute command: wuauclt.exe /updatenow
  4. Up should be able to download and install Windows 10 (in Windows update option)

 

This solution supposedly work but only in Windows 8/8.1. And what if I want to upgrade my Windows 7 right now. We can use Microsoft media creation tool – you can download it right here. After downloading just run this program and wait until download is complete :-) And here you go, you are ready to install Windows 10 – on demand.

Windows10_setup1
Windows10_setup2

Here is one strage change. I’m using polish Windows distribution but I changed language to english. As you can see right now, installer change language to polish 😐 So here is “preparing (29%)” and the second screenshot – “almost ready”.

Windows10_setup3

Windows10_setup4

P.S.

you can use this tool to prepare offline installation for another PC


Atlantis USX – performance tests – first impression

$
0
0

At the begging of July I’ve started testing one of SDS (Software Defined Storage) implementation – Atlantis USX. More information about product itself I will present in next posts. And right now I want to share the result of first performance tests I’ve made.
Test environment:
4 hosts: HP Blade ProLiant BL460c G6. Each host have:

  • 2x 6 cores CPU (24 vCPU – with Hyper-threading)
  • 196GB RAM
  • 1x 146GB (15k) local disk for Hypervisor
  • 1x 300GB (10k) local disk for data (used as a RAW space for Atlantis)
  • 1x 1GBps NIC for management and storage traffic
  • 1x 1GBps NIC for VM data traffic

Atlantis recommends 10GE NIC especially for storage network – so keep in my that all the tests was done using 1GBps network.
Hypervisor – Citrix XenServer 6.5 with SP1.
For test purpose I used IOmeter tool. Here is the configuration of IOmeter:

  • One manager with one disk
  • Maximum Size: 1GB
  • Queue Depth: 20 (Outstanding IO’s)
  • Test time: 5 minutes
  • Access specification – VDI type:
    • Block size: 4kB
    • Read/Write ratio: 20/80
    • Random/Sequential: 80/20
    • IO Alignment: 128kB

I wanted to verify if Atlantis USX volumes are at least so good as classic storage solution. As a reference I used EMC VNX 5500 storage system configured for RAID 5.
I created one Hyper-converged (HC) volume (200GB size).

Tests:

  1. 1 VM on VNX and 1 VM on HC volume.
  2. 3 VMs on VNX and 3 VMs on HC volume (in each case VMs was placed on the same physical host).
  3. 8 VMs on HC volume.

In each test I measured total/read/write values for IOps count, throughput (in MBps) and average latency. I also verified, what was the latency distribution. This test shows, how many I/O operations was measured for each specified time slots (0 to 50 uS; 50 to 100 uS; 100 to 200 uS; 200 to 500 ; 0.5 to 1 mS; 1 to 2 mS; 2 to 5 mS; 5 to 10 mS; 10 to 15 mS; 15 to 20 mS; 20 to 30 mS; 30 to 50 mS; 50 to 100 mS; 100 to 200 mS; 200 to 500 mS; 0.5 to 1 S; 1 to 2 s; 2 to 4.7 s; 4.7 to 5 s; 5 to 10 s; >= 10 s)

Here are the results and graphs.
Legend:
[VNX] – EMC VNX 5500 configured for RAID 5, 2TB LUN
[HC] – Atlantis USX Hyper-converged volume, 200GB NFS export
vmX – Virtual Machine – Windows 2008 R2 with XenApp 6.5

Test1 – 1 VM on VNX and 1 VM on HC volume:

Atl1_VDI_IOPS_S

Atl1_VDI_Throughput_S

Atl1_VDI_AvgLat_S

Atl1_VDI_LatDist_S

 

Test 2 – 3 VMs on VNX and 3 VMs on HC volume (in each case VMs was placed on the same physical host)

Atl1_VDI_IOPS_M

Atl1_VDI_Throughput_M

Atl1_VDI_AvgLat_M

Atl1_VDI_LatDist_M

 

Test 3 – 8 VMs on HC volume

Atl1_VDI_IOPS_HC

Atl1_VDI_Throughput_HC

Atl1_VDI_AvgLat_HC

Atl1_VDI_LatDist_HC
Based on the results of the tests I can confirm, that this product looks very promising and very similar to classic storage approach. And as I mention at the beginning, I used 1GBps NICs, instead of 10GE with low latency (Atlantis recomended).

Of course, this is just the beginning, and more tests has to be done, to confirm it – user load tests, HA test, etc.

Note: All test was done on Atlantis USX version 2.2.2.

Atlantis USX – deduplication

$
0
0

In my previous post I tested disk performance base on Windows 2008 R2 servers. All the servers was installed using the same build (image for Terminal Services/XenApp service). In the past I’ve done some tests with deduplication on NetApp filers. I’ve placed 10 W2K8 servers on one LUN. When I enabled deduplication I was able to reduce used space to 30%. So deduplication ratio was at 60-70%.

I wanted to test how many physical data can be reduced in Atlantis USX.

Atlantis USX™ includes integrated HyperDup™ Content-Aware Data Services that leverage Atlantis real-time deduplication technology to provide data reduction, IO acceleration, provisioning, data mobility, security and business continuity for any storage.

 

Here is the Atlantis USX technology diagram.

Atl_technology_diagram

Let’s focus on the block called “Data reduction”.

Deduplication

Atlantis USX provides patented, real-time, in-line deduplication and compression to reduce the capacity required to store data by up to 90%.
Atlantis USX deduplicates at the 4KB block level and operates by detecting redundant data and replacing it with a single logical copy, maintaining an index and using reference pointers to make that data available whenever it is required. The higher the amount of redundant data, the larger the storage capacity and cost savings associated with the Atlantis USX HyperDup technology.

 

Compression

Compression is another proven data reduction technology that Atlantis USX uses in conjunction with deduplication to reduce storage capacity requirements even furtherAtlantis USX In-Memory Storage Optimization Technology offers policy-driven lossless compression, based on proven Lempel-Ziv algorithms, which can be applied to the deduplicated I/O stream before it is written to storage.

 

I’ve created 8 VMs, placed them on storage LUN and installed Windows 2008 R2 (one image). After that, I moved 3 VMs from storage LUN to Atlantis Hyper-converged (HC) volume. Deduplication ratio (reported by USX console) was 68%. Capacity used (from XenServer perspective) was 40.5GB (inside Windows server spaced used was 20GB).

Atl_dedup_01

XenServer XenCenter console – volume space utilization:

Atl_dedup_02

In this configuration I’ve done some tests, and started moving next VMs to this volume:

  • 3 VM’s – 40,5GB
  • 5 VM’s – 45,8GB
  • 6 VM’s – 47,6GB
  • 7 VM’s – 49GB
  • 8 VM’s – 50,7GB

When I moved all 8 VMs deduplication ratio was 79%. In thick provisioned LUN used space will be 20GB * 8 VMs = 160GB. And on Atlantis volume used space was almost 51GB.

Atl_dedup_03
Here are some graphs from USX Manager console.

As you can see, deduplication ratio increased, and simultaneously metadata size also increased (those data have to be put somewhere).

Atl_Vol02_7days_03

 

Atl_Vol02_7days_05

Here is very interesing graph – IOPS offload. I guess that means (documentation doesn’t explain this very well), that all those I/O operation was handled by RAM, and it doesn’t have to go to disk (increase speed and reduce latency).

Atl_Vol02_7days_04

Atl_Vol02_7days_02

Atl_Vol02_7days_01

And the last very interesting thing. Here is the screenshot from Volume VM statistics. In those rectangles we have 4 columns – starting from the left: disk read, disk write, network receive, network send. I made this screenshot, when I started VM move operation (from storage LUN to Atlantis volume). We have about 60MBps input network traffic. At the beginning some part of those data goes to disks (10MBps) – I guess, it was some unique data (red box), but after a while some data was the same as those already stored on a disks, so deduplication process started saving only metadata, and only small portion of those data goes directly to disks.

Atl_traffic_console

Note: All test was done on Atlantis USX version 2.2.2.

IT Professional Cloud Camp – speach

$
0
0

On 15th of October 2015 I had a speech at IT Professional Cloud Camp conference. I was talking about SDS and Hyperconverged architecture – “Hyperconverged architecture – is it the beginning of the end of classic storage”. I was presenting general overview and some implementations – like Atlantis USX, Nutanix, EMC ScaleIO and Windows 2016 Storage Spaces Direct.

ITpro_cloud_camp_1s

ITpro_cloud_camp_2s

 

 

Polish Citrix User Group 2nd meeting – review

$
0
0

On 18th of September 2015 took place 2nd Polish Citrix User Group [PLCUG] meeting. This time it was organized in Warsaw (capital city) – the previous one (1st meeting) took place in Cracow – you can read about it right here. You can read polish review on PLCUG official site.

PLCUG_2nd_meeting_01

PLCUG_2nd_meeting_02

PLCUG_2nd_meeting_03

(photos taken by Paweł Serwan)

And there you can find my presentations:

Citrix Technology Exchange Roadshow – Warsaw 2015

$
0
0

Finally, after 2 years (Mobility Conference 2013) Citrix is going to back to Poland and will organize new conference – Citrix Technology Exchange Roadshow. Registration is already opened. It will took place in Radison Blu Hotel in Warsaw.

Citrix_Technology_Exchange_1

Agenda (in polish):

Citrix_Technology_Exchange_2

and short translation to english.

  1. Introduction – Citrix vision and strategy – Software Defined Workplace
  2. Main keys in Citrix strategy – more secure, more elastic and more scalable
  3. Feature Pack 1,2,3 – new features in XenApp and XenDesktop
  4. News about network products – NetScaler and CouldBridge
  5. XenMobile and ShareFile – new level of mobility
  6. Citrix Workspace Cloud

I hope, I will be able te meet some of you during this conference :-)

 

IT Professional Security Camp – speach

$
0
0

Just short information – I will be a speaker on a conference – IT Professional Security Camp on 19-20 of November 2015. This conference will take place in Karpacz (Hotel 2 Potoki). I will be talking about “Virtual Environment Security”. If you are interested in such topics please feel free to register. I hope we will meet there.

ITPro_security_camp_2015_logo

“New Year 2016”&“New XenDesktop 7.7”

$
0
0

Yesterday (29th of December 2015) Citrix published their brand new XenDesktop 7.7. With this version Citrix would like to bring some “new” features to XenDesktop 7.6. We have two kind of “new” features. The real ones – like:

  • Proactive monitoring and alerting
  • SCOM integration
  • Desktop and Server OS usage
  • Windows Authentication in Director (SSON)

and the “fake” one. Fake, because some of them was intentionally removed from XenDesktop 7.0 (when Citrix announced new FMA architecture for whole suite – XenApp/XenDesktop), and right now, they are back as “new and enhanced features”:

  • Zones – some very usefull feature, that was available in XenApp IMA, for WAN deplyment. More about zones – XenApp & XenDesktop 7.7: Intro to Zones within FMA.
  • Database configuration – right now, we can split 3 databases from one server to many – for Site config, Logging and Monitoring. Looks familiar? (in XenApp we could specify additional DB for logging).
  • Application limit – we can set limits for applications, but we could have done this in XA 6.5, haven’t we?
  • Proactive monitoring and alerting – again? Yes, many of these features we had in EdgeSight, so be happy, but this is not an EdgeSight.

All new features, limitations and documentations you can find right here – XenApp 7.7 and XenDesktop 7.7 What’s New.

Unfortunately, I haven’t found any informations about AppDisks, but I will verify it in a field.

In October and November 2015 I had a chance to be a member of AppDisk Technology Preview Program. I had about 6 sessions with Citrix. I installed XD 7.7 Technology Preview and I was asked about my opinion about this product. We have also discussed new features in Studio and Director. And I see, that one of my sugestion wasn’t applied. It was related to option “Multiple notifications before machine updates or scheduled restarts”. Citrix wrote: “If you indicate that the first message should be sent to each affected machine 15 minutes before the update or restart begins, you can also specify that the message be repeated every five minutes until the update/restart begins.” I suggested, that 15 minutes is not enough. Maybe in next versions.

We have also new version of Provisioning Services 7.7. The most important changes:

  • Support for Microsoft Windows 10 Enterprise and Professional editions.
  • In-place upgrade of target device software.
  • Support for UEFI pre-boot environments. This enables you to stream at startup time using gigabit network speeds, so users experience faster startups, and to use disks over 2 TB.
  • Streaming VHDX formatted disks.
  • And my favourite one: The Provisioning Services API has been enhanced to provide a standard object-oriented PowerShell interface that enables you to integrate your products and tools easily with Provisioning Services. No more tough strings manipulation of PVS PoSH mcli output :-)

There is also one more change: “System Center Virtual Machine Manager Generation 2 VMs can be provisioned through Provisioning Services. Generation 2 VMs are optimized for modern workloads: the operating system does not carry the overhead of legacy drivers, devices and x86 architectures.” But with a note: “This feature has received limited testing, may not be present in future product releases and must not be enabled on production systems. Citrix may not respond to support requests regarding this feature. So right now we are still no sure if we will be able to stream Windows Server 2012/2016 or Windows 8/10 on Hyper-V. Very sad information.

Citrix also published new versions of UPM (Profile Management) 5.4Citrix Licensing 11.13.1 and HDX RealTime Optimization Pack 2.0. Some informations about Optimization Pack 2.0:

  • Finally, after half a year (from 1.8 version) Optimization Pack will support “Native Skype for Business 2015 UI” (version 1.8 supports Skype for Business 2015 only on Lync UI mode). AFAIK, Microsoft already announced Lync 2016.

We have also StoreFront 3.0, but it was published in November this year.

And at the end – we have new Receiver 4.4 (released on 18th December 2015).

Ok. If you haven’t read the text above or just want to go directly to “what’s new” pages, here they are:

And that’s all right now. If you are interested please visit my blog again or just subscribe it.

If you like to get more information about Zones in XenDesktop 7.7 here is short video:


infraXstructure conference (2nd edition) – speach

Xenthusiast on a GITHUB

$
0
0

Currently GITHUB is a standard tool to publish all kind of codes. That’s why I have also published my first project there. It’s quite old Citrix License Usage monitoring script. It’s located right here. And the old post and all the documentation are right there.

I also promised (during IV PLCUG meeting) that I will publish some of my scripts. I hope GITHUB will speed up this process.

4PLCUG conference materials

$
0
0

As I promised on IV PLCUG meeting all link I mentioned during the speach will be available on my blog. So here they are. If you have any questions don’t hesitate to answer me.

XenApp 6.5

PowerShell 6.5 SDK
https://www.citrix.com/downloads/xenapp/sdks/powershell-sdk.html

XenDesktop 7.x

FMA (FlaxCast Management Architecture) components diagram

12 services that make up the Citrix XenDesktop Flex Management Architecture!

XenDesktop & VMM integration problem
http://xenthusiast.com/xendesktop-7-x-desktop-integration-with-vmm-virtual-machine-vm-migration/

XenDesktop 7 Site Creation via PowerShell
https://www.citrix.com/blogs/2013/10/02/xendesktop-7-site-creation-via-powershell/

Remote PowerShell SDK v2 for Citrix Cloud
https://www.citrix.com/blogs/2016/07/01/introducing-remote-powershell-sdk-v2-for-citrix-cloud/

XenApp and XenDesktop Remote PowerShell SDK
https://docs.citrix.com/en-us/citrix-cloud/xenapp-and-xendesktop-service/remote-powershell-sdk.html

XenDesktop 5.x

XenDesktop 5.6 SDK Cmdlet Help (CTX127254) – grab it till it’s still available
http://support.citrix.com/static/kc/CTX127254/help/index.htm

OData

Open Data Protocol (Wiki)
https://en.wikipedia.org/wiki/Open_Data_Protocol

The XenDesktop 7 Monitor Service – Introduction to OData
https://www.citrix.com/blogs/2013/08/26/the-xendesktop-7-monitor-service-introduction-to-odata/

XenDesktop 7 Monitor Service – What Data is Available?
https://www.citrix.com/blogs/2013/08/27/xendesktop-7-monitor-service-what-data-is-available/

Citrix Director – Analyzing the Monitoring Data by Means of Custom Reports
https://www.citrix.com/blogs/2015/02/12/citrix-director-analyzing-the-monitoring-data-by-means-of-custom-reports/

Creating Director Custom reports for Monitoring XenDesktop
https://www.citrix.com/blogs/2014/01/14/creating-director-custom-reports-for-monitoring-xendesktop/

Update: Using PowerShell OData Provider Module for OneGet and PowerShellGet
https://blogs.technet.microsoft.com/stefan_stranger/2014/05/26/using-powershell-odata-provider-module-for-oneget-and-powershellget/

OData PowerShell Explorer
https://psodata.codeplex.com/

HDX

Getting ICA and HDX Metrics, Monitoring Data and Policy Settings via WMI
https://www.citrix.com/blogs/2015/02/10/powershell-getting-ica-and-hdx-metrics-monitoring-data-and-policy-settings-via-wmi/

Citrix XenDesktop/XenApp – How to Determine HDX Display Mode
https://www.citrix.com/blogs/2015/02/16/citrix-xendesktopxenapp-how-to-determine-hdx-display-mode/

How to Determine HDX Display Mode (CTX200370)
http://support.citrix.com/article/CTX200370

Accessing ICA RTT Metrics for Citrix HDX and XenDesktop and XenApp (CTX201968)
http://support.citrix.com/article/CTX201968

PVS

Convert MCli output into PowerShell Objects
http://www.remkoweijnen.nl/blog/2012/02/29/convert-mcli-output-into-powershell-objects/
(this script is based on this: http://www.out-web.net/?p=599)

PVS API <7.7
http://docs.citrix.com/en-us/provisioning/7-1.html

PVS API >= 7.7
http://docs.citrix.com/en-us/provisioning/7-7/pvs-api.html

StoreFront

How to Export and Import StoreFront Subscription Database
http://support.citrix.com/article/CTX139343

License Server

License Server Monitoring tool (my own)
http://xenthusiast.com/monitoring-citrix-licenses-usage-graphs-using-wmi-powershell-and-rrdtool/

Documentation

Carl Webster documentation scripts
http://carlwebster.com/downloads/

IV Polish Citrix User Group meeting – review

$
0
0

I guess, it’s small tradition right now, that every odd PLCUG meeting take place in Cracow and even in Warsaw. So on 4th meeting we all gathered in CISCO office in our capital city – Warsaw.

I have to mention, that a special guest was Jarian Gibson (@JarianGibson). I can’t tell what was the main topic of his speech. He said about many interested things (including recent Citrix acquisition – Norskale). But I can say, that it was very nice.

I also had a chance to present something about PowerShell & Citrix.

And as always, here is my presenation:

I also include 4PLCUG conference materials.

And at the end – group photo :-)

Online Citrix monitoring tool – BETA version – free trial !!!

$
0
0

Your ads will be inserted here by

Easy Plugin for AdSense.

Please go to the plugin admin page to
Paste your ad code OR
Suppress this ad slot.

If I would ask you: “Do you know your Citrix environment?”. What be your answer? I guess, you know, how it’s configured and how all those components works. But what is the performance? Do you reach the thresholds? If you don’t have dedicated monitoring tool, when something wrong happens you have to do the investigation ad-hoc. Sometimes it too late, because some data are already gone.

I know, that when your are working in a big company with huge Citrix environment, you probably already have many tools for that. But if you have 30, 60, 100 users and 3 or even 10 XenApp servers, then I guess you will not have dedicated monitoring tool. And I know, there are many that kind of implementations.

That’s why I started working on a tool, that will be available online (in the cloud). You will have to create an account, download and install locally some agents, and then wait for the results, graphs and statistics that will be available online in the dashboard.

Right now I’m finishing the GUI for this tool. If you are intersted in this product and would like to be a BETA tester, please let me know.

Here is just a short sample what graphs you can expect:

monitoring_tool_03 monitoring_tool_04 monitoring_tool_01 monitoring_tool_02

But first, start with this short survey – it will show me some general information about you and your environment. You can use this link: https://goo.gl/forms/OUAMI11Nnlh95G0w1

or do it right here:

Viewing all 28 articles
Browse latest View live


Latest Images