August 23, 2010

Jaap RomersWorking with RDP settings in Oracle VDI

August 23, 2010 15:24 GMT

The display protocol between Sun Ray DTUs (or the software application Oracle Virtual Desktop Client) and the Oracle VDI servers is ALP, the Appliance Link Protocol. ALP is a latency friendly protocol and very efficient in Wide Area Networks. Between the Oracle VDI servers and the Virtual Desktops, hosted on the virtualization infrastructure, the RDP protocol is used and implemented through the Sun Ray Connector for Windows.

The Oracle VDI broker uses standard RDP settings that you may change as an Oracle VDI administrator. This is done per pool configuration and available through the Oracle VDI GUI or via CLI-commands. In the below picture you see how to navigate in the Oracle VDI GUI to the pool settings: select Pools in the left column, select the Pool you want to customize (in my case Windows XP Pool) and select the tab Settings.

If you scroll down on the Pool Settings page you see the section for Sun Ray specific pool settings and the option to customize the settings for RDP. Pay attention to the order of selecting the options:

  1. Select the hyperlink Edit Sun Ray RDP Settings and enable the desired settings in the page that displays, save the changes and go back to the Pool Settings page.
  2. Select the checkbox Use Customized Settings,
  3. Save the changes
I have made multiple times the error to go directly to the Edit Sun Ray RDP Settings after I selected the checkbox. If you don't save the change, and you come back from Edit Sun Ray RDP Settings page, the checkbox is not activated anymore.

In the case you have changed the Sun Ray RDP settings and the result is still different then what you were expecting, you can go to the Oracle VDI server command-line (via SSH or Putty) to do some trouble-shooting. As you may know already, the RDP client for a Sun Ray session is called uttsc in Solaris. The desired RDP settings that you configured in the GUI are passed as arguments through this uttsc process on the server.

A very nice tool in the trouble-shooting process is the Solaris pargs CLI-command, which gives you information about the arguments that are passed to a Solaris process (identified by a Process ID).

In my example (see below) I want to investigate the RDP settings for a Sun Ray user with userid jaapr. I have to find out to which server Jaap's Sun Ray session is connected (press the three audio-keys on a Sun keyboard), I connect to this server with SSH/Putty and with the process ID of the uttsc process (better to use uttsc-bin for this) I investigate the RDP settings:

root@vdiserver:~# ps -ef|grep jaapr|grep uttsc-bin
   utku5 28223 28204   0 17:42:11 ?      0:00 /opt/SUNWuttsc/lib/uttsc-bin -m -u jaapr ...

root@vdiserver:~# pargs 28223
28223:  /opt/SUNWuttsc/lib/uttsc-bin -m -u jaapr -S 5 -d SUNVDI -i -r usb:on -E wallpap
argv[0]: /opt/SUNWuttsc/lib/uttsc-bin
argv[1]: -m
argv[2]: -u
argv[3]: jaapr
argv[4]: -S
argv[5]: 5
argv[6]: -d
argv[7]: SUNVDI
argv[8]: -i
argv[9]: -r
argv[10]: usb
argv[11]: -E
argv[12]: wallpaper
argv[13]: -E
argv[14]: theming
argv[15]: 192.168.4.157
root@vdiserver:~#

And here you have the complete listing of the RDP settings that are used for a specific Desktop session in a selected VDI pool.

August 19, 2010

Jaap RomersUse a different Kiosk session in Oracle VDI

August 19, 2010 12:35 GMT

Today I was preparing a customer project on my test server to run a different application (then the default Oracle VDI desktop) on some special Sun Ray DTUs. In a recent post I wrote about configuring Opera as a Sun Ray Webkiosk browser and this was the application we wanted to run on the special DTUs (for a reception area). In this article I explain how to configure this for the Webkiosk browser, but the scenario is the same for every application you have in mind for a kiosk session.

There are multiple ways to configure different kiosk applications in the Oracle VDI server environment:

  1. Write your own Kiosk Mode scripts. The Think Thin Blog is a very good source to get your inspiration,
  2. Use the Meta Kiosk add-on developed by Daniel Cifuentes,
  3. Use the standard Kiosk Mode interface as described in Jörg's Desktop Blog.

I decided to use method three, it is a less known feature in the Sun Ray Server software (which is embedded in the Oracle VDI software), easy to configure via the CLI (unfortunately it is not yet integrated in the GUI) and you do not need to write a shell-script to control the multiple applications Kiosk Mode logic.

To refresh your mind from the earlier blog post about Opera: you need to install the Opera web-browser on your Oracle VDI servers and you need to store the kiosk description file and launcher in the directory /etc/opt/SUNWkio/sessions.

When this is done you let the Oracle VDI server know that for a pre-determined number of Sun Ray DTUs you do not want to use the default (Oracle VDI) kiosk session, but the alternative Opera Webkiosk session (or any session that you have in mind as alternative). This is a three step process:

1. First you have to store the Opera browser kiosk session configuration in the Sun Ray server data store. You have to create a little configuration file and use this file to store the information in the data store. After this is done you check if it is stored together with the default session

    # I have created the WebkioskSession.conf with an editor.
    root@vdiserver:# cat WebkioskSession.conf
    KIOSK_SESSION=webkiosk
    KIOSK_SESSION_TIMEOUT_DETACHED=12000
    root@vdiserver:# utkiosk -i WebkioskSession -f WebkioskSession.conf
    root@vdiserver:# utkiosk -l
    session
    WebkioskSession
    root@vdiserver:#

2. Then you register the token of the device (e.g. pseudo.00144f5787d1) or the token of a smart-card. Adding a name to the registration is mandatory, I use dummy01 as a not existing username.

    root@vdiserver:# utuser -a "pseudo.00144f5787d1,,,dummy01,"
    root@vdiserver:#

3. In the last step you override the default kiosk configuration by the alternative and restart the session by killing the current session for that token. 

    root@vdiserver:# utkioskoverride -r pseudo.00144f5787d1 -s kiosk -c WebkioskSession
    root@vdiserver:# utsession -k -t pseudo.00144f5787d1
    root@vdiserver:#

If you have multiple tokens (for example 20 Sun Ray DTUs in your reception area), then step two and three are very easy to script in a shell command or shell script. I let this to the user as this is out-of-scope for this article.

ThinkThinVDI In The Sky

August 19, 2010 04:23 GMT

On a recent trip (my first as an employee!) to Oracle HQ, I decided to test out Oracle VDI 3.2 from an airplane.  Sure, everyone (who can...if the latency will allow their protocol to work that is) has done this, but hey it's been my first trip since being part of the Big O.  One could say I don't travel like I used to. 

Unfortunately, I was a bit ill prepared to do this demo from a battery standpoint on my video camera, but still managed to get some screen caps with my phone.  On my next trip I'll bring my flip fully charged to get the full sequence.  But I'll tell you, from some 30K thousand feet, 300 ms (plus) latency, it did awesome.  While it won't surprise most to know I really believe in our technology, I did all of this on my own dime.  From the the gogo inflight internet to the first class upgrade.  Hey, us tall folk need space to work!

 My Building:  (The "Big Building" if you know what I mean)


Somewhere over the Mojave:


And Let's Connect:


Picking my Windows 7 Pool: 


And here we are: 


This is the Virtual Desktop Client in windowed mode. It's hard to make out the latency, but it's over 300: 



August 18, 2010

ThinkThinOVDC and MTU

August 18, 2010 18:30 GMT

A few years ago I wrote about the "Importance of MTU" as it pertains to Sun Ray clients.  Things changed with the Sun Ray and in most circumstances, we can detect and adjust the Path MTU accordingly.  While the Oracle Virtual Desktop Client (OVDC) is designed to be just like a physical Sun Ray, for various reasons it currently lacks the Path MTU Discovery (PMTUD) code.  In short, what's old is new again..Or is it what's new is old again.  Either way, you need to set the MTU for the best experience (improper MTU demo video below).

You can set the MTU with a slider from the network tab:

Unfortunately the slider isn't as precise as you might need it and seems to jump in blocks ranging from 6-8 (i.e. try to set yours like mine with an MTU of 1333 and good luck!).  If somewhere within that range lies the your value, you can use the command line to set a precise MTU.  Simply run the vdc command with the --mtu argument.

For Windows:

C:\Program Files\Oracle\Virtual Desktop Client\vdc --mtu 1333

For OS X:

/Applications/Oracle Virtual Desktop client.app/Contents/MacOS/vdc --mtu 1333

The MTU setting is sticky and will stay for all subsequent connections, unless of course you use the slider and change it.

Quick (no audio) Video of what an improperly set MTU looks like:

August 17, 2010

ThinkThinOracle VDI 3.2 In Action!

August 17, 2010 06:53 GMT

An attempt to use Jing here.  Even went "Pro".  Still a five minute limit and I got cut short, but you'll get the gist.  Check out the functionality!  Big hat tip to the folks in Hamburg, Leeds, and Dublin.  :)  (I just realized I have 2GB traffic limit per month with pro...I'll see what I can do)

(And no, I cannot tell you why Javier was not ruled offsides there. )




Oh, and Jaap...this is for you.

August 13, 2010

William YangThe Future of OpenSolaris

August 13, 2010 18:15 GMT
The clouds of uncertainty over OpenSolaris under Oracle have parted, but while what we see behind them was perhaps expected, it is certainly still disappointing. I've included the original sources below, but here are the key sentences (emphasis added) from the internal Oracle memo regarding OpenSolaris:

It remains unclear how OpenSolaris as a community will transform, but it certainly doesn't look that good.

References (from the osol-discuss mailing list):
Leaked internal memo
Confirmation from Oracle employee

Fat BlokeThe VirtualBox Software Development Kit

August 13, 2010 18:00 GMT

One of the really neat things about VirtualBox is the elegance with which it is architected. At almost every layer there are published APIs which mean you can build really neat solutions to access the underlying services of VirtualBox. And the "front ends" to VirtualBox such as the GUI (VirtualBox.exe) and the Command Line (VBoxManage.exe) use these same public API's without no backdoors or private interfaces at all. Graphically, it looks like this:

VirtualBox API

Third parties are also building cool solutions against these interfaces too. (BTW you really should checkout the still-under-development but hugely impressive phpvirtualbox)

And so, as the VirtualBox ecosystem grows, it's important that people stick to the APIs. So, if in doubt, consult the VirtualBox Programming Guide and Reference.

We hope you enjoy a little bedtime reading ;-)

-FB 

William YangWhere Am I on the Subway?

August 13, 2010 01:28 GMT
On Shanghai's very new Metro Line 10, there's a nifty little information panel located above all the railcar doors. Since pictures are worth a thousand words, I figured I'd make this post a couple thousand words shorter and post a video (watch in 720p/HD for best clarity; I apologize for the shakiness). While watching, you should be able to answer the following questions:
Enjoy!

August 11, 2010

Jaap RomersChange default Desktop Login Language in Oracle VDI 3.2

August 11, 2010 20:02 GMT

One of the new features in the recently released Oracle VDI 3.2 software is the addition of the Dutch language in the Oracle VDI Desktop Login screen. In this article I explain how to change the default Desktop Login language to your preferred language (I use Dutch in the examples, because I live in the Netherlands ;-) 

As soon as you connect with your Sun Ray DTU or Oracle Virtual Desktop Client (OVDC) to the Oracle VDI server you get the standard Desktop Login window. Most of the time, this window defaults to the English language (see the below picture). Through the "More Options, Language" drop-down menu you see a list of supported languages. With a few simple steps you can change the default language of the Desktop Login to your preferred language.

Oracle VDI Desktop Login Window in English Language

The Desktop Login window is launched by the Kiosk interface scripts. This is the glue between the embedded Sun Ray server software and the Oracle VDI broker software. The Kiosk interface scripts determines the language setting for the Desktop Login window through the underlying operating system. In our Solaris 10 Oracle VDI server this is done with the locale parameters.

During the Solaris 10 Operating System installation, the English version of Solaris is installed by default. Most likely you only provided information about the timezone of your server and not the information for your geographic regions and software localizations. On the Sun Developers Network website you can check a list with locale settings in the Solaris Locale Chart. To use the Dutch language in the Oracle VDI Desktop Login we need the nl_NL locale which is part of the Western European Region (WEU) in Solaris 10.

Follow the next four steps to configure your preferred language for the Oracle VDI Desktop Login window:

1. Check the installed locales on your Oracle VDI server with the following CLI-commands:

  # First check the current locales on the server (in this case it is the default)
  root@server:# locale -a
  C
  POSIX
  iso_8859_1
  root@server:#

  # Or check if the Dutch locales are installed on your server
  root@server:# locale -a | grep nl
  nl
  nl.ISO8859-15
  nl_BE
  nl_BE.ISO8859-1
  nl_BE.ISO8859-15
  nl_BE.ISO8859-15@euro
  nl_BE.UTF-8
  nl_NL
  nl_NL.ISO8859-1
  nl_NL.ISO8859-15
  nl_NL.ISO8859-15@euro
  nl_NL.UTF-8
  root@server:#

2. If your locale exists go to step 3, otherwise load your preferred locale from the Solaris 10 installation media (the Solaris 10 installation DVD or the downloaded Solaris 10 iso-file):

  # Insert Solaris 10 DVD in your drive, it will be automounted under /cdrom
  # In my example we install the nl_NL locale
  root@server:# localeadm -a nl_NL -d /cdrom/sol_10_1009_x86/
  ...
  ...
  root@server:#

  # Use the following CLI-commands if you installed from an iso file
  # Find your iso file (in my case /stage) and mount the iso into a directory /mnt
  root@server:# mount -F hsfs -o ro `lofiadm -a /stage/sol-10-u8-ga-x86-dvd.iso` /mnt
  root@server:# localeadm -a nl_NL -d /mnt
  ...
  ...
  root@server:# umount /mnt; lofiadm -d /dev/lofi/1
  root@server:#

3. Configure the locale in the Sun Ray Kiosk general properties settings:

SRSS Admin GUI, Kiosk Mode properties


4. Restart your DTU session to show the new Desktop Login Language setting:

If all went well you will see the Oracle VDI Desktop Login window in your preferred language. The below picture shows the Desktop Login window for the Dutch language.

Oracle VDI Dutch Desktop Login window

Wim CoekaertsOracle VDI 3.2 is out !

August 11, 2010 19:07 GMT

see press release here.

we just released 3.2, this is an exciting new update of VDI. lots of cool new stuff. multimedia (and not just for the various windows desktops but also for Linux) , higher density stacking of VMs etc. really cool !

Jaap RomersOracle VDI 3.2 Released

August 11, 2010 17:39 GMT

Hot off the press: Oracle VDI 3.2 is released today. Some of the new features in Oracle Virtual Desktop Infrastructure 3.2 are:

See the following links for more information:

Stay tuned for more updates on this new release !!

Wim CoekaertsVirtualbox 3.2.8

August 11, 2010 11:14 GMT

Forgot to mention that the Virtualbox team released version 3.2.8 last friday.

This is a bugfix/maintenance release for 3.2. It adds support to set up shared disks between VMs on the same host and fixes a number of bugs, in particular in the page fusion and vrdp areas.

You can find the changelog here.

August 09, 2010

Joerg's Desktop BlogHotdesking sessions to and from the Sun Display Access Client

August 09, 2010 11:26 GMT

The initial release of the Sun Desktop Access Client (SDAC) does not participate in the smartcard-based hotdesking that is typically used with Sun Ray Desktop Units (DTUs).

Update: The latest update of SRSS 4.2 now supports (well, mostly) smartcard-based hotdesking for OVDC (the new name for SDAC).

Nevertheless hotdesking capabilities are an important feature of the Sun Ray system. So how can SDAC participate?

Answer 1: NSCM

The simplest solution to be able to hotdesk Sun Ray sessions to and from an instance of SDAC is to use NSCM. This has a few restrictions:

If you are not affected by these restrictions or can live with them, then NSCM is clearly the method of choice to obtain sessions that can be hotdesked to SDAC.

Answer 2: Token Aliasing

What if NSCM is not an option, because Kiosk Mode is being used, SRSS is running on Linux or your users can't remember their user names?

In that case you can use a lesser known features of SRSS: token aliasing.

Token aliasing comes at the cost of added administrative effort. It requires that only registered tokens are allowed access. This means that every smartcard, every DTU used for non-smartcard access and every SDAC instance (more exactly: profile) must be registered in the Sun Ray data store, before it can be used for Sun Ray sessions. This burden can be offloaded to your users, by enabling self-registration functionality when configuring registered token policy. Or it can be integrated with a corporate database of tokens, by using the ATI feature (see the ut_ati_script_interface(3) man page for more information). But neither of these will create aliased tokens for you - that will require manual intervention by an administrator.

So how does token aliasing help with SDAC hotdesking?

When you configure two (or more) tokens as aliases of each other, all the aliased tokens access the same session. Every smartcard is associated with a unique token, as is every DTU and every SDAC profile. (The tokens for the latter two are called pseudo-tokens.) So if you configure a SDAC pseudo token as an alias of a smartcard token, then a specific SDAC profile can be used to access sessions bound to this smartcard. In other words, you can hotdesk your card session to SDAC (with this profile) and vice versa.

As you probably noticed this means that an SDAC profile can access only one predetermined smartcard session. This is good for security - the session bound to Alice's smartcard can only be accessed using Alice's SDAC profile, but not using Bob's profile. But it also means that you can't use SDAC to quickly access an arbitrary session from any client. Bob's boss can't borrow Bob's laptop to get to his session, as he most likely has no registered profile there.

There is one pitfall with aliasing: if more than one aliased tokens are connected at once, only one of them can get access to the session. In older releases of SRSS, this resulted in session ping-pong: the second token that connects takes over the session from the first. This causes the first DTU to restart, present its token again, and take back the session. Now the second client restarts and everything repeats itself until one of the clients is disconnected.

Fortunately the 'RHA' hotdesk security feature, introduced in SRSS 4.1, fixes this problem: now the user can only take over a session for her token after authenticating to the RHA session lock. When she does this, the first client will restart, but will only display the session lock and wait for the user to come back to that location. If you like ping-pong, you can still get the old misbehavior by disabling RHA.

The pitfall that remains, even with RHA, concerns Kiosk Mode: as there is no authenticated UNIX user, no RHA authentication can take place. The session takeover protection still applies though, so if the user left his card inserted in a DTU, he will be unable to get to his Kiosk session from his aliased SDAC profile. Of course with traditional smartcard hotdesking you also don't get to hotdesk, if you forget your card elsewhere.

And how can token aliasing be set up?

By now you are probably itching to learn how you can configure token aliases.

If you aren't, why are you still reading? ;-)

Keep in mind though, that use of token aliasing is only suitable, if 'registered token only' policy can be used in your deployment. And if NSCM works for you, you can save all this administration effort.

The approach I outline here is to start with unaliased registered tokens, delete one of them from the Sun Ray Data Store and reregister it as an alias of the other. I recommend to start with both tokens registered, so that you can leave the task of figuring out the token identifier to the initial registration process, for example to self-registration. Alternatively you can obtain smartcard token identifiers by using a token reader and derive pseudo tokens from the desktop identifier (see the utdesktop(1M) man page or the Desktop Units tab in the Sun Ray administration GUI).

To make a SDAC pseudo-token an alias of another token using the Sun Ray administration GUI:
  1. Go to the Tokens tab
  2. Find the SDAC pseudo token for the user. An SDAC pseudo token id has the form pseudo.<32 hexadecimal digits>, for example pseudo.d98765f12345f23b697cfd9d072786b7.
  3. Click on the token ID to go to the pseudo.d98765f12345f23b697cfd9d072786b7- Token Properties page.
  4. Select the pseudo token ID and copy it (to the clipboard).
  5. Check that there are no sessions for this token (Advanced section). If there are sessions, terminate them.
  6. Go back to the Tokens page.
  7. Place a check mark on this pseudo token to select it and click Delete to delete it.
  8. Find the smartcard token for the same user, for example Payflex.500abcd000000100.
  9. Click on the token ID to go to the Payflex.500abcd000000100 - Token Properties page.
  10. Click the New... button on the Alias Tokens table (Advanced section) to open the New Alias Token for Payflex.500abcd000000100 page.
  11. Select Enter token identifier manually: and paste the pseudo token into the token id field (from the clipboard).
  12. Click OK.
To do the same using the command line (assuming both tokens have the name 'Barfurth'):

First determine the involved tokens, for example:

  # sdactoken=`utuser -ln Barfurth | sed -n 's/^\(pseudo\.[0-9a-f]\{32\}\) .*/\1/p'`
  # echo $sdactoken
  pseudo.d98765f12345f23b697cfd9d072786b7
  # cardtoken=`utuser -ln Barfurth | sed -n 's/^\(Payflex\.[^ ]*\) .*/\1/p'
  # echo $cardtoken
  Payflex.500abcd000000100
After obtaining the tokens, delete the existing unaliased registration and create an alias instead:
  # utuser -d $sdactoken
  # utuser -ai $cardtoken $sdactoken

Fat BlokeVirtualBox 3.2.8 is released

August 09, 2010 10:39 GMT

The Fat Bloke may sleep but the VirtualBox engineering team never seems to... Version 3.2.8, a maintenance release, was made available from the Usual Places late last week.

It fixes a bunch of stuff.

- FB 

Joerg's Desktop BlogOVDC + Smartcards - a Web UI hack

August 09, 2010 09:50 GMT

As already reported on ThinkThin, the Oracle Virtual Desktop Client now supports use of smart cards for hotdesking. This way you can now access the session from your Sun Ray from your laptop or PC, without having to resort to the configuration tricks I described a while back.

To use this feature, you first need to apply the recently released SRSS 4.2 patch (rev -03 or later) to your Sun Ray server. Then you also need to enable smartcard access for OVDC.

Unfortunately you need to read the fine print to discover that you can only enable or view this policy setting using the Command Line interface.

There are several technical and procedural reasons, why we could not include an update to the Sun Ray Administration GUI with the recent update.

But most of the needed functionality already exists under the hood in the SRSS 4.2 Administration GUI. The needed text strings can already be found elsewhere on the page. If you feel adventurous, you can add the missing checkbox yourself and it will work. :-)

To do this:

Disclaimer

All changes to product files described here are unsupported and done at your own risk! Be sure to create backup copies of files before changing them.

Also beware that these changes could be overwritten by a patch – in the (unlikely) case that we release a patch for the Administration GUI without this feature.

Edit the file /opt/SUNWut/webadmin/webapps/ut/jsp/advanced/Policy.jsp:

After applying this change, restart the Administration GUI using the command

# /opt/SUNWut/lib/utwebadmin restart
and reconnect to the Administration UI in your browser.

August 05, 2010

ThinkThinOracle Virtualization Event line up...Holy Cow!

August 05, 2010 03:13 GMT

On August 19th from 9 AM until 3 PM, Oracle will be hosting an Online Virtualization Forum that covers our v12n technology from the Desktop to the Datacenter.  What I'm really impressed by is the two people that will comprise the "panel".  Former Sun hardware guru and now Oracle's Executive Vice President of Systems John Fowler and my boss's boss's boss, Oracle's Chief Corporate Architect Edward Screven.

Folks, these are what we call "Big Guns".  What's more, they are extremely intelligent...no scratch that.  They are "scary smart".  Be honest, you've sat through more than your share of executives pitching things they could care less about.  These two gentlemen are in a different league.  Passionate is the best word that describes them. 

I'm sure long time followers of Think Thin are more than familiar with the Executive branch of "the company formerly known as Sun Microsystems" and you've seen John Fowler many times.  But unless you were an Oracle customer, you may not have had the chance to hear Edward Screven speak.  With absolutely zero patronizing involved here (like he reads this blog), watch him.  He's brilliant.  He gets it.  And by "it" I mean pretty much anything you could imagine, but specifically he gets VDI.

If there's one thing I've learned about the executives at Oracle, it's that they don't mess around.  You wouldn't get this caliber of people talking about the entire virtualization stack if Oracle was not committed to it.  I've also noticed, "Committed" = "Wants to dominate" in Oracle speak.

So to the v12n world out there, and specifically the VDI market, watch out.  The "Big Guns" are about to fire a warning shot across the bow of the marketplace.  To paraphrase Al Pacino's character in "Scent of a Woman", We are just getting warmed up.

August 04, 2010

MapleDeskDesktop to Datacenter... explained

August 04, 2010 16:38 GMT
OracleVirt.jpg
You may have noticed a bit of an increase in public demonstrations around the Desktop Virtualization solutions at Oracle.  That's not by mistake.  There IS an increase in traffic being generated as Oracle gains control of this line of business and makes it its own.  The whole concept of virtualization is something Oracle has had well in hand for years, but with the acquisition of Sun picks of a big chunk of additional technologies.  Here, of course, we are focussed on the Desktop pieces.

From Desktop to Datacenter. Complete

Oracle is hosting a monster-sized virtualization web event coming up on the 19th of August.  There is an agenda published and you can pick and choose what you like from the day's events, but here are three desktop hilights from my perspective:


Make the time to check out these (and other) sessions as you can that day.  

You will want to register for the event here.




August 02, 2010

ThinkThinTechCast Live: Sun Ray and Oracle VDI Edition

August 02, 2010 19:44 GMT

Happy Monday to all the Think Thin readers!

I'll be on Oracle TechCast Live tomorrow at 10 AM Pacific where I'll be having a nice little chat with Justin Kestelyn about Sun Ray and Oracle VDI.

I'll also be taking some community questions.  From the TechCast Live page, you can can sign in using your Twitter, Facebook, AIM, or Myspace account.  Can't promise I'll be able to answer every type of question, we have different rules at Oracle than Sun did.  I hope however to make it worth your while and I hope you find it enjoyable.

July 30, 2010

ThinkThinMulti-Core or Hyper-Threaded? Or Both?

July 30, 2010 22:54 GMT

Recently a question was posed to the Sun Ray User Community:  Intel or AMD for Linux Sun Ray Server?

Ford vs Chevy!  Coke vs Pepsi!  What a great blog topic for a Friday.

You could choose from dual Intel 6 core X5670 2.93 GHz ("Nehalem") or dual AMD Opteron 12 core 6168 1.9 GHz ("Magny-Cours")

Of course the "I love my job and I'd really like to keep it" answer would be Intel since Oracle does not offer any servers based on the 12 core Opteron (just 8 core models).  But let's throw caution to the wind and think about this in the context of what a Sun Ray Server in "traditional" mode (i.e. not kiosk mode) really is.  It's a desktop.  Unlike kiosk mode where normally applications execute "somewhere else" (i.e. terminal server, a VM, etc) in traditional mode the applications execute on the Sun Ray Server.  Unlike a desktop, it's multi-user.

So while you definitely want something "server class", you also want something that is going to run *your* applications at the best price/performance ratio.

At the end of the day, both options offer 24 threads.   The Intel solution does so by offering 6 Hyper-Threaded Technology (HTT) cores per socket and the AMD by offering 12 single threaded cores per socket.  There's a 1 GHz clock speed difference favoring the Intel solution, but let's not fall prey to the "megahertz myth".  Not just yet anyways.

While you can go out there and find all kinds of "Bench This", "Spec That" types of reviews, those tests are generally written to take the most advantage out of any platform.  However, most of the end user applications we all use aren't.

So, which design is better for "desktop applications", Intel with HTT or AMD with all those glorious physical cores? 

Here's I get to use the most popular, catch all answer of all-time when it comes to any Server Based Computing or VDI question. 

It depends. 

It depends on the applications.  Doesn't everything?

Recent history would indicate that desktop applications prefer the multiple cores over HTT.  Or perhaps better stated, the developers of those applications may prefer multi-core development (or at least find it easier).  

Remember that Pentium HTT ("Northwood") actually was replaced on the desktop in favor of  multi-core processors (see CoreDuo). In a traditional Sun Ray environment where a variety of "desktop applications" execute on the Sun Ray Server, understanding some of the possible reasons HTT was replaced by multi-core is interesting, if not important.

When HTT was introduced, most desktop applications simply weren't able to take advantage of the it.  Add to that, the HTT chips actually consumed a lot more power.  End result was a system that increased your energy costs while decreasing your application's performance.  Explain that one to your boss, Mr Technology influencer.   Especially with "all those CPUs" showing up in mpstat or perfmon.

None of that of course was the fault of the technology, well the power was, but not the bad performance or the misconception of threads as physical processor that sits in a socket.  Truthfully our traditional performance monitoring tools still promote that misconception.  The performance was due to applications not taking advantage of the HTT and it being on a single core.  Didn't it seem like around 2004-05, the catch-all response to all desktop application performance queries was: "Pentium 4, you say?  Did you try disabling Hyper-Threading in the BIOS?"

With Nehalem, Intel put all that bad PR behind them and brought HTT back to the desktop, but with a twist, it's also multi-core.  

This is different, but is it better?  Maybe.  Maybe not.  Probably, but...it depends.  (Ha!)

We know that the OSes are better equipped for HTT (i.e. Solaris is now optimized for it along with a million other things), and they actually don't consume that much more power, so they are "greener".  Goodness for the data center.

From my experience, I'd say both Sun Ray Software and the Oracle VDI stack performs better with HTT (based on sizing numbers in kiosk mode and per core VM sizing data under Solaris) than they did under the non-HTT models of those chips.  Considerably better, all other things being equal (clock speed, # of cores, etc).  But those aren't typically considered "desktop applications", they are more in the realm of pseudo-operating systems, or at least "Server Systems".  Both of which have been HTT aware for a long time, but that doesn't exactly help *your* application.  Which leads us to the million dollar question:

How many of the applications that you use today are parallelized so they can execute across multiple threads simultaneously (i.e. HTT aware)?  If the answer is "very few" then you're not taking advantage of the Intel design and the physical cores on AMD solution may actually perform better for your apps even with the "lower clock speed". 

Making applications multi-core aware is fairly easy (says the non-programming "developer"), and most existing applications already support this.  However adding HTT capabilities to existing applications is considerably far more work.  And sure, there are those that will say that HTT can help certain multi-core aware applications depending on what they are doing. Though I think a lot of these arguments mistake multi-threading for Hyper-Threading, which in fact is simultaneous multi-threading.

But really, to get the most out of HTT, you need to code your applications a certain way.  Intel has guides, and all kinds of tools to aid the application developer get the most out of HTT.  But what if those aren't used?

In a single user use case, the average person might never know the applications they are using aren't taking advantage of HTT technology because of the multi-core and relatively high clock rate. The HTT multi-core becomes a Swiss Army Knife so to speak.  If your app can take advantage of HTT, great.  If it can't, we've got cores.  And on top of that we have speed!  That's beautiful for a PC.  A single user PC.

But how well does it scale out when we are talking about multiple users running those "non-HTT aware" apps on the same server? In the AMD design, multi-core (but non-HTT aware) apps have 24 "physical" cores to work with, what's the trade off of the "virtual" cores on the HTT chips?  Is the clock speed enough to overcome? The other features on HTT chips enough to tip the scales? Maybe.  Probably.  It depends.

If you were running Sun Ray Server Software in Kiosk mode or choosing a server to be the hypervisor for Oracle VDI, go with Intel and their HTT "Nehalem" processors.  You won't be disappointed.  At least I haven't been.  I'm sure I'd also have a lot of good things to say about the AMD as well.

But if you are actually running desktop apps on the Sun Ray Server, and trying to do so at any kind of scale, I'd say it's at least worth doing some investigating and maybe even some application testing at scale.  Then you can really understand what's the best fit for your environment.

Wim CoekaertsOracle VM 2.2.1 hypervisor update for 128 threads

July 30, 2010 18:34 GMT

Last month we announce the new Sun Fire X4800 which can have 64 cores/128 threads in the current maximum configuration.

We also announced, of course, that Oracle Enterprise Linux, Oracle Solaris and Oracle VM are fully supported/certified on this product.

On the Oracle VM side we were able to fully utilize all 64 cores, but without hyperthreading enabled. We just now released a hypervisor update on ULN to also enable all the threads. So with Oracle VM 2.2.1 + the latest xen version in the channel (xen-3.4.0-0.1.21) you can run 1TB RAM, 128 threads.

MapleDeskMore Server Hardware Choices

July 30, 2010 04:39 GMT
It has probably been a week since I was last asked if a customer could run their Sun Ray servers on non-Oracle/Sun hardware.  I get the question all the time.  The answer had been yes for a long time, then no, then yes, then no... except under these conditions, and now yes. YES!

We have lots of larger customers who have simply standardized on one hardware platform or another and most applications and OS platforms will run on any X86 hardware platform, so this isn't really such a big deal...  or is it?  

If you are running hundreds (or thousands) of desktops in a production environment and you want them up ALL the time, then we are always going to recommend an N+1 (at least) environment for your Secure Global Desktop, or Sun Ray or VDI servers, and yes, we are going to recommend Sun servers because we do all our integration and testing on them (and they are genuinely cutting edge from design and eco computing perspectives), and you are going to want to have your Support contract in place, but we also recognize customers may have different standards for servers...

Today Oracle announced that both HP and Dell have agreed to certify and resell Solaris, Oracle Linux and Oracle Virtual Machine OS platforms along with Oracle Premium Support on their X86 hardware.  Remember the most significant stipulation of running Sun Ray Server (or SGD or VDI servers for that matter) in a supported fashion is that it run on a fully supported Solaris or Linux instance.  That means that you can have Solaris running on your HP server and get full support on the Secure Global Desktop service through Oracle Premium Support.  In fact the Hardware Compatibility List (HCL) for Solaris, for example, covers IBM and Fujistu and other servers as well.

It is great to have choices. Now there are more!


July 29, 2010

Wim CoekaertsSun Ray : addons (unsupported for fun scripts)

July 29, 2010 05:54 GMT

I put together a few RPMs that can help make life easier on SRS5 on OEL (or RHEL or CentOS).

Download here.

- libflashsupport will help OSS audio support for flash10
- SunRay-addons is an rpm that contains 2 utaction scripts
1) autoresize -> will try to reset resolution based on your new DTU screen resolution when you hotdesk
2) usbdrived (Daniel Cifuentes's usbdrived script) -> pops up a nautilus window when you plug in a usb flash drive into your DTU
-) these scripts can be enabled/disabled from /etc/sysconfig/SunRay-addons

again, this is all just for fun - unsupported - but they help me and I thought I'd share


July 27, 2010

Fat BlokeVirtualBox log files

July 27, 2010 14:32 GMT

OK, I have to admit that this entry is one for the connoisseur, but some of these blogs entries double up as my extended memory, so before I forget... ;-)

One of the key tools you can use to diagnose any issues with VirtualBox is the VirtualBox log file for a vm session. VirtualBox always creates a log file which reflects the lifecycle of the virtual machine.

Log File Location

VirtualBox log files live in a per-user/per-vm directory that will be something like:

The log files are rotated such that the most recent is always called vbox.log and older ones are vbox.log.[123]. These log files contain lots of information about the capabilities of both the host and the guest vm and should be provided whenever reporting issues with VirtualBox. 

Log File Format 

The layout of the logfile varies based on whether you are resuming or starting initially but roughly follows this pattern:

Section Content Starts around...

Header

VirtualBox version;
Host OS information;
Host hardware info 

Start of file

CFGM Dump

A listing of the configuration information of guest (guest virtual hardware)

*** CFGM dump ***

Host information (CPUID Dump)

Low level CPU information of Host and what will be reflected to Guest
*** CPUID dump ***

Creating the VM Information about the creation of the virtual machine environment
*** End of CPUID dump ***

Powering on or Loading from a saved state 

When powering on you'll see very little in the logs at this stage.  If loading from a saved state, information from the Saved State Manager about matching previous state to current environment.
Changing the VM state from 'CREATED' to 'POWERING_ON'

Changing the VM state from 'CREATED' to 'LOADING' 

Resuming/Running

Once the saved state is loaded, or the vm is booted, the guest code is executed.

Changing the VM state from 'POWERING_ON' to 'RUNNING'

or 

Changing the VM state from 'LOADING' to 'SUSPENDED'

Changing the VM state from 'SUSPENDED' to 'RESUMING'.

Guest lifetime

This part of the log contains entries concerning the lifetime of the Guest.

Changing the VM state from 'RESUMING' to 'RUNNING'.

 

Powering Off or Suspending A dump of the guest state at the time the vm was powered off.

*** Guest state at power off ***

Statistics

The statistics collected during the session are dumped out.

*** Statistics ***

Timestamps

One final tip when you're looking to make sense of log files: each line begins with a timestamp. e.g. 

00:00:01.817 VRDP: TCP server listening on port 3389.

This is in the format HH:MM:SS.ms and is usually relative to the start of the vm. If you prefer wall clock time you can set the environment variable before starting the vm:

 export VBOX_RELEASE_LOG_FLAGS=time; VBoxManage startvm Android

 - FB

July 26, 2010

Wim CoekaertsSun Ray : portrait and multi screen support

July 26, 2010 20:28 GMT

There's this feature people sometime ask for with Sun Rays to support 1) multiple desktops and 2) portrait mode mixed with that.

This means the following : people want the ability to use 2 monitors when they log in, but have each of the monitors act as a separate desktop rather than one big screen where you just move left to right with everything. so you basically run 2 window managers and manage each of the screens separately and you can of course move your mouse pointer over from one to the other.

The latter works out of the box on a 2 FS or 3+, it's the default method. you plug in 2 monitors and your X display is the size of both monitors combined.

Now, regarding portrait view. There are users that want portrait mode in some cases on one monitor only and regular on the other or just in general do portrait mode.

Since the 2fs or 3+ dual monitor basically has one big framebuffer, this is really difficult to do, but there is an alternative. why not just use 2 sunrays 2's (or so). I did this and here's the result, I used a sunray 2fs with just one monitor hooked up and a sunray 270. Started utmhconfig (as root) and added the 2 sunrays into a multihead group. then I got :display:0 and :display:1. the left monitor in my case is a monitor that supports rotating so I rotated the big 24" left, and for :display:0 (this one) just do xrandr -o left.

since the other display has a smaller resolution (1280x1024) - I just run xrandr -s 4 to set in my case the screen size of :display.1 to 1280x1024. So, 1 session login, 1 keyboard/mouse/1 smartcard. 2 monitors, one in portrait, one regular, different screen sizes. If I had used 2 sun ray 2s, I would ve put one on the desk, the other under the desk.

great stuff.

Picture of my setup

July 22, 2010

ThinkThinOracle VDI Webinar

July 22, 2010 20:22 GMT

If you're interested in learning about Oracle's VDI offering, our very own VDI Engineering Manager (and personal friend) Dirk Grobler will be holding a webinar that covers the benefits of VDI to modern enterprises.  Along with the typical VDI benefits surrounding centralization and TCO, this high level overview will include an architecture of Oracle Virtual Desktop Infrastructure, how it works, and how it can be used in the modern enterprise to increase manageability, security, and flexibility.

The webinar will take place July 27th at 9:00 AM Pacific Daylight Time and you can register for the session here.

If an overview is not your thing and you crave more technical details, stay tuned as we'll be diving deeper in the near future.