0% found this document useful (0 votes)
44 views

Virtual Desktop Infrastructure

Uploaded by

Luiz Xavier
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views

Virtual Desktop Infrastructure

Uploaded by

Luiz Xavier
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 368

Oracle® Virtual Desktop Infrastructure

Administrator's Guide for Release 3.5

E36503-03
June 2013
Oracle® Virtual Desktop Infrastructure: Administrator's Guide for Release
3.5
Copyright © 2008, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are
trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or
registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected
by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce,
translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse
engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them
to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the
following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware,
and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition
Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs,
including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license
terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for
use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware
in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its
safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous
applications.

This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle
Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products,
and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of
third-party content, products, or services.

Oracle Virtual Desktop Client software is an included component of Oracle's Sun Ray Software and Oracle Virtual Desktop Infrastructure software
products that must be separately downloaded from Oracle Software Delivery Cloud (https://edelivery.oracle.com). Use of Oracle Virtual Desktop
Client is subject to the Oracle software license agreement provided with and/or applying to Sun Ray Software and Oracle Virtual Desktop
Infrastructure.
Table of Contents
Preface ............................................................................................................................................ xiii
1. System Overview of Oracle Virtual Desktop Infrastructure ................................................................ 1
1.1. Introduction to Oracle Virtual Desktop Infrastructure .............................................................. 1
1.2. About Virtualization .............................................................................................................. 2
1.3. About Storage ..................................................................................................................... 3
1.4. About Management .............................................................................................................. 3
1.5. About Desktop Access ......................................................................................................... 6
2. Installing Oracle VDI and Configuring Oracle VDI Centers ................................................................ 7
2.1. About Oracle VDI Centers and Hosts ................................................................................... 7
2.1.1. Single Oracle VDI Host Configuration ........................................................................ 8
2.1.2. High Availability Configuration Using the Embedded MySQL Server Database .............. 8
2.1.3. High Availability Configuration Using a Remote MySQL Database ............................... 9
2.2. Oracle VDI System Requirements ........................................................................................ 9
2.2.1. Oracle VDI Hardware Requirements .......................................................................... 9
2.2.2. Supported Installation Platforms for Oracle VDI ........................................................ 10
2.2.3. Requirements for Oracle Linux Platforms ................................................................. 10
2.2.4. Requirements for Oracle Solaris 11 Platforms .......................................................... 14
2.2.5. Requirements for Oracle Solaris 10 Platforms .......................................................... 15
2.2.6. User Requirements ................................................................................................. 15
2.2.7. Network Requirements ............................................................................................ 15
2.2.8. Time Synchronization .............................................................................................. 15
2.2.9. Requirements for Using a Remote MySQL Database ................................................ 16
2.2.10. Oracle VDI Centers in Virtualized Environments ...................................................... 16
2.2.11. Sun Ray Software ................................................................................................. 17
2.2.12. Sun Ray Operating Software ................................................................................. 17
2.2.13. Oracle Virtual Desktop Client ................................................................................. 17
2.3. Installing and Configuring Oracle VDI ................................................................................. 18
2.3.1. Installing Oracle VDI ............................................................................................... 18
2.3.2. Configuring a New Oracle VDI Center ...................................................................... 19
2.3.3. Adding a Host to an Oracle VDI Center ................................................................... 21
2.3.4. Removing a Host from an Oracle VDI Center ........................................................... 22
2.3.5. Reinstalling Oracle VDI ........................................................................................... 23
2.3.6. Uninstalling Oracle VDI ........................................................................................... 23
2.4. Updating Oracle VDI to Release 3.5 ................................................................................... 24
2.4.1. Oracle VDI Update Requirements ............................................................................ 24
2.4.2. Updating an Oracle VDI Center ............................................................................... 25
2.5. Firewall Ports and Protocols ............................................................................................... 28
2.5.1. Firewalls Between Clients and Oracle VDI ................................................................ 28
2.5.2. Firewalls Between Oracle VDI and User Directories .................................................. 29
2.5.3. Firewalls Between Desktop Providers and Oracle VDI Centers .................................. 30
2.5.4. Firewalls Between the Hosts in an Oracle VDI Center ............................................... 31
3. Configuring Companies and User Directories ................................................................................. 33
3.1. About User Directory Integration ......................................................................................... 33
3.1.1. Active Directory Types ............................................................................................ 33
3.1.2. LDAP Types ........................................................................................................... 34
3.1.3. User Directory Customization .................................................................................. 35
3.2. Supported User Directories ................................................................................................ 35
3.3. About Companies .............................................................................................................. 35
3.3.1. Multiple Companies and the Desktop Login Screen .................................................. 36
3.4. Creating a Company .......................................................................................................... 36
3.5. Setting Up Kerberos Authentication .................................................................................... 37

iii
Oracle® Virtual Desktop Infrastructure

3.5.1. Whitelist and Blacklist Support ................................................................................. 39


3.6. Setting Up Public Key Authentication .................................................................................. 40
3.7. Setting Up Anonymous Authentication ................................................................................ 42
3.8. Setting Up Simple Authentication ........................................................................................ 42
3.9. Setting Up Secure Authentication ....................................................................................... 44
3.10. About Complex Forest Configurations ............................................................................... 45
3.11. Reconfiguring the User Directory Settings ......................................................................... 46
3.11.1. Defining the User Directory .................................................................................... 46
3.11.2. Changing the Security Level .................................................................................. 46
3.11.3. Changing the Credentials ...................................................................................... 47
3.11.4. Updating the Server SSL Certificates ..................................................................... 47
3.11.5. Adding Fallback Hosts ........................................................................................... 47
3.12. About Global Oracle VDI Centers ..................................................................................... 47
3.12.1. Home and Foreign Oracle VDI Centers .................................................................. 48
3.12.2. Guest Pools .......................................................................................................... 48
3.12.3. Global Oracle VDI Centers and Desktop Login ....................................................... 48
3.12.4. Preparing a User Directory for Global Oracle VDI Centers ....................................... 50
3.13. About LDAP Filters and Attributes .................................................................................... 51
3.13.1. Searching for Users and Groups ............................................................................ 51
3.13.2. Requesting a Desktop for a User ........................................................................... 52
3.13.3. Resolving Group Membership ................................................................................ 52
3.13.4. LDAP Cache ......................................................................................................... 52
3.14. Removing a Company ...................................................................................................... 52
4. Configuring Desktop Providers and Virtualization Platforms ............................................................ 53
4.1. Oracle VM VirtualBox ......................................................................................................... 54
4.1.1. About Oracle VM VirtualBox .................................................................................... 54
4.1.2. System Requirements for Oracle VM VirtualBox ....................................................... 54
4.1.3. Installing Oracle VM VirtualBox ................................................................................ 58
4.1.4. Updating Oracle VM VirtualBox ............................................................................... 59
4.1.5. Configuring the VRDP Port Range ........................................................................... 61
4.1.6. Configuring the VirtualBox Host Memory Overhead ................................................... 62
4.2. Microsoft Hyper-V and Remote Desktop Services ................................................................ 62
4.2.1. Microsoft Hyper-V ................................................................................................... 62
4.2.2. System Requirements for Microsoft Hyper-V ............................................................ 62
4.2.3. Microsoft Remote Desktop Services ......................................................................... 63
4.2.4. System Requirements for Microsoft Remote Desktop Services .................................. 63
4.2.5. Microsoft RDS Farm (NLB Cluster) Management ...................................................... 63
4.2.6. Limitations of Microsoft Remote Desktop Providers and Pools ................................... 64
4.2.7. Preparing a Windows Server ................................................................................... 65
4.3. VMware vCenter ................................................................................................................ 67
4.3.1. System Requirements for VMware vCenter .............................................................. 67
4.3.2. Setting Up a VMware ESX Server ........................................................................... 67
4.3.3. Setting Up a VMware vCenter Server ...................................................................... 67
4.3.4. Testing the Platform Setup ...................................................................................... 68
4.4. Sun Ray Kiosk Desktop Providers ...................................................................................... 69
4.5. Generic Desktop Providers ................................................................................................. 70
4.6. Storage ............................................................................................................................. 71
4.6.1. Introduction to Storage ............................................................................................ 71
4.6.2. Local Storage ......................................................................................................... 72
4.6.3. Network File System Storage .................................................................................. 72
4.6.4. iSCSI Storage ......................................................................................................... 73
4.6.5. Sun ZFS Storage .................................................................................................... 74
4.7. Preparing Sun ZFS and iSCSI Storage ............................................................................... 77
4.7.1. Setting Up a Sun ZFS Storage Appliance ................................................................. 77

iv
Oracle® Virtual Desktop Infrastructure

4.7.2. Storage Clustering for Sun ZFS Storage Appliances ................................................. 77


4.7.3. Replicating and Replacing a Sun ZFS Storage Appliance .......................................... 78
4.7.4. Setting Up an Oracle Solaris ZFS Storage ............................................................... 79
4.7.5. Replicating and Replacing an Oracle Solaris ZFS Storage ......................................... 80
4.7.6. Setting Up an iSCSI Target on Sun ZFS Systems .................................................... 81
4.8. Creating Desktop Providers ................................................................................................ 83
4.8.1. Creating an Oracle VM VirtualBox Desktop Provider ................................................. 83
4.8.2. Creating a Microsoft Hyper-V Desktop Provider ........................................................ 87
4.8.3. Creating a Microsoft Remote Desktop Provider ......................................................... 88
4.8.4. Creating a VMware vCenter Desktop Provider .......................................................... 90
4.8.5. Creating a Sun Ray Kiosk Desktop Provider ............................................................. 91
4.8.6. Creating a Generic Desktop Provider ....................................................................... 92
5. Configuring Pools and Desktops ................................................................................................... 93
5.1. About Pools ....................................................................................................................... 94
5.1.1. Creating Desktop Pools ........................................................................................... 94
5.1.2. Choosing Between VRDP and MS-RDP ................................................................... 95
5.1.3. Configuring Pool Networks ...................................................................................... 99
5.1.4. Configuring Pool RDP Options ............................................................................... 100
5.1.5. Enabling USB Redirection ..................................................................................... 104
5.1.6. Configuring Smart Card Removal ........................................................................... 106
5.1.7. Configuring Kiosk Settings (Sun Ray Kiosk Provider) .............................................. 106
5.1.8. Using the NetBIOS Name to Log In to Windows Desktops ....................................... 107
5.1.9. Location Awareness .............................................................................................. 107
5.2. About Desktops and Templates ........................................................................................ 108
5.2.1. Supported Desktop Operating Systems .................................................................. 109
5.2.2. About Templates and Revisions ............................................................................. 110
5.2.3. About Desktop and Virtual Machine States ............................................................. 111
5.3. Creating Desktop Images ................................................................................................. 114
5.3.1. Creating Virtual Machines (Oracle VM VirtualBox) ................................................... 114
5.3.2. Creating Virtual Machines (VMware vCenter) .......................................................... 116
5.3.3. Creating Virtual Machines (Microsoft Hyper-V) ........................................................ 118
5.4. Importing Desktops .......................................................................................................... 120
5.4.1. Importing Desktops (Oracle VM VirtualBox) ............................................................ 120
5.4.2. Importing Desktops (VMware vCenter) ................................................................... 121
5.4.3. Importing Desktops (Microsoft Hyper-V) ................................................................. 122
5.4.4. Importing Individual Windows PCs ......................................................................... 122
5.4.5. About Template Management ................................................................................ 123
5.5. Cloning Desktops ............................................................................................................. 124
5.5.1. Cloning Desktops (Oracle VM VirtualBox) ............................................................... 124
5.5.2. Cloning Desktops (VMware vCenter) ...................................................................... 125
5.5.3. Enabling VMware Linked Cloning ........................................................................... 126
5.5.4. Cloning Desktops (Microsoft Hyper-V) .................................................................... 127
5.5.5. About Clone Customization .................................................................................... 128
5.5.6. Debugging Fast Preparation Problems ................................................................... 128
5.5.7. Enabling Oracle VDI Fast Preparation for Windows Templates (Oracle VM
VirtualBox and Microsoft Hyper-V) ................................................................................... 129
5.5.8. Enabling System Preparation for Windows Templates (Oracle VM VirtualBox and
Microsoft Hyper-V) .......................................................................................................... 130
5.5.9. About Personal Hard Drives and Windows User Profiles ......................................... 132
5.5.10. Clone and Recycle Job Management ................................................................... 134
5.6. Application Virtualization with Microsoft App-V ................................................................... 135
5.6.1. App-V Repository Lifecycle .................................................................................... 135
5.6.2. Creating an App-V Repository ............................................................................... 136
5.7. Assigning Users to Desktops ............................................................................................ 138

v
Oracle® Virtual Desktop Infrastructure

5.7.1. Assigning Users to Pools or Desktops .................................................................... 138


5.7.2. Creating Custom Groups and Custom Group Filters ................................................ 139
5.7.3. Assigning Tokens to Users .................................................................................... 140
5.7.4. Assigning Tokens to Desktops or Pools .................................................................. 141
5.7.5. Creating Tokens in Bulk ........................................................................................ 142
5.7.6. Searching for Desktops ......................................................................................... 143
6. Desktop Access .......................................................................................................................... 145
6.1. About Desktop Access ..................................................................................................... 145
6.2. Desktop Access Using Sun Ray Clients ............................................................................ 147
6.2.1. About the Oracle VDI Sun Ray Kiosk Session ........................................................ 147
6.2.2. Sun Ray Client User Access Scenarios .................................................................. 148
6.2.3. User Password Change and Expiry ........................................................................ 151
6.2.4. Modifying the Oracle VDI Sun Ray Kiosk Session ................................................... 153
6.2.5. Desktop Login and Desktop Selector Configuration Options ..................................... 154
6.2.6. Global Settings for the Oracle VDI Kiosk Session ................................................... 155
6.2.7. Debugging the Oracle VDI Kiosk Session ............................................................... 156
6.2.8. Disabling the Desktop Login and Desktop Selector Screens .................................... 157
6.2.9. Disabling Client Authentication ............................................................................... 157
6.2.10. Enabling a Desktop Screen Lock for Sun Ray Clients ............................................ 157
6.2.11. Changing the Language Used in the Desktop Login and Desktop Selector
Screens .......................................................................................................................... 158
6.2.12. Adding a Helper Function to the Desktop Login Screen ......................................... 159
6.2.13. Changing the Desktop Disconnect Behavior .......................................................... 160
6.2.14. Customizing the Appearance of the Desktop Login and Desktop Selector Screens ... 161
6.2.15. Multiple Monitor Capability ................................................................................... 161
6.3. Desktop Access Using RDP Clients .................................................................................. 166
6.3.1. Accessing Desktops With an RDP Client ................................................................ 166
6.3.2. About the Oracle VDI RDP Broker ......................................................................... 167
6.4. Desktop Access Using Oracle Secure Global Desktop ....................................................... 167
6.5. Logging Out of Desktop Sessions ..................................................................................... 168
7. Performance and Tuning ............................................................................................................. 169
7.1. Introduction to Oracle VDI Performance and Tuning .......................................................... 169
7.2. Oracle VDI Hosts ............................................................................................................. 171
7.2.1. Sizing Guidelines for Oracle VDI Servers ............................................................... 171
7.2.2. Controlling the Number of Sessions on an Oracle VDI Host ..................................... 171
7.3. Virtualization Hosts .......................................................................................................... 171
7.3.1. Sizing Guidelines for Oracle VM VirtualBox Servers ................................................ 171
7.4. Storage Performance and Tuning ..................................................................................... 172
7.4.1. Sizing Guidelines for Sun ZFS Storage Servers ...................................................... 172
7.4.2. About ZFS Storage Caches ................................................................................... 174
7.4.3. Managing the ZIL on Oracle Solaris Platforms ........................................................ 175
7.4.4. Oracle VDI Global Settings for Storage .................................................................. 176
7.4.5. About Block Alignment .......................................................................................... 178
7.5. Networking ....................................................................................................................... 181
7.5.1. Configuring a Dedicated iSCSI Network ................................................................. 182
7.5.2. Configuring Link Aggregation ................................................................................. 182
7.5.3. Configuring a VLAN .............................................................................................. 185
7.6. Virtual Machines .............................................................................................................. 186
7.6.1. Configuring Desktop Resources Per Pool (Oracle VDI Provider) ............................... 186
7.6.2. Optimizing Windows 8 Desktop Images .................................................................. 187
7.6.3. Optimizing Windows 7 Desktop Images .................................................................. 190
7.6.4. Optimizing Windows XP Desktop Images ............................................................... 193
7.6.5. Optimizing Desktop Images for Other Operating Systems ........................................ 197
8. Monitoring and Maintaining Oracle VDI ........................................................................................ 199

vi
Oracle® Virtual Desktop Infrastructure

8.1. Logging in to Oracle VDI Manager .................................................................................... 199


8.2. Logging in to the Sun Ray Administration Tool .................................................................. 200
8.3. Oracle VDI Administrators ................................................................................................ 200
8.3.1. About Oracle VDI Role-Based Administration .......................................................... 200
8.3.2. Creating Administrators and Assigning Roles .......................................................... 202
8.4. Monitoring Oracle VDI in Oracle Enterprise Manager ......................................................... 204
8.5. Checking Oracle VDI Services and Logs ........................................................................... 205
8.5.1. Checking the Status of the Oracle VDI Center ........................................................ 206
8.5.2. Checking the Status of the Oracle VDI Service ....................................................... 206
8.5.3. Checking the Status of the Oracle VDI Database .................................................... 207
8.5.4. Checking the Oracle VDI Log Files ........................................................................ 207
8.5.5. Changing Logging for Oracle VDI .......................................................................... 208
8.5.6. Checking the Status of the Oracle VDI RDP Broker ................................................ 209
8.5.7. Checking the Status of the Oracle VDI Center Agent ............................................... 209
8.5.8. Checking the Status of Oracle VDI Manager ........................................................... 210
8.5.9. Checking the Status of Cacao and the Oracle VDI Modules ..................................... 210
8.6. Controlling the Oracle VDI Service .................................................................................... 211
8.7. Backing Up and Restoring the Oracle VDI Database ......................................................... 211
8.7.1. Backing Up the Oracle VDI Database .................................................................... 212
8.7.2. Restoring the Oracle VDI Database ....................................................................... 212
8.8. About Desktop Provider Alarms ........................................................................................ 213
8.8.1. Reconfiguring an Oracle VM VirtualBox Host .......................................................... 213
8.8.2. Reloading iSCSI or Sun ZFS Storage Configuration on Oracle VM VirtualBox
Hosts .............................................................................................................................. 215
8.9. Maintenance Mode ........................................................................................................... 215
8.9.1. Oracle VM VirtualBox and Microsoft Hyper-V Host Maintenance .............................. 215
8.9.2. Storage Maintenance ............................................................................................. 216
8.10. Deleting Orphan Disks ................................................................................................... 217
8.11. Oracle VDI Centers and Failover .................................................................................... 218
8.11.1. Identifying Hosts With a Role in an Oracle VDI Center .......................................... 218
8.11.2. Rebooting the Master Database Host Without Causing a Failover .......................... 219
8.11.3. Changing the Master Database Host .................................................................... 220
8.11.4. Changing the Replication Database Host .............................................................. 221
8.11.5. Tuning Automatic Failover ................................................................................... 221
8.11.6. Triggering a Failover Manually ............................................................................. 222
8.11.7. Removing an Unresponsive Host from an Oracle VDI Center ................................. 223
8.11.8. Changing the Sun Ray Primary Server ................................................................. 223
8.11.9. Synchronizing the Sun Ray Group Signature and Data Store Password .................. 224
9. Managing Desktops, Templates, App-V Repositories, and Revisions ............................................. 227
9.1. Managing Desktops ......................................................................................................... 228
9.1.1. Obtaining the ID of a Desktop ............................................................................... 228
9.1.2. Importing a Desktop .............................................................................................. 228
9.1.3. Renaming a Desktop ............................................................................................. 229
9.1.4. Starting a Desktop ................................................................................................ 230
9.1.5. Restarting a Desktop ............................................................................................. 230
9.1.6. Assigning a Desktop to a User .............................................................................. 231
9.1.7. Duplicating a Desktop ........................................................................................... 232
9.1.8. Exporting a Desktop .............................................................................................. 232
9.1.9. Exporting User Profiles from Personal Hard Drives ................................................. 233
9.1.10. Converting a Desktop to a Template .................................................................... 234
9.1.11. Activating an Unresponsive Desktop .................................................................... 234
9.1.12. Recloning Selected Desktops ............................................................................... 235
9.1.13. Recloning All Unused Desktops ........................................................................... 235
9.1.14. Suspending a Desktop ......................................................................................... 236

vii
Oracle® Virtual Desktop Infrastructure

9.1.15. Shutting Down a Desktop .................................................................................... 236


9.1.16. Powering Off a Desktop ....................................................................................... 237
9.1.17. Mounting an ISO Image in a Desktop ................................................................... 237
9.1.18. Unmounting an ISO Image from a Desktop ........................................................... 238
9.1.19. Updating the VirtualBox Guest Additions in a Desktop ........................................... 238
9.1.20. Connecting to the Desktop Console ..................................................................... 239
9.1.21. Disconnecting a User from a Remote Desktop Services Session ............................ 239
9.1.22. Logging a User Out of a Remote Desktop Services Session .................................. 239
9.1.23. Removing a User Assignment from a Desktop ...................................................... 240
9.1.24. Deleting a Desktop .............................................................................................. 241
9.2. Managing Templates ........................................................................................................ 241
9.2.1. Obtaining the ID of a Template .............................................................................. 242
9.2.2. Importing a Template ............................................................................................ 242
9.2.3. Renaming a Template ........................................................................................... 243
9.2.4. Starting a Template ............................................................................................... 243
9.2.5. Restarting a Template ........................................................................................... 244
9.2.6. Connecting to the Template Console ...................................................................... 244
9.2.7. Applying a Template to a Pool for Cloning .............................................................. 245
9.2.8. Copying a Template to a Desktop .......................................................................... 245
9.2.9. Exporting a Template ............................................................................................ 246
9.2.10. Updating the VirtualBox Guest Additions in a Template ......................................... 246
9.2.11. Mounting an ISO Image in a Template ................................................................. 247
9.2.12. Unmounting an ISO Image from a Template ......................................................... 247
9.2.13. Reverting a Template to the Latest Revision ......................................................... 248
9.2.14. Shutting Down a Template ................................................................................... 248
9.2.15. Powering Off a Template ..................................................................................... 249
9.2.16. Deleting a Template ............................................................................................ 249
9.3. Managing Template Revisions .......................................................................................... 250
9.3.1. Obtaining the ID of a Template Revision ................................................................ 250
9.3.2. Creating a Revision ............................................................................................... 250
9.3.3. Making a Revision the Master Revision .................................................................. 251
9.3.4. Renaming a Revision ............................................................................................ 252
9.3.5. Copying a Revision to a New Template .................................................................. 252
9.3.6. Copying a Revision to a New Desktop ................................................................... 253
9.3.7. Cloning a Revision to a New Desktop .................................................................... 253
9.3.8. Exporting a Revision ............................................................................................. 254
9.3.9. Applying System Preparation to a Revision ............................................................ 254
9.3.10. Applying a Revision for Cloning ........................................................................... 255
9.3.11. Deleting a Revision ............................................................................................. 255
9.4. Managing App-V Repositories .......................................................................................... 256
9.4.1. Obtaining the ID of an App-V Repository ................................................................ 256
9.4.2. Obtaining the ID of a Revision to an App-V Repository ............................................ 256
9.4.3. Renaming an App-V Repository ............................................................................. 257
9.4.4. Applying an App-V Repository to a Pool ................................................................. 257
9.4.5. Creating a Revision to an App-V Repository ........................................................... 258
9.4.6. Making an App-V Revision the Master Revision ...................................................... 259
9.4.7. Renaming a Revision to an App-V Repository ........................................................ 259
9.4.8. Deleting a Revision to an App-V Repository ........................................................... 260
9.4.9. Deleting an App-V Repository ................................................................................ 261
10. Troubleshooting and FAQs ........................................................................................................ 263
10.1. Oracle VDI Installation and Configuration ........................................................................ 265
10.1.1. Installation on Oracle Linux Platforms Fails Due to Missing Packages ..................... 265
10.1.2. Configuration on Oracle Linux Platforms Fails When SELinux is Enabled ................ 265
10.1.3. Oracle VDI Configuration Is Failing to Import svc_vdadb.xml .................................. 266

viii
Oracle® Virtual Desktop Infrastructure

10.1.4. Can I Try Out MySQL or Set up an Evaluation Oracle VDI Remote Database? ........ 266
10.1.5. Adding a Host to an Oracle VDI Center Fails With a Sun Ray Server Software
Replication Error ............................................................................................................. 267
10.1.6. Reconfiguring Oracle VDI Fails With "Error While Configuring Database" ................ 267
10.1.7. Oracle VDI Configuration Fails to Create Database Tables With Remote Windows
Databases That Use UTF-8 ............................................................................................ 268
10.1.8. Reverting to a Previous Release of Oracle VDI ..................................................... 268
10.2. Failover ......................................................................................................................... 272
10.2.1. Troubleshooting a Failover ................................................................................... 272
10.2.2. After a Failover the Primary Host is Not Configured ............................................... 275
10.3. User Directory ................................................................................................................ 275
10.3.1. Increasing Logging to Troubleshoot User Directory Problems ................................. 275
10.3.2. Kerberos Authentication to Active Directory Works for a While and Then Stops ........ 276
10.3.3. Can I Use PKI Instead of Kerberos for Authentication to an Active Directory? .......... 277
10.3.4. What Type of Privileged Access to the User Directory Is Required? ........................ 277
10.3.5. Can I Disable the Automatic Cleanup of Computer Objects in Active Directory? ....... 277
10.4. Oracle VM VirtualBox Desktop Provider .......................................................................... 278
10.4.1. Are all Oracle VM VirtualBox Releases Compatible With Oracle VDI? ..................... 278
10.4.2. Oracle VM VirtualBox Install Is Failing With "Postinstall Script Did Not Complete
Successfully" Errors ........................................................................................................ 278
10.4.3. There Is an Error When I Add an Oracle VM VirtualBox Host to a Desktop
Provider .......................................................................................................................... 278
10.4.4. What Are the Requirements for High Availability for Oracle VM VirtualBox? ............. 279
10.4.5. Changing the Password of the VirtualBox User ..................................................... 279
10.4.6. Adding a Sun ZFS or iSCSI Storage Fails if the VirtualBox User is Not Root ............ 281
10.4.7. Adding a Storage Fails With an "Unable to Stop Cluster" Error ............................... 281
10.4.8. A Sun ZFS or iSCSI Storage is Shown With a Reduced Capacity ........................... 282
10.4.9. A Storage Cannot Be Removed From a Desktop Provider ..................................... 282
10.4.10. Virtualization Hosts Crash if a Storage is Shut Down ........................................... 283
10.4.11. A Critical Alarm is Displayed When Storage is Added to a Desktop Provider .......... 283
10.4.12. Provider Host is Unresponsive After Updating Oracle VM VirtualBox ..................... 283
10.4.13. Storage is Unresponsive After Updating Oracle VM VirtualBox ............................. 283
10.4.14. Users Experience Blurry Text in Internet Explorer ................................................ 283
10.4.15. The Time in My Oracle VM VirtualBox Desktop Is Too Slow ................................. 284
10.4.16. I Can See My Oracle VM VirtualBox Hosted Desktop, But It Will Not Start ............. 284
10.4.17. Why Are My Windows 7 Audio Drivers Not Automatically Installed? ...................... 285
10.5. VMware vCenter Desktop Provider ................................................................................. 285
10.5.1. I Cannot Log into My VMware Virtual Machine ...................................................... 285
10.5.2. Users Cannot Log Into Their VMware Provided Windows desktop .......................... 285
10.5.3. Why Does My VMware Virtual Machine Have an Invalid IP Address Or Cannot Be
Pinged? .......................................................................................................................... 285
10.5.4. I Am Unable to Get a MS RDC Connection on My VMware Virtual Machine ............ 285
10.5.5. Creating a vCenter Desktop Provider Fails With "Unable to Contact VMware
VirtualCenter - Host Not Reachable at Port 443" Errors .................................................... 286
10.5.6. In My VMware Desktop Pool, New Virtual Machines Are Created Automatically, But
They Are Not Made Available .......................................................................................... 286
10.5.7. The VMware Virtual Machine Cloning Process Is Not Operating As Expected .......... 286
10.5.8. VMware Windows 8 Cloning Fails ........................................................................ 287
10.5.9. The Window Displaying the VMware-Hosted Virtual Desktop Is Freezing ................ 287
10.5.10. I Have Created a New Pool in My VMware Desktop provider and Virtual Machines
Are Not Created Automatically ........................................................................................ 288
10.5.11. How Do I Use VMware Virtual Machines With Multiple Network Adapters? ............ 288
10.5.12. Unused VMware Virtual Machines Are Not Being Recycled .................................. 289
10.6. Microsoft Hyper-V and RDS Desktop Providers ............................................................... 289

ix
Oracle® Virtual Desktop Infrastructure

10.6.1. Sessions Are Started by Oracle VDI on RDS Hosts That Do Not Participate in the
Microsoft Remote Desktop Provider. Why Is That Happening? .......................................... 289
10.6.2. Hyper-V Desktop Cloning Fails With "Cannot Reload MSiSCSI Target List" Errors ... 289
10.6.3. Can I Enter the Farm Information for the Microsoft Remote Desktop Provider and
let Oracle VDI Detect the Individual RDS Hosts Participating in the Farm? ......................... 290
10.6.4. Oracle VDI Is Not Able to Communicate With the Windows Server ......................... 290
10.6.5. Connection Problems between Oracle VDI and Hyper-V ........................................ 290
10.7. Desktops and Pools ....................................................................................................... 291
10.7.1. How Do I Make a Desktop Available to a User at All Times? .................................. 291
10.7.2. Starting a Desktop Fails With "No suitable Hosts to Start a Desktop for Desktop
Provider <Name>" Errors ................................................................................................ 291
10.7.3. What Is the Difference Between Personal and Flexible Desktop Assignments? ........ 291
10.7.4. Oracle VDI Fast Preparation Is Failing .................................................................. 292
10.7.5. Can I Use Wild Cards in Token Names to Represent a Group of Thin Clients in
Order to Assign These Thin Clients to a Pool? ................................................................. 292
10.7.6. The Audio in My Ubuntu Desktop Is Playing Too Slowly. What Should I Do? ........... 293
10.7.7. Audio Does Not Play After Changing the Audio Configuration for Oracle VM
VirtualBox Hosted Desktops in Oracle VDI Manager ......................................................... 293
10.7.8. USB Devices Are Not Detected ............................................................................ 293
10.7.9. Smart Cards Are Not Detected When VRDP Is Used ............................................ 294
10.7.10. What Are the Differences Between MS-RDP and VRDP? .................................... 294
10.7.11. Cloning Fails if the Sysprep Timezone Setting Does not Match the Host
Timezone ....................................................................................................................... 294
10.7.12. Checking the VirtualBox Guest Additions Version ................................................ 294
10.7.13. Starting A Desktop Fails With an "Error Getting State" Message ........................... 295
10.7.14. Creating an App-V Repository or Revision Takes a Long Time ............................. 295
10.7.15. Creating or Updating an App-V Repository Fails With a "Failed to Refresh App-V
Cache" Message ............................................................................................................ 296
10.7.16. Creating or Updating an App-V Repository Fails With a "Failed to Login User"
Message ......................................................................................................................... 297
10.7.17. Creating an App-V Repository Fails Due to Low Disk Space ................................ 297
10.7.18. Creating an App-V Repository Revision Fails With "An Internal Error Occurred"
Message ......................................................................................................................... 298
10.8. Logging In and Accessing Desktops ............................................................................... 298
10.8.1. Users Cannot Access Their Desktops .................................................................. 298
10.8.2. A User Can Log in But Their Desktop is Not Responding ....................................... 299
10.8.3. Error - "Currently There Is No Desktop Available Or Assigned to You" .................... 299
10.8.4. The Sun Ray Client Is Cycling and Cannot Connect to a Virtual Machine ................ 301
10.8.5. Users Cannot Log in to Ubuntu 8.04 Desktops Because the Network Is Not
Enabled .......................................................................................................................... 301
10.8.6. Hotdesking Redirect Does Not Work With Windows XP Professional and Microsoft
RDP ............................................................................................................................... 301
10.8.7. The Trust Relationship Between a Windows Desktop and the Domain Controller
Fails ............................................................................................................................... 302
10.9. Administration Tools ....................................................................................................... 303
10.9.1. I Cannot Log in to Oracle VDI Manager ................................................................ 303
10.9.2. I Cannot Log in to Oracle VDI Manager Running on Oracle Solaris 11 Using
Firefox ............................................................................................................................ 303
10.9.3. I Get a Blank Screen After Successfully Logging in to Oracle VDI Manager ............. 303
10.9.4. Error - "You Have Been Logged out Because a Consistent Response Could Not Be
Guaranteed" ................................................................................................................... 304
10.9.5. How Can I Change the Password of an Oracle VDI Host? ..................................... 304
10.9.6. How Do I Change the Password of a Remote MySQL Database? .......................... 304
10.9.7. Does the MySQL Database Store All Sun Ray Software Configuration? .................. 304

x
Oracle® Virtual Desktop Infrastructure

10.9.8. The vda Command Reports That Oracle VDI Is Not Running But Other Commands
Say It Is ......................................................................................................................... 305
10.9.9. Users Do Not Show Up in Users and Groups in Oracle VDI Manager ..................... 305
10.9.10. Is There a Way to Modify the Cacao Logging Behavior So That a Long History
Can Be Maintained? ....................................................................................................... 305
10.9.11. Jobs Do Not Finish Even After You Cancel Them with Oracle VDI Manager .......... 305
10.9.12. Can I Adjust the Logging Level for the Oracle VDI Logs? ..................................... 305
10.9.13. How Do I Log in to the Embedded MySQL Server Database? .............................. 305
10.10. Oracle VDI ................................................................................................................... 306
10.10.1. Oracle VDI Hangs Intermittently When Running on x2270 Hardware ..................... 306
10.10.2. The System Is Not Reacting as Expected ........................................................... 306
10.10.3. Which Service Owns the Oracle VDI Daemon Job? ............................................. 306
10.10.4. How Do I Configure DHCP in Oracle VDI? .......................................................... 307
A. Automated Administration Scripts ................................................................................................ 309
A.1. Parsing vda Commands that Result in Jobs ...................................................................... 309
A.2. Parsing vda Command Output ......................................................................................... 311
A.3. Parsing vda-center Command Output ............................................................................... 324
B. Defaults for the Software Bundled With Oracle VDI ...................................................................... 327
C. User Directory LDAP Filters and Attributes .................................................................................. 329
C.1. Editing LDAP Filters and Attributes .................................................................................. 329
C.2. LDAP Filters and Attributes for Users, Groups, and Containers .......................................... 330
C.2.1. Default LDAP Filters and Attributes for Users, Groups and Containers ..................... 331
C.2.2. Active Directory Settings for Users, Groups, and Containers ................................... 332
C.2.3. Oracle Directory Server Enterprise Edition Settings for Users, Groups, and
Containers ...................................................................................................................... 333
C.2.4. OpenDS Settings for Users, Groups, and Containers .............................................. 333
C.2.5. OpenLDAP Settings for Users, Groups, and Containers .......................................... 334
C.2.6. Novell eDirectory Settings for Users, Groups, and Containers ................................. 334
C.3. LDAP Filters and Attributes for Global Oracle VDI Centers ................................................ 335
C.3.1. Default LDAP Filters and Attributes for Global Oracle VDI Centers ........................... 335
C.3.2. Active Directory Settings for Global Oracle VDI Centers .......................................... 336
C.3.3. Oracle Directory Server Enterprise Edition Settings for Global Oracle VDI Centers .... 336
D. Remote Database Configuration ................................................................................................. 337
D.1. Installing and Configuring a Remote MySQL Database (InnoDB) ........................................ 337
D.2. Creating a Privileged Database Administrator ................................................................... 339
E. Licenses for Third-Party Components .......................................................................................... 341
E.1. Apache Software Foundation Licenses ............................................................................. 341
E.2. Bouncy Castle License .................................................................................................... 345
E.3. EclipseLink License ......................................................................................................... 346
E.4. Java Secure Channel (JSCH) for SSH2 License ............................................................... 346
E.5. Xerces License ................................................................................................................ 347
Glossary ......................................................................................................................................... 349

xi
xii
Preface
This document is part of the documentation library for Oracle Virtual Desktop Infrastructure (VDI) release
3.5, which is available at:

http://www.oracle.com/technetwork/server-storage/virtualdesktop/docs/index.html

The documentation library consists of the following items:

Oracle Virtual Desktop Infrastructure Release Notes


The release notes provide a summary of the new features, changes, fixed bugs and known issues in
Oracle VDI.

Oracle Virtual Desktop Infrastructure Getting Started Guide


The getting start guide describes how to get started with Oracle VDI and is intended for administrators
who are new to the product.

Oracle Virtual Desktop Infrastructure Administrator's Guide


The administrator's guide is a comprehensive guide to how to install, configure, and administer Oracle
VDI. Troubleshooting information is also included.

Enterprise Manager Plug-in User's Guide for Oracle Virtual Desktop Infrastructure
The plug-in user's guide is intended for administrators who are familiar with Oracle VDI and require
access to the comprehensive monitoring capabilities of Oracle Enterprise Manager.

Oracle Virtual Desktop Infrastructure Security Guide


The security guide is a supplemental guide to the security aspects of Oracle VDI. It addresses the
security concerns of Oracle VDI system administrators.

Audience
The Oracle VDI documentation is written for system administrators who want to install and configure
Oracle VDI in order to deploy desktops to users. It is assumed that readers are familiar with web and
virtualization technologies and have a general understanding of operating systems such as UNIX (including
Linux) and Windows.

Documentation for Additional Supporting Software


The documentation for additional supporting software used with Oracle VDI is available as follows:

• Sun Ray Software and Sun Ray Clients, including Oracle Virtual Desktop Client

http://www.oracle.com/technetwork/server-storage/sunrayproducts/docs/index.html

• Oracle VM VirtualBox

http://www.oracle.com/technetwork/server-storage/virtualbox/documentation/index.html

• Oracle Secure Global Desktop

http://www.oracle.com/technetwork/server-storage/securedesktop/docs/index.html

Documentation Accessibility
For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website
at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

xiii
Access to Oracle Support

Access to Oracle Support


Oracle customers have access to electronic support through My Oracle Support. For information, visit
http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?
ctx=acc&id=trs if you are hearing impaired.

Conventions
The following text conventions are used in this document:

Convention Meaning
boldface Boldface type indicates graphical user interface elements associated with an
action, or terms defined in text or the glossary.
italic Italic type indicates book titles, emphasis, or placeholder variables for which
you supply particular values.
monospace Monospace type indicates commands within a paragraph, URLs, code in
examples, text that appears on the screen, or text that you enter.

Document Revision
Document generated on: 2013-06-18 (revision: 2493)

xiv
Chapter 1. System Overview of Oracle Virtual Desktop
Infrastructure

Table of Contents
1.1. Introduction to Oracle Virtual Desktop Infrastructure ...................................................................... 1
1.2. About Virtualization ...................................................................................................................... 2
1.3. About Storage ............................................................................................................................. 3
1.4. About Management ..................................................................................................................... 3
1.5. About Desktop Access ................................................................................................................. 6

1.1. Introduction to Oracle Virtual Desktop Infrastructure


Oracle Virtual Desktop Infrastructure (VDI) provides access to virtualized desktops hosted in a data center.
Oracle VDI can provide a complete desktop provisioning and delivery service by:

• Creating, running, and storing virtual machines.

• Authenticating users and connecting them to their virtualized desktops.

• Enabling client devices to display virtualized desktops.

The four elements of an Oracle VDI system are virtualization, storage, management and desktop access,
as shown in Figure 1.1.

Figure 1.1. Oracle VDI Architecture

The following sections describe these elements.

1
About Virtualization

1.2. About Virtualization


Virtualization is the basis of Oracle VDI because it provides the functionality for creating and managing
desktops. A desktop is an instance of an operating system running on a virtualization platform. In Oracle
VDI, a virtualization platform is configured as a desktop provider. When you configure a desktop provider,
you specify the following:

• The provider type: This is the platform used to virtualize desktops.

• The provider hosts: The servers that actually run the desktops, and their associated storage.

Oracle VDI supports several types of desktop provider and the types can be divided into the following
categories:

• Hypervisor-based providers: These provide access to desktops that are virtual machines hosted by
a bare metal hypervisor such as a VMware ESX server, or a hosted hypervisor such as Oracle VM
VirtualBox.

• Session-based providers: These provide access to desktop sessions that are hosted by remote
computers, such as Microsoft Remote Desktop Services (RDS).

The provider hosts configured for a desktop provider are installed separately from Oracle VDI and run
on their own platforms. The provider hosts provide the physical resources for running desktops, such as
CPU and memory, as well as the means for managing desktops. The storage used by the provider hosts is
discussed in Section 1.3, “About Storage”.

Oracle VDI does not restrict you to a single virtualization platform. You can use a mixture of desktop
provider types and create as many desktop providers as you need. How Oracle VDI interacts with a
desktop provider depends on the provider type, and is described in more detail in the following sections.

Hypervisor-Based Desktop Providers


The following are the available hypervisor-based desktop providers:

• Oracle VM VirtualBox

• Microsoft Hyper-V

• VMware vCenter

The Oracle VM VirtualBox software is distributed with Oracle VDI. Unlike the other desktop providers,
VirtualBox enables you to run UNIX and Linux platform desktops as well Windows desktops. VirtualBox
also has its own integrated server for the Remote Desktop Protocol (RDP) that enables you to connect to,
and control, a remote virtual machine as though it was running locally.

With the Oracle VM VirtualBox and Microsoft Hyper-V desktop providers, Oracle VDI directly manages
the provider hosts. Oracle VDI sends requests to register desktops with a provider host, including the
configuration information for the virtual machines, and sends requests to manage those desktops, for
example to start, stop, and preserve the state of desktops. For Oracle VDI providers, Oracle VDI uses the
VirtualBox web service application programming interface (API) to communicate with the provider hosts.
For Microsoft Hyper-V providers, Windows Remote Management (WinRM) is used. The communication
between Oracle VDI and a provider host takes place over secure Hypertext Transfer Protocol (HTTPS)
connections. There is no limit on the number of hosts these desktop providers can have, and to ensure
best performance, Oracle VDI balances the desktop load across the available hosts.

When you configure a VMware vCenter desktop provider, you specify a VMware vCenter server rather
than individual provider hosts because the provider hosts are managed by the VMware infrastructure.
Oracle VDI sends requests for desktops to the vCenter server, and the vCenter server sends the request

2
Session-Based Desktop Providers

to a vSphere server in the group. Oracle VDI uses the VMware Infrastructure SDK web services API to
communicate with the vCenter server and the communication takes place over HTTPS. Although the
VMware infrastructure is responsible for all desktop operations, Oracle VDI is able to monitor the load and
choose a particular data store to use when creating a desktops.

Session-Based Desktop Providers


The following are the available session-based desktop providers:

• Microsoft Remote Desktop

• Sun Ray Kiosk

• Generic

The Microsoft Remote Desktop provider does not provide individual desktops, instead Oracle VDI connects
users to desktop sessions created on RDS servers. The provider host can be a single stand-alone RDS
server or a group of servers in an RDS farm. The RDS server or farm is responsible for creating new RDS
desktop sessions for users, or for reconnecting users to their existing desktop sessions (if Session Broker
is configured), and for load balancing the sessions. Optionally, you can configure the RDS servers so that
Oracle VDI can display session, CPU, and memory load information, in the Oracle VDI administration tools.

The Sun Ray Kiosk desktop provider provides access to types of sessions that are not available with
Oracle VDI itself, for example to connect to a remote desktop using a different broker such as the Sun Ray
VMware View connector, or to provide access to a web-based application in a locked-down web browser.

Generic desktop providers run RDS desktop sessions on physical computers or virtual machines. Typically
the Generic provider is used by Oracle VDI to connect users to existing Windows PCs, and is used as part
of a strategy for migrating desktops to the Oracle VDI solution.

1.3. About Storage


Storage is closely related to virtualization because usually a desktop provider requires somewhere to
create and store the virtual disks used for desktops. The storage requirements depend on the desktop
provider type.

The Oracle VM VirtualBox and Microsoft Hyper-V desktop providers require storage. Oracle VDI supports
local disks, network file system shares, iSCSI storage devices, and Zettabyte File System (ZFS) storage
pools. The storage that can be used depends on the desktop provider type and operating system of the
virtualization hosts.

VMware vCenter desktop providers also require storage but the storage is managed by the VMware
infrastructure. However, Oracle VDI is able to query vCenter for the available storage, and can select the
data store to use when creating virtual disks.

For all other desktop providers, storage is managed independently of Oracle VDI.

For the desktop providers that require storage, Oracle VDI is able to monitor the available free space and
current workload. If multiple storage servers are configured, Oracle VDI uses this information to balance
the load.

1.4. About Management


The management element is the main part of Oracle VDI. This element provides all the functionality
needed to build large-scale virtual machine deployments, and to provide users with access to their
desktops. It contains the following components:

• VDI Service

3
VDI Service

• Oracle VDI Center Agent

• Oracle VDI Web Server

• MySQL Database

• RDP Broker

• Sun Ray Software

The RDP Broker, and Sun Ray Software components provide the means for users to access their
desktops, and these are discussed in Section 1.5, “About Desktop Access”. The following sections
describe the purpose of the other components.

VDI Service
The VDI Service is the most important component of the Oracle VDI. It is used to create and manage
desktop providers and desktops, and to authenticate users and assign desktops to them. The VDI Service
is deployed as the vda module in the Common Agent Container (Cacao), which is a system daemon for
running Java management applications. Sometimes the VDI Service is referred to as the VDA Service.

With Oracle VDI, desktops are organized into pools. A pool is a group of desktops hosted by a particular
desktop provider type. Individual desktops can be imported into a pool, or a desktop can be imported as a
template which is then cloned to create the required number of desktops. Pools are also used to apply a
group of configuration settings to all the desktops in the pool, for example to specify the subnet on which
the desktops are placed, or to control the resources used by the virtual machines.

The desktops in a pool are one of the following types:

• Personal: These desktops are assigned to individual users and are owned by them until the desktop is
either deleted or assigned to another user by an Administrator.

• Flexible: These desktops are temporarily assigned to individual users. Once a user log outs out, or the
desktop is no longer in use, the desktop is either recycled so that it can be assigned to another user or
deleted.

The VDI Service can be configured to manage the complete lifecycle of a desktop by:

• Creating the virtual machine

• Starting the virtual machine

• Assigning the desktop to a user

• Monitoring the usage of the desktop and the state of the virtual machine

• Recycling the desktop

• Shutting down the virtual machine

• Deleting the virtual machine

Oracle VDI can make use of data held in external user directories to authenticate users and assign
desktops to them. This enables you to assign individual desktops or pools to the existing users and groups
within your organization. The VDI Service supports Active Directory and LDAP-type directories. Multiple
directories can be configured and this enables you to provide desktops to multiple companies from a single
Oracle VDI deployment, or to integrate with companies that have complex Active Directory structures such
as multiple tree forests with multiple domains. It is also possible to assign desktops to users using smart
cards (Oracle VDI calls these tokens). Tokens and user directories can be used together, or independently.

4
Oracle VDI Center Agent

Oracle VDI has two tools for configuring and managing the VDI Service:

• Oracle VDI Manager: This is a web-based graphical application.

• The vda command: This a command-line tool with a family of sub-commands for managing the
individual areas such as desktop providers and pools.

The VDI Service itself can only be started and stopped from the command line, using the vda-service
command.

Oracle VDI Center Agent


The Oracle VDI Center Agent is deployed as the vda.center.agent module in the Common Agent Container
(Cacao). It enables Oracle VDI to scale up to support more users, and to provide a reliable and highly
available service.

Oracle VDI hosts can be joined together to form an Oracle VDI Center. The first host that is configured
forms the Oracle VDI Center and this host is known as the primary host. Additional hosts are configured
and added to the Oracle VDI Center as secondary hosts. The Oracle VDI Center Agent provides secure
communication between the hosts in the Oracle VDI Center and is responsible for co-ordinating the
information about the Oracle VDI Center among the hosts.

An Oracle VDI Center that has more than one host is able to provide a reliable service because the
desktop sessions can be distributed between the hosts. If one host fails another one continues to host
desktop sessions with only a minimal interruption to the user. If the primary host becomes unavailable,
the Oracle VDI Center Agent automatically promotes a secondary host to become the new primary host,
and communicates these changes to the other hosts in the Oracle VDI Center. This is known as failover.
Failover only occurs if the embedded MySQL Server database is used.

MySQL Database
Oracle VDI requires a MySQL database to store configuration and run-time information. When you
configure an Oracle VDI Center, you can choose to use the embedded MySQL Server database that is
included with the Oracle VDI software, or you can use your own MySQL database.

If you use the embedded MySQL Server database, the primary host in the Oracle VDI Center runs the
Oracle VDI database (the master). To provide for high availability, a secondary host in the Oracle VDI
Center runs a replication database (the slave) that receives updates from the primary host. If the primary
host becomes unavailable, the Oracle VDI Center Agent automatically promotes the secondary host to
become the primary host, and the slave database becomes the master database. If you use your own
MySQL database, you must make your own provision for high availability.

The configuration data stored in the database includes the information about user directories and tokens,
desktop information such as desktop providers, pools, templates, and storage. The run-time information
includes information about the users that are logged in, the desktops they are using, the state of the
desktops, and details of cloning jobs that are running.

Oracle VDI Web Server


The Oracle VDI Web Server is an Apache Tomcat server that is used to run the graphical administration
tools used with Oracle VDI. In addition to Oracle VDI Manager, there is also the Sun Ray Administration
tool. Each administration tool uses its own Tomcat instance and is accessed using a different port number.

The Oracle VDI Web Server also runs the Oracle VDI web services, which are described in Section 1.5,
“About Desktop Access”.

5
About Desktop Access

1.5. About Desktop Access


With Oracle VDI, desktop sessions always run on the virtualization host and never on the client devices.
Users can access their desktops using any of the following clients:

• Oracle Sun Ray Clients, including Oracle Virtual Desktop Clients

• Remote Desktop Protocol (RDP) clients, including secure web access using Oracle Secure Global
Desktop

• Web services clients, typically web applications

All requests for access to a desktop are handled by the VDI Service. Once a user has a desktop, the RDP
protocol is used to connect to, and display, the desktop session. How users access their desktops depends
on the client used to access a desktop, and is described in the following sections.

Oracle Sun Ray Clients


Users can access a desktop using an Oracle Sun Ray Client, or an Oracle Virtual Desktop Client. A Sun
Ray Client is a secure, low-power, hardware thin client device for displaying desktops hosted on a server.
The Oracle Virtual Desktop Client is an application that installs on common client operating systems, and
is a software version of a Sun Ray Client. Both of these clients use the Appliance Link Protocol (ALP) to
connect to the Sun Ray Software which runs on an Oracle VDI host.

The Sun Ray Software provides the infrastructure for displaying desktops to Sun Ray Clients. The Sun
Ray Software runs the Oracle VDI Kiosk Session, which in turn runs a Desktop Selector program and a
Sun Ray Windows connector program. The Desktop Selector submits the user's credentials to the VDI
Service and requests the desktops assigned to the user. The Sun Ray Windows connector is an RDP
client for the Sun Ray environment and this connects the user to the virtual machine running the desktop.
Users access their desktops by authenticating themselves with a user name, password, and optionally
a Windows domain, or by inserting a smart card. If the authentication succeeds, the user is connected
to their desktop. If a user is assigned more than one desktop, a screen is displayed that enables them
to select the desktop to connect to. The user's credentials can also be passed to a Windows operating
system so that the user can be automatically logged into their desktop.

RDP Clients
Oracle VDI includes an RDP Broker that enables RDP clients to connect to a desktop using the Remote
Desktop Protocol. Supported RDP clients include the Remote Desktop Client included with Oracle Secure
Global Desktop, or Microsoft Remote Desktop Connection.

Users access their desktop by running an RDP client and specifying an Oracle VDI host to connect to.
The RDP Broker accepts the incoming request, which includes a user name, password, and optionally
a domain name, and runs the VDI Client command line tool, which authenticates the user and requests
a desktop. The VDI Service returns the IP address and port of the desktop to the VDI Client tool, which
passes this information to the RDP Broker. The RDP Broker redirects the RDP Client to connect to the
desktop at the specified IP address and port.

Oracle Secure Global Desktop extends the reach of traditional RDP clients by providing users with secure
access to a remote desktop using a browser.

Web Services Clients


The VDI Client command line tool has a web services application programming interface (API). Application
developers and system integrators can use the HTTP and SOAP protocols to develop their own solutions
for requesting a desktop from Oracle VDI. The web service is hosted by the Oracle VDI Web Server.

6
Chapter 2. Installing Oracle VDI and Configuring Oracle VDI
Centers

Table of Contents
2.1. About Oracle VDI Centers and Hosts ........................................................................................... 7
2.1.1. Single Oracle VDI Host Configuration ................................................................................ 8
2.1.2. High Availability Configuration Using the Embedded MySQL Server Database ...................... 8
2.1.3. High Availability Configuration Using a Remote MySQL Database ....................................... 9
2.2. Oracle VDI System Requirements ................................................................................................ 9
2.2.1. Oracle VDI Hardware Requirements .................................................................................. 9
2.2.2. Supported Installation Platforms for Oracle VDI ................................................................ 10
2.2.3. Requirements for Oracle Linux Platforms ......................................................................... 10
2.2.4. Requirements for Oracle Solaris 11 Platforms .................................................................. 14
2.2.5. Requirements for Oracle Solaris 10 Platforms .................................................................. 15
2.2.6. User Requirements ......................................................................................................... 15
2.2.7. Network Requirements .................................................................................................... 15
2.2.8. Time Synchronization ...................................................................................................... 15
2.2.9. Requirements for Using a Remote MySQL Database ........................................................ 16
2.2.10. Oracle VDI Centers in Virtualized Environments ............................................................. 16
2.2.11. Sun Ray Software ......................................................................................................... 17
2.2.12. Sun Ray Operating Software ......................................................................................... 17
2.2.13. Oracle Virtual Desktop Client ......................................................................................... 17
2.3. Installing and Configuring Oracle VDI ......................................................................................... 18
2.3.1. Installing Oracle VDI ....................................................................................................... 18
2.3.2. Configuring a New Oracle VDI Center .............................................................................. 19
2.3.3. Adding a Host to an Oracle VDI Center ........................................................................... 21
2.3.4. Removing a Host from an Oracle VDI Center ................................................................... 22
2.3.5. Reinstalling Oracle VDI ................................................................................................... 23
2.3.6. Uninstalling Oracle VDI ................................................................................................... 23
2.4. Updating Oracle VDI to Release 3.5 ........................................................................................... 24
2.4.1. Oracle VDI Update Requirements .................................................................................... 24
2.4.2. Updating an Oracle VDI Center ....................................................................................... 25
2.5. Firewall Ports and Protocols ....................................................................................................... 28
2.5.1. Firewalls Between Clients and Oracle VDI ....................................................................... 28
2.5.2. Firewalls Between Oracle VDI and User Directories .......................................................... 29
2.5.3. Firewalls Between Desktop Providers and Oracle VDI Centers .......................................... 30
2.5.4. Firewalls Between the Hosts in an Oracle VDI Center ....................................................... 31

2.1. About Oracle VDI Centers and Hosts


An Oracle VDI Center consists of one or more hosts on which the Oracle VDI software is installed and
configured.

The first host that is configured forms the Oracle VDI Center and this host is known as the primary host.
Additional hosts are configured and added to the Oracle VDI Center as secondary hosts. If you add more
than one host in an Oracle VDI Center, you automatically configure the Center for high availability. High
availability offers reliability so that if one host fails, another one continues to host desktop sessions with
only a minimal interruption to the user. An Oracle VDI Center that contains only a single host is also a
supported configuration.

7
Single Oracle VDI Host Configuration

Apart from high availability, the other main configuration choice is whether to use the embedded Oracle
VDI MySQL Server database, or to connect to your own remote database.

There are several possible configurations for Oracle VDI. The following sections describe the main
configuration models.

2.1.1. Single Oracle VDI Host Configuration


The single Oracle VDI host configuration is a configuration for deployments that prioritize low cost above
high availability. With a single Oracle VDI host there is no failover and all the required components are
installed on a single host. This configuration is possible only if you use the bundled Oracle VM VirtualBox.
On Oracle Solaris platforms, you must use either a local ZFS pool, a local disk, or a network file system
share for the storage. On Oracle Linux platforms, you must use either a local disk or a network file system
share for the storage.

Figure 2.1. Single Oracle VDI Host Configuration

It is possible to use separate hosts for the database, virtualization platform, and storage, but this increases
the cost of the deployment without increasing availability.

2.1.2. High Availability Configuration Using the Embedded MySQL Server


Database
The high availability configuration using the embedded MySQL Server database requires a minimum of two
hosts. The primary host forms the Oracle VDI Center and high availability is automatically configured as
soon as a secondary host is added. Additional secondary hosts can be added to the Oracle VDI Center to
increase capacity.

Figure 2.2. High Availability Configuration Using the Embedded MySQL Server Database

This configuration provides high availability at both the database level and the desktop access level.

8
High Availability Configuration Using a Remote MySQL Database

At the database level, the primary host runs the database (the master) for the entire Oracle VDI Center.
The first secondary host that is added to the Oracle VDI Center runs the replication database (the slave).
The slave database is not active, it simply receives asynchronous updates from the master database. If
the primary host becomes unavailable, the secondary host with the replication database is automatically
promoted to become the new primary. Additional secondary hosts have no database role.

At the desktop access level, the primary host is configured as the Sun Ray primary server and the
secondary hosts are configured as Sun Ray secondary servers. Together they form a failover group.
If the primary host becomes unavailable, you can manually promote a secondary host to become the
new primary. You can also enable automatic reconfiguration, so that the Sun Ray primary server is
automatically reconfigured after a failover. See Section 8.11.8, “Changing the Sun Ray Primary Server” for
details. Failover only occurs if the embedded MySQL Server database is used.

High availability of the virtualization platform, storage and user directory must be configured separately.

2.1.3. High Availability Configuration Using a Remote MySQL Database


The high availability configuration using a remote MySQL database requires a minimum of two hosts. The
primary host forms the Oracle VDI Center and high availability is automatically configured as soon as a
secondary host is added. Additional secondary hosts can be added to the Oracle VDI Center to increase
capacity.
Figure 2.3. High Availability Configuration Using a Remote MySQL Database

This configuration provides high availability at the desktop access level. The primary host is configured
as the Sun Ray primary server and the secondary hosts are configured as Sun Ray secondary servers.
Together they form a failover group. When a remote database is used, automatic failover never occurs. If
the primary host becomes unavailable, you must manually promote a secondary host to become the new
primary. See Section 8.11.8, “Changing the Sun Ray Primary Server” for details.

High availability at the database level can be configured for the remote database, but this is configured
outside of Oracle VDI.

High availability of the virtualization platform, storage and user directory must be configured separately.

2.2. Oracle VDI System Requirements


2.2.1. Oracle VDI Hardware Requirements
The basic hardware requirements for Oracle VDI are:

• At least 4 gigabytes (GB) of random-access memory (RAM)

• Quad core x86-64 (64-bit) central processing unit (CPU), with virtualization support (Intel VT-x or AMD-
V)

9
Supported Installation Platforms for Oracle VDI

• At least 32 gigabytes (GB) of free disk space

• 1 gigabit (Gbit) network interface card (NIC)

These requirements assume the host is used only for Oracle VDI.

Hardware sizing is a very important part of planning an Oracle VDI deployment. For some basic sizing
guidelines, see Chapter 7, Performance and Tuning. For more detailed assistance with sizing, contact an
Oracle Sales or Support representative.

2.2.2. Supported Installation Platforms for Oracle VDI


The following are the supported installation platforms for Oracle VDI:
Table 2.1. Supported Oracle VDI Installation Platforms
Operating System Supported Releases
Oracle Linux (64-bit) on x86 platforms 5.8 and 6.3
Oracle Solaris (64-bit) on x86 platforms Oracle Solaris 10 release 8/11 (update 10) or later

Oracle Solaris 11.1 or later

Oracle products certified on Oracle Linux are also certified and supported on Red Hat Enterprise Linux due
to implicit compatibility between both distributions. Oracle does not run any additional testing on Red Hat
Enterprise Linux products.

For the best performance on Oracle Linux platforms, use Oracle's Unbreakable Enterprise Kernel.

For Sun Ray Software, there are some feature differences between Oracle Linux and Oracle Solaris
platforms, see Feature Differences Between Oracle Solaris and Oracle Linux Platforms in the Sun Ray
Software Administration Guide for details.

All hosts in an Oracle VDI Center must use the same operating system, either Oracle Linux or Oracle
Solaris. You cannot use a mixture of Oracle Linux 5 and Oracle Linux 6 hosts, or Oracle Solaris 10 and
Oracle Solaris 11 hosts, in an Oracle VDI Center.

If you intend to use the single Oracle VDI host configuration model, you must also take the Oracle VM
VirtualBox requirements into account, see Section 2.1.1, “Single Oracle VDI Host Configuration” and
Section 4.1.2, “System Requirements for Oracle VM VirtualBox” for details.

The supported installation platforms for Oracle VDI can be virtualized, see Section 2.2.10, “Oracle VDI
Centers in Virtualized Environments”.

If you use technologies for automating the installation of the operating system or for replicating hosts, such
as Kickstart on Oracle Linux platforms, or Jumpstart or Flash Archives on Oracle Solaris platforms, you
must ensure that each host has a unique iSCSI initiator name. See your system documentation for details
on how to configure the iSCSI initiator.

2.2.3. Requirements for Oracle Linux Platforms


Oracle VDI requires that an Oracle Linux system is running in runlevel 5 (full multi-user mode with a
graphical user interface).

For Oracle Linux 5 platforms, the default package set is required and must be installed on the host.

For Oracle Linux 6 platforms, the Desktop package set is required and must be installed on the host.

Oracle VDI requires specific packages to be installed. The Oracle VDI installation script checks for these
packages before installing the software. If any required packages are missing, the installation script uses

10
Requirements for Oracle Linux Platforms

the yum command to check whether the packages are available. If the missing required packages are
available, you are prompted to continue and the packages are downloaded and installed. If the required
packages are not available, the installation fails and a list of required packages that must be installed is
displayed.

Automatic software update tools can be configured to update a host to a new release of Oracle Linux when
it becomes available. Updates performed in this way can result in the host being updated to a release of
Oracle Linux that is not supported. You must ensure that your Oracle VDI hosts are configured to receive
updates only for the supported releases of Oracle Linux.

Before you install Oracle VDI on a host:

1. Ensure that yum is configured correctly.

To resolve package dependencies and to receive updates only for the supported releases of Oracle
Linux, see the following:

• Section 2.2.3.1, “Required Channel Subscriptions for Oracle Unbreakable Linux Network (ULN)”

• Section 2.2.3.2, “Required Repository Configuration for the Oracle Public Yum Server”

Oracle Linux patches that fix bugs affecting Oracle VDI are only available on ULN.

2. Update the host with the latest package versions by using the yum update command.

If the host does not have Internet access, you can configure yum to resolve package dependencies using a
local source, see Section 2.2.3.3, “Resolving Package Dependencies Without Internet Access”.

SELinux must be disabled on the host. For details of how to check the SELinux status and how to disable
SELinux, see Section 2.2.3.4, “Disabling SELinux”.

The firewall must be disabled on the host during installation and configuration. See Section 2.2.7, “Network
Requirements” for more details.

For Oracle Linux 6 platforms, optimize the shared memory used by PulseAudio. Add the following line to
the /etc/pulse/client.conf file on the host:
shm-size-bytes = 131072

See Audio Output Troubleshooting (Oracle Solaris 11 and Oracle Linux 6) in the Sun Ray Software
Administration Guide for details about PulseAudio.

2.2.3.1. Required Channel Subscriptions for Oracle Unbreakable Linux Network (ULN)
Before you install Oracle VDI, ensure the host is subscribed to the required Oracle Unbreakable Linux
Network (ULN) channels. For information about ULN, see Oracle Linux Unbreakable Linux Network User's
Guide.

If you change your channel subscriptions, use the yum clean all command to clear the yum cache, and
then use the yum repolist command to check that you have subscribed to the correct channels.
ULN Channel Subscriptions for Oracle Linux 6 Platforms

• Unsubscribe from the following channels:

Channel Label Channel Name


ol6_x86_64_latest Oracle Linux 6 Latest (x86_64)
ol6_x86_64_UEK_latest Latest Unbreakable Enterprise Kernel for Oracle Linux 6 (x86_64)

11
Requirements for Oracle Linux Platforms

• Subscribe to the following channels:

Channel Label Channel Name


ol6_u3_x86_64_patch Oracle Linux 6 Update 3 Patch (x86_64)
ol6_u3_x86_64_base Oracle Linux 6 Update 3 installation media copy (x86_64)
ol6_x86_64_UEK_base Unbreakable Enterprise Kernel for Oracle Linux 6 (x86_64)
ol6_x86_64_gdm_multiseat Oracle Linux 6 GDM Multiseat

ULN Channel Subscriptions for Oracle Linux 5 Platforms

• Unsubscribe from the following channels:

Channel Label Channel Name


el5_x86_64_latest Enterprise Linux 5 Latest (x86_64)
ol5_x86_64_latest Oracle Linux 5 Latest (x86_64)
ol5_x86_64_UEK_latest Latest Unbreakable Enterprise Kernel for Oracle Linux 5 (x86_64)

• Subscribe to the following channels:

Channel Label Channel Name


ol5_u8_x86_64_patch Oracle Linux 5 Update 8 Patch (x86_64)
ol5_u8_x86_64_base Oracle Linux 5 Update 8 installation media copy (x86_64)
ol5_x86_64_UEK_base Unbreakable Enterprise Kernel for Oracle Linux 5 (x86_64)

2.2.3.2. Required Repository Configuration for the Oracle Public Yum Server
Before you install Oracle VDI, ensure the required repositories are configured for the Public Yum Server.
For details of how to enable access to the repositories on the Public Yum Server, see http://public-
yum.oracle.com. For Oracle Linux 6 platforms, see also Yum in the Oracle Linux Administrator's Solutions
Guide for Release 6.

For Oracle Linux 6 platforms, you must download the latest yum configuration file (http://public-
yum.oracle.com/public-yum-ol6.repo) and copy it to the /etc/yum.repos.d directory on the host. The
latest yum configuration file contains entries for the required Oracle Linux 6 GDM Multiseat repository.

If you change your repository configuration, use the yum clean all command to clear the yum cache,
and then use the yum repolist command to check that you have the correct repository configuration.
Repository Configuration for Oracle Linux 6 Platforms

• Disable the following repositories:

Repository Name
[ol6_latest] Oracle Linux 6 Latest (x86_64)
[ol6_UEK_latest] Latest Unbreakable Enterprise Kernel for Oracle Linux 6 (x86_64)

• Enable the following repositories:

Repository Name
[ol6_u3_base] Oracle Linux 6 Update 3 installation media copy (x86_64)

12
Requirements for Oracle Linux Platforms

Repository Name
[ol6_UEK_base] Unbreakable Enterprise Kernel for Oracle Linux 6 (x86_64)
[ol6_gdm_multiseat] Oracle Linux 6 GDM Multiseat (x86_64)

Repository Configuration for Oracle Linux 5 Platforms

• Disable the following repositories:

Repository Name
[ol5_latest] Oracle Linux 5 Latest (x86_64)
[ol5_UEK_latest] Latest Unbreakable Enterprise Kernel for Oracle Linux 5 (x86_64)

• Enable the following repositories:

Repository Name
[ol5_u8_base] Oracle Linux 5 Update 8 installation media copy (x86_64)
[ol5_UEK_base] Unbreakable Enterprise Kernel for Oracle Linux 5 (x86_64)

2.2.3.3. Resolving Package Dependencies Without Internet Access


If the host does not have Internet access, you can configure yum to resolve package dependencies locally
using the following:

• A local yum server.

• A local yum repository created from an ISO image.

• A local yum server created from an ISO image.

For details of how to configure a local yum server or repository, see Yum in the Oracle Linux
Administrator's Solutions Guide for Release 6.

For Oracle Linux 6 platforms, you currently cannot use an ISO image to resolve the package dependencies
because it does not contain gdm-multiseat packages.

Hosts configured to use a local yum server or repository created from an ISO image are only suitable for
evaluation installments because they are not configured to receive the latest packages and security fixes.

2.2.3.4. Disabling SELinux


Use either the sestatus or the getenforce command to check the current SELinux status. If the
SELinux status is Enforcing or Permissive , Oracle VDI installs correctly but configuration fails. To
disable SELinux:

1. Edit the /etc/selinux/config file and change the SELINUX setting to SELINUX=disabled.

The setenforce command only enables you to change between Enforcing or Permissive .

2. Reboot the host to apply the configuration change.

2.2.3.5. Checking the Status of the iSCSI daemon


The iSCSI daemon must be running on the Oracle VDI host. Use the following command to check:
# service iscsid status

13
Requirements for Oracle Solaris 11 Platforms

If the daemon is not running, start it with the following command:


# service iscsid start

On Oracle Linux 6 platforms, if daemon fails to start, try the following command:
# service iscsid force-start

2.2.4. Requirements for Oracle Solaris 11 Platforms


Oracle VDI requires that an Oracle Solaris system is running in runlevel 3 (multi-user level with NFS
resources shared).

The default Oracle Solaris 11 packages, which are provided through the solaris package publisher, are
required and must be installed on the host.

Oracle VDI requires specific packages to be installed. The Oracle VDI installation script checks for these
packages before installing the software. If any required packages are missing, the installation script uses
the pkg command to check whether the packages are available. If the missing required packages are
available, you are prompted to continue and the packages are downloaded and installed. If the required
packages are not available, the installation fails and a list of required packages that must be installed is
displayed. You must resolve these dependencies before you can install Oracle VDI.

Before you install Oracle VDI on a host:

1. Ensure that the Oracle Solaris Image Packaging System (IPS) is configured to receive updates from
the Oracle Solaris 11 Support Repository.

For more details, see the Oracle Technology Network article How to Update Oracle Solaris 11 Systems
From Oracle Support Repositories.

2. Install the latest Oracle Solaris 11 Support Repository Update (SRU), using the pkg update
command.

For more details, see the Oracle Technology Network article More Tips for Updating Your Oracle
Solaris 11 System from the Oracle Support Repository.

The firewall must be disabled on the host. See Section 2.2.7, “Network Requirements” for more details.

If you use Solaris zones, Oracle VDI must be installed in the global zone. Installation in a non-global zone
is not supported.

To increase the performance of Sun Ray Clients, make the following configuration updates:

1. Add the following line to the host's /etc/system file.


set hires_tick=1

For more information about this setting, see How to Improve Sun Ray Client Performance by
Decreasing Buffering on the Network Switch (Oracle Solaris) in the Sun Ray Software Administration
Guide.

2. Add the following line to the host's /etc/system file.


set mac:mac_cpu_binding_on=0

For more information about this setting, see How to Improve Network Performance by Disabling CPU
Binding (Oracle Solaris 11) in the Sun Ray Software Administration Guide.

3. Reboot the host.

14
Requirements for Oracle Solaris 10 Platforms

2.2.5. Requirements for Oracle Solaris 10 Platforms


Oracle VDI requires that an Oracle Solaris system is running in runlevel 3 (multi-user level with NFS
resources shared).

The Entire Distribution software cluster is required and must be installed on the host.

Before you install Oracle VDI, the latest Recommended Patchset must be installed on the host. You can
download the patchset from My Oracle Support.

The firewall must be disabled on the host. See Section 2.2.7, “Network Requirements” for more details.

If you use Solaris zones, Oracle VDI must be installed in the global zone. Installation in a non-global zone
is not supported.

To increase the performance of Sun Ray Clients, make the following configuration update:

1. Add the following line to the host's /etc/system file.


set hires_tick=1

For more information about this setting, see How to Improve Sun Ray Client Performance by
Decreasing Buffering on the Network Switch (Oracle Solaris) in the Sun Ray Software Administration
Guide.

2. Reboot the host.

2.2.6. User Requirements


In order to install and configure Oracle VDI, you must be able to run commands as root on the host.

Typically, you use the su - root command to become superuser or to assume the root role.
Alternatively, you can use the sudo command to run commands. To use the sudo command, your sudo
configuration must grant running the required Oracle VDI commands as root.

2.2.7. Network Requirements


Before you install and configure Oracle VDI, disable the firewall on the host. This ensures that the required
configuration can take place. After installation and configuration, you can re-enable the firewall. See
Section 2.5, “Firewall Ports and Protocols” for details of the ports that might need to be opened.

You must have Domain Name System (DNS) entries for your Oracle VDI hosts. The DNS forward lookup
and reverse lookup for a host must always succeed. There must be a one-to-one mapping between the
forward and reverse lookup.

Always use fully-qualified DNS names for your Oracle VDI hosts. For example, vdi.example.com.

A host must have a fixed host name and a static IP address. The host cannot be a DHCP client.

Currently, Oracle VDI does not support IPv6 or IP MultiPathing (IPMP).

There are additional network requirements for Sun Ray Software, see Using a Shared Network
Configuration in the Sun Ray Software Administration Guide.

2.2.8. Time Synchronization


It is important to synchronize the time on your Oracle VDI hosts. Use Network Time Protocol (NTP)
software to ensure the time on all hosts is synchronized. The time difference between your hosts should be
less than 30 seconds.

15
Requirements for Using a Remote MySQL Database

When you configure Oracle VDI, a check is made as to whether NTP is configured on the host. If NTP is
not configured, the first host (the primary) added to the Oracle VDI Center is automatically configured as an
NTP server, and the secondary hosts in the Oracle VDI Center automatically synchronize their times with
the primary. If NTP is configured but the time on a host is not synchronized, a warning displays when you
configure Oracle VDI.

2.2.9. Requirements for Using a Remote MySQL Database


You specify that you want to use a remote MySQL database when you configure the primary host in an
Oracle VDI Center. The remote MySQL database must already be installed and configured.

The following are the supported remote databases:

• MySQL Server, at least release 5.0, with the InnoDB storage engine.

• MySQL Cluster, at least release 6.2.15, with the NDB storage engine.

To use the remote database, you must provide the following information when you configure Oracle VDI on
a primary host:

• The DNS name of the MySQL host.

• The user name and password of a privileged administrator in the MySQL database.

• The port number to use for connections to the database and whether you want to use Socket Secure
Layer (SSL) to secure the connections.

The privileged database administrator is used only to create and configure an Oracle VDI database on
the remote MySQL database. When the Oracle VDI database is created, a database user is also created.
All access to the remote Oracle VDI database is performed through this user. By default, the name of the
remote Oracle VDI database is vda and the name of the database user is vdadb. When you configure the
Oracle VDI primary, you can choose different names, and choose a password to use for the database user.

To use SSL connections to the remote database, you must copy the certificate and key files needed for
the SSL connection to the primary host so that they can be specified when you configure Oracle VDI. The
certificates and key must be in Privacy Enhanced Mail (PEM) format. Depending on the SSL configuration
of the remote database, you might need the following:

• The Certificate Authority (CA) certificate

• The client certificate

• The client certificate private key

For more information about MySQL SSL configuration, refer to the chapter "MySQL Server Administration"
in the MySQL Reference Manual.

2.2.10. Oracle VDI Centers in Virtualized Environments


Oracle VDI is supported, and can be installed in, an Oracle virtualized environment. If you encounter
a problem when using an unsupported virtualization environment, you may be asked to demonstrate
the issue on a non-virtualized operating system to ensure the problem is not related to the virtualization
product.

If you plan to create an Oracle VDI Center by cloning an Oracle VDI host template, note the following:

• Only clone an unconfigured host.

16
Sun Ray Software

A fully-configured Oracle VDI host template cannot be cloned. You can install the Oracle VDI software
in the template, but you can only configure the host and add it to an Oracle VDI Center after it has been
cloned.

Use the -i option with the vda-install command to install the software without configuring it.

• iSCSI initiator node names must be unique for each host.

After cloning the template, you might have to reconfigure the iSCSI initiator name on the host, so that it
is a unique name. See your system documentation for details on how to configure the iSCSI initiator.

• High availability requires two separate hosts.

The primary Oracle VDI host (with the master database) and the first secondary Oracle VDI host (with
the replication database) can be installed in a virtualized environment. However, to provide for high
availability, they must be hosted on separate physical machines.

For information on multiple Oracle VDI Centers, see Section 3.12, “About Global Oracle VDI Centers”.

2.2.11. Sun Ray Software


When you install and configure Oracle VDI, Oracle Sun Ray Software is also automatically installed and
configured. You do not need to configure Sun Ray Software separately.

See also Feature Differences Between Oracle Solaris and Oracle Linux Platforms in the Sun Ray Software
Administration Guide.

For the latest list of peripherals tested to work with Sun Ray Clients, see the Sun Ray Clients and Oracle
Virtual Desktop Client Peripherals List at:

http://www.oracle.com/technetwork/server-storage/sunrayproducts/docs/index.html

2.2.12. Sun Ray Operating Software


Every Sun Ray Client contains a firmware module known as Sun Ray Operating Software. Updates to
Sun Ray Operating Software are released periodically. The updates include support for the latest Sun Ray
Software features, performance enhancements, and bug fixes.

In order to update Sun Ray Clients with the latest firmware, Sun Ray Operating Software must be
downloaded separately from My Oracle Support and installed on Sun Ray servers. Both new and existing
Sun Ray Clients might not contain the latest Sun Ray Operating Software and might need to be updated.

The latest Sun Ray Operating Software can be downloaded from the Sun Ray Products Download page at:

http://www.oracle.com/technetwork/server-storage/sunrayproducts/downloads/index.html

See Sun Ray Client Firmware in the Sun Ray Software Administration Guide for details of how to update
the Sun Ray Operating Software on Sun Ray Clients.

For support-related questions about Sun Ray Operating Software, see knowledge document ID 1448410.1
on My Oracle Support.

2.2.13. Oracle Virtual Desktop Client


An Oracle Virtual Desktop Client is a software version of a Sun Ray Client. The Oracle Virtual Desktop
Client application runs on an ordinary PC or tablet and provides a Sun Ray session in a desktop window.
It is supported and can be installed on Windows, Linux, Mac OS X, iPad, and Android. An Oracle Virtual
Desktop Client supports most of the standard Sun Ray Client functionality.

17
Installing and Configuring Oracle VDI

The Oracle Virtual Desktop Client product is not included with the Oracle VDI software. It must be
downloaded separately from the Sun Ray Products Download page at:

http://www.oracle.com/technetwork/server-storage/sunrayproducts/downloads/index.html

You should ensure that you use the latest release of Oracle Virtual Desktop Client as this includes support
for the latest Sun Ray Software features, performance enhancements, and bug fixes.

For detailed information about using the Oracle Virtual Desktop Client application, see:

• Oracle Virtual Desktop Client documentation at:

http://www.oracle.com/technetwork/server-storage/sunrayproducts/docs/index.html

• Oracle Virtual Desktop Clients in the Sun Ray Software Administration Guide

2.3. Installing and Configuring Oracle VDI


2.3.1. Installing Oracle VDI
Before you begin, check that the host meets the requirements for installing Oracle VDI, as described in
Section 2.2, “Oracle VDI System Requirements”.
Steps

1. Download the Oracle VDI software archive to a temporary location on the host.

2. Become superuser (root) on the host.

See Section 2.2.6, “User Requirements” for details.

3. Unzip the Oracle VDI software archive and change working directory to the extracted directory.

• On Oracle Solaris 10 hosts:


# unzip vda_3.5_solaris_10_amd64.zip
# cd vda_3.5_solaris_10_amd64

• On Oracle Solaris 11 hosts:


# unzip vda_3.5_solaris_11plus_amd64.zip
# cd vda_3.5_solaris_11plus_amd64

• On Oracle Linux hosts:


# unzip vda_3.5_linux.zip
# cd vda_3.5_linux

4. Install the software.

If you use zones on Oracle Solaris hosts, Oracle VDI must be installed in the global zone.

In the directory extracted from the Oracle VDI software archive, run the following command:
# ./vda-install

Use the -i option with the vda-install command to install the software without configuring it. You
should use this option if you are you are installing the software in a host template for use in a virtualized
environment.

The software is installed in /opt/SUNWvda.

18
Configuring a New Oracle VDI Center

On Oracle Linux and Oracle Solaris 11 hosts, the installation script checks whether the required
packages for Oracle VDI are installed. If any required packages are missing and packaging system is
configured correctly, the installation script prompts you to continue and installs the missing packages. If
the required packages are not installed, the installation fails.

At the end of the installation, you are prompted to configure Oracle VDI.
Do you want to configure Oracle VDI 3.5 now? ([y]/n)

• To configure Oracle VDI later, type n and press the Return key.

• To configure Oracle VDI now, press the Return key.

If you use the -i option with the vda-install command, the configuration prompt is not displayed.

When you configure Oracle VDI on a host, you can either create a new Oracle VDI Center or you can
add the host to an existing Oracle VDI Center. For details of how to configure Oracle VDI, see:

• Section 2.3.2, “Configuring a New Oracle VDI Center”

• Section 2.3.3, “Adding a Host to an Oracle VDI Center”

Warning

If you are prompted to reboot the host to complete the installation, ensure you
do this.

2.3.2. Configuring a New Oracle VDI Center


Follow these steps to configure Oracle VDI on a host and form a new Oracle VDI Center. To add a host to
an existing Oracle VDI Center, see Section 2.3.3, “Adding a Host to an Oracle VDI Center”.

You can configure Oracle VDI on a host in the following circumstances:

• As part of the software installation, immediately after you install or update Oracle VDI software on a host.

• As a separate step, after you install or update Oracle VDI software on a host.

• As a separate step, after you unconfigure Oracle VDI on a host.

To use a remote MySQL database instead of the embedded Oracle VDI MySQL Server database, ensure
you have all the required information as described in Section 2.2.9, “Requirements for Using a Remote
MySQL Database”.
Steps

1. (Optional) Start Oracle VDI configuration.

This step is not necessary if you configure the software at the same time as you install it.

Run the following command as root:


# /opt/SUNWvda/sbin/vda-config

See Section 2.2.6, “User Requirements” for details of how to run commands as root.

When you installed Oracle VDI, if the installation script detected the preserved configuration from an
existing installation or you installed the software with the vda-install -p command, the host is

19
Configuring a New Oracle VDI Center

automatically configured using the preserved configuration. Otherwise, a list of configuration types is
displayed.
1 New Oracle VDI Center
2 Join Oracle VDI Center

Select (1/2):

2. To configure a new Oracle VDI Center, type 1 and press the Return key.

If you are configuring an Oracle VDI Center that contains only one host, type 1.

A list of configuration settings is displayed.


Review the settings for a new Oracle VDI Center:
Name: VDI Center
Administrator Password: ********
VDI Administrator (super-user): root
DNS name of this host: vdi1.example.com
Maximum number of sessions on this host: 100
User ID range start: 150000
Database: Embedded Oracle VDI

Do you want to create the Oracle VDI Center now?


Enter 'c' to customize the settings. ([y]/c):

The default is to use the embedded Oracle VDI MySQL Server database. To use a remote MySQL
database, you must customize the configuration settings.

• To accept the defaults and create the Oracle VDI Center, press the Return key.

• To change the settings before creating the Oracle VDI Center, type c and press the Return key.

If you change the settings, you can review the changes before they are applied.

The host is configured using the supplied settings.

The following are the configuration settings for a primary host:

• Name: The name of the Oracle VDI Center. The name can contain alphanumeric characters as well
as spaces.

• Administrator Password: The password used to secure the embedded Oracle VDI MySQL Server
database and the Sun Ray data store.

Normally you do not need to know this password and an automatically-generated password is used.
To use the automatically-generated password, press the Return key. Otherwise you can provide
a password, which you have to enter twice to confirm. The password must contain at least five
characters.

• VDI Administrator (super-user): The user name of the initial Oracle VDI administrator.

You use the credentials of this user to log in to the Oracle VDI graphical administration tool, and to
use the command-line tools for configuring Oracle VDI. You can add further administrators later.

• DNS name of this host: The fully-qualified DNS name of the host, for example
vdi1.example.com. There must be a valid DNS entry for the host, otherwise the configuration fails.

• Maximum number of sessions on this host: This is the maximum number of user sessions that
can run on each Oracle VDI host in the Oracle VDI Center.

20
Adding a Host to an Oracle VDI Center

• User ID range start: Oracle VDI creates a local user for each user session on the Oracle VDI host.
This option enables you to specify the starting number of the user ID.

• Database: Choose whether to use the embedded Oracle VDI MySQL Server database, or connect to
a remote MySQL database. For more information about using remote databases, see Section 2.2.9,
“Requirements for Using a Remote MySQL Database”.

2.3.3. Adding a Host to an Oracle VDI Center


Follow these steps to configure Oracle VDI on a host and add it to an existing Oracle VDI Center. To
configure Oracle VDI on a host and form a new Oracle VDI Center, see Section 2.3.2, “Configuring a New
Oracle VDI Center”.

You can configure Oracle VDI on a host in the following circumstances:

• As part of the software installation, immediately after installing or updating Oracle VDI software on a
host.

• As a separate step, after installing or updating Oracle VDI software on a host.

• As a separate step, after unconfiguring Oracle VDI on a host.

Steps

1. (Optional) Start Oracle VDI configuration.

This step is not necessary if you configure the software at the same time as installing the software.

Run the following command as a root:


# /opt/SUNWvda/sbin/vda-config

See Section 2.2.6, “User Requirements” for details of how to run commands as root.

When you installed Oracle VDI, if the installation script detected the preserved configuration from an
existing installation, or you installed the software with the vda-install -p command, the host is
automatically configured using the preserved configuration. Otherwise, a list of configuration types is
displayed.
1 New Oracle VDI Center
2 Join Oracle VDI Center

Select (1/2):

2. To add the host to an existing Oracle VDI Center, type 2 and press the Return key.

You are prompted to enter the DNS name of the primary host in the Oracle VDI Center.
Enter the primary Oracle VDI Host:

3. Enter the fully-qualified DNS name of the primary host in the Oracle VDI Center, for example
vdi1.example.com, and press the Return key.

The MD5 fingerprint of the primary host's SSL certificate is displayed and you are prompted to enter the
credentials for becoming the root user on the primary host.

• On Oracle Linux and Oracle Solaris hosts where root is not configured as a role:
Retrieving certificate from vdi1.example.com...

21
Removing a Host from an Oracle VDI Center

MD5 fingerprint is 59:D9:6C:D1:52:00:51:76:71:89:CE:B8:2B:97:9B:D0.

Enter the root password for vdi1.example.com:

• On Oracle Solaris hosts where root is configured as a role:


Retrieving certificate from vdi1.example.com...
MD5 fingerprint is 59:D9:6C:D1:52:00:51:76:71:89:CE:B8:2B:97:9B:D0.

Enter the name of a user who can assume the root role on vdi1.example.com [jdoe]:

4. Check that the MD5 fingerprint matches the fingerprint of the primary host.

This is an important security step that ensures you are adding the host to a genuine Oracle VDI Center.
To check the fingerprint, run the vda-center agent-status command as root on the primary host.
# /opt/SUNWvda/sbin/vda-center agent-status
Agent is up for 0 day(s), 0:6.
MD5 fingerprint is 59:D9:6C:D1:52:00:51:76:71:89:CE:B8:2B:97:9B:D0.

5. Enter the credentials for becoming the root user on the primary host.

• On Oracle Linux and Oracle Solaris hosts where root is not configured as a role, enter root's
password and press the Return key.

• On Oracle Solaris hosts where root is configured as a role, enter the credentials for assuming the
root role and press the Return key.
Enter the name of a user who can assume the root role on vdi1.example.com [jdoe]:

Enter the password for jdoe on vdi1.example.com:

Enter the password for the root role on vdi1.example.com:

You are prompted to enter the DNS name of the host you are adding to the Oracle VDI Center.
Enter the DNS name of this host [vdi2.example.com]:

6. To accept the detected DNS name of the secondary, press the Return key. Otherwise, enter the fully-
qualified DNS name of the secondary and press the Return key.

There must be a valid DNS entry for the host, otherwise the configuration fails.

The host is configured using the supplied settings.

2.3.4. Removing a Host from an Oracle VDI Center


You might want to remove a host from an Oracle VDI Center, for example to add it to a different Oracle VDI
Center or to resolve a problem with the host.

To force the removal of a host from an Oracle VDI Center because the host is no longer responding, see
Section 8.11.7, “Removing an Unresponsive Host from an Oracle VDI Center”.
Steps

1. Check the configuration of the Oracle VDI Center and reconfigure it if needed.

If the Oracle VDI Center contains multiple hosts, run the following command as root to identify the
master database host, the replication database host, and the Sun Ray primary server:
# /opt/SUNWvda/sbin/vda-center getprops \

22
Reinstalling Oracle VDI

-p db.master.host,db.replication.host,srs.primary.host

If the host you want to remove is shown in the output of this command, reconfigure the Oracle VDI
Center as follows:

• Master database host (db.master.host)

Configure another host as the master database host. See Section 8.11.3, “Changing the Master
Database Host” for details.

• Replication database host (db.replication.host)

Configure another host to run the replication database so that high availability is maintained. See
Section 8.11.4, “Changing the Replication Database Host” for details.

• Sun Ray primary server (srs.primary.host)

If the host is not the master database host (db.master.host), configure another host as the Sun
Ray primary server. See Section 8.11.8, “Changing the Sun Ray Primary Server” for details.

2. Unconfigure Oracle VDI on the host.

To unconfigure the host without removing the Oracle VDI software, run the following command as root:
# /opt/SUNWvda/sbin/vda-config -u

To uninstall the Oracle VDI software and unconfigure the host, run the following command as root:
# /opt/SUNWvda/sbin/vda-install -u

2.3.5. Reinstalling Oracle VDI


To reinstall Oracle VDI and preserve your existing configuration, make sure you first back up the following:

• Oracle VDI database

Ensure you have a backup of the Oracle VDI database before you reinstall. This enables you to restore
the current system. See Section 8.7, “Backing Up and Restoring the Oracle VDI Database”.

• Customized database configuration files

If you customized the /etc/opt/SUNWvda/my.cnf file, ensure you back up this file as it is replaced
when you reinstall Oracle VDI. If you customized any of the other database configuration files (*.cnf) in
the /etc/opt/SUNWvda directory, back them up. Add the customizations from the backup to the new
files.

• Customized Sun Ray Server access configuration file

If you customized either the /etc/pam.conf file (Oracle Solaris platforms) or the /etc/pam.d/
utadmingui file (Oracle Linux platforms), ensure you back up this file as this file is replaced when you
reinstall Oracle VDI. Add the customizations from the backup to the new file.

To reinstall Oracle VDI, you must first uninstall it, see Section 2.3.6, “Uninstalling Oracle VDI”. After you
reinstall the software, restore the data from the backups.

2.3.6. Uninstalling Oracle VDI


Perform the following steps to completely remove Oracle VDI from a host.

23
Updating Oracle VDI to Release 3.5

If you are removing an entire Oracle VDI Center, uninstall Oracle VDI on the secondary hosts first and then
uninstall Oracle VDI on the primary host.
Steps

1. Check the configuration of the Oracle VDI Center and reconfigure it if needed.

If the Oracle VDI Center contains multiple hosts, run the following command as root to identify the
master database host, the replication database host, and the Sun Ray primary server:

# /opt/SUNWvda/sbin/vda-center getprops \
-p db.master.host,db.replication.host,srs.primary.host

If the host you want to remove is shown in the output of this command, reconfigure the Oracle VDI
Center as follows:

• Master database host (db.master.host)

Configure another host as the master database host. See Section 8.11.3, “Changing the Master
Database Host” for details.

• Replication database host (db.replication.host)

Configure another host to run the replication database so that high availability is maintained. See
Section 8.11.4, “Changing the Replication Database Host” for details.

• Sun Ray primary server (srs.primary.host)

If the host is not the master database host (db.master.host), configure another host as the Sun
Ray primary server. See Section 8.11.8, “Changing the Sun Ray Primary Server” for details.

2. Unconfigure and uninstall Oracle VDI on the host.

Run the following command as root:

# /opt/SUNWvda/sbin/vda-install -u

3. Reboot the host.

2.4. Updating Oracle VDI to Release 3.5


2.4.1. Oracle VDI Update Requirements
Updates to Oracle VDI release 3.5 are supported only from the following releases of Oracle VDI:

• 3.4.1

• 3.4

To update from any other release of Oracle VDI, contact Oracle Support.

When you update, you might also need to upgrade the operating system on your hosts to meet the
installation requirements for this release of Oracle VDI. The update instructions indicate the point at which
you should perform the operating system upgrade. Ensure that you have adequate backups of your hosts
so that you can recover in the event of a failure. When you upgrade a host, do not change the host's DNS
name or IP address as part of the upgrade. If you need to change these details, you must perform a fresh
installation of Oracle VDI after removing the existing version.

24
Updating an Oracle VDI Center

If your Oracle VDI hosts are also used as Oracle VM VirtualBox virtualization hosts, you must also take the
VirtualBox requirements into account, see Section 4.1.2, “System Requirements for Oracle VM VirtualBox”
and Section 4.1.4, “Updating Oracle VM VirtualBox” for details.

Sun Ray Operating Software


When you update Oracle VDI, you should also check whether updates to the Sun Ray Operating Software
(Client Firmware) are available. See Section 2.2.12, “Sun Ray Operating Software” for details of how to
obtain and install the firmware.

Oracle Virtual Desktop Client


When you update Oracle VDI, you should also check for the latest release of Oracle Virtual Desktop Client,
see Section 2.2.13, “Oracle Virtual Desktop Client”.

Updating Virtualization Platforms


In addition to updating Oracle VDI, you might also have to update your virtualization platform. See the
following for details of what is supported in this release:

• Section 4.1.2, “System Requirements for Oracle VM VirtualBox”

• Section 4.2.2, “System Requirements for Microsoft Hyper-V”

• Section 4.2.4, “System Requirements for Microsoft Remote Desktop Services”

• Section 4.3.1, “System Requirements for VMware vCenter”

• Section 4.6.1, “Introduction to Storage”

• Section 5.2.1, “Supported Desktop Operating Systems”

2.4.2. Updating an Oracle VDI Center


Before you begin:

• Ensure that no users are logged in to the Oracle VDI Center. The update stops all Oracle VDI services
on all hosts.

• Check that the hosts meet the requirements for updating Oracle VDI, see Section 2.4.1, “Oracle VDI
Update Requirements”.

• Check that the hosts meet the requirements for installing Oracle VDI, see Section 2.2, “Oracle VDI
System Requirements”.

• If you are using a remote MySQL database, ensure that you have the administrator password of the
database.

1. Make a backup of the Oracle VDI database.

See Section 8.7.1, “Backing Up the Oracle VDI Database” for details.

2. Copy the database backup to a separate host.

You do not need to perform this step if you created the database backup on an NFS share on a
different host.

You might need this file if a failure occurs during or after the update.

25
Updating an Oracle VDI Center

It is best to copy the database backup to a host that is not a member of the Oracle VDI Center.

3. Back up the Oracle VDI configuration and stop Oracle VDI services on all hosts in the Oracle
VDI Center.

Caution

Once you begin this step, do not use Oracle VDI Manager or the vda command
until the update process has been finished on all hosts in the Oracle VDI Center.

Start with the primary host, followed by the secondary hosts, in the Oracle VDI Center.

Repeat the following steps on each Oracle VDI host.

a. Download the Oracle VDI software archive to a temporary location on the host.

b. Become superuser (root) on the host.

See Section 2.2.6, “User Requirements” for details.

c. Unzip the Oracle VDI software archive and change working directory to the extracted directory.

• On Oracle Linux hosts:


# unzip vda_3.5_linux.zip
# cd vda_3.5_linux

• On Oracle Solaris 11 hosts:


# unzip vda_3.5_solaris_11plus_amd64.zip
# cd vda_3.5_solaris_11plus_amd64

• On Oracle Solaris 10 hosts:


# unzip vda_3.5_solaris_10_amd64.zip
# cd vda_3.5_solaris_10_amd64

d. Run the vda-preserve command.


# ./vda-preserve

This command creates a zip file, /var/opt/SUNWvda/preserve/vda-preserve.zip.

e. Copy the vda-preserve.zip file to a separate host.

The zip file containing the preserved Oracle VDI configuration is unique to each host. Make sure
you can identify each host's zip file.

You might need this file if a failure occurs during or after the update.

It is best to copy the zip file to a host that is not a member of the Oracle VDI Center.

4. (Optional) Upgrade the operating system on the hosts in the Oracle VDI Center.

You might need to upgrade the operating system on your hosts in order to meet the installation
requirements for this release of Oracle VDI.

You cannot upgrade the operating system from Oracle Linux 5 to Oracle Linux 6, or from Oracle Solaris
10 to Oracle Solaris 11. You must perform a fresh installation of Oracle Linux 6 or Oracle Solaris 11.

26
Updating an Oracle VDI Center

Ensure that the hosts meet the operating system requirements for installing Oracle VDI:

• Section 2.2.3, “Requirements for Oracle Linux Platforms”

• Section 2.2.4, “Requirements for Oracle Solaris 11 Platforms”

• Section 2.2.5, “Requirements for Oracle Solaris 10 Platforms”

Before you upgrade, ensure that you have backups of all your hosts in case you need to revert to the
previous version of Oracle VDI.

When you upgrade the operating system, do not change the host name or IP address of the host.

After you upgrade the operating system, you might need to download the Oracle VDI software archive
to a temporary location on the host and extract it.

5. Install and configure the software on all hosts in the Oracle VDI Center.

Install and configure the software on the primary host first.

When the configuration of the primary host is complete, install and configure the software on all
the secondary hosts. Only configure one secondary host at a time. Wait for the configuration to
complete before you configure another secondary host.

Warning

If you are prompted to reboot the host to complete the installation, ensure you
do this.

Repeat the following steps on each Oracle VDI host.

a. Ensure that the zip file containing the host's preserved Oracle VDI configuration is available on the
host.

By default, the zip file is /var/opt/SUNWvda/preserve/vda-preserve.zip. If the zip file is


missing, restore it from the copy you made. You cannot update Oracle VDI without this file.

The zip file containing the preserved Oracle VDI configuration is unique to each host. You cannot
use the zip file from one host to update a different host.

b. Become superuser (root) on the host.

See Section 2.2.6, “User Requirements” for details.

c. Change working directory to the directory extracted from the Oracle VDI software archive.

d. Install the software.

If the zip file containing the preserved Oracle VDI configuration is in the default location, use the
following command:

# ./vda-install

If the zip file containing the preserved Oracle VDI configuration is not in the default location, or if the
zip file has been renamed, use the following command:

# ./vda-install -p path-to-zip-file

27
Firewall Ports and Protocols

An existing installation is detected and you are prompted to update the installation.
Oracle Virtual Desktop Infrastructure 3.5 Installation

Found preserved data from 3.4.1.


Do you want to update to Oracle VDI 3.5 now? ([y]/n)

e. To update, press the Return key.

If you are using a remote MySQL database, you are prompted for the administrator password for
the remote database.
Oracle VDI 3.5 Installation
Updating from Oracle VDI 3.4.1 to Oracle VDI 3.5

MySQL VDA Database Update.


Enter remote database administrator privileged user name: mydbadmin
Enter remote database administrator privileged password:

Enter the administrator password and press the Return key.

At the end of the update, you are prompted to configure Oracle VDI.
Do you want to configure Oracle VDI 3.5 now? ([y]/n)

f. To configure the host, press the Return key.

To configure the host later, type n and press the Return key. Use the vda-config command to
configure the host. If you do this, you must configure the primary host before you configure any
secondary hosts.

If you configure the host now, the host is configured using the details from the preserved
configuration.

On secondary hosts, the MD5 fingerprint of the primary host's SSL certificate is displayed and you
are prompted to enter the credentials for becoming the root user on the primary host. To check
the MD5 fingerprint, run the vda-center agent-status command as root on the primary host.
Enter the credentials as follows:

• On Oracle Linux and Oracle Solaris hosts where root is not configured as a role, enter root's
password and press the Return key.

• On Oracle Solaris hosts where root is configured as a role, enter the credentials for assuming the
root role and press the Return key.

6. Clear your browser's cache.

It is best to clear your browser's cache before logging in to Oracle VDI Manager. This prevents any
display problems after the update.

2.5. Firewall Ports and Protocols


Firewalls can be used to protect various parts of a network and must be configured to permit the
connections required by Oracle VDI.

2.5.1. Firewalls Between Clients and Oracle VDI


Clients must be able to connect to any host in an Oracle VDI Center.

28
Firewalls Between Oracle VDI and User Directories

The following table lists the ports you might need to open to permit these connections.

Table 2.2. Firewalls ports Between Clients and Oracle VDI Hosts
Source Destination Port Protocol Purpose
Client Oracle VDI 1800 TCP HTTP connections to Oracle VDI
web server Manager.

These connections are redirected to port


1801.
Client Oracle VDI 1801 TCP HTTPS connections to Oracle VDI
web server Manager.
Client Oracle VDI 1802 TCP HTTPS connections to the VDI Client
web server web services API.
Client Oracle VDI 3389 TCP RDP connections to the Oracle VDI RDP
host Broker.
Sun Ray Oracle VDI Various Various See Ports and Protocols in the Sun Ray
Clients host Software Administration Guide for details.

2.5.2. Firewalls Between Oracle VDI and User Directories


All hosts in an Oracle VDI Center need to be able to make connections to any of the configured user
directories.

The following table lists the ports you might need to open to permit these connections.

Table 2.3. Firewall Ports Between Oracle VDI Hosts and User Directories
Source Destination Port Protocol Purpose
Oracle VDI Windows 53 UDP DNS lookups on Active Directory.
host server
Oracle VDI Windows 88 TCP or UDP Authenticate users in Active Directory.
host server
Oracle VDI LDAP 389 TCP Authenticate users in an LDAP directory.
host directory
Oracle VDI Windows 464 TCP or UDP Enable users to change their password if
host server it has expired.
Oracle VDI LDAP 636 TCP Authenticate users using a secure
host directory connection to an LDAP directory.
server
Oracle VDI Windows 3268 TCP Authenticate users in Active Directory.
host server

Ports Required for Active Directory Type Directories


Each Oracle VDI host must be able to make connections to Active Directory on the following ports:

• Port 53 for DNS lookups on Active Directory

• Ports 88 and 464 for Kerberos authentication to a Key Distribution Center (KDC)

• Port 389 for the secure LDAP connection to a domain controller

29
Firewalls Between Desktop Providers and Oracle VDI Centers

• Port 3268 for the secure LDAP connection to a global catalog server

Oracle VDI performs several DNS lookups to discover LDAP information. For these lookups to work, it
is essential that your DNS is configured correctly to enable the required information to be returned from
Active Directory.

Ports 88 and 464 are the standard ports used for Kerberos authentication to a Key Distribution Center
(KDC). These ports are configurable. Connections to these ports can use either the TCP or UDP protocol
depending on the packet size and your Kerberos configuration. Port 464 is only required for password
change operations.

Ports Required for LDAP Type Directories


The standard ports used for connections to LDAP directories are port 389 for standard connections (simple
authentication) and port 636 for secure connections (secure authentication). These ports are configurable.

2.5.3. Firewalls Between Desktop Providers and Oracle VDI Centers


In order to run desktops, all hosts in an Oracle VDI Center must be able to connect to any of the configured
desktop provider hosts, and their associated storage hosts.

The following table lists the ports you might need to open to permit these connections.

Table 2.4. Firewall Ports Between Oracle VDI Hosts and Desktop Provider Hosts

Source Destination Port Protocol Purpose


Oracle VDI Storage host 22 TCP Storage management using SSH.
host
Required only for Oracle VM VirtualBox
and Hyper-V desktop providers.
Oracle VDI VirtualBox 22 TCP Used to run some Oracle VM VirtualBox
host host commands over SSH.

Required only for Oracle VM VirtualBox


desktop providers.
VirtualBox App-V 332 TCP Used for secure Real Time Streaming
host Management Protocol (RTSPS) connections for
Server running App-V applications.

Required only for Oracle VM VirtualBox


desktop providers if App-V repositories
are used.
Oracle VDI Virtualization 443 TCP HTTPS connections to web services
host host for provisioning and managing virtual
desktops, or HTTPS connections for
Windows Remote Management (WinRM).

Required only for Oracle VM VirtualBox,


Microsoft Hyper-V, VMware vCenter,
and Microsoft Remote Desktop desktop
providers.
VirtualBox App-V 554 TCP Used for Real Time Streaming Protocol
host Management (RTSP) connections for running App-V
Server applications.

30
Firewalls Between the Hosts in an Oracle VDI Center

Source Destination Port Protocol Purpose


Required only for Oracle VM VirtualBox
desktop providers if App-V repositories
are used.
VirtualBox Storage host 3260 TCP iSCSI connections to connect virtual
or Microsoft machines to their virtual disks.
Hyper-V host
Required only for Oracle VM VirtualBox
and Hyper-V desktop providers.
Oracle VDI Virtualization 3389 TCP Microsoft RDP connections to virtual
host host desktops.
VirtualBox VirtualBox 7777 TCP Required for Oracle Cluster File System
host host version 2 (OCFS2) for VirtualBox hosts
on Oracle Linux platforms and the hosts
use an iSCSI or a Sun ZFS storage.
Oracle VDI VirtualBox 18083 TCP HTTPS connections to web services
host host for provisioning and managing virtual
desktops.

Required only for Oracle VM VirtualBox


desktop providers when a non-root user
is selected to run VirtualBox.
Oracle VDI VirtualBox 49152 to TCP VirtualBox RDP (VRDP) connections to
host host 65534 virtual desktops.

Required only for Oracle VM VirtualBox


desktop providers if VRDP is selected as
the desktop protocol.
VirtualBox App-V 49152 to TCP Used for Real Time Transport Protocol
host Management 65535 (RTP) and Real Time Control Protocol
Server (RTCP) connections for running App-V
applications.

Required only for Oracle VM VirtualBox


desktop providers if App-V repositories
are used.

Ports 22, 443, 3389, 18083, and 49152-65534 are configurable.

On VirtualBox hosts, the HTTPS port is configured when you install VirtualBox. The VRDP ports are only
required if the VRDP protocol is used to connect to desktops, see Section 5.1.2, “Choosing Between VRDP
and MS-RDP”. The range of ports used is configurable, see Section 4.1.5, “Configuring the VRDP Port
Range”.

If you use App-V repositories, ports 554 and 49152-65535 are used by default for connections to the App-
V Management Servers. If RTSPS is used, only port 332 is required. Ports 332 and 554 are configurable.
See Microsoft Support Article 932017 for full details.

2.5.4. Firewalls Between the Hosts in an Oracle VDI Center


A network might contain firewalls between the hosts in an Oracle VDI Center, for example if you have
multiple offices each containing an Oracle VDI host. The Oracle VDI hosts must be able to connect to any
other member of the Oracle VDI Center.

31
Firewalls Between the Hosts in an Oracle VDI Center

The following table lists the ports you might need to open to permit these connections.

Table 2.5. Firewall Ports Between Oracle VDI Hosts

Source Destination Port Protocol Purpose


Oracle VDI Oracle VDI 123 UDP Network time connection (NTP)
secondary primary host connections to the primary host.
host
Required only if NTP is not enabled on
the secondary host.
Oracle VDI Another 3307 TCP Connections to the embedded MySQL
host Oracle VDI Server database.
host
Oracle VDI Remote Configurable Configurable Connection to a remote MySQL
host MySQL database.
database host
Required only if a remote MySQL
database is selected when you configure
an Oracle VDI Center.
Oracle VDI Another 11172 TCP Used for the JMX-MP connector to
host Oracle VDI Cacao.
host
Used by the cacaoadm command
Oracle VDI Another 11173 TCP Used for the command stream connector
host Oracle VDI to Cacao.
host
Used by vda and vda-center
commands.
Oracle VDI Another 11174 TCP Used for the JMX RMI connector to
host Oracle VDI Cacao.
host
Used by the Oracle VDI Manager and for
the communication between Oracle VDI
Center Agents.
Sun Ray Sun Ray Various Various See Ports and Protocols in the Sun Ray
Software Software Software Administration Guide for details.

On Oracle VDI hosts, port 3303 is also used for the connection between the vda client command and
the Oracle VDI host. This port is bound to localhost and is configurable.

Ports 11172-11174 are the default ports used for Cacao. If these ports are not available when Oracle
VDI is installed, the next available free ports are selected. Use the cacaoadm list-params -i vda
command to see which ports are used.

32
Chapter 3. Configuring Companies and User Directories

Table of Contents
3.1. About User Directory Integration ................................................................................................. 33
3.1.1. Active Directory Types .................................................................................................... 33
3.1.2. LDAP Types ................................................................................................................... 34
3.1.3. User Directory Customization .......................................................................................... 35
3.2. Supported User Directories ........................................................................................................ 35
3.3. About Companies ...................................................................................................................... 35
3.3.1. Multiple Companies and the Desktop Login Screen .......................................................... 36
3.4. Creating a Company .................................................................................................................. 36
3.5. Setting Up Kerberos Authentication ............................................................................................ 37
3.5.1. Whitelist and Blacklist Support ......................................................................................... 39
3.6. Setting Up Public Key Authentication .......................................................................................... 40
3.7. Setting Up Anonymous Authentication ........................................................................................ 42
3.8. Setting Up Simple Authentication ................................................................................................ 42
3.9. Setting Up Secure Authentication ............................................................................................... 44
3.10. About Complex Forest Configurations ....................................................................................... 45
3.11. Reconfiguring the User Directory Settings ................................................................................. 46
3.11.1. Defining the User Directory ............................................................................................ 46
3.11.2. Changing the Security Level .......................................................................................... 46
3.11.3. Changing the Credentials .............................................................................................. 47
3.11.4. Updating the Server SSL Certificates ............................................................................. 47
3.11.5. Adding Fallback Hosts ................................................................................................... 47
3.12. About Global Oracle VDI Centers ............................................................................................. 47
3.12.1. Home and Foreign Oracle VDI Centers .......................................................................... 48
3.12.2. Guest Pools .................................................................................................................. 48
3.12.3. Global Oracle VDI Centers and Desktop Login ............................................................... 48
3.12.4. Preparing a User Directory for Global Oracle VDI Centers ............................................... 50
3.13. About LDAP Filters and Attributes ............................................................................................ 51
3.13.1. Searching for Users and Groups .................................................................................... 51
3.13.2. Requesting a Desktop for a User ................................................................................... 52
3.13.3. Resolving Group Membership ........................................................................................ 52
3.13.4. LDAP Cache ................................................................................................................. 52
3.14. Removing a Company .............................................................................................................. 52

3.1. About User Directory Integration


Typically user information is already stored in an Active Directory or LDAP server. Before you can create
pools and assign users to desktops, you must configure the desired Active Directory/LDAP server and the
Oracle VDI. The following information describes the user directory types supported by Oracle VDI.

3.1.1. Active Directory Types


Active Directory integration is the recommended choice for production platforms integrating with Microsoft
Active Directory. Active Directory integration requires additional configuration (Kerberos configuration and
time synchronization) on the Oracle VDI hosts. To set up Active Directory integration quickly, for example
for testing purposes, you can use LDAP Types, see Section 3.1.2, “LDAP Types”.

See Section 3.2, “Supported User Directories” for details of the supported versions of Active Directory.

33
LDAP Types

The users from Active Directory can be used for desktop and pool assignments and will be able to access
desktops provided by Oracle VDI. On top of this basic feature, Active Directory integration offers the
following functionalities:

1. Active Directory integration enables access to all the users from a forest and makes those users
available for desktop and pool assignments. This means that the users from the different sub-domains
of the forest will be able to access desktops from Oracle VDI.

For more details on supported forest configurations, see Section 3.10, “About Complex Forest
Configurations”.

2. Active Directory integration allows computer entries to be removed from Active Directory when cloned
desktops are deleted by the Oracle VDI.

During cloning, when a Windows desktop joins a domain, this creates a new computer entry in Active
Directory. Configuring Oracle VDI with Kerberos authentication enables Oracle VDI to remove the
computer entries from Active Directory, when deleting unused desktops. This avoids having computer
entries piling up in Active Directory while the matching desktops have long been destroyed.

3. Active Directory integration allows users to update their password (Section 6.2.3, “User Password
Change and Expiry”) in Active Directory either before this password has expired (optional action) or
after the password has expired (mandatory action).

You can choose from the following supported Active Directory types:

• Kerberos Authentication - The typical choice when integrating with Microsoft Active Directory.

See Section 3.5, “Setting Up Kerberos Authentication” for more information.

• Public Key Authentication - To be used to integrate with Microsoft Active Directory when the domain
controller requires LDAP signing, see: http://support.microsoft.com/kb/935834.

See Section 3.6, “Setting Up Public Key Authentication” for more information.

3.1.2. LDAP Types


LDAP integration is the recommended choice for integrating with other types of LDAP directories or
to set up Active Directory integration quickly. The setup is straight-forward, without the need for extra
configuration.

See Section 3.2, “Supported User Directories” for details of the supported LDAP directories.

LDAP integration allows users to update their password (Section 6.2.3, “User Password Change and
Expiry”) in the directory server only before this password has expired. If the user password expires, the
user will be required to update it using a customer-provided process external to Oracle VDI.

LDAP Integration offers three security types for authentication: anonymous, simple, and secure:

• Anonymous Authentication - Useful for a quick integration with an LDAP server but not recommended for
production environments. Anonymous Authentication may only be chosen if the LDAP server supports
anonymous authentication. Active Directory does not support Anonymous Authentication.

See Section 3.7, “Setting Up Anonymous Authentication” for more information.

• Simple Authentication - The recommended choice for production platforms integrating with LDAP
directories other than Active Directory. If integrating with Active Directory, use Kerberos Authentication,
see Section 3.5, “Setting Up Kerberos Authentication”. A default restriction in Active Directory prevents
password updates from an LDAP Simple Authentication.

34
User Directory Customization

See Section 3.8, “Setting Up Simple Authentication” for more information.

• Secure Authentication - Useful to secure connections over SSL, when the directory supports it.

See Section 3.9, “Setting Up Secure Authentication” for more information.

When a user gets a desktop from Oracle VDI (via the Desktop Selector), Oracle VDI passes the user
credentials to the desktop so the user does not have to re-enter their credentials at the desktop login. One
way Oracle VDI enables users to authenticate is through their email address, however, an email address is
not a valid user name on the desktop side.

3.1.3. User Directory Customization


If you have an expert understanding of user directory integration and would like to optimize Oracle VDI for
your user directory, refer to the following sections:

• Appendix C, User Directory LDAP Filters and Attributes

• Section C.1, “Editing LDAP Filters and Attributes”

• Section 3.11, “Reconfiguring the User Directory Settings”

3.2. Supported User Directories


The following versions of Active Directory are supported as Active Directory type user directories:

• Windows Server 2008 R2

• Windows Server 2008

• Windows Server 2003 R2

• Windows Server 2003

The following directories are supported as LDAP type user directories:

• Oracle Directory Server Enterprise Edition 11.1.1.5

• Oracle Directory Server Enterprise Edition 7.0

• Oracle Directory Server Enterprise Edition 6.3.1

• Microsoft Active Directory on Windows Server 2008 R2

• Microsoft Active Directory on Windows Server 2008

• Microsoft Active Directory on Windows Server 2003 R2

• Microsoft Active Directory on Windows Server 2003

• Novell eDirectory 8.8

• OpenLDAP 2.4.23

3.3. About Companies


The Company feature enables several user directories to be configured for one Oracle VDI environment.
For example, this is useful for a business that provides "Desktop as a Service" for separate customers.

35
Multiple Companies and the Desktop Login Screen

To take advantage of the Company feature, you can create a company for each user directory.
Virtualization resources (hosts and storage) are shared by all companies. Pools, desktops, users, groups,
and tokens are separated for each company.

Templates are automatically separated for each company that use Oracle VM VirtualBox or Microsoft
Hyper-V desktop providers. For VMware vCenter desktop providers, all templates are visible to all pools.
For security reasons, be sure that templates are only be used among pools of the same company.

For more information about how to create a Company, refer to Section 3.4, “Creating a Company”. For
more information about user directory integration, refer to Section 3.1, “About User Directory Integration”.

3.3.1. Multiple Companies and the Desktop Login Screen


When you configure multiple companies, the user's interaction with the Desktop Login screen changes.
The privacy between the various companies involved is enforced and the Domain list is not shown in the
Desktop Login screen. Users must input a user name that identifies which company they belong to. Users
can enter one of the following user names based on the type of authentication configured:

• userid@domainname type syntax for Active Directory integration.

• userid@companyname type syntax for user directories that do not support domains.

• Email address. This requires that you must set the E-Mail Domain Name property for the company.
Multiple domain names can be configured.

Desktops can be configured for automated logons. With automated logons, Oracle VDI passes user
credentials to the desktop so users do not have to enter their credentials again to log in to their desktops. If
users authenticate using their email address, automated logons do not work because an email address is
not a valid desktop user name.

Oracle VDI also provides a Corporation setting. If you have a large number of users spread across multiple
user directories (LDAP servers or Active Directory domains) and they are all part of the same corporation,
the privacy of company data is not required. For example, a company might have separate user directories
for each geographical location. When the Corporation setting is enabled, the Domain list is shown in the
Desktop Login screen and it contains all the available domains from all the available companies. In Oracle
VDI Manager, you enable the Corporation from the Settings and then the Company page.

3.4. Creating a Company


Most production environments keep user information stored in an Active Directory or LDAP server. Oracle
VDI can be configured to recognize existing user directories. Multiple user directories can be configured for
one Oracle VDI instance with the Company feature. For more information about the Company feature, refer
to Section 3.3, “About Companies”.
Oracle VDI Manager Steps

1. In the Oracle VDI Manager, go to Settings, and then Company.

2. In the Companies table, click New to activate the New Company wizard.

3. Choose between Active Directory and LDAP user directory types. You can also choose 'none' if you
only require token assignments.

• If Active Directory type is chosen, some extra configuration on Oracle VDI hosts is required before
setting up Kerberos or Public Key certificates on Oracle VDI.

• LDAP type is more straightforward and may work with your Active Directory server depending on its
configuration. LDAP integration offers three types of authentication: anonymous, simple, and secure.

36
Setting Up Kerberos Authentication

3.5. Setting Up Kerberos Authentication


Follow the steps below to configure Kerberos Authentication for your Active Directory.

To get the full functionality offered by Kerberos Authentication, it is necessary to provide the credentials
of a user that has 'write' access to Active Directory. This user is used to read users and delete computer
entries from the directory.

Kerberos Authentication requires some specific configuration in Active Directory and on your Oracle VDI
hosts before configuring the user directory in Oracle VDI Manager.
Steps

1. Kerberos authentication must be enabled in Active Directory.

It should already be enabled as the default.

2. Ensure that each Active Directory forest has a global catalog server.

Configure a domain controller in each forest as a global catalog server.

3. Set the Forest Functional Level.

If the Domain Controller is running on Microsoft Windows Server 2008 R2, the Forest Functional
Level must be set to Windows Server 2008 or Windows Server 2008 R2 (instead of the value used by
default, Windows Server 2003). Refer to Microsoft documentation for more information about the Forest
Functional Level.

4. Synchronize the time between the Oracle VDI hosts and Active Directory server.

Use Network Time Protocol (NTP) software or the rdate command to ensure the clocks on all hosts
are synchronized.

For example, use ntpdate my.windows.host

In a production environment, it is best to use an NTP time server.

5. Edit the system default Kerberos configuration file on the Oracle VDI hosts.

The system default Kerberos configuration file is:

• /etc/krb5/krb5.conf on Oracle Solaris OS platforms.

• /etc/krb5.conf on Oracle Linux platforms.

Caution

The capitalization of the realm names in the Kerberos configuration file is


very important so make sure you respect the capitalization as indicated in the
example.

At a minimum, the Kerberos configuration file must contain the following sections:

• [libdefaults] - this sets defaults for Kerberos authentication. You must set the
default_realm.

• [realms] - this sets the KDCs for each Kerberos realm. A realm can have more than one kdc, the
port can omitted if the default port 88 is used.

37
Setting Up Kerberos Authentication

To allow end-users to update their password (Section 6.2.3, “User Password Change and Expiry”),
the details of the server that handles the password change for each Kerberos realm must be
specified. The kpasswd_server and admin_server entries identify the Kerberos administration
server that handles the password change. If kpasswd_server is omitted, the admin_server is
used instead. The port can be omitted if the default port 464 is used.

Format of a realm definition:


REALM_NAME = {
kdc = host:port
kdc = host:port
...
kpasswd_server = host:port
admin_server = host:port
kpasswd_protocol = SET_CHANGE
}

• [domain_realm] - this maps Active Directory domains to Kerberos realms.

The following is an example Kerberos configuration file for a forest with a single domain:
[libdefaults]
default_realm = MY.COMPANY.COM

[realms]
MY.COMPANY.COM = {
kdc = my.windows.host
admin_server = my.windows.host
kpasswd_protocol = SET_CHANGE
}

[domain_realm]
.my.company.com = MY.COMPANY.COM
my.company.com = MY.COMPANY.COM

6. You can check that Kerberos and its name resolution requirements are configured properly by using
getent, nslookup, and kinit

For example:

• # getent hosts my.windows.host must return the IP address and the host name

• # getent hosts IP_of_my.windows.host must return the IP address and the host name

• # nslookup -query=any _gc._tcp.my.company.com must resolve the domain

• # kinit -V [email protected] must succeed

7. Restart the VDA Service.


# /opt/SUNWvda/sbin/vda-service restart

8. Configure the user directory in Oracle VDI Manager.

a. In Oracle VDI Manager, go to Settings and then Company.

b. In the Companies table, click New.

The New Company wizard is displayed.

c. On the Choose User Directory step, select Active Directory.

38
Whitelist and Blacklist Support

d. On the Specify Connection step, configure Kerberos authentication.

i. Select Kerberos Authentication.

ii. In the Domain field, enter the Active Directory domain name.

For example, my.company.com.

iii. In the User Name and Password boxes, enter the user principal name of a user that has
sufficient privileges to write to Active Directory.

For example, super-user or [email protected].

e. On the Define Company step, enter the company details.

i. In the Name field, enter the name of the company.

ii. (Optional) In the E-Mail Domain Name field, enter one or more email domain names.

Enter multiple domain names as a comma-separated list.

If you enter an email domain, users can log in using their email address.

iii. (Optional) In the Comments field, enter any notes about the company.

f. On the Review step, check the configuration of the company and click Finish.

The new company is added to the Companies table.

More Information on Kerberos Authentication

• krb5.conf(4) man page - http://docs.oracle.com/cd/E26502_01/html/E29042/krb5.conf-4.html

• Kerberos Service on Oracle Solaris - http://docs.oracle.com/cd/E26502_01/html/E29015/seamtm-1.html

• Kerberos on Oracle Linux - http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5/html/


Deployment_Guide/ch-kerberos.html

3.5.1. Whitelist and Blacklist Support


Oracle VDI supports whitelists and blacklists for Kerberos authentication. The feature is an optional list of
hosts that can be specified for a Company, giving more fine-grained control over which Active Directory
servers are queried by Oracle VDI.

The whitelist is a comma-separated list of Active Directory global catalog servers (not domain controllers)
that are always used for LDAP queries. The order of the servers in the whitelist is important. If Oracle VDI
cannot contact the first server in the list, it tries the next one. The hosts in the whitelist must be resolvable
in DNS. This includes IP addresses, fully-qualified (long) host names, and unqualified (short) host names.

The blacklist is a list of comma-separated Active Directory servers that are never used for LDAP queries.
The blacklist settings override the whitelist settings. The hosts in the blacklist must match the value
returned by DNS exactly (the value is case-sensitive). If the Service Location (SRV) locator resource
records returned by DNS uses IP addresses, the blacklist must contain IP addresses. If DNS uses host
names, the blacklist must contain host names.

This feature can be enabled only on the command line, using the directory.white.list and
directory.black.list properties.

39
Setting Up Public Key Authentication

3.6. Setting Up Public Key Authentication


Public Key Authentication requires some specific configuration on the Active Directory server and the
Oracle VDI hosts prior to setting up the user directory in Oracle VDI Manager.
Steps

1. Follow the configuration steps 1 to 5 described for Kerberos Authentication. See Section 3.5, “Setting
Up Kerberos Authentication”.

2. Create a client certificate for each of the Oracle VDI hosts.

The Oracle VDI keystore for the client certificate is located at /etc/opt/SUNWvda/sslkeystore
and the password is changeit.

a. Generate a key pair (private/public key) for the client certificate.

On the Oracle VDI host, log in as superuser (root) and use the Java keytool utility to generate the
key pair in the Oracle VDI keystore.

keytool -genkey -keyalg rsa \


-keystore /etc/opt/SUNWvda/sslkeystore \
-storepass changeit -keypass changeit \
-alias your_alias

b. Generate a Certificate Signing Request (CSR) for client certificate.

On the Oracle VDI host, use keytool to generate the certificate request.

keytool -certreq \
-keystore /etc/opt/SUNWvda/sslkeystore \
-storepass changeit -keypass changeit \
-alias your_alias \
-file certreq_file

The alias must be the same as the alias used when generating the key pair. Aliases are case-
insensitive.

c. Create the certificate.

i. Copy the CSR file to the server hosting Active Directory.

ii. Using Internet Explorer, go to "http://localhost/certsrv".

iii. Log in.

iv. On the Microsoft Certificate Services page, click Request a Certificate.

v. On the Request a Certificate page, click Advanced Certificate Request.

vi. On the Advanced Certificate Request page, click Submit a Certificate Request by using
a base-64-encoded CMC or PKCS #10 file, or submit a renewal request by using a base-64-
encoded PKCS #7 file.

vii. On the Submit a Certificate Request or Renewal Request page, paste the contents of the
CSR into the Saved Request text box or browse to the CSR file.

viii. Select an appropriate template from the Certificate Templates list.

40
Setting Up Public Key Authentication

Administrator is recommended.

ix. Click Submit.

x. On the Certificate Issued page, ensure Base 64 Encoded is selected and click Download
Certificate Chain.

xi. Save the certificate file.

d. Import the certificate on the Oracle VDI host.

i. Copy the certificate file to the Oracle VDI host.

ii. Import the certificate into the Oracle VDI keystore.

keytool -import \
-keystore /etc/opt/SUNWvda/sslkeystore \
-storepass changeit -keypass changeit \
-trustcacerts -file certificate_file \
-alias your_alias

3. Restart the VDA Service.

# /opt/SUNWvda/sbin/vda-service restart

4. Configure the user directory in Oracle VDI Manager.

a. In Oracle VDI Manager, go to Settings and then Company.

b. In the Companies table, click New.

The New Company wizard is displayed.

c. On the Choose User Directory step, select Active Directory.

d. On the Specify Connection step, configure public key authentication.

i. Select Public Key Authentication.

ii. In the Domain field, enter the Active Directory domain name.

For example, my.company.com.

e. On the Verify Certificate step, check that the SSL certificate details are correct.

f. On the Define Company step, enter the company details.

i. In the Name field, enter the name of the company.

ii. (Optional) In the E-Mail Domain Name field, enter one or more email domain names.

Enter multiple domain names as a comma-separated list.

If you enter an email domain, users can log in with their email address.

iii. (Optional) In the Comments field, enter any notes about the company.

g. On the Review step, check the configuration of the company and click Finish.

41
Setting Up Anonymous Authentication

The new company is added to the Companies table.

3.7. Setting Up Anonymous Authentication


Use the steps below to set up anonymous authentication.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, go to Settings and then Company.

2. In the Companies table, click New.

The New Company wizard is displayed.

3. On the Choose User Directory step, select LDAP.

4. On the Specify Connection step, configure anonymous authentication.

a. Select Anonymous Authentication.

b. In the Host field, enter the fully-qualified DNS name or IP address of the LDAP server.

c. In the Port field, enter the port number used for connections to the LDAP server.

The default port number is 389.

d. (Optional) In the Base DN field, enter the distinguished name (DN) of an LDAP object to use as the
search base.

For example: cn=Users,dc=example,dc=com.

The base DN is used to restrict the part of the LDAP directory used to search for users.

5. On the Define Company step, enter the company details.

a. In the Name field, enter the name of the company.

b. (Optional) In the E-Mail Domain Name field, enter one or more email domain names.

Enter multiple domain names as a comma-separated list.

If you enter an email domain, users can log in with their email address.

c. (Optional) In the Comments field, enter any notes about the company.

6. On the Review step, check the configuration of the company and click Finish.

The new company is added to the Companies table.

7. (Optional) If you want users to authenticate only once when logging in using their email address, set the
default domain for the user directory.
/opt/SUNWvda/sbin/vda directory-setprops [-u CompanyName] \
-p directory.default.domain=domainname

3.8. Setting Up Simple Authentication


Use the steps below to set up simple authentication.

42
Setting Up Simple Authentication

Note

It is necessary to provide the credentials of a user that has 'read' access to the user
directory. This user will be used to read user information from the directory.

Oracle VDI Manager Steps

1. In Oracle VDI Manager, go to Settings and then Company.

2. In the Companies table, click New.

The New Company wizard is displayed.

3. On the Choose User Directory step, select LDAP.

4. On the Specify Connection step, configure simple authentication.

a. Select Simple Authentication.

b. In the Host field, enter the fully-qualified DNS name or IP address of the LDAP server.

c. In the Port field, enter the port number used for connections to the LDAP server.

The default port number is 389.

d. (Optional) In the Base DN field, enter the distinguished name (DN) of an LDAP object to use as the
search base.

For example: cn=Users,dc=example,dc=com.

The base DN is used to restrict the part of the LDAP directory used to search for users.

e. In the User Name and Password boxes, enter the DN and password of a user that has sufficient
privileges to search the LDAP directory.

For example, cn=super-user,cn=Users,dc=example,dc=com.

5. On the Define Company step, enter the company details.

a. In the Name field, enter the name of the company.

b. (Optional) In the E-Mail Domain Name field, enter one or more email domain names.

Enter multiple domain names as a comma-separated list.

If you enter an email domain, users can log in with their email address.

c. (Optional) In the Comments field, enter any notes about the company.

6. On the Review step, check the configuration of the company and click Finish.

The new company is added to the Companies table.

7. (Optional) If you want users to authenticate only once when logging in using their email address, set the
default domain for the user directory.

/opt/SUNWvda/sbin/vda directory-setprops [-u CompanyName] \


-p directory.default.domain=domainname

43
Setting Up Secure Authentication

3.9. Setting Up Secure Authentication


Use the steps below to set up secure authentication.

Note

It is necessary to provide the credentials of a user that has 'read' access to the user
directory. This user will be used to read user information from the directory.

Oracle VDI Manager Steps

1. In Oracle VDI Manager, go to Settings and then Company.

2. In the Companies table, click New.

The New Company wizard is displayed.

3. On the Choose User Directory step, select LDAP.

4. On the Specify Connection step, configure secure authentication.

a. Select Secure Authentication.

b. In the Host field, enter the fully-qualified DNS name or IP address of the LDAP server.

c. In the Port field, enter the port number used for secure connections to the LDAP server.

The default port number is 636.

d. (Optional) In the Base DN field, enter the distinguished name (DN) of an LDAP object to use as the
search base.

For example: cn=Users,dc=example,dc=com.

The base DN is used to restrict the part of the LDAP directory used to search for users.

e. In the User Name and Password boxes, enter the DN and password of a user that has sufficient
privileges to search the LDAP directory.

For example, cn=super-user,cn=Users,dc=example,dc=com.

5. On the Verify Certificate step, check that the SSL certificate details are correct.

6. On the Define Company step, enter the company details.

a. In the Name field, enter the name of the company.

b. (Optional) In the E-Mail Domain Name field, enter one or more email domain names.

Enter multiple domain names as a comma-separated list.

If you enter an email domain, users can log in with their email address.

c. (Optional) In the Comments field, enter any notes about the company.

7. On the Review step, check the configuration of the company and click Finish.

The new company is added to the Companies table.

44
About Complex Forest Configurations

8. (Optional) If you want users to authenticate only once when logging in using their email address, set the
default domain in the user directory.
/opt/SUNWvda/sbin/vda directory-setprops [-u CompanyName] \
-p directory.default.domain=domainname

3.10. About Complex Forest Configurations


The following types of Active Directory forest configurations are supported by Oracle VDI.

• Single domain forests

• Single tree forests with multiple domains

• Multiple tree forests with multiple domains with or without child domains

Example of a Single Tree Forest


The Active Directory is a forest containing:

• A root domain named example.com. The Global Catalogs are located in the root domain.

• A child domain named users.example.com where all the users are located, including the user used to
set up authentication in the Oracle VDI Manager.

The krb5.conf file should look similar to the following.


[libdefaults]
default_realm = USERS.EXAMPLE.COM

[realms]
USERS.EXAMPLE.COM = {
kdc = users.host
admin_server = users.host
kpasswd_protocol = SET_CHANGE
}
EXAMPLE.COM = {
kdc = example.windows.host
admin_server = example.windows.host
kpasswd_protocol = SET_CHANGE
}

[domain_realm]
.users.example.com = USERS.EXAMPLE.COM
users.example.com = USERS.EXAMPLE.COM
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM

And the settings to be used in the Oracle VDI Manager:

• Domain: example.com

• Username: [email protected]

Example of Multiple Tree Forests


For example, the following multiple tree configuration with multiple domains is supported.

• One tree containing the domain central.vdi.example.com (Forest Root) and a child domain
child.central.vdi.example.com

45
Reconfiguring the User Directory Settings

• A second tree containing the domain east.vdi.example.com

• Both trees are part of the same forest (central.vdi.example.com)

In order to add this tree configuration as a Company in Oracle VDI Manager, first make sure that Kerberos
has been configured correctly on the Oracle VDI hosts.

The krb5.conf file should look similar to the following.

[libdefaults]
default_realm = CENTRAL.VDI.EXAMPLE.COM

[realms]
CENTRAL.VDI.EXAMPLE.COM = {
kdc = centralroot.vdi.example.com
}
CHILD.CENTRAL.VDI.EXAMPLE.COM = {
kdc = centralchild.vdi.example.com
}
EAST.VDI.EXAMPLE.COM = {
kdc = eastroot.vdi.example.com
}

[domain_realm]
.central.vdi.example.com = CENTRAL.VDI.EXAMPLE.COM
central.vdi.example.com = CENTRAL.VDI.EXAMPLE.COM
.child.central.vdi.example.com = CHILD.CENTRAL.VDI.EXAMPLE.COM
child.central.vdi.example.com = CHILD.CENTRAL.VDI.EXAMPLE.COM
.east.vdi.example.com = EAST.VDI.EXAMPLE.COM
east.vdi.example.com = EAST.VDI.EXAMPLE.COM

In the Oracle VDI Manager New Company wizard, be sure to enter the domain name of the Forest Root in
the Specify Connection step.

3.11. Reconfiguring the User Directory Settings


User directory settings are configured in the Oracle VDI Manager in the Settings category and Company
subcategory.

3.11.1. Defining the User Directory


The instructions to define the user directory are described in Section 3.1, “About User Directory
Integration”.

3.11.2. Changing the Security Level


It is possible to change the security level for the connections to a user directory:

1. In the Oracle VDI Manager, go to Settings and then Company.

2. Select a company and go to the LDAP or Active Directory tab (depending on the user directory type).

3. Click Edit for the Security Level to launch the wizard.

4. Switch to another security level and modify the other settings if necessary, such as the port, the user
name, and the password.

5. Click Next to review your choices before completing the configuration update.

46
Changing the Credentials

It is only possible to switch to a security level within the same type of user directory, LDAP or Active
Directory. To switch between LDAP and Active Directory types, use the vda directory-setprops
command.

In the case of LDAP connection type, it is not possible change the security level if additional hosts have
been defined (see Section 3.11.5, “Adding Fallback Hosts”).

3.11.3. Changing the Credentials


When using Kerberos, Simple or Secure authentication, it is possible to update the credentials used for
opening the connection to a user directory:

1. In the Oracle VDI Manager, go to Settings and then Company.

2. Select a company and go to the LDAP or Active Directory tab (depending on the user directory type).

3. Click Edit for the Security Level to launch the wizard.

4. Edit the user name and the password as necessary.

5. Click Next to review your choices before completing the configuration update.

3.11.4. Updating the Server SSL Certificates


When using Public Key or Secure authentication, if the SSL certificate for the server has been changed,
you need Oracle VDI to use the new certificate:

1. In the Oracle VDI Manager, go to Settings and then Company.

2. Select a company and go to the LDAP or Active Directory tab (depending on the user directory type).

3. Click Edit for the Security Level to launch the wizard.

Do not change any of the existing settings if you only want to update the server certificates. One
of the wizard steps shows the SSL certificates of the servers. Click Next to permanently accept the
certificates.

4. Click Next to review your choices before completing the configuration update.

3.11.5. Adding Fallback Hosts


When using the LDAP type of connection, it is possible to have additional LDAP hosts that would be used
as a fallback in the case the connection to the main host is failing.

The additional LDAP hosts must be the replica of the main host. The connection to the fallback hosts will
be open using the same security level, same port, same base DN and same credentials as for the main
host.

The list of LDAP hosts can be found in the LDAP tab. Hosts can be added, removed and their order can be
changed.

3.12. About Global Oracle VDI Centers


The Global Oracle VDI Centers feature is useful for companies whose users travel from one site to
another. It extends the basic hotdesking experience to multiple Oracle VDI environments so that, when
they travel, users can access desktops in their home Oracle VDI Center or locally hosted desktops.

47
Home and Foreign Oracle VDI Centers

Global Oracle VDI Centers assume the existence of a global user directory infrastructure. Global Oracle
VDI Centers are always enabled, but you cannot take advantage of this feature unless your user directory
is properly prepared. For more information about how to prepare the user directory, refer to Section 3.12.4,
“Preparing a User Directory for Global Oracle VDI Centers”.

When considering the user experience, you should decide whether to implement manual or automatic
redirection for hotdesking and whether to make guest pools available.

Guest pools are described in Section 3.12.2, “Guest Pools”. For more information on hotdesking, see
Hotdesking in the Sun Ray Software Administration Guide. Manual and automatic redirection are described
below in Section 3.12.3.1, “Manual Redirection” and Section 3.12.3.2, “Automatic Redirection”.

3.12.1. Home and Foreign Oracle VDI Centers


An Oracle VDI Center is an individual Oracle VDI environment consisting of one or more Oracle VDI
hosts. The Oracle VDI Center where a user normally works is that person's home Oracle VDI Center.
Working in one's home Oracle VDI Center is no different, from the user point-of-view, than working in a
standalone Oracle VDI Center. With Global Oracle VDI Centers, once the user directory has been properly
prepared, a user can continue to access an existing desktop in the home Oracle VDI Center while traveling
or use a desktop from a guest pool at the foreign Oracle VDI Centers.

3.12.2. Guest Pools


A Guest pool (a pool with the Guest flag turned on) provides desktops for users who have no assignments
to desktops or other non-Guest pools in the Oracle VDI Center to which they are currently connecting. A
Guest pool is displayed on the Desktop Selector screen only when a user meets this condition.

You can set a pool as a Guest pool with the Oracle VDI Manager or the command line. Although they are
not mandatory, the following settings for Guest pools are recommended:

• Flexible desktop assignment

• Small Preferred Size, to conserve resources

• Small number of Free Desktops, to conserve resources

• Large Maximum Size, depending on how many guest users are expected to work at the same time in a
worst-case scenario

3.12.3. Global Oracle VDI Centers and Desktop Login


When Global Oracle VDI Centers are configured, there are no changes to the Desktop Login screen.
However, the process for logging in and selecting a desktop can change depending on configuration.

When the user provides a user name and password, Oracle VDI first determines whether to connect the
user to their home Oracle VDI Center or to a foreign Oracle VDI Center. It does this by searching the user
directory for the Global Oracle VDI Center data. If no such data can be found for the current user, the
current Oracle VDI Center is considered to be the user's home Oracle VDI Center.

If a user connects to a foreign Oracle VDI Center, the Desktop Selector screen contains new entries, such
as:

1. One or more Guest pool entries. If you have configured the Guest pools correctly, the user can get a
local desktop from a Guest pool in the foreign Oracle VDI Center, after which the Desktop Selector
displays that desktop instead of the Guest pools.

48
Global Oracle VDI Centers and Desktop Login

2. An entry to switch to the user's home Oracle VDI Center. This option redirects the current session to
the user's home Oracle VDI Center. The Desktop Login screen is displayed with the user name pre-
populated, and the user has to enter a password again. After successful authentication, the Desktop
Selector screen displays the user's assigned desktops and pools.

3.12.3.1. Manual Redirection

Normally, the Desktop Login screen prompts for user name, domain, and password. If authentication
succeeds, the Oracle VDI system determines the user's home Oracle VDI Center. If the Sun Ray Client is
connected to the user's home Oracle VDI Center, then nothing changes in the screen's behavior, and the
user is presented with the Desktop Selector screen. However, if the Sun Ray Client is not connected to the
user's home Oracle VDI Center, then the Desktop Selector screen displays an Oracle VDI Center entry
in addition to any other guest desktops that may be available for a visitor to that Oracle VDI Center. The
user now has the choice of being redirected to the home Oracle VDI Center or of using one of the guest
desktops available at the foreign Oracle VDI Center.

If the user selects the home Oracle VDI Center entry, the Sun Ray Client is redirected to one of the Sun
Ray servers in the user's home Oracle VDI Center, and the Desktop Login screen displays the user name
and current domain. Upon re-entering the correct password, the user is presented with the normal Desktop
Selector screen. Since the Sun Ray Client is now connected to the user's home Oracle VDI Center, the
assigned desktops in the home Oracle VDI Center are now accessible. At this point, the user cannot revert
to the new local Center.

If you want to enable redirection back to the previous home Oracle VDI Center, see Section 3.12.3.3,
“Automatic Redirection to Initial Server”.

3.12.3.2. Automatic Redirection

The default redirection logic requires the user to enter a password twice, first on the initial login screen and
then after redirection. To avoid this inconvenience, you can configure the Desktop Login screen to perform
multi-step authentication. Setting the client.autoredirection.homeserver=Enabled property
instructs the screen to ask only for user name and domain information (see Section 6.2.6, “Global Settings
for the Oracle VDI Kiosk Session”). This information is sufficient to determine the user's home Oracle VDI
Center.

Users already connected to their home Oracle VDI Center get a password prompt in a second step. For
users not already connected, the Sun Ray Client is automatically redirected to any server in the user's
home Oracle VDI Center. After redirection, the password prompt is presented (user name and domain are
preset). After successful authentication, the user gets the Desktop Selector screen.

Automatic redirection does not offer the capability to stay at the foreign Oracle VDI Center and to use or
select a guest desktop. Instead, the user must work with desktops hosted in the user's home Oracle VDI
Center.

3.12.3.3. Automatic Redirection to Initial Server

After a Sun Ray Client has been redirected to a different server, it usually remains there when the user
disconnects. This can cause some confusion for the next user, who might be surprised to be offered an
Oracle VDI Center link and a list of guest desktops instead of the expected list of assigned desktops.
Under automatic redirection, however, the client is automatically redirected to the current user's home
Oracle VDI Center during the login sequence.

You can use the client.autoredirect.firstserver setting to configure the Oracle VDI kiosk
session to redirect the Sun Ray Client to return to its initial server automatically when the user logs off,

49
Preparing a User Directory for Global Oracle VDI Centers

disconnects, or quits the session. It is enabled by default (see Section 6.2.6, “Global Settings for the Oracle
VDI Kiosk Session”).

3.12.4. Preparing a User Directory for Global Oracle VDI Centers


Global Oracle VDI Centers do not require any additional configuration in Oracle VDI. However, the user
directory needs to populated with the data needed according to the schema used by Oracle VDI, see
Section 3.12.4.1, “Oracle VDI Center Data Schema”.

If you want to use different attribute names and object types than the defaults, you may do so. You will
then need to customize the LDAP filters and attributes used for Global Oracle VDI Centers to reflect the
attributes and objects used in your schema.

See Section C.1, “Editing LDAP Filters and Attributes” for the necessary steps and the default LDAP filters
and attributes for Global Oracle VDI Centers.

3.12.4.1. Oracle VDI Center Data Schema

Oracle VDI is configured to use the following schema for storing Oracle VDI Center data. This schema
uses classes and attributes that already exist in LDAP v3 directories.

• Oracle VDI Center: an Oracle VDI Center is an Organization Unit (ou) object. It may be located in any
place in the user directory. The name used to represent an Oracle VDI Center in the Desktop Selector
screen is taken from the displayName attribute if this attribute is specified. Otherwise, the value of the
ou attribute is used. An Oracle VDI Center ou contains (directly or through a hierarchy) several Oracle
VDI Host objects, which are the Oracle VDI hosts composing the Oracle VDI Center.

• Oracle VDI Host: an Oracle VDI Host is a computer object (on Active Directory) or a device
object (on other LDAP directories). The host name/IP address of the Oracle VDI Host is taken from
the dNSHostName attribute (on Active Directory) or the ipHostNumber attribute (on other LDAP
directories). If none of there attributes are defined, the value of the cn attribute of the host object is used.

• Associating an Oracle VDI Center with a User: the Oracle VDI Center to which a user belongs is defined
on the user object, in the seeAlso attribute. This value of this attribute needs to be the full DN of the
Oracle VDI Center object for that user.

Figure 3.1 shows an example global Oracle VDI Center in Active Directory.

50
About LDAP Filters and Attributes

Figure 3.1. Active Directory Example

3.13. About LDAP Filters and Attributes


Oracle VDI uses various LDAP filters and attribute lists to look up and interpret the data stored in a user
directory.

This section explains how the LDAP filters and attributes are used by Oracle VDI to perform the different
searches in the user directory necessary for each task.

See Section C.1, “Editing LDAP Filters and Attributes” for details about how to edit those filters.

3.13.1. Searching for Users and Groups


You can use the administration tools (Oracle VDI Manager or the command line) to search for users and
groups, in order to assign them to desktops or pools.

The search logic works as follows:

51
Requesting a Desktop for a User

• Users are searched first:

• The filter used to search for users is: (&ldap.user.object.filter


ldap.user.search.filter).

• The $SEARCH_STRING placeholder is replaced by *criteria* where criteria is the string typed in
the Oracle VDI Manager search field. If the criteria string already contains a wild-card "*", then the
$SEARCH_STRING placeholder is simply replaced by criteria.

• Groups are then searched as follow:

• The filter used to search for groups is: (&ldap.group.object.filter


ldap.group.search.filter).

• The $SEARCH_STRING placeholder is replaced by *criteria* where criteria is the string typed in
the Oracle VDI Manager search field. If the criteria string already contains a wild-card "*", then the
$SEARCH_STRING placeholder is simply replaced by criteria.

If the global setting ldap.search.wildcard is set to disabled, the $SEARCH_STRING placeholder is


replaced by criteria (without being surrounded by the wildcards). This restricts the returned results
to strictly match the typed string but it is useful with very large and distributed user directories where the
search using the wildcards takes too long to return.

Wildcards are added by default as the default value for ldap.search.wildcard is enabled.

3.13.2. Requesting a Desktop for a User


When requesting a desktop for a user, Oracle VDI first needs to find the user DN that matches the user ID
before resolving the pool and desktop assignments for the user DN. If client authentication is enabled, then
the user ID attribute is also used for authentication.

The attributes used to match the user ID are defined in ldap.userid.attributes.

3.13.3. Resolving Group Membership


Group membership is resolved using the attributes defined in ldap.user.member.attributes and
ldap.group.member.attributes.

Nested group depth is limited to 3.

Oracle VDI also resolves Primary Group membership which is specific to Active Directory. The attributes
used for resolving primary group membership are defined in ldap.group.short.attributes and
ldap.user.member.attributes.

3.13.4. LDAP Cache


In order to improve the performance and reduce the load on the user directory, the user and group entries
retrieved by Oracle VDI are cached. Entries in the LDAP cache time out after 10 minutes.

It is not possible, at the moment, to change the LDAP cache timeout, nor to flush the cache.

3.14. Removing a Company


You can remove a company through the All Companies page in Oracle VDI Manager. You cannot remove
a company that has pools. You must delete all pools for a company before you can remove it.

52
Chapter 4. Configuring Desktop Providers and Virtualization
Platforms

Table of Contents
4.1. Oracle VM VirtualBox ................................................................................................................. 54
4.1.1. About Oracle VM VirtualBox ............................................................................................ 54
4.1.2. System Requirements for Oracle VM VirtualBox ............................................................... 54
4.1.3. Installing Oracle VM VirtualBox ........................................................................................ 58
4.1.4. Updating Oracle VM VirtualBox ....................................................................................... 59
4.1.5. Configuring the VRDP Port Range ................................................................................... 61
4.1.6. Configuring the VirtualBox Host Memory Overhead ........................................................... 62
4.2. Microsoft Hyper-V and Remote Desktop Services ........................................................................ 62
4.2.1. Microsoft Hyper-V ........................................................................................................... 62
4.2.2. System Requirements for Microsoft Hyper-V .................................................................... 62
4.2.3. Microsoft Remote Desktop Services ................................................................................. 63
4.2.4. System Requirements for Microsoft Remote Desktop Services .......................................... 63
4.2.5. Microsoft RDS Farm (NLB Cluster) Management .............................................................. 63
4.2.6. Limitations of Microsoft Remote Desktop Providers and Pools ........................................... 64
4.2.7. Preparing a Windows Server ........................................................................................... 65
4.3. VMware vCenter ........................................................................................................................ 67
4.3.1. System Requirements for VMware vCenter ...................................................................... 67
4.3.2. Setting Up a VMware ESX Server ................................................................................... 67
4.3.3. Setting Up a VMware vCenter Server .............................................................................. 67
4.3.4. Testing the Platform Setup .............................................................................................. 68
4.4. Sun Ray Kiosk Desktop Providers .............................................................................................. 69
4.5. Generic Desktop Providers ......................................................................................................... 70
4.6. Storage ..................................................................................................................................... 71
4.6.1. Introduction to Storage .................................................................................................... 71
4.6.2. Local Storage ................................................................................................................. 72
4.6.3. Network File System Storage .......................................................................................... 72
4.6.4. iSCSI Storage ................................................................................................................. 73
4.6.5. Sun ZFS Storage ............................................................................................................ 74
4.7. Preparing Sun ZFS and iSCSI Storage ....................................................................................... 77
4.7.1. Setting Up a Sun ZFS Storage Appliance ........................................................................ 77
4.7.2. Storage Clustering for Sun ZFS Storage Appliances ......................................................... 77
4.7.3. Replicating and Replacing a Sun ZFS Storage Appliance .................................................. 78
4.7.4. Setting Up an Oracle Solaris ZFS Storage ....................................................................... 79
4.7.5. Replicating and Replacing an Oracle Solaris ZFS Storage ................................................ 80
4.7.6. Setting Up an iSCSI Target on Sun ZFS Systems ............................................................ 81
4.8. Creating Desktop Providers ........................................................................................................ 83
4.8.1. Creating an Oracle VM VirtualBox Desktop Provider ......................................................... 83
4.8.2. Creating a Microsoft Hyper-V Desktop Provider ................................................................ 87
4.8.3. Creating a Microsoft Remote Desktop Provider ................................................................. 88
4.8.4. Creating a VMware vCenter Desktop Provider .................................................................. 90
4.8.5. Creating a Sun Ray Kiosk Desktop Provider .................................................................... 91
4.8.6. Creating a Generic Desktop Provider ............................................................................... 92

53
Oracle VM VirtualBox

4.1. Oracle VM VirtualBox


4.1.1. About Oracle VM VirtualBox
Oracle VDI bundles and supports a specific Oracle VM VirtualBox release. See Section 4.1.2, “System
Requirements for Oracle VM VirtualBox”.

VirtualBox provides the following features:

• Shared Memory: Shared Memory (also known as memory ballooning) is a feature that enables
more desktops to run on VirtualBox hosts. By specifying an amount of memory to be shared between
desktops, the VirtualBox host's memory can be automatically redistributed between desktops as
required. The Shared Memory feature can be activated on a per-pool basis on the Pool category,
Settings tab by specifying a value greater than 0% (up to 75%).

The memory sharing percentage is the amount of memory that can be used for other desktops if a
desktop does not require the full amount of memory for itself. For instance, if the desktop memory size
is 1 GB and memory sharing is set to 40%, the desktop will initially have around 600 MB of real memory.
The other 400 MB will be made available to the desktop on demand.

Oracle VDI constantly monitors desktops with memory sharing enabled to ensure they do not run out
of memory. If a desktop's free memory drops below 64 MB more usable memory will be provided. If a
desktop has excessive amounts of free memory, some memory will be gradually taken away until the
memory sharing percentage is reached. The changes to desktop memory will not be apparent to the
guest OS.

• Memory Paging: The Memory Paging feature can be activated on a per-pool basis on the Pool
category, Settings tab.

Memory Paging (also known as de-duplication of memory) is a feature that enables more desktops to
run on VirtualBox hosts. If several desktops have identical content in memory, pages will be used to
consume real memory on the hypervisor only once. The desktops will reference the page and do not
need physical memory for identical pages any more.

4.1.2. System Requirements for Oracle VM VirtualBox


4.1.2.1. Supported VirtualBox Platforms
Oracle VDI includes release 4.2.10 of Oracle VM VirtualBox. For reasons of backward compatibility, you
can continue to use some releases of VirtualBox that were included in previous releases of Oracle VDI. In
this release, the following are the only supported releases of VirtualBox:

• 4.2.10 (bundled with Oracle VDI release 3.5)

• 4.1.18 (bundled with Oracle VDI release 3.4.1)

• 4.1.14 (bundled with Oracle VDI release 3.4)

To obtain the best performance and new features, use the bundled VirtualBox 4.2.10 release.

The following are the supported installation platforms for the bundled VirtualBox 4.2.10 release:

Operating System Supported Releases


Oracle Linux (64-bit) on x86 platforms 5.8 and 6.3
Oracle Solaris (64-bit) on x86 platforms Oracle Solaris 10 release 8/11 (update 10) or later

54
System Requirements for Oracle VM VirtualBox

Operating System Supported Releases


Oracle Solaris 11.1 or later

Oracle products certified on Oracle Linux are also certified and supported on Red Hat Enterprise Linux
due to implicit compatibility between both distributions. Oracle does not run any additional testing on Red
Hat Enterprise Linux products. However, due to Bug ID 13974640, you must use Oracle's Unbreakable
Enterprise Kernel if you use Oracle Linux as the platform for your VirtualBox hosts. The Red Hat kernel is
not supported.

Oracle VM VirtualBox requires storage for the virtual disks used by Oracle VDI. The installation platform
you select affects the choices you have for storage, see Section 4.6.1, “Introduction to Storage” for details.

Due to the differences in the availability of the storage types and the way they are used, the virtualization
hosts for an Oracle VM VirtualBox desktop provider must use the same operating system, either Oracle
Linux or Oracle Solaris. You can use a mixture of Oracle Linux 5 and Oracle Linux 6 hosts, or Oracle
Solaris 10 and Oracle Solaris 11 hosts, in a desktop provider.

If you use iSCSI or ZFS storage, all VirtualBox hosts on Oracle Linux platforms must run the same kernel
and kernel version. This is a requirement of the Oracle Cluster File System version 2 (OCFS2) file system
used for these storage types.

All VirtualBox hosts must have the virtualization extensions from AMD (AMD-V) and Intel (VT-x) enabled.
Some basic hardware sizing guidelines can be found at Chapter 7, Performance and Tuning. For more
detailed assistance with sizing, contact an Oracle Sales or Support representative.

If the firewall is enabled on VirtualBox hosts, see Section 2.5.3, “Firewalls Between Desktop Providers and
Oracle VDI Centers” for details of the ports that might need to be opened.

4.1.2.2. System Requirements for VirtualBox Hosts on Oracle Linux Platforms


VirtualBox requires specific packages to be installed. The VirtualBox installation script checks for these
packages before installing the software. If any required packages are missing, the installation script uses
the yum command to check whether the packages are available. If the missing required packages are
available, you are prompted to continue and the packages are downloaded and installed. If the required
packages are not available, the installation fails and a list of required packages that must be installed is
displayed.

Automatic software update tools can be configured to update a host to a new release of Oracle Linux when
it becomes available. Updates performed in this way can result in the host being updated to a release of
Oracle Linux that is not supported. You must ensure that your VirtualBox hosts are configured to receive
updates only for the supported releases of Oracle Linux.

Before you install VirtualBox on a host:

1. Ensure that yum is configured correctly.

On Oracle Linux 6 platforms, VirtualBox is included in the available ULN channels or yum repositories.
This can result in VirtualBox being automatically updated to a release that is not supported. To disable
automatic updates to VirtualBox, add the following exclude statement to the [main] section of the /
etc/yum.conf file on the host:
exclude=VirtualBox*

The required channel or repository configuration is the same as for Oracle VDI hosts, apart from the
Oracle Linux 6 GDM Multiseat ([ol6_gdm_multiseat]) requirement.

55
System Requirements for Oracle VM VirtualBox

To resolve package dependencies and to receive updates only for the supported releases of Oracle
Linux, see the following:

• Section 2.2.3.1, “Required Channel Subscriptions for Oracle Unbreakable Linux Network (ULN)”

• Section 2.2.3.2, “Required Repository Configuration for the Oracle Public Yum Server”

2. Update the host with the latest package versions by using the yum update command.

If the host does not have Internet access, you can configure yum to resolve package dependencies using a
local source, see Section 2.2.3.3, “Resolving Package Dependencies Without Internet Access”.

If the VirtualBox host is also used as an Oracle VDI host, you might experience poor performance with
desktops in pools that use the VRDP protocol if the maximum transmission unit (MTU) of the loopback
network interface is set too high. You can check the MTU, and decrease it if needed, as follows:

1. Use the ifconfig command to check the current MTU of the loopback interface.

For example:
# /sbin/ifconfig lo
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16346 Metric:1
RX packets:134095573 errors:0 dropped:0 overruns:0 frame:0
TX packets:134095573 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:82894163173 (77.2 GiB) TX bytes:82894163173 (77.2 GiB)

2. If the MTU is 8192 bytes or more, change the MTU of the loopback interface to 8154 bytes.

The MTU must be less than 8192 bytes. A value of 8154 bytes has been tested and is known to resolve
the performance issue.

Use the ifconfig command to change the MTU, for example:


# /sbin/ifconfig lo mtu 8154

To make the change persist after a reboot, edit the /etc/sysconfig/network-scripts/ifcfg-


lo file and add the following line:
MTU=8154

Use the ifconfig command to verify that the MTU of the loopback interface has been changed.

4.1.2.3. System Requirements for VirtualBox Hosts on Oracle Solaris 11 Platforms


The default Oracle Solaris 11 packages, which are provided through the solaris package publisher, are
required and must be installed on the host.

The latest Oracle Solaris 11 Support Repository Update must be installed on the host.

VirtualBox requires specific packages to be installed. The VirtualBox installation script checks for these
packages before installing the software. If any required packages are missing, the installation script uses
the pkg command to check whether the packages are available. If the missing required packages are
available, you are prompted to continue and the packages are downloaded and installed. If the required
packages are not available, the installation fails and a list of required packages that must be installed is
displayed. You must resolve these dependencies before you can install VirtualBox.

56
System Requirements for Oracle VM VirtualBox

Before you install VirtualBox on a host:

1. Ensure that the Oracle Solaris Image Packaging System (IPS) is configured to receive updates from
the Oracle Solaris 11 Support Repository.

For more details, see the Oracle Technology Network article How to Update Oracle Solaris 11 Systems
From Oracle Support Repositories.

2. Install the latest Oracle Solaris 11 Support Repository Update (SRU), using the pkg update
command.

For more details, see the Oracle Technology Network article More Tips for Updating Your Oracle
Solaris 11 System from the Oracle Support Repository.

If the VirtualBox host is also used as an Oracle VDI host, you must ensure that the host has at least 8
gigabytes (GB) swap space. For information about configuring swap space on Oracle Solaris 11 platforms,
see http://docs.oracle.com/cd/E26502_01/html/E29006/fsswap-14677.html.

4.1.2.4. System Requirements for VirtualBox Hosts on Oracle Solaris 10 Platforms


On Oracle Solaris 10 platforms, the Entire Distribution software cluster is required and must be installed on
the host.

The latest Recommended Patchset must be installed before you install VirtualBox. You can download the
patchset from My Oracle Support.

If the VirtualBox host is also used as an Oracle VDI host, you must ensure that the host has at least 8
gigabytes (GB) swap space. For information about configuring swap space on Oracle Solaris 10 platforms,
see http://docs.oracle.com/cd/E26505_01/html/E37385/fsswap-14677.html.

4.1.2.5. ZFS ARC Cache Requirements for VirtualBox Hosts on Oracle Solaris Platforms
The VirtualBox installation script warns you if the ZFS ARC cache is not limited. If the zfs_arc_min
parameter is not set, the ZFS ARC cache does not shrink below approximately 12% of the available
memory. You should also set the zfs_arc_max parameter to be the same value as zfs_arc_min. The
recommended setting for a dedicated VirtualBox host is 512 megabytes (MB).

If you intend to use local storage (see Section 4.6.2, “Local Storage”) on the VirtualBox host and the
local storage is a ZFS file system, you might need to increase the zfs_arc_min setting because the
recommended 512 MB setting maximizes the available memory for running virtual machines but reduces
ZFS performance by limiting the ARC cache.

To set the zfs_arc_min and zfs_arc_max values, log in as root and edit the /etc/system file. You
set the parameter values in bytes. For example, to set the values to 512 MB, add the following:
set zfs:zfs_arc_min = 536870912
set zfs:zfs_arc_max = 536870912

4.1.2.6. User Requirements


When you install VirtualBox, you provide the user name and password of the user that runs VirtualBox
on the host. Oracle VDI uses the credentials to access the VirtualBox host using SSH and to access the
VirtualBox web service.

On Oracle Linux and Oracle Solaris platforms where root is a user, the root user is used by default. It is
best to use the root user, as this ensures that the VirtualBox functionality for suspending and resuming

57
Installing Oracle VM VirtualBox

virtual machines works in all situations. On Oracle Linux platforms, you must use the root user if you want
to use iSCSI storage or Sun ZFS storage.

On Oracle Solaris platforms where root is a role, you must provide the user name of a different user.

The VirtualBox user must have a home directory and the home directory must not be shared between
several hosts that run VirtualBox.

4.1.3. Installing Oracle VM VirtualBox


This section describes how to install the release of Oracle VM VirtualBox that is bundled with Oracle VDI.

Before you begin, check that the host meets the installation requirements, see Section 4.1.2, “System
Requirements for Oracle VM VirtualBox”.

If you are updating VirtualBox, see Section 4.1.4, “Updating Oracle VM VirtualBox”.

About the VirtualBox Installation Script


Oracle VM VirtualBox is installed and uninstalled with the vb-install script. VirtualBox is delivered as
two packages, an open source package (the Base Pack) and an Oracle proprietary package (the Extension
Pack).

The Oracle VDI software archive only includes the Extension Pack. When you run the vb-install script,
the script automatically downloads the Base Pack using the wget program. If this fails, for example due to
network connectivity problems, the script exits and you must manually download the Base Pack. You can
download the Base Pack and the Extension Pack from the VirtualBox download page.

The following table lists the options that can be used with vb-install script to automate the installation
on several servers with a script.

Table 4.1. vb-install Script Options

Option Description
-f Forces existing virtual machines to be deleted.
-n user Specifies the user name of the VirtualBox user. The default is
root.
-o port Specifies the SSL port to use to connect to VirtualBox. The
default is port 443 if the user is root, otherwise port 18083.
-p Requires input from standard input (stdin) to enter the
password in a secure way.
-u Uninstalls the currently installed release of VirtualBox.

Steps

1. Download the Oracle VDI software archive.

2. Become superuser (root) on the host.

3. Unzip the Oracle VDI software archive and change working directory to the extracted directory.

• On Oracle Linux hosts:


# unzip vda_3.5_linux.zip

58
Updating Oracle VM VirtualBox

# cd vda_3.5_linux

• On Oracle Solaris 11 hosts:


# unzip vda_3.5_solaris_11plus_amd64.zip
# cd vda_3.5_solaris_11plus_amd64

• On Oracle Solaris 10 hosts:


# unzip vda_3.5_solaris_10_amd64.zip
# cd vda_3.5_solaris_10_amd64

4. Unzip the VirtualBox archive and change working directory to the extracted directory.
# unzip vbox_4.2.zip
# cd vbox_4.2

5. Install VirtualBox.
# ./vb-install

The installation script downloads the VirtualBox Base Pack, and then installs both the Base Pack and
the Extension Pack. You complete the installation by providing a user name, a password, and a port
number to use for SSL connections.

If the Base Pack download fails, you must manually download it from the VirtualBox download page.
Make sure you download the release that is bundled and supported with this release of Oracle VDI.
Copy the Base Pack to the same folder as the vb-install script, and then run the script again.

4.1.4. Updating Oracle VM VirtualBox


You update Oracle VM VirtualBox by installing the new release bundled with an Oracle VDI release.

When you update, the existing version of VirtualBox must first be uninstalled. When you install the new
release, the installation script prompts you to uninstall existing release. Alternatively, you can uninstall the
existing release manually with the vb-install -u command.

When you uninstall VirtualBox, you are prompted to shut down any virtual machines that are running.
You must shut down all running virtual machines before uninstalling. You are also prompted to unregister
and delete the virtual machines. If you choose to unregister and delete, you cannot register the virtual
machines again after the update.

After you update VirtualBox, remember to update the guest additions in all templates and desktops.

You might need to upgrade the operating system on your hosts in order to meet the VirtualBox installation
requirements for this release. If you need to upgrade the operating system, consider the following:

• You cannot upgrade the operating system from Oracle Linux 5 to Oracle Linux 6, or from Oracle Solaris
10 to Oracle Solaris 11. You must perform a fresh installation of Oracle Linux 6 or Oracle Solaris 11.
This might have an impact if you are using local storage or network file system storage.

• If you use iSCSI or ZFS storage, all VirtualBox hosts on Oracle Linux platforms must run the same
kernel and kernel version. This is a requirement of the Oracle Cluster File System version 2 (OCFS2) file
system used for these storage types. If you use these storage types, you must upgrade all the hosts for
a desktop provider in parallel.

• Do not change the host name or IP address of a VirtualBox host as part of the operating system
upgrade.

59
Updating Oracle VM VirtualBox

If you need to change these details, remove the host from the desktop provider and then perform a fresh
installation of VirtualBox.

The following is the recommended procedure for updating an Oracle VM VirtualBox Desktop Provider:
Updating an Oracle VM VirtualBox Desktop Provider

1. Ensure that all desktops hosted by the desktop provider are shut down.

2. Back up the storage.

This is a precautionary step to ensure you can recover in the event of failure.

The action required depends on the storage type and the operating system of the VirtualBox hosts, as
shown in the following table.

Storage Type Platform Action


Local Storage Oracle Solaris and Back up the directory used for local storage to a separate
Linux host.
Network File Oracle Solaris and If the file system is a share on another host, unmount it.
System Linux
If the file system is shared by the host, back it up to a
separate host.
iSCSI Linux Ensure you have a backup of the iSCSI LUN.
Sun ZFS Linux Ensure you have a backup of the ZFS pool.
Sun ZFS Oracle Solaris If the storage is a local ZFS pool on the host, back it up to a
separate host.

For all other ZFS storage, no action is needed.

3. In Oracle VDI, enable maintenance mode for the VirtualBox hosts.

See Section 8.9.1, “Oracle VM VirtualBox and Microsoft Hyper-V Host Maintenance” for details.

4. Upgrade the operating system, or install the new operating system, on the VirtualBox hosts.

When you upgrade the operating system, do not change the host name or IP address of the hosts.

Ensure that the hosts meet the operating system requirements for installing Oracle VDI:

• Section 4.1.2.2, “System Requirements for VirtualBox Hosts on Oracle Linux Platforms”

• Section 4.1.2.3, “System Requirements for VirtualBox Hosts on Oracle Solaris 11 Platforms”

• Section 4.1.2.4, “System Requirements for VirtualBox Hosts on Oracle Solaris 10 Platforms”

5. Rebuild the VirtualBox kernel module on the VirtualBox hosts.

If you performed a fresh installation of Oracle Linux 6 or Oracle Solaris 11, you do not need to do this
because you perform a fresh installation of VirtualBox in the next step.

Run the following command as root:


# /etc/init.d/vboxdrv setup

6. Install VirtualBox on the hosts.

60
Configuring the VRDP Port Range

See Section 4.1.3, “Installing Oracle VM VirtualBox” for details.

7. Restore the storage.

The action required depends on the storage type and the operating system of the VirtualBox hosts, as
shown in the following table.

Storage Type Platform Action


Local Storage Oracle Solaris and If the directory used for local storage was destroyed by
Linux the operating system upgrade, recreate it and restore the
content from the backup.

If the directory was not destroyed, verify that the contents


of the directory have not changed. If they have changed,
restore from the backup.
Network File Oracle Solaris and If the file system is a share on another host, mount it again.
System Linux
If the file system is shared by the host and it was destroyed
by the operating system upgrade, recreate the share and
restore the content from the backup.

Ensure the mount point is in the same location as before the


upgrade.
iSCSI Linux No action is needed.
Sun ZFS Linux No action is needed.
Sun ZFS Oracle Solaris If the storage is a local ZFS pool on the host and it was
destroyed by the operating system upgrade, recreate it and
restore the content from the backup.

If the storage is a local ZFS pool on the host and it was not
destroyed by the operating system upgrade, verify that the
contents of the directory have not changed. If they have
changed, restore from the backup.

For all other ZFS storage, no further action.

8. Reconfigure the VirtualBox hosts for a desktop provider.

This is needed to ensure that the credentials of the VirtualBox user, or that the SSL or SSH certificates,
are up-to-date. See Section 8.8.1, “Reconfiguring an Oracle VM VirtualBox Host” for details.

9. In Oracle VDI, enable the VirtualBox hosts to bring them out of maintenance mode.

10. Reload the iSCSI or Sun ZFS storage configuration for the desktop provider.

Required only for Oracle Linux desktop providers that use iSCSI or Sun ZFS storage. See
Section 8.8.2, “Reloading iSCSI or Sun ZFS Storage Configuration on Oracle VM VirtualBox Hosts” for
details.

4.1.5. Configuring the VRDP Port Range


When VirtualBox RDP (VRDP) protocol is selected as the desktop protocol, Oracle VDI makes connections
to Oracle VM VirtualBox hosts on a range of ports between 49152 to 65534.

61
Configuring the VirtualBox Host Memory Overhead

• Use the vda settings-setprops command to configure the VRDP port range, as follows:
# /opt/SUNWvda/sbin/vda settings-setprops -p vbox.rdp.port.range="StartPort-EndPort"

For example:
# /opt/SUNWvda/sbin/vda settings-setprops -p vbox.rdp.port.range="50000-60000"

4.1.6. Configuring the VirtualBox Host Memory Overhead


Oracle VDI balances the load between the VirtualBox hosts for a desktop provider based on the memory
and CPU usage of the hosts. As part of the memory calculation, Oracle VDI reserves a percentage of
the total memory for the host itself and this is known as the host memory overhead. By default, the host
memory overhead is 5% of the total memory.

The host memory overhead is configurable. If you change the default setting, this affects all VirtualBox
hosts. If you have hosts with differing amounts of memory, you should ensure that the host memory
overhead you configure is sufficient for all hosts.

• Use the vda settings-setprops command to configure the host memory overhead, as follows:
# /opt/SUNWvda/sbin/vda settings-setprops -p host.mem.overhead=percentage

For example, to increase the host memory overhead to 10%:


# /opt/SUNWvda/sbin/vda settings-setprops -p host.mem.overhead=10

4.2. Microsoft Hyper-V and Remote Desktop Services


4.2.1. Microsoft Hyper-V
Oracle VDI provides users access to virtual machines hosted by Microsoft Hyper-V. Microsoft Hyper-V
can be installed either as a free stand-alone product, or it can be enabled as the Hyper-V role in Windows
Server.

Oracle VDI remotely manages the virtualization hosts for a Microsoft Hyper-V desktop provider. To enable
communication between Oracle VDI and the Windows Server hosting Microsoft Hyper-V, the Windows
Server needs to be prepared. See Section 4.2.7, “Preparing a Windows Server” for more details.

Oracle VDI does not include Microsoft software. You must purchase this separately. Oracle Support
contracts do not cover third-party software-related issues.

4.2.2. System Requirements for Microsoft Hyper-V


The following are the supported virtualization platforms for the Microsoft Hyper-V desktop provider:

• Microsoft Hyper-V Server 2008 R2

• Microsoft Windows Server 2008 R2 (including SP1)

System requirements for the Hyper-V server:

• Hyper-V Server 2008 R2

• Windows Server 2008 R2

To install the Hyper-V role, see the Microsoft Hyper-V Getting Started Guide.

To install the standalone product, see Install Hyper-V Server 2008 R2.

62
Microsoft Remote Desktop Services

Storage Requirements for Microsoft Hyper-V


Microsoft Hyper-V requires a storage server to store the virtual disks used by Oracle VDI. This server is in
addition to the Hyper-V host itself. See Section 4.6, “Storage” for details of what is supported.

4.2.3. Microsoft Remote Desktop Services


Oracle VDI provides users access to Windows Terminal Services or Remote Desktop Services (Terminal
Services) sessions provided by Microsoft Windows servers by either individual Windows servers or a
cluster of servers belonging to a Remote Desktop Session Host farm or Network Load Balancing cluster.

If you want to display session and load information about a Windows server in Oracle VDI Manager and on
the command line, you must prepare Windows Remote Management (WinRM) on your Windows servers
over HTTPS to communicate with Oracle VDI. See Section 4.2.7, “Preparing a Windows Server” for more
details.

Oracle VDI relies on some Microsoft tools being implemented along with Remote Desktop Services
to provide advanced features such as farm or cluster of RDS hosts with load balancing and session
reconnection.

Oracle VDI does not include Microsoft software or licenses for Microsoft Remote Desktop Services. You
must purchase these separately. Oracle Support contracts do not cover third-party software-related issues.

4.2.4. System Requirements for Microsoft Remote Desktop Services


The following are the supported virtualization platforms for the Microsoft Remote Desktop desktop provider:

• Microsoft Windows Server 2008 R2 SP1 Enterprise Edition (64-bit)

• Microsoft Windows Server 2003 R2 SP2 Enterprise Edition (32-bit and 64-bit)

System requirements for Remote Desktop Services hosts:

• Windows Server 2008 R2

• Windows Server 2003 R2

To install Remote Desktop Services on Windows Server:

• Windows Server 2008 R2

• Windows Server 2003 R2

4.2.5. Microsoft RDS Farm (NLB Cluster) Management


If you have RDS hosts belonging to a Remote Desktop Session Host farm or a NLB cluster, how you
configure a Microsoft Remote Desktop provider depends on whether or not you want to be able to view
session information or CPU and memory load information in Oracle VDI Manager or on the command line.

If you want to view session and load information in Oracle VDI, configure the Microsoft Remote Desktop
provider as follows:

• Prepare each RDS host, as described in Section 4.2.7, “Preparing a Windows Server”.

• In the New Provider Wizard, add all the RDS hosts in the farm using the Specify New Host option.

With this configuration, Oracle VDI detects the information about the farm by querying the first RDS host of
the provider. The detected farm name is returned to the remote client when users try to access a session.
The session can be started on any host participating in the farm.

63
Limitations of Microsoft Remote Desktop Providers and Pools

If you do not want to view session and load information in Oracle VDI, configure the Microsoft Remote
Desktop provider as follows:

1. In the New Provider Wizard, select the Specify Remote Desktop Server Farm option.

2. Enter the DNS name or IP address of the RDS farm or NLB cluster.

With this configuration, the configured farm name is returned to the remote client when users try to access
a session.

Microsoft Terminal Services on Windows Server 2003


Oracle VDI provides access to Terminal Services sessions delivered by either a single server running
Windows Server 2003 or a cluster of servers running Windows Server 2003, any edition.

The cluster is a Microsoft Network Load Balancing (NLB) cluster, which provides load balancing among
servers

Microsoft Session Directory can be used to enable users to reconnect to existing sessions.

Microsoft reference documentation:

• Session Directory and Load Balancing Using Terminal Server

• Network Load Balancing Clusters

Microsoft Remote Desktop Services on Windows Server 2008 R2


Oracle VDI provides access to Remote Desktop Services sessions delivered by:

• A single server running Windows Server 2008 R2

• A farm of servers with the following characteristics:

• All servers running Windows Server 2008 R2

• Microsoft Remote Desktop Connection Broker (formerly Terminal Services Session Broker) is used to
enable load balancing and enable users to reconnect to existing sessions.

As described in Microsoft documentation, preliminary load balancing may be provided using DNS round
robin or Microsoft Network Load Balancing (NLB) or a hardware load balancer.

Microsoft reference documentation:

• TS Session Broker Load Balancing Step-by-Step Guide

• Network Load Balancing Step-by-Step Guide: Configuring Network Load Balancing with Terminal
Services

4.2.6. Limitations of Microsoft Remote Desktop Providers and Pools


Due to the differences between Microsoft Remote Desktop Services (RDS) and other virtualization
platforms, some restrictions apply to the configuration of desktop providers and pools, as follows:

• A desktop provider can contain multiple Windows servers if they are members of the same Network
Load Balancing (NLB) cluster or Remote Desktop Session Host farm. In this situation, the NLB cluster or
Remote Desktop Connection Broker is responsible for load balancing sessions across the hosts and not
Oracle VDI.

64
Preparing a Windows Server

• A desktop provider can contain one or more stand-alone Windows servers. If Windows Remote
Management (WinRM) is not configured on the first Windows server that is added to the desktop
provider, the provider can only contain one Windows server. If WinRM is configured, a provider can
contain multiple Windows servers and Oracle VDI load balances the sessions across the hosts.

• A Windows server can be contained in only one desktop provider.

• Each Microsoft Remote Desktop provider can have only one pool.

• The pool does not use cloning because the Windows server or farm is responsible for opening new RDS
sessions when users connect.

• The desktop assignment type of the pool is always flexible. Users can be reconnected to their existing
RDS sessions, if the RDS hosts are configured for session reconnection. The reconnection is not
handled by Oracle VDI.

• The list of desktops displayed for a pool are the list of all RDS sessions from all RDS hosts associated
with the provider. All RDS sessions, whether they come from Oracle VDI or not, are displayed.

• Groups or users can be assigned to RDS pools but you cannot assign a user manually to an RDS
desktop.

4.2.7. Preparing a Windows Server


After installing Microsoft Hyper-V or Microsoft Remote Desktop Services you must prepare your Windows
server to communicate with Oracle VDI. Oracle VDI does not require any agents to be installed on the
Windows servers, instead Oracle VDI communicates with Windows servers using Windows Remote
Management (WinRM) over HTTPS (a secure protocol). For HTTPS, WinRM requires a server certificate
to operate properly. This certificate is used for encryption of the communication channel. For more details,
see Windows Remote Management or Configuration and Security in the Microsoft documentation.

Preparing the Windows server for communication with Oracle VDI is a two-step process. First, you must
generate the self-signed certificate using the Microsoft Internet Information Services (IIS) 6.0 Resource Kit
Tools (Step 1, below). Then configure winrm to listen for HTTPS requests (Step 3, below).

Note

These steps are necessary for RDS (or Terminal Services) hosts so that critical
information about the server (including CPU usage, memory usage, and number of
user sessions) can be displayed in Oracle VDI Manager and on the command line.
If you do not want to view session or load information in Oracle VDI, the following
steps are not necessary, see Section 4.2.5, “Microsoft RDS Farm (NLB Cluster)
Management” for more details. The delivery of desktop sessions from RDS pools is
still provided by a regular RDP connection. For information about how to configure
the RDP settings per desktop pool, see Section 5.1.4, “Configuring Pool RDP
Options”.

Caution

Run the following commands in Command shell and not PowerShell.

1. Generate a self-signed certificate on the Windows server.

Use the selfssl.exe tool which is part of the IIS 6.0 Resource Kit and can be downloaded from the
Microsoft Support web site.

a. Copy selfssl.exe to your Windows Server.

65
Preparing a Windows Server

b. Create a self-signed certificate:

C:\Program Files\IIS Resources\SelfSSL\selfssl /T /V:<days>

The parameter /V: dictates the number of days the certificate will be valid. There is no maximum
value.

c. Run the certutil command, and make note of the Cert Hash of the new certificate:

certutil -store MY

Note

If the Windows server and the Oracle VDI servers are not in time sync, you
might not be able to connect Oracle VDI to the server because the certificate is
not valid for the delta between both servers.

2. (Windows Server 2003 only) Install WS-Man (WinRM).

Note

Windows Server 2008 and Hyper-V Server 2008 come with WinRM pre-
installed.

a. Download the WS-MAN v1.1. installation file from the Microsoft Download Center.

b. Install WS-Man.

3. Configure Windows Remote Management for HTTPS.

The winrm tool is used to configure remote management settings on the server. You must specify the
certificate hash to be used, and the authentication settings to enable Oracle VDI to send requests.

a. Create a listener on the Windows Server.

In a command shell run:

winrm create winrm/config/listener?Address=IP:ip-address+Transport=HTTPS ^


@{Hostname="host";CertificateThumbprint="certificate-hash";Port="443"}

• Replace ip-address with the IP address of the Windows Server.

• Replace host with the computer name of the Windows Server.

• Replace certificate-hash with the cert hash value, with no spaces, noted from the self-
signed certificate created with selfssl.

b. Open that port so that the Windows Server can receive requests from Oracle VDI:

netsh firewall add portopening TCP 443 "Oracle VDI Remote Management"

Port 443 is the port Oracle VDI listens on by default.

c. Enable Basic authentication on the server by running the command:

winrm set winrm/config/service/auth @{Basic="true"}

66
VMware vCenter

Note

If you use a port other than 443 for Oracle VDI communication with Microsoft
Hyper-V or RDS, you must remember to specify this port when adding the host in
the Oracle VDI Manager.

4.3. VMware vCenter


4.3.1. System Requirements for VMware vCenter
The following are the supported virtualization platforms for the VMware vCenter desktop provider:

• VMware vCenter server 5.1

• VMware vCenter server 5.0

• VMware vCenter server 4.1 (including update 1)

Storage Requirements
VMware vCenter desktop providers require storage for storing the virtual disks used for desktops. The
storage is managed by the VMware infrastructure and not by Oracle VDI. However, Oracle VDI is able to
query vCenter for the available storage, and can select the data store to use when creating virtual disks.

Any storage qualified by VMware can be used, see the VMware Compatibility Guide for details.

4.3.2. Setting Up a VMware ESX Server


VMware ESX Server is a Linux-based appliance that provides a virtualization platform by abstracting CPU
resources, storage, and memory of a physical host into multiple virtual machines.

Steps
1. Power on the host machine with the VMware ESX Server CD in the CD drive.

If available, you can also use remote management applications such as the Integrated Lights Out
Manager (ILOM) to drive the installation.

2. During installation, you can safely rely on the suggested default settings.

Refer to the VMware Documentation for more details about installing VMware ESX Server.

3. After installation, install the VMware Virtual Infrastructure Client so that you can access the VMware
ESX server.

Refer to the VMware Documentation for more details about installing the VMware Virtual Infrastructure
Client.

4.3.3. Setting Up a VMware vCenter Server


VMware vCenter provides central management of several VMware ESX servers, and can be installed on a
physical or virtual host. Refer to the VMware Documentation.

Steps
Once VMware vCenter is installed, complete the following configuration steps:

1. Add the VMware ESX server as a managed host.

67
Testing the Platform Setup

In VMware vCenter select the data center where the host will be added. In the menu bar go to
Inventory, Datacenter, then Add Host, and follow the instructions.

2. Install the Windows System Preparation Tools for Windows XP.

Windows XP Service Pack 3 Deployment Tools

3. Extract the Sysprep tools from the CAB into the following directory:
C:\Documents and Settings\All Users\Application Data\VMWare\VMWare VirtualCenter\sysprep\xp

For more information about installing the Microsoft Sysprep Tools, see the VMware Documentation.

4. Verify that the server is configured for access to the web services API.

Oracle VDI uses the web services API provided by the VMware Infrastructure SDK to communicate
through HTTPS with VMware vCenter.

a. Verify that the VMware vCenter Webaccess component is installed and configured.

b. Verify that Port 443 (HTTPS) is enabled in any firewall that may be active on the system.

c. As a simple test, go to https://vCenter-host/mob. If everything works correctly, you will have


access to the VMware Infrastructure SDK browser (after providing the VMware administrator user
name and password).

4.3.4. Testing the Platform Setup


It is highly recommended to test the virtualization platform configuration, before setting up the Oracle VDI
components. A quick manual test consists of cloning a virtual machine using the desired template and
customization specification followed by a remote access to the cloned virtual machine via RDP.

Before You Begin


In order to test the platform setup, you must first create a virtual machine. See Section 5.3.2, “Creating
Virtual Machines (VMware vCenter)” for more details.

Steps
1. Open the Virtual Infrastructure Client.

2. Right-click on the desired template and select Deploy Virtual Machine from this Template.

a. The wizard will ask you to specify a name for the new virtual machine.

Select the desired host/cluster and datastore with sufficient free space.

b. On the Guest Customization step, select the Customize Using an Existing Customization
Specification option, then choose the customization specification you just created from the list.

c. Review your selections, and click Finish to begin cloning.

3. After the cloning has finished, select the new virtual machine and power it on.

After some time you should see its IP address and host name appear in the Virtual Infrastructure Client.
Make sure that it has a unique IP address and that the host name corresponds to the virtual machine
name.

68
Sun Ray Kiosk Desktop Providers

4. On the VMware vCenter server, open a Remote Desktop Connection by clicking Start, All Programs,
Accessories, Communications, then Remote Desktop Connection.

a. In the Remote Desktop Connection window, enter the IP address of the newly cloned virtual
machine, and click Connect.

b. If everything is configured correctly, a full-screen remote desktop session to your virtual machine
should be displayed.

4.4. Sun Ray Kiosk Desktop Providers


Oracle VDI Sun Ray Kiosk desktop providers enable you to use an existing Sun Ray Kiosk Mode session
type instead of a regular Oracle VDI desktop. A pool for a Sun Ray Kiosk desktop provider enables you
to specify arguments for the kiosk session. If a user, group or token is assigned to a kiosk pool, the kiosk
session is listed on users' Desktop Selector screen as well as their regular Oracle VDI desktops. When the
kiosk session ends, users are returned to the login screen.

Sun Ray Kiosk desktop providers enable you to provide access to types of sessions that are not available
with Oracle VDI itself, for example to connect to a remote desktop using a different broker such as the
Sun Ray VMware View connector, or to provide access to a web-based application in a locked-down web
browser.

Each Sun Ray Kiosk desktop provider corresponds to one kiosk session type that is available in the Oracle
VDI Center. Each pool connected to a Sun Ray Kiosk Session provider can have its own specific settings
for the kiosk session, see Section 5.1.7, “Configuring Kiosk Settings (Sun Ray Kiosk Provider)”.

For more information about configuring Sun Ray kiosk sessions, see Kiosk Mode in the Sun Ray Software
Administration Guide.

Kiosk Session Environment


The Sun Ray Kiosk desktop provider makes some information available that can be used in kiosk session
scripts to detect whether the kiosk session is being run by Oracle VDI. This is useful for integrating different
kiosk sessions with Oracle VDI, for example to provide a single sign-on capability, or to make the different
sessions operate as an integrated desktop where users have multiple desktops. The following information
is available:

• The user name of the logged in Oracle VDI user is available in the VDA_USER environment variable.

• The password of the Oracle VDI user can be read from standard input by the kiosk session process
only if the VDA_SSO_AWARE environment variable is set to true. This environment variable must be set
in the kiosk session descriptor. By default, passwords are not read from standard input.

• The domain of the logged in Oracle VDI user is available in the VDA_DOMAIN environment variable.

• The X11 display to use for the kiosk session is available in the VDA_DISPLAY environment variable.

If this is not set, a full screen display on the current display is assumed.

• The screen location in which the kiosk session is displayed, in X11 geometry format, is available in the
VDA_GEOMETRY environment variable.

If this is set, the session runs in a window on the display specified by VDA_DISPLAY. If no geometry is
set, the session runs full-screen on the specified display.

The following is a simple example of how this information might be used in a kiosk session script.

69
Restrictions on Kiosk Session Types

theUser="$VDA_USER"
thePassword=
theDomain="$VDA_DOMAIN"
theDisplay="$VDA_DISPLAY"
theGeometry="$VDA_GEOMETRY"
read thePassword

Restrictions on Kiosk Session Types


There are restrictions on the kiosk session types that can be used with Sun Ray Kiosk desktop providers.
Most of these are because Oracle VDI itself runs under Sun Ray Kiosk Mode. A kiosk session run by a Sun
Ray Kiosk desktop provider is a sub-process of the main Oracle VDI kiosk session. Note the following:

• The Sun Java Desktop System 3 and the Common Desktop Environment kiosk types (available on
Oracle Solaris platforms only) cannot be used with Oracle VDI, even though they can be selected for use
with a Sun Ray Kiosk desktop provider.

• Kiosk session types that do not use the VDA_DISPLAY or VDA_GEOMETRY environment variables to
detect the Oracle VDI session might not function correctly if users can access multiple desktops.

• Kiosk pre-session or post-session scripts that must be run by root are not supported.

Kiosk session types that have the KIOSK_SESSION_PRE or KIOSK_SESSION_POST keys set cannot be
used with Oracle VDI.

• When the kiosk session exits, temporary files and folders in the kiosk user's home directory are not
cleaned up. Do not use kiosk session types that create temporary files and folders, as these might affect
other kiosk sessions of the same or different types.

• Processes started as background processes by the kiosk session continue to run until the Oracle VDI
session ends.

• Kiosk commands and functions that operate on the kiosk session, operate on the containing Oracle VDI
session, as follows:

• The kioskrestart(1) command cannot be used to end a kiosk session. This command ends the
entire Oracle VDI session.

• Commands such as kioskparam(1) or kioskstatus(1) cannot be used to query the


configuration or status of the kiosk session. These commands only report the parameters of the Oracle
VDI kiosk session.

• If the kiosk session starts any process as a critical process, the entire Oracle VDI session ends when
the critical process exits. The kiosk sessions themselves are not run as critical processes.

• Kiosk application lists do not work correctly with a kiosk session run by the Sun Ray Kiosk desktop
provider. Do not use "desktop-style" session types that support configurable application lists.

4.5. Generic Desktop Providers


One of the benefits of desktop virtualization solution like Oracle VDI is that companies can slowly make a
transition from their traditional infrastructure to a virtualized one. In some cases, it may make sense to build
an Oracle VDI setup top-down instead of bottom-up. The Generic Desktop Provider feature was created for
just this purpose.

The Generic desktop provider can act as a desktop provider to any virtual or physical machine with an
RDP connection. This enables you import and manage individual Windows PCs with Oracle VDI Manager.

70
Storage

See Section 5.4.4, “Importing Individual Windows PCs” for detailed instructions.

Refer to the Section 5.4.4, “Importing Individual Windows PCs” for information about importing individual
Windows PCs.

4.6. Storage
4.6.1. Introduction to Storage
Storage is closely related to virtualization because the virtualization platforms require a location for creating
and storing the virtual disks used for desktops.

Whether you have limited hardware or dedicated storage appliances, Oracle VDI is designed to enable you
to use a variety of storage types to meet your requirements. Oracle VDI supports four types of storage:

• Local Storage

• Network File System Storage

• iSCSI Storage

• Sun ZFS Storage

The storage types that can be used for a desktop provider type depend on the virtualization platform and
the operating system, as shown in the following table.

Table 4.2. Supported Storage Types by Virtualization Platform

Storage Type VirtualBox (Linux) VirtualBox (Solaris) Microsoft Hyper-V


Local ✓ ✓
Network file system ✓ ✓
iSCSI ✓
Sun ZFS ✓ ✓ ✓

VMware vCenter desktop providers also require storage but the storage is managed by the VMware
infrastructure and not Oracle VDI. However, Oracle VDI is able to query vCenter for the available storage,
and can select the data store to use when creating virtual disks.

For all other desktop providers, storage is managed independently of Oracle VDI.

All the supported storage types require preparation before they can be used. The level of preparation
required depends on how directly Oracle VDI manages the storage.

For high availability, a desktop provider can be configured to use more than one storage. To achieve the
best performance and to balance the load, Oracle VDI selects a storage to clone and host virtual disks
based on the available free space and current workload. Once a virtual disk is created, it remains on the
storage until it is deleted. With some storage platforms, such as Sun ZFS Storage Appliances, you can
also create storage clusters to provide redundancy for the hardware components of a storage server.

An Administrator can enable maintenance mode for a storage, Section 8.9.1, “Oracle VM VirtualBox and
Microsoft Hyper-V Host Maintenance”. In maintenance mode, the storage is disabled and all running
desktops are either shut down or suspended. Once this mode is enabled, maintenance can take place on
the storage. This mode is also useful for replicating and replacing a storage server, for example to replace
hardware.

71
Local Storage

4.6.2. Local Storage


Local storage enables you to use any local directory on the virtualization host.

Local storage can be inexpensive to set up and performs reasonably, but it is not suitable for high
availability deployments. Because the storage is not shared between virtualization hosts, personal
desktops cannot be load-balanced between hypervisors and there is also no redundancy in the event of
failure.

Local storage is different from all the other storage types because it is not a central storage that is
accessed by all virtualization hosts. Instead each virtualization host accesses its own local disk to store the
virtual disks. With local storage, the virtualization hosts and the storage hosts are the same. When local
storage is used, Oracle VDI automatically creates a local storage for each virtualization host that is added
to the desktop provider so that the free space and number of desktops can be monitored on each host.

You can only have one local storage for a Oracle VM VirtualBox desktop provider and you cannot mix local
storage with any other storage type.

Storage Preparation
To use local storage with Oracle VDI, you must configure a directory at the same location on each
virtualization host. The directory must reside in a local file system and it must not be provided by a shared
storage location. For performance reasons, it is better to use a server with at least two disks, so that the
storage can be separated from the operating system. When you add the storage for a desktop provider,
you simply provide the path to the directory.

How the Storage is Used


The virtual disks are created in the local file system using the VirtualBox command line. When a user
requests a desktop, Oracle VDI registers a virtual machine with a virtualization host and this includes the
path to the virtual disk in the local file system.

4.6.3. Network File System Storage


Network file system storage enables you to use any distributed file system that can be mounted or shared
on the virtualization host.

A network file system storage can be a Network File System (NFS) share. In a production environment, it
is best to use a file system that is designed for clustering such as the Oracle Cluster File System version 2
(OCFS2).

Compared to local storage, network file system storage provides shared access for the virtualization hosts.
High availability and redundancy can be achieved through the use of multiple shares and multiple network
paths. However the performance for virtual disk I/O can be slower than a local disk. There is also the
management overhead in setting up, monitoring, and maintaining this type of storage.

For Oracle VM VirtualBox desktop providers on Oracle Solaris platforms, you cannot mix network file
system storage with the Sun ZFS storage type.

Storage Preparation
To use network file system storage with Oracle VDI, you must configure the network file system on a
storage host and mount it at the same mount point on all the virtualization hosts for a desktop provider.
When you add the storage for a desktop provider, you simply provide the path to mount point of the
storage.

72
iSCSI Storage

It is best to permit root access to the network file system from the virtualization hosts, as this enables
virtual disks to be cloned with secure file permissions.

How the Storage is Used


The virtual disks are created in the shared file system using the VirtualBox command line. When a user
requests a desktop, Oracle VDI registers a virtual machine with a virtualization host and this includes the
path to the virtual disk in the shared file system.

4.6.4. iSCSI Storage


iSCSI storage enables you to connect virtualization hosts to any storage device that supports the Internet
SCSI (iSCSI) protocol.

iSCSI storage is only available for Oracle VM VirtualBox desktop providers on Oracle Linux platforms.

With iSCSI storage, existing IP networks are used to connect a virtualization host to a LUN on a
storage area network (SAN) device so that the LUN appears to the host as a locally attached disk. The
virtualization host acts as the iSCSI initiator (the client) and the storage is the iSCSI target.

The following are requirements for using an iSCSI storage with Oracle VDI:

• The storage must be compatible with the Oracle Linux iSCSI stack.

• The storage must be able to publish an iSCSI target and a Logical Unit Number (LUN).

• The storage must provide unauthenticated access to the LUN.

Storage Preparation
To use an iSCSI storage with Oracle VDI, you must configure an iSCSI target and LUN on the storage
host. Section 4.7.6, “Setting Up an iSCSI Target on Sun ZFS Systems” provides some example
instructions for preparing an iSCSI target.

Oracle VDI formats the LUN using the Oracle Cluster File System version 2 (OCFS2) file system. You must
ensure that the hosts for Oracle VM VirtualBox desktop provider run the same Oracle Linux kernel and
kernel version, as this is an OCFS2 requirement.

The LUN should have a minimum capacity of 50 gigabytes (GB) and a maximum capacity of 16 terabytes
(TB), see Section 10.4.8, “A Sun ZFS or iSCSI Storage is Shown With a Reduced Capacity” for details.

For more information about OCFS2, see Oracle Cluster File System Version 2 in the Oracle Linux
Administrator's Solutions Guide for Release 6.

When you add the storage for a desktop provider, you provide the following details:

• The IP address or fully-qualified DNS name of the storage host.

• The iSCSI Qualified Name (IQN) of the iSCSI target.

• The LUN number.

How the Storage is Used


Oracle VDI uses iSCSI to connect to the LUN on the storage host. Oracle VDI then automatically formats
the LUN using the OCFS2 file system and mounts the file system at /vdi on all the virtualization hosts.
The virtual disks are created in the shared file system using the VirtualBox command line.

73
Sun ZFS Storage

When a user requests a desktop, Oracle VDI registers a virtual machine with a virtualization host and this
includes the path to the virtual disk in the mounted OCFS2 file system as shown in Figure 4.1.
Figure 4.1. iSCSI Storage and VirtualBox

4.6.5. Sun ZFS Storage


Sun ZFS storage enables you to use either a Sun ZFS Storage Appliance (ZFSSA) or Zettabyte File
System (ZFS) storage pools on Oracle Solaris hosts. The following are the supported Sun ZFS storage
platforms:

• Sun ZFS Storage Appliance Software version 2009.Q2.5.1 and later

• Oracle Solaris 10 10/09 x86 (64-bit) and later

Note

Oracle Solaris 11 and Oracle Solaris on SPARC platforms are not supported.

For Sun ZFSSA, note the following:

• For performance reasons, do not disable the write cache if you do not have write solid-state drives
(SSDs), also known as Logzilla. If the write cache is enabled and you have write SSDs, the write SSDs
are not used. See Section 7.4.2, “About ZFS Storage Caches” for more information on write caching.

• Oracle VDI supports only the default pool.

Use projects to separate your areas of concern.

For Oracle VM VirtualBox desktop providers on Oracle Solaris platforms, you cannot mix Sun ZFS storage
with any other storage type.

For more information about supported storage, see the following:

74
Sun ZFS Storage

• How to Deploy a Sun ZFS Storage Appliance in an Oracle Virtual Desktop Infrastructure (article on
Oracle Technology Network)

• Sun ZFS Storage Appliance whitepapers and briefs

• Sun ZFS Storage Appliance documentation

• Oracle Solaris 10 documentation

Storage Preparation

To use a ZFS storage, Oracle VDI requires SSH root access to the storage host and a ZFS pool on that
host. The following provides some example instructions:

• Section 4.7.1, “Setting Up a Sun ZFS Storage Appliance”

• Section 4.7.4, “Setting Up an Oracle Solaris ZFS Storage”

For Oracle VM VirtualBox desktop providers on Oracle Linux platforms, Oracle VDI formats the ZFS
volume using the Oracle Cluster File System version 2 (OCFS2) file system. You must ensure that your
VirtualBox hosts run the same Oracle Linux kernel and kernel version, as this is an OCFS2 requirement.
Due to OCFS2, a storage should also have a minimum capacity of 50 gigabytes (GB) and a maximum
capacity of 16 terabytes (TB), see Section 10.4.8, “A Sun ZFS or iSCSI Storage is Shown With a Reduced
Capacity” for details. For more information about OCFS2, see Oracle Cluster File System Version 2 in the
Oracle Linux Administrator's Solutions Guide for Release 6.

With Sun ZFS Storage Appliances, you can create storage clusters to provide redundancy for the hardware
components of a storage host. Section 4.7.2, “Storage Clustering for Sun ZFS Storage Appliances”
provides information about configuring clusters for use with Oracle VDI.

After configuring the storage, it is best practice to prepare the storage host for backup and recovery in the
event of a failure. The following provides some example instructions:

• Section 4.7.3, “Replicating and Replacing a Sun ZFS Storage Appliance”

• Section 4.7.5, “Replicating and Replacing an Oracle Solaris ZFS Storage”

When you add the storage for a desktop provider, you provide the following details:

• The IP address or fully-qualified DNS name of the storage host.

• The SSH port used on the host.

• The user name and password of a user with root access to the host.

How the Storage is Used With VirtualBox (Oracle Solaris) and Hyper-V Desktop Providers

Each virtual disk is created as a thin-provisioned (sparse) ZFS volume in the ZFS pool and each ZFS
volume is configured as an iSCSI target on the storage host. Oracle VDI uses either the Sun ZFS Storage
Software command line (Sun ZFS Storage Appliances) or ZFS commands (Oracle Solaris hosts) to
perform this configuration.

When a user requests a desktop, Oracle VDI registers a virtual machine with a virtualization host and
this includes the iSCSI target address of the ZFS volume. When the desktop is started, iSCSI is used to
connect the desktop to its virtual disk, as shown in Figure 4.2.

75
Sun ZFS Storage

Figure 4.2. Sun ZFS Storage and VirtualBox on Oracle Solaris Platforms

How the Storage is Used With VirtualBox (Linux) Desktop Providers

A single thin-provisioned (sparse) ZFS volume is configured in the ZFS pool and the ZFS volume is
configured as an iSCSI target on the storage host. Oracle VDI uses either the Sun ZFS Storage Software
command line (Sun ZFS Storage Appliances) or ZFS commands (Oracle Solaris hosts) to perform this
configuration. On the virtualization hosts, Oracle VDI uses iSCSI to connect to the ZFS volume on the
storage host. The volume is formatted using the OCSF2 file system and mounted at /vdi on all the
virtualization hosts. The virtual disks are then created in the shared file system using the VirtualBox
command line.

When a user requests a desktop, Oracle VDI registers a virtual machine with a virtualization host and this
includes the path to the virtual disk in the mounted OCFS2 file system as shown in Figure 4.3.

76
Preparing Sun ZFS and iSCSI Storage

Figure 4.3. Sun ZFS Storage and VirtualBox on Oracle Linux Platforms

4.7. Preparing Sun ZFS and iSCSI Storage


4.7.1. Setting Up a Sun ZFS Storage Appliance
Steps
1. Set up the system.

Follow the instructions in the Sun ZFS Storage Appliance Installation Guide.

2. (Optional) Update the Sun ZFS Storage Appliance software.

Update the Sun ZFS Storage Appliance software to get important performance enhancements. See
Section 4.6.5, “Sun ZFS Storage” for the supported software releases.

3. Create a project.

You do not need to create a separate ZFS pool for use with Oracle VDI because only the default pool is
supported. Instead you use a project to separate the data.

Project names must be unique. If you are using a storage cluster, using a project name that exists on
both heads causes Oracle VDI to fail in the event of failover.

4.7.2. Storage Clustering for Sun ZFS Storage Appliances


For Sun ZFS Storage Appliances using software version 2010.Q1.0.0 and later, Oracle VDI supports
active-passive as well as active-active storage clusters. Clustered storage is managed by Oracle VDI the
same way as individual storages.

77
Replicating and Replacing a Sun ZFS Storage Appliance

A storage cluster introduces redundancy for the server components of a storage including CPU, memory,
main board, network cards, but does not increase the redundancy of the disks or their controllers. That is
provided by the JBODS and the RAID levels used.

The two storage servers in the cluster (called "heads") are connected over a special card, the Clustron,
which allows the heads to exchange state and configuration information and to detect a failed head.

A resource is a core concept of clustering, and is typically either a network interface or a storage pool. To
ensure availability, the resource is taken over by a head if the other head fails.

The main configuration steps when setting up a cluster are to define the resources, which is performed
the same way as in a single setup (Configuration, Storage or Configuration, Network), and to assign a
head as the resource owner (Configuration, Cluster).

A cluster is called "active-passive" if only one head owns all resources. A cluster is called "active-active"
if both heads own resources. While the performance of an active-passive cluster does not degrade if one
head fails, both heads of an active-active cluster are actively processing requests during normal operation
resulting in a better utilization of the available hardware.

Identical hardware available on both storages can only be used to create one resource owned by one
head. For example, if you configure a 192.168.100.100 interface using the nge0 device and assign head1
as its owner, head2 will use its nge0 device to take over the 192.168.100.100 interface in case head1 fails.
To be able to do so the nge0 device must be unused on head2.

Another constraint about clustered interfaces is that they must be statically configured. You cannot use
DHCP.

A typical setup for two storages with four network devices each and array:

Head1 Head2
nge0 owner -
nge1 owner -
nge2 - owner
nge3 - owner
Array 1 owner -
Array 2 - owner

nge0 and 1 as well as nge2 and 3 are typically trunked or aggregated.

For more information about clustering, see Cluster in the Sun ZFS Storage 7000 System Administration
Guide

4.7.3. Replicating and Replacing a Sun ZFS Storage Appliance


Storage replication is a useful technique to increase storage server availability for lower budget Oracle
VDI installations. After replicating a Sun ZFS Storage Appliance, the Oracle VDI storage replace feature
allows you to easily enable the replicated storage server from Oracle VDI Manager if, for some reason, the
storage server fails.

Preparation
Configure the Sun ZFS Storage Appliance for replication and replicate it. Replication is a built-in feature,
and can be configured from the Sun ZFS Storage Appliance browser user interface (BUI). The following
steps are valid for 2010.Q1 software and later.

78
Setting Up an Oracle Solaris ZFS Storage

1. Add the target storage for the replication to the Remote Replication service. Go to Configuration,
then Services.

2. Add a replication action to the project. Go to Shares, Projects, project, then Replication. The
Include Snapshots option must be selected.

The ZFS structures are now replicated to the target storage as replication package.

Disaster Recovery
If a storage server fails, use the procedure below to replace and re-enable the storage server.

1. Disable the failed storage server.

a. In Oracle VDI Manager, go to Desktop Providers.

b. Select a desktop provider that uses the failed storage server.

c. Go to the Storage tab, select the storage server, and click Maintenance.

d. Choose a time for the server to begin entering maintenance, or click Now to select the current time.

e. Click OK to submit the maintenance mode job.

2. In the Sun ZFS Storage Appliance BUI, convert the replication package to a local project.

Disconnect the replication connection to the replication target.

Go to Shares, Projects, Replica, replication-package, then Replication.

3. Enable the new storage server.

a. In Oracle VDI Manager, go to Desktop Providers.

b. Select a desktop provider that uses the failed storage server.

c. Go to the Storage tab.

d. Select the storage server to be replaced and click Replace to activate the Replace Storage wizard.
Enter information about the new storage (replication target).

e. Select the new storage and click Edit to activate the Edit Storage wizard.

f. Enter additional information about the new storage.

g. Select the new storage and click Enable.

4.7.4. Setting Up an Oracle Solaris ZFS Storage


For a list of supported Oracle Solaris storage platforms, see Section 4.6.5, “Sun ZFS Storage”.

Steps
1. Install the Oracle Solaris operating system.

The Oracle Solaris installer gives you the choice of using UFS or ZFS for the root file system. If the host
has only one disk, choose ZFS. If host has multiple disks and the other disks are exclusively used for
the Oracle VDI ZFS pools, either of the two choices is fine.

79
Replicating and Replacing an Oracle Solaris ZFS Storage

2. Enable root access.

a. Edit the file /etc/ssh/sshd_config and change the line PermitRootLogin no to


PermitRootLogin yes

b. Restart the SSHD service to implement the changes you made to the sshd_config file.
# svcadm restart ssh

3. (Optional) Create a ZFS pool.

If ZFS was selected during installation, the Oracle Solaris OS installer created a pool named rpool.
This pool contains the root file systems and can also be used by Oracle VDI. Create a dedicated pool to
separate the Oracle VDI data from the Oracle Solaris file systems.
# zpool create pool name disk1 disk2 disk3 ...

4. Enable iSCSI access.

Run the following command as root on the Oracle Solaris OS storage server.
# svcadm enable svc:/system/iscsitgt:default

4.7.5. Replicating and Replacing an Oracle Solaris ZFS Storage


Storage replication is a useful technique to increase storage server availability for lower budget Oracle
VDI installations. After replicating an Oracle Solaris storage system, Oracle VDI Manager enables you to
replace a failed storage server with the replicated storage.

Preparation
Replicate the Oracle Solaris storage on another host.

1. Take a ZFS snapshot of the whole storage pool.


# zfs snapshot pool@rep

2. Take a ZFS snapshot of each volume in the storage pool.

Use the following command for each volume.


# zfs snapshot pool/volume@rep

3. Export the ZFS file system to the new storage host.


# zfs send -R pool@rep | ssh root@host zfs receive -dF newpool

4. Delete all ZFS snapshots on the original and new storage servers.

Use the following command for the whole storage pool.


# zfs destroy pool@rep

Use the following command for each volume.


# zfs destroy pool/volume@rep

Disaster Recovery
If a storage server fails, use this procedure to replace the storage server.

80
Setting Up an iSCSI Target on Sun ZFS Systems

1. Disable the failed storage server.

a. In Oracle VDI Manager, go to Desktop Providers.

b. Select a desktop provider that uses the failed storage server.

c. Go to the Storage tab.

d. Select the storage server, and click Maintenance.

e. Choose a time for the server to begin entering maintenance, or click Now to select the current time.

f. Click OK to submit the maintenance mode job.

2. Enable the new storage server.

a. Go to the Storage tab.

b. Select the storage server to be replaced and click Replace to activate the Replace Storage wizard.

c. Enter the information about the new storage.

d. Select the new storage and click Edit to activate the Edit Storage wizard.

e. Enter additional information about the new storage.

f. Select the new storage and click Enable.

4.7.6. Setting Up an iSCSI Target on Sun ZFS Systems


The following instructions are provided as an example of how to configure an iSCSI target on a Sun ZFS
Storage Appliance and on an Oracle Solaris System. Adapt the principles for your own iSCSI storage
device.

Setting Up an iSCSI Target on a Sun ZFS Storage Appliance


1. Log in to the browser user interface (BUI) of your Sun ZFS Storage Appliance.

2. In the navigation area, click Configuration and then click SAN.

3. Create the iSCSI target.

a. Click iSCSI Targets and then click the Add button (+).

The New iSCSI Target window is displayed.

b. For the Target IQN, ensure Auto-assign is selected.

c. In the Alias box, enter an alias for the iSCSI target.

The alias is not actually used by Oracle VDI.

d. For the Initiator Authentication Mode, ensure None is selected.

e. Click OK.

The new iSCSI target is added to the list of targets.

81
Setting Up an iSCSI Target on Sun ZFS Systems

Make a note of the iSCSI Qualified Name (IQN) of the iSCSI target, you need the IQN when you
configure the storage for a desktop provider.

4. Add the iSCSI target to an iSCSI target group.

a. Drag and drop the new iSCSI target to the iSCSI Target Groups list.

You can create a new group for the target or add it to an existing group.

b. Click the Apply button.

5. In the navigation area, click Shares, and then click Shares if this page is not already selected.

6. Create a logical unit number (LUN).

a. Click LUNs and then click the Add button (+).

The Create LUN window is displayed.

b. From the Project list, select your project.

c. In the Name box, enter an name for the LUN.

d. In the Volume Size box, enter the size of the volume.

The volume must be big enough to contain all the virtual disks for all desktop providers that use the
storage.

e. Select Thin Provisioned.

f. From the Target Group list, select the iSCSI target group to which the iSCSI volume belongs.

g. From the Operational Status list, ensure Online is selected.

h. Click the Apply button.

The new LUN is added to the list of LUNs.

7. Edit the settings for the new LUN.

a. Double-click the name of the LUN or click the Pencil icon to the right of the LUN name.

b. Click Protocols and select Write Cache Enabled.

c. Click the Apply button.

8. Make a note of the Assigned LU Number displayed.

You need the LUN number when you configure the storage for a desktop provider.

Setting Up an iSCSI Target on an Oracle Solaris System


1. Log in as superuser on the Oracle Solaris host.

2. Create a ZFS sparse volume.


# zfs create -sVsize poolname/volumename

For example:

82
Creating Desktop Providers

# zfs create -sV 100G vdipool/vdi-disks

3. Share the ZFS volume over iSCSI.


# zfs set shareiscsi=on poolname/volumename

For example:
# zfs set shareiscsi=on vdipool/vdi-disks

4. Use the iscsitadm list target command to obtain the details of the iSCSI target.
# iscsitadm list target
Target: vdipool/vdi-disks
iSCSI Name: iqn.1986-03.com.sun:02:f3510986-6ed5-ca3e-bc25-a25e2056e5a7
Connections: 0

Make a note of the details. When you configure the storage in Oracle VDI, use the iSCSI Name for the
Target and use 0 as the LU Number.

4.8. Creating Desktop Providers


Desktop providers encapsulate the details of the underlying virtualization platform. At a minimum, you must
configure one desktop provider before you can create desktop pools. There is no limitation to the number
of providers the system can manage. At any time, you can configure additional providers.

Desktop providers can also be configured to run a specified number of synchronous desktop cloning and
recycling jobs during and outside of specified peak hours. See Section 5.5.10.2, “Setting Peak Times for
Desktop Providers” for details.

4.8.1. Creating an Oracle VM VirtualBox Desktop Provider


Due to the differences in the availability of the storage types and the way they are used, the virtualization
hosts for an Oracle VM VirtualBox desktop provider must use the same operating system. You cannot mix
Oracle Solaris and Oracle Linux virtualization hosts.

Oracle VM VirtualBox desktop providers require storage as well virtualization hosts. See Section 4.6.1,
“Introduction to Storage” for details of the supported storage types and the preparation required for use
with Oracle VDI.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Desktop Providers.

2. In the Desktop Providers table, click New.

The New Desktop Provider wizard is displayed.

3. On the Select Desktop Provider Type step, select Oracle VM VirtualBox.

4. On the Specify Hosts step, select Specify New Host.

5. On the Specify New Host step, enter the host details.

a. In the Host field, enter the fully-qualified DNS name or IP address of the VirtualBox host.

b. In the SSL Port field, enter the port number to use for SSL communication with the VirtualBox host.

83
Creating an Oracle VM VirtualBox Desktop Provider

This is the port that was specified when VirtualBox was installed. The default SSL port is either port
443 or 18083, depending on whether the root user is used to run VirtualBox on the host.

If SSL is not used, deselect Use SSL Encryption.

c. In the SSH Port field, enter the port number used for SSH connections to the VirtualBox host.

d. In the User Name and Password fields, enter the credentials of the user that runs VirtualBox on
the host.

The credentials must be for the user that was specified when VirtualBox was installed on the host,
typically root.

e. On the Verify Certificate step, check that the SSH and SSL certificate details are correct.

This is an important security step that ensures you are adding a genuine VirtualBox host to the
desktop provider.

The Specify Hosts step is displayed again.

6. To add more VirtualBox hosts, select Specify New Host and enter the host details as shown in step 5.
Otherwise, select Select Existing Hosts.

7. On the Specify Storage step, select Specify New Storage.

The following are the restrictions on how the supported storage types can be used:

• The iSCSI storage type can only be used with Oracle Linux virtualization hosts.

• With Oracle Solaris virtualization hosts, you cannot mix Sun ZFS storage with any other storage type.

• You cannot mix local storage with any other storage type.

• You can only add one local storage.


Sun ZFS Storage

a. From the Storage Type list, select Sun ZFS Storage.

b. In the Storage field, enter the fully-qualified DNS name or IP address of the storage.

c. In the SSH Port field, enter the port number used for SSH connections to the storage.

d. In the User Name and Password fields, enter the credentials of a user with root access to the
storage.

e. On the Verify Certificate step, check that the SSH certificate details are correct.

This is an important security step that ensures you are adding a genuine storage host to the
desktop provider.

f. On the Select ZFS Pool step, from the ZFS Pool list, click the name of a ZFS pool.
iSCSI Storage

a. From the Storage Type list, select iSCSI Storage.

b. In the Storage field, enter the fully-qualified DNS name or IP address of the storage.

84
Creating an Oracle VM VirtualBox Desktop Provider

c. In the Target field, enter the iSCSI Qualified Name (IQN) of the iSCSI volume.

d. In the LU Number field, enter the logical unit number of the iSCSI volume.

Network File System Storage

a. From the Storage Type list, select Network File System.

b. In the Name field, enter a name for the storage.

c. In the Path field, enter the mount point of the storage on the virtualization hosts.
Local Storage

a. From the Storage Type list, select Local Storage.

b. In the Path field, enter the path to the storage on the virtualization hosts.

Once you add the storage, the Specify Hosts step is displayed again.

8. To add more storage, select Specify New Storage and enter the storage details as shown in step 7.
Otherwise, select Select Existing Hosts.

9. On the Define Desktop Provider step, enter the desktop provider details.

a. In the Name field, enter the name of the desktop provider.

b. (Optional) In the Comments field, enter any notes about the desktop provider.

10. On the Review step, check the configuration of the desktop provider and click Finish.

The new desktop provider is added to the Desktop Provider table.

If you add local storage and the desktop provider contains multiple virtualization hosts, Oracle VDI
automatically creates a local storage for each virtualization host so that the free space and number of
desktops can be monitored.

Caution

When you first add a storage for a desktop provider that has Oracle Linux
virtualization hosts, a critical alert might be displayed in Oracle VDI Manager
and the alert might take some time to clear. This is because Oracle VDI formats
the configured storage using Oracle Cluster File System version 2 (OCFS2) and
this might take a while, depending on the size of the volume.

Command Line Steps

1. Create a new Oracle VM VirtualBox desktop provider.

/opt/SUNWvda/sbin/vda provider-vb-create -p name=name

2. Add at least one VirtualBox host to the desktop provider.

/opt/SUNWvda/sbin/vda provider-add-host -p host=host,username=user-name provider

3. Add at least one storage host to the desktop provider.

You must add at least one VirtualBox host to the desktop provider before you can add storage.

85
Creating an Oracle VM VirtualBox Desktop Provider

The following are the restrictions on how the supported storage types can be used:

• The iSCSI storage type can only be used with Oracle Linux virtualization hosts.

• With Oracle Solaris virtualization hosts, you cannot mix Sun ZFS storage with any other storage type.

• You cannot mix local storage with any other storage type.

• You can only add one local storage.

Sun ZFS storage:

/opt/SUNWvda/sbin/vda provider-add-storage-zfs -p \
host=host,username=username,zfspool=zfspool provider

iSCSI storage:

/opt/SUNWvda/sbin/vda provider-add-storage-iscsi -p \
host=host,target=target,lu-number=lu-number provider

Network File System storage:

/opt/SUNWvda/sbin/vda provider-add-storage-networkfs -p \
host=host,path=path provider

Local storage:

/opt/SUNWvda/sbin/vda provider-add-storage-local -p \
path=path provider

If you add local storage and the desktop provider contains multiple virtualization hosts, Oracle VDI
automatically creates a local storage for each virtualization host so that the free space and number of
desktops can be monitored on each host.

Caution

When you first add a storage for a desktop provider that has Oracle Linux
virtualization hosts, the status of the provider might be displayed as critical and
it might take some time for the critical status to clear. This is because Oracle
VDI formats the configured storage using Oracle Cluster File System version 2
(OCFS2) and this might take a while, depending on the size of the volume.

The following example creates an Oracle VM VirtualBox desktop provider with two hosts and one iSCSI
storage.

/opt/SUNWvda/sbin/vda provider-vb-create -p name="VB provider"

/opt/SUNWvda/sbin/vda provider-add-host -p \
host=vb1.example.com,username=root "VB provider"

/opt/SUNWvda/sbin/vda provider-add-host -p \
host=vb2.example.com,port=443,username=root "VB provider"

/opt/SUNWvda/sbin/vda provider-add-storage-iscsi -p \
host=192.168.0.1,target=iqn.1986-03.com.sun:02:a5e94e8d-03b8-e50e-9b67,lu-number=12 \
"VB provider"

86
Creating a Microsoft Hyper-V Desktop Provider

4.8.2. Creating a Microsoft Hyper-V Desktop Provider


Oracle VDI Manager Steps
1. In Oracle VDI Manager, select Desktop Providers from the navigation tree.

2. In the Desktop Providers table, click New.

The New Desktop Provider wizard is displayed.

3. On the Select Desktop Provider Type step, select Microsoft Hyper-V.

4. On the Specify Hosts step, select Specify New Host.

5. On the Specify New Host step, enter the host details.

a. In the Host field, enter the fully-qualified DNS name or IP address of the Hyper-V host.

b. In the SSL Port field, enter the port number to use for SSL communication with the Hyper-V host.

This is the port configured on the host for Windows Remote Management (WinRM). The default
SSL port is port 443.

c. In the User Name and Password boxes, enter the credentials of a user with administrative
privileges on the Hyper-V host.

d. On the Verify Certificate step, check that the SSL certificate details are correct.

This is an important security step that ensures you are adding a genuine Hyper-V host to the
desktop provider.

The Specify Hosts step is displayed again.

6. To add more Microsoft Hyper-V hosts, select Specify New Host and enter the host details as shown in
step 5. Otherwise, select Select Existing Hosts.

7. On the Specify Storage step, select Specify New Storage.

a. In the Storage field, enter the fully-qualified DNS name or IP address of the storage.

b. In the SSH Port field, enter the port number used for SSH connections to the storage.

c. In the User Name and Password boxes, enter the credentials of a user with root access to the
storage.

d. On the Verify Certificate step, check that the SSH certificate details are correct.

This is an important security step that ensures you are adding a genuine storage host to the
desktop provider.

e. On the Select ZFS Pool step, from the ZFS Pool list, click the name of a ZFS pool.

Once you add the storage, the Specify Hosts step is displayed again.

8. To add more storage , select Specify New Storage and enter the storage details as shown in step 7.
Otherwise, select Select Existing Hosts.

9. On the Define Desktop Provider step, enter the desktop provider details.

87
Creating a Microsoft Remote Desktop Provider

a. In the Name field, enter the name of the desktop provider.

b. (Optional) In the Comments field, enter any notes about the desktop provider.

10. On the Review step, check the configuration of the desktop provider and click Finish.

The new desktop provider is added to the Desktop Provider table.

Command Line Steps

1. Create a new Microsoft Hyper-V desktop provider.

/opt/SUNWvda/sbin/vda provider-hv-create -p name=name

2. Add at least one Microsoft Hyper-V host to the desktop provider.

/opt/SUNWvda/sbin/vda provider-add-host -p \
host=host,username=username provider

3. Add at least one storage host to the desktop provider.

/opt/SUNWvda/sbin/vda provider-add-storage-zfs -p \
host=host,username=username,zfspool=zfspool provider

The following example creates a Microsoft Hyper-V desktop provider with two hosts and one storage.

/opt/SUNWvda/sbin/vda provider-hv-create -p name="HyV provider"

/opt/SUNWvda/sbin/vda provider-add-host -p \
host=my.first.hyv.com,port=443,username=root "HyV provider"

/opt/SUNWvda/sbin/vda provider-add-host -p \
host=my.second.hyv.com,port=443,username=root "HyV provider"

/opt/SUNWvda/sbin/vda provider-add-storage -p \
host=my.zfs.com,username=root,zfspool=vda_zfspool "HyV provider"

4.8.3. Creating a Microsoft Remote Desktop Provider


How you configure a Microsoft Remote Desktop provider depends on whether or not Windows Remote
Management (WinRM) is configured on the Remote Desktop Services (RDS) hosts, and whether or not
there is an RDS farm. Oracle VDI uses WinRM to obtain session and load information from the RDS hosts.
If WinRM is not configured and there is no RDS farm, a desktop provider can only contain a single RDS
host because Oracle VDI cannot load balance the sessions between hosts.

Configuration Steps When WINRM Configured

Follow these steps to configure a desktop provider that contains either of the following:

• Individual RDS hosts with WinRM configured and there is no RDS farm.

• A farm of RDS hosts and WinRM is configured on each RDS host in the farm.

Oracle VDI Manager Steps (WinRM Configured)

1. In Oracle VDI Manager, select Desktop Providers from the navigation tree.

2. In the Desktop Providers table, click New.

88
Creating a Microsoft Remote Desktop Provider

The New Desktop Provider wizard is displayed.

3. On the Select Desktop Provider Type step, select Microsoft Remote Desktop.

4. On the Specify Hosts step, select Specify New Host.

5. On the Specify New Host step, enter the host details.

a. In the Host field, enter the fully-qualified DNS name or IP address of the RDS host.

b. In the SSL Port field, enter the port number to use for SSL communication with the RDS host.

The default SSL port is port 443.

c. In the User Name and Password boxes, enter the credentials of an Administrator on the RDS host.

d. On the Verify Certificate step, check that the MD5 fingerprint matches the fingerprint of the SSL
certificate for the RDS host.

This is an important security step that ensures you are adding a genuine RDS host to the desktop
provider.

The Specify Hosts step is displayed again.

6. To add more RDS hosts, select Specify New Host and repeat step 5. Otherwise, select Select
Existing Hosts.

7. On the Define Desktop Provider step, enter the desktop provider details.

a. In the Name field, enter the name of the desktop provider.

b. (Optional) In the Comments field, enter any notes about the desktop provider.

8. On the Review step, check the configuration of the desktop provider and click Finish.

The new desktop provider is added to the Desktop Provider table.

9. Specify the host name or IP address, SSL port, and administrator credentials for each RDS host.

Command Line Steps (WinRM Configured)

1. Create a Microsoft Remote Desktop desktop provider.


/opt/SUNWvda/sbin/vda provider-ts-create -p name=name

2. Add at least one RDS host to the desktop provider.


/opt/SUNWvda/sbin/vda provider-add-host -p host=host,username=username provider

The username property is the user name of an Administrator on the RDS host. You are prompted
for the password. If a non-standard port is used for SSL communication with the RDS host, you must
specify the port number using the port=port property.

The following example creates a Microsoft Remote Desktop provider named "RDS Sessions and adds
a single RDS host.
/opt/SUNWvda/sbin/vda provider-ts-create -p name="RDS Sessions"

/opt/SUNWvda/sbin/vda provider-add-host -p \

89
Creating a VMware vCenter Desktop Provider

host=rds1.example.com,username=Administrator "RDS Sessions"

Configuration Steps When WinRM is Not Configured


Follow these steps to configure a desktop provider that contains either of the following:

• A single RDS host without WinRM configured and there is no RDS farm.

• A farm of RDS hosts and WinRM is not configured on each RDS host in the farm.

Oracle VDI Manager Steps (WinRM Not Configured)

1. In Oracle VDI Manager, select Desktop Providers from the navigation tree.

2. In the Desktop Providers table, click New.

The New Desktop Provider wizard is displayed.

3. On the Select Desktop Provider Type step, select Microsoft Remote Desktop.

4. On the Specify Hosts step, select Specify Remote Desktop Server Farm.

5. On the Specify Remote Desktop Server Farm step, enter the fully-qualified DNS name or IP address of
the RDS farm in the Farm Name field.

6. On the Define Desktop Provider step, enter the desktop provider details.

a. In the Name field, enter the name of the desktop provider.

b. (Optional) In the Comments field, enter any notes about the desktop provider.

7. On the Review step, check the configuration of the desktop provider and click Finish.

The new desktop provider is added to the Desktop Provider table.

Command Line Steps (WinRM Not Configured)

1. Create a Microsoft Remote Desktop desktop provider.


/opt/SUNWvda/sbin/vda provider-ts-create -p name=name

2. Specify the RDS farm.


/opt/SUNWvda/sbin/vda provider-add-host -p host=host,farm=true provider

3. The following example creates a desktop provider named "RDS farm" for the farm
rdsfarm.example.com.
/opt/SUNWvda/sbin/vda provider-ts-create -p name="RDS farm"

/opt/SUNWvda/sbin/vda provider-add-host -p host=rdsfarm.example.com,farm=true "RDS farm"

4.8.4. Creating a VMware vCenter Desktop Provider


Oracle VDI Manager Steps

1. In Oracle VDI Manager, go to Desktop Providers.

2. In the Desktop Providers table, and click New to activate the New Desktop Provider wizard.

The wizard enables you to add multiple hosts and multiple storages in a loop.

90
Creating a Sun Ray Kiosk Desktop Provider

Once you click Finish, the new desktop provider appears appear in the Oracle VDI Manager.

The New Desktop Provider wizard requires different information depending on the virtualization
platform in use. For example, most desktop providers require a host IP address and administrator
credentials. Oracle VDI or Microsoft Hyper-V desktop providers require a host and a storage.

You can view the VMware vCenter resource details, including data centers, VMware clusters, and
datastores.

Command Line Steps

• Create a new VMware vCenter desktop provider.


/opt/SUNWvda/sbin/vda provider-vc-create -p name=name,host=host,username=username

The following example creates a VMware vCenter desktop provider.


/opt/SUNWvda/sbin/vda provider-vc-create -p \
name="VC provider",host=my.vc.com,username=Administrator

4.8.5. Creating a Sun Ray Kiosk Desktop Provider


Before you begin, see Section 4.4, “Sun Ray Kiosk Desktop Providers” for information about using kiosk
session types with Oracle VDI.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Desktop Providers from the navigation tree.

2. In the Desktop Providers table, click New.

The New Desktop Provider wizard is displayed.

3. On the Select Desktop Provider Type step, select Sun Ray Kiosk.

4. On the Select Kiosk Session Type step, select a Sun Ray kiosk session type in the Session Type list.

5. On the Define Desktop Provider step, enter the desktop provider details.

a. In the Name field, enter the name of the desktop provider.

b. (Optional) In the Comments field, enter any notes about the desktop provider.

6. On the Review step, check the configuration of the desktop provider and click Finish.

The new desktop provider is added to the Desktop Provider table.

Command Line Steps

1. (Optional) List the available kiosk session types.


# /opt/SUNWkio/bin/kioskdesc list -s

2. Create a Sun Ray Kiosk desktop provider.


/opt/SUNWvda/sbin/vda provider-kiosk-create -p name="name",session=session

The following example creates a Sun Ray Kiosk desktop provider named "VMWare View Provider" that
uses the VMWare View Manager Session kiosk session.

91
Creating a Generic Desktop Provider

/opt/SUNWvda/sbin/vda provider-kiosk-create -p name="VMWare View Provider",session=vdm

4.8.6. Creating a Generic Desktop Provider


Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Desktop Providers from the navigation tree.

2. In the Desktop Providers table, click New.

The New Desktop Provider wizard is displayed.

3. On the Select Desktop Provider Type step, select Generic.

4. On the Define Desktop Provider step, enter the desktop provider details.

a. In the Name field, enter the name of the desktop provider.

b. (Optional) In the Comments field, enter any notes about the desktop provider.

5. On the Review step, check the configuration of the desktop provider and click Finish.

The new desktop provider is added to the Desktop Provider table.

Command Line Steps

• Create a generic desktop provider.


/opt/SUNWvda/sbin/vda provider-pc-create -p name=name

The following example creates a generic desktop provider named "windows-pcs".


/opt/SUNWvda/sbin/vda provider-pc-create -p name=windows-pcs

92
Chapter 5. Configuring Pools and Desktops

Table of Contents
5.1. About Pools ............................................................................................................................... 94
5.1.1. Creating Desktop Pools ................................................................................................... 94
5.1.2. Choosing Between VRDP and MS-RDP ........................................................................... 95
5.1.3. Configuring Pool Networks .............................................................................................. 99
5.1.4. Configuring Pool RDP Options ....................................................................................... 100
5.1.5. Enabling USB Redirection ............................................................................................. 104
5.1.6. Configuring Smart Card Removal ................................................................................... 106
5.1.7. Configuring Kiosk Settings (Sun Ray Kiosk Provider) ...................................................... 106
5.1.8. Using the NetBIOS Name to Log In to Windows Desktops ............................................... 107
5.1.9. Location Awareness ...................................................................................................... 107
5.2. About Desktops and Templates ................................................................................................ 108
5.2.1. Supported Desktop Operating Systems .......................................................................... 109
5.2.2. About Templates and Revisions ..................................................................................... 110
5.2.3. About Desktop and Virtual Machine States ..................................................................... 111
5.3. Creating Desktop Images ......................................................................................................... 114
5.3.1. Creating Virtual Machines (Oracle VM VirtualBox) ........................................................... 114
5.3.2. Creating Virtual Machines (VMware vCenter) .................................................................. 116
5.3.3. Creating Virtual Machines (Microsoft Hyper-V) ................................................................ 118
5.4. Importing Desktops .................................................................................................................. 120
5.4.1. Importing Desktops (Oracle VM VirtualBox) .................................................................... 120
5.4.2. Importing Desktops (VMware vCenter) ........................................................................... 121
5.4.3. Importing Desktops (Microsoft Hyper-V) ......................................................................... 122
5.4.4. Importing Individual Windows PCs ................................................................................. 122
5.4.5. About Template Management ........................................................................................ 123
5.5. Cloning Desktops ..................................................................................................................... 124
5.5.1. Cloning Desktops (Oracle VM VirtualBox) ....................................................................... 124
5.5.2. Cloning Desktops (VMware vCenter) .............................................................................. 125
5.5.3. Enabling VMware Linked Cloning ................................................................................... 126
5.5.4. Cloning Desktops (Microsoft Hyper-V) ............................................................................ 127
5.5.5. About Clone Customization ............................................................................................ 128
5.5.6. Debugging Fast Preparation Problems ........................................................................... 128
5.5.7. Enabling Oracle VDI Fast Preparation for Windows Templates (Oracle VM VirtualBox and
Microsoft Hyper-V) .................................................................................................................. 129
5.5.8. Enabling System Preparation for Windows Templates (Oracle VM VirtualBox and
Microsoft Hyper-V) .................................................................................................................. 130
5.5.9. About Personal Hard Drives and Windows User Profiles ................................................. 132
5.5.10. Clone and Recycle Job Management ........................................................................... 134
5.6. Application Virtualization with Microsoft App-V ........................................................................... 135
5.6.1. App-V Repository Lifecycle ............................................................................................ 135
5.6.2. Creating an App-V Repository ....................................................................................... 136
5.7. Assigning Users to Desktops .................................................................................................... 138
5.7.1. Assigning Users to Pools or Desktops ............................................................................ 138
5.7.2. Creating Custom Groups and Custom Group Filters ........................................................ 139
5.7.3. Assigning Tokens to Users ............................................................................................ 140
5.7.4. Assigning Tokens to Desktops or Pools ......................................................................... 141
5.7.5. Creating Tokens in Bulk ................................................................................................ 142
5.7.6. Searching for Desktops ................................................................................................. 143

93
About Pools

5.1. About Pools


5.1.1. Creating Desktop Pools
Oracle VDI organizes desktops in pools. A pool is a collection (or container) of desktops. Typically you
create different pools for different types of users. For example, the engineering team in your company
might have different desktop requirements than the marketing department.

Note

Only one pool can be created for each Microsoft Remote Desktop provider.

Oracle VDI Manager Steps

1. In Oracle VDI Manager, go to Pools.

2. Select a company.

3. In the Pools table, click New.

A New Pool wizard is displayed.

a. For Oracle VM VirtualBox and Microsoft Hyper-V desktop providers, choose one of the following
pool types:

• Dynamic pools are filled with cloned flexible desktops. If you choose the Dynamic Pool type, the
desktops in the pool are temporarily assigned to users. They are recycled each time the user
logs out. This pool type is considered dynamic because the user-desktop assignments are often
changing.

• Growing pools are filled with cloned personal desktops. If you choose the Growing Pool type, the
desktops in the pool are permanently assigned to users. Users can log in and out without losing
their desktop settings. The desktops are not recycled.

• Manual pools are initially empty. They are filled manually by importing personal desktops. The
Manual Pool type should be used if cloned desktop assignment is not an option.

Note

For Microsoft Remote Desktop providers, pool types do not apply.

Command Line Steps

• Create a pool.
/opt/SUNWvda/sbin/vda pool-create -p name=pool-name,provider=provider-name

• Example - Creates a pool for an Oracle VM VirtualBox desktop provider.


/opt/SUNWvda/sbin/vda pool-create -p \
name="Templates",provider="VB provider",assignment-type=personal

• Example - Creates a pool for a VMware vCenter desktop provider and specifies a template to fill the
pool from.
/opt/SUNWvda/sbin/vda provider-list-templates "VC provider"
NAME ID PATH

94
Choosing Between VRDP and MS-RDP

XP-Template vm-134 [Datacenters, ADatacenter, vm]


XPClone vm-629 [Datacenters, ADatacenter, vm]

/opt/SUNWvda/sbin/vda pool-create -p \
name="VC pool",provider="VC provider",template=vm-134,preferred-size=30,\
free-size=5,max-size=35,power-state=on,assignment-type=flexible,\
recycle-policy=reuse,idle-timeout=2

5.1.2. Choosing Between VRDP and MS-RDP


Oracle VDI uses the Remote Desktop Protocol (RDP) for transmitting data to and from virtual desktops.
Oracle VDI supports two different types of RDP, VirtualBox RDP (VRDP) and Microsoft RDP (MS-RDP).

VRDP enables Oracle VDI to connect to desktops at the virtual machine level. This characteristic enables
users to watch a virtual machine boot in the same way as a real computer, and desktop sessions appear to
start faster.

With MS-RDP, Oracle VDI connects at the operating system level. Users are not able to watch the virtual
machine boot, and the desktop sessions appear to start slower because you have to wait for the virtual
machine to boot and be ready to accept RDP connections.

The RDP protocol selected for a pool has the following implications:

• Desktop operating system

With VRDP, virtual desktops can run Windows, Linux and Solaris. MS-RDP only supports Windows
desktops. For more information, see Section 5.2.1, “Supported Desktop Operating Systems”.

• Desktop networking

Desktops can connect to the external network using either network address translation (NAT) networking
or host networking (bridged networking).

NAT networking is the simplest way of connecting desktops to an external network. NAT networking
does not require any configuration on the host network or in the desktop, and desktops are not
accessible from other computers on the network.

Desktops that use host networking are like real computers, they require configuration on the host
network or in the desktop, and are accessible from other computers on the network.

NAT networking is only available if VRDP is the selected protocol.

• Client device features

Table 5.1 compares client device features, such as audio recording, supported by each protocol. Pay
particular attention to the notes that follow the table.

The client device and virtual machine configuration also influence which client device features can be
used for a virtual desktop. For more information, see Section 6.1, “About Desktop Access”.

• Client device peripherals

The selected protocol can affect the peripherals that can be used with virtual desktops. For the latest list
of tested peripherals, see the Sun Ray Client and Oracle Virtual Desktop Client Peripherals List.

For Oracle VM VirtualBox desktops, you can use either VRDP or MS-RDP. You select the required
protocol and networking method in the network settings for the pool, see Section 5.1.3, “Configuring Pool
Networks”. By default, pools are configured to use VRDP and NAT networking. To use MS-RDP, you must
select host networking. For all other desktop providers, MS-RDP and host networking is used.

95
Choosing Between VRDP and MS-RDP

Table 5.1. Client Device Features Supported by VRDP and MS-RDP

Feature Description VRDP MS-RDP


Audio recording (input audio) Enables recording from client devices to ✓ ✓
virtual desktops.
Audio redirection Enables audio content on virtual desktops ✓ ✓
to be played on client devices.
Clipboard redirection Enables copy and paste functionality for ✓ ✓
text between client devices and virtual
desktops.
COM port mapping Enables access to serial devices ✗ ✓
connected to client devices.
✓ ✓
a
Drive redirection (client drive Enables access to drives on the client
mapping) devices.
✓ ✓
b
Multi-desktop Enables multiple virtual desktops to
be displayed if multiple monitors are
attached to client devices.
✓ ✓
b
Multi-monitor Enables the use of multiple monitors
attached to client devices. One desktop
session can be displayed on multiple
monitors, or multiple desktop sessions on
multiple monitors.
Smart card device redirection Enables access to smart card devices ✓ ✓
connected to client devices.
USB device redirection Enables access to USB devices ✓ ✓
connected to client devices.
Video acceleration Enables enhancement to improve the ✓ ✓
performance of video streams and Adobe
Flash content.
✓ ✓
b
Windows media redirection Enables Windows Media Player content
in Windows 7 desktops to be decoded
and played directly by the client.
✓ ✓
c
Windows printer mapping Enables printing to printers attached
(client printing) to client devices, or printing to local or
network printers attached to the virtual
desktop or Sun Ray Software server.
a
Access only to client USB storage devices is supported.
b
RDP 7 and later only.
c
Access only to client USB printers is supported.

For detailed information of the features listed in the above table, and information on using MS-RDP and the
Sun Ray Windows connector, see Windows Connector in the Sun Ray Software Administration Guide.

For detailed information on VRDP, see Remote Virtual Machines in the Oracle VM VirtualBox
documentation.

Desktop Performance Settings and VRDP


Most RDP client programs have settings that can be used to enhance the performance of remote
desktops. For example, for Sun Ray Clients, these settings can be configured for a pool, see Section 5.1.4,

96
Choosing Between VRDP and MS-RDP

“Configuring Pool RDP Options”. The performance settings control things such as the color depth, the
mouse shadow, and window and menu animations. However, if the VRDP protocol is used to connect to
desktops, these settings have no effect, because VRDP connects at the machine level rather than the
operating system level.

Audio Recording (Input Audio) and MS-RDP


The following applies if MS-RDP is selected as the desktop protocol.

Audio input is disabled by default. You enable it in the RDP options for a pool, see Section 5.1.4,
“Configuring Pool RDP Options” for details.

For Windows 7, audio recording is only available in Windows 7 Ultimate and Enterprise editions. To enable
audio recording, you might have to edit a Windows registry setting, see http://support.microsoft.com/
kb/2020918 for details.

For Windows XP and Windows Server 2003, audio recording (input audio) is supported for Sun Ray
Clients. To enable support for audio recording, you must install the audio input component of the Sun Ray
Windows connector in the template or desktop. See How to Install the Windows Connector Components on
a Windows System in the Sun Ray Software Administration Guide for details.

Audio Redirection and VRDP


VRDP only supports audio streams in 22.05kHz 16-bit stereo format. If any other audio format is
requested, no audio is played.

Multi-Monitor
For Windows 7, if Microsoft RDP is selected as the desktop protocol, multi-monitor support is only available
in Windows 7 Ultimate and Enterprise editions. Windows 7 Professional does support a single desktop
spanned across multiple monitors (spanned mode). See the article Using Multiple Monitors in a Remote
Desktop Session for details.

For multi-monitor support with VRDP, Oracle VDI runs a separate instance of the Sun Ray Windows
connector for each monitor connection.

For multi-monitor support with MS-RDP, Oracle VDI runs one instance of the Sun Ray Windows connector
for each Oracle VDI session.

Oracle VDI provides additional security for VRDP connections by setting a one-time password. Without the
correct user name and one-time password, an RDP client fails to connect.

Smart Card Device Redirection


In order to use smart cards, for example for PIN authentication or email signing, the device drivers for the
smart card reader must be installed in the desktop. It is best to install the drivers in the desktop template
before it is used for cloning in a pool.

For VRDP, smart card redirection is supported for Windows desktops only. VirtualBox supports smart
cards by emulating a USB smart card reader, the SCR335 USB Smart Card Reader device. For Windows
7 and later desktops, the drivers for this device can be installed automatically using Windows Update when
the device is detected. For Windows XP desktops, the device drivers must be installed manually. To avoid
driver issues, you can install the device drivers in the template or desktop. You can download the drivers
from:

http://support.identive-infrastructure.com/download_scm/download_scm.php?lang=1

97
Choosing Between VRDP and MS-RDP

On the download page, select the SCR335 device and the required operating
system, browse for the SCR3xxx PC/SC Installer, and then download the
SCR3xxx_Win_drivers_only_installer_V<version>.zip file.

USB Redirection and MS-RDP


To configure support for USB redirection for Sun Ray Clients when MS-RDP is selected as the desktop
protocol, you must install the USB redirection component of the Sun Ray Windows connector in the
template or desktop. See Section 5.1.5, “Enabling USB Redirection” for details.

Video Acceleration and MS-RDP


Video Acceleration is supported for connections that use RDP version 7.

To configure support for video acceleration for Sun Ray Clients when MS-RDP is selected as the desktop
protocol, you must install the following components of the Sun Ray Windows connector in the template or
desktop:

• Multimedia redirection: This component provides enhanced performance for Windows Media Player.

• Adobe Flash acceleration: This component provides enhanced playback capabilities for Adobe Flash
content.

• Audio/video synchronization: This component provides enhanced audio and video synchronization for
multimedia content

The multimedia redirection and audio/video synchronization components are only supported on Windows
XP and Windows Server 2003 only.

For detailed information on how to install the components, see How to Install the Windows Connector
Components on a Windows System in the Sun Ray Software Administration Guide.

For detailed information about the Sun Ray Windows connector components, see Windows Connector in
the Sun Ray Software Administration Guide.

Video Acceleration and VRDP


VirtualBox has a Video Redirection feature for VRDP. Video streams in a virtual machine are detected by
the VRDP server automatically as frequently updated rectangular areas. Video frames are compressed
using the Motion JPEG (M-JPEG) format, allowing a higher compression rate than standard RDP bitmap
compression methods. The Video Redirection feature works without having to install additional software in
the guest. It is not possible to turn off this feature or to change the compression rate.

The Video Redirection feature is supported for any supported desktop that uses VRDP and accessed from
a Sun Ray Client, or a client that supports RDP version 7. On Sun Ray Clients, the M-JPEG video streams
are delivered through the SunFlash channel.

Windows Media Redirection and VRDP


The Guest Additions for VirtualBox 4.2 include a multimedia redirection feature for VRDP, based on RDP
7 media redirection. It allows multimedia content played in the default Windows Media Player on Windows
7 SP1 desktops to be offloaded entirely to the RDP client connected to the VRDP server. This reduces the
compute and bandwidth resources used by the desktop, since Windows Media Player does not decode
the content. It also reduces the load on the VirtualBox host because the VRDP video acceleration feature,
described above, is bypassed when multimedia redirection is used.

98
Configuring Pool Networks

Media formats supported by this feature are: H.264, VC-1 (WMV3), MPEG-1/2, WMA, MP3, AAC.

To enable this feature, you must install the VirtualBox Guest Additions on the Windows 7 SP1 desktop
with the /with_vboxmmr option. The required codecs for this feature are included in the Oracle Virtual
Desktop Client and Sun Ray Client, so no additional user action is required in a typical Oracle VDI
deployment.

Note

When you disconnect from a VRDP session, any Windows Media Player instances
with open files redirected to an RDP client exit.

5.1.3. Configuring Pool Networks


The Pool Network Configuration feature enables an administrator to specify the subnet in which desktops
are placed. For Oracle VM VirtualBox, Microsoft Hyper-V, and VMware vCenter desktop providers, Oracle
VDI detects the networks that are configured on the provider's hosts, and the administrator can select
which of these networks should be used in specific pools.

Configuration of networks is performed at the desktop provider level and at the pool level:

• Oracle VM VirtualBox and Microsoft Hyper-V desktop providers

Each subnet available on either an VirtualBox or Microsoft Hyper-V host is identified by a unique label.
By default this label is the subnet address, but it can be changed in the Network tab for the desktop
provider.

When a host is added to a desktop provider, Oracle VDI detects the subnets available on that host and
update the Network table accordingly.

If a subnet is not available on any of the hosts in a provider, Oracle VDI displays a warning.

You can view the list of subnets available for a specific host by selecting that host in the Host tab for
the desktop provider. If you make changes to the networking on a host, click the Refresh button in the
Network tab so that Oracle VDI can rescan the subnets available on the host.

• Oracle VM VirtualBox and Microsoft Hyper-V pools

A pool can have one or more networks assigned to it.

When a pool is created, Oracle VDI checks whether any networks are available on all hosts for the
desktop provider of the pool, and it assigns one of these networks to the pool.

If no networks are available on all hosts for the provider, the administrator must explicitly specify a
network to be used by the pool through the Settings tab for the pool.

When desktops are imported or cloned in a pool, Oracle VDI creates a network device on the desktop
and configure that device to be in the networks that have been enabled for the pool.

If more than one network has been configured for the pool, Oracle VDI uses the network that has been
configured as the primary network when trying to establish an RDP connection to the desktop. The
primary network for a pool can be configured in the Settings tab.

For Oracle VM VirtualBox pools, the Pool Network Configuration feature is only available if Host
Networking is being used.

• VMware vCenter pools

99
Configuring Pool RDP Options

The default behavior for VMware vCenter pools is to use the network configuration stored with your
VMware vCenter templates and virtual machines.

You can override this behavior for a given pool by enabling the use customized network settings in the
pool's Settings tab.

If you change Oracle VM VirtualBox pool settings from NAT networking to Host Networking and MS-RDP,
existing running desktops must be restarted or else subsequent user requests for these desktops fail.
Existing running desktops do not have a public IP address. After the pools settings have been changed,
subsequent requests for that desktop attempt to access the desktop using the private and inaccessible
NAT IP.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, go to Pools.

2. Select a pool.

3. Go to the Settings tab to specify which networks are configured on the desktops in the pool.

For each network selected, a network adapter is created for new desktops in that pool.

Oracle VM VirtualBox and Hyper-V desktop provider notes:

• Rename or refresh the desktop provider network list - Select the Desktop Providers category, and select
the Oracle VM VirtualBox or Microsoft Hyper-V desktop provider of interest. Select the Network tab to
see the network(s) configured on the desktop provider. After making changes to the networking on an
VirtualBox or Microsoft Hyper-V host, click the Refresh button to rescan the network list for the provider.

• View a read-only list of the networks on a specific host - Go to the Desktop Providers category, and
select a desktop provider. Then select the host in the Host tab.

VMware vCenter desktop provider notes:

• VMware vCenter networks are not accessible in the Desktop Providers category. You can create and
manage networks using VMware vCenter management tools instead.

5.1.4. Configuring Pool RDP Options


You can configure the RDP options to be used by Sun Ray sessions when users connect to their desktops.

The options used by default for the Sun Ray Windows connector (uttsc) are:

• USB redirection: enabled (-r usb:on)

• Desktop Background: enabled (-E wallpaper)

• Theming: enabled (-E theming)

• Fullscreen mode: enabled (-m )

Use the following steps to configure additional RDP options for the pool.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, go to Pools and select a pool.

100
Configuring Pool RDP Options

2. Go to the Settings tab.

3. In the Sun Ray section, click Edit Sun Ray RDP Settings.

4. Change the RDP settings and click Save.

See Section 5.1.4.1, “Pool Sun Ray RDP Settings” for an explanation of the settings.

5. Click Back.

6. In the Sun Ray section, select Use Customized Settings.

7. Click Save.

5.1.4.1. Pool Sun Ray RDP Settings


The Sun Ray Windows connector (uttsc) supports a wide range of options for configuring RDP
connections to users' desktops.

Oracle VDI enables you to configure a subset of these options for a pool. The following tables list the
supported options. For a full list of Sun Ray Windows connector settings, see the man page for the uttsc
command (man -M /opt/SUNWuttsc/man uttsc). For details of how other options can be used, see
Section 6.2.1, “About the Oracle VDI Sun Ray Kiosk Session”.

The options that can actually be used for a virtual desktop depend on the RDP protocol selected for the
pool, the desktop operating system, and the configuration of the virtual desktop itself. For more information,
see:

• Section 5.1.2, “Choosing Between VRDP and MS-RDP”

• Section 6.1, “About Desktop Access”

• Section 5.2.1, “Supported Desktop Operating Systems”

If the VRDP protocol is used to connect to desktops, the performance settings that control things such as
the color depth, the mouse shadow, and window and menu animations have no effect, because VRDP
connects at the machine level rather than the operating system level.

Table 5.2. Sun Ray RDP General Settings

Name Description Default Value


Session Language Use this setting to identify the language used for users' en-US
desktop sessions.

The options for this setting are:

• An RFC1766 language tag in the format


language-COUNTRY, for example fr-CH for Swiss
French.

• The decimal value of a Microsoft language ID, for


example 2057 (0x0809) for UK English.
Keyboard Layout Use this setting to identify the keyboard layout used to en-US
process keyboard input by the Remote Desktop Server.

The options for this setting are:

101
Configuring Pool RDP Options

Name Description Default Value


• An extended RFC1766 language tag in the format
language- COUNTRY[:layout], for example en-
US:INT for a US International keyboard.

• The decimal value of a Microsoft keyboard layout


ID, for example 66569 (0x10409) for the US English
Dvorak layout.
Keyboard Type Use this setting to identify the keyboard type used for All Sun and PC USB Keyboards
users' desktop sessions.

Valid values for this setting include All Sun and PC USB
Keyboards, Sun Type6 Japanese Keyboard, and Sun
Korean Keyboard.
Hotdesking Use this setting to configure the disconnection and If Device Client Access License
reconnection behavior for RDP sessions when Mode is configured, RDP
hotdesking occurs. sessions are disconnected and
reconnected.

If Device Client Access License


Mode is not configured, RDP
sessions are not disconnected.
Windows Pulldown Use this setting to enable or disable the Windows Enabled
Header pulldown header.
RDP Packet Data Use this setting to enable or disable the compression of Enabled
Compression RDP packet data.

Table 5.3. Sun Ray RDP Appearance Settings

Name Description Default Value


Color Depth Use this setting to specify the preferred color depth for 32
users' desktop sessions. Valid values for this setting are
8, 15, 16, 24 and 32.

Color depth may be limited by configuration of the


desktop to which a user connects. In such cases, the
available color depths of the desktop take priority over
the color depth configured for the pool.

Oracle Secure Global Desktop does not support 15-bit


color depths. If this color depth is specified for a virtual
desktop, 8-bit color is used instead.

32-bit color is available on Windows 7 or Windows


Server 2008 and later platforms; however, the client
device must be capable of displaying 32-bit color.
Theming Use this setting to enable or disable theming for users' Disabled
desktop sessions.

Disabling this setting can improve display performance.


Desktop Background Use this setting to enable or disable the desktop Disabled
background for users' desktop sessions.

102
Configuring Pool RDP Options

Name Description Default Value


Disabling this setting can improve display performance.
Show Window Contents Use this setting to enable or disable the ability to show Disabled
While Dragging complete window contents while dragging windows in
users' desktop sessions.

Disabling this setting can improve display performance.


Transition Effects for Use this setting to enable or disable visual effects during Disabled
Menus the use of menus in users' desktop sessions.

Disabling this setting can improve display performance.


Pointer Shadow Use this setting to enable or disable the use of pointer Disabled
shadow in users' desktop sessions.

Disabling this setting can improve display performance.


Pointer Scheme Use this setting to enable or disable the use of pointer Disabled
schemes in users' desktop sessions.

Disabling this setting can improve display performance.


Font Smoothing Use this setting to enable or disable font smoothing for Disabled
text on the desktop.

Table 5.4. Sun Ray RDP Sound Settings

Name Description Default Value


Sound Input Use this setting to enable sound input redirection from Off
the client to the desktop and to select the quality of
transmitted sound.

The options for this setting are:

• High: transmit sound at the highest available sample


rate.

• Medium: transmit sound at up to 22.05kHz.

If VRDP is the selected RDP protocol, you must only


select Medium.

• Low: transmit sound at a maximum of 8kHz.

• Off: disable sound input.


Sound Output Use this setting to disable sound output redirection High
from the desktop to the client or to select the quality of
transmitted sound.

The options for this setting are:

• High: transmit sound at 22.05 kHz or higher. By


default, High quality sound output is enabled and
plays locally.

• Low: transmit sound at 8kHz.

103
Enabling USB Redirection

Name Description Default Value


• Mute: play the sound on the desktop and not on the
client.

• Off: disable sound output.

Table 5.5. Sun Ray RDP Redirection Settings


Name Description Default Value
Smart Cards Use this setting to enable or disable smart card Disabled
redirection from an Sun Ray Client to users' desktop
sessions.
USB Use this setting to enable or disable USB redirection Enabled
from an Sun Ray Client to users' desktop sessions.
Serial Devices Use this setting to identify serial devices which should be No serial devices are redirected
redirected to users' desktop sessions. by default.

Valid values for this setting are specified using the


format comport=device where device identifies the
serial device to be redirected and comport identifies
the port (on the users' desktops) that device should be
redirected to.
Paths Use this setting to identify paths (available on an Oracle No paths are redirected by
VDI host) which should be redirected to drives on users' default.
desktop sessions.

Valid values for this setting are specified using the


format drive-name=path where path identifies the
path to be redirected and drive-name identifies the
drive (on the users' desktops) that path should be
redirected to.
Printers Use this setting to identify printer queues which should No printer queues are
be redirected to users' desktop sessions. redirected by default.

Valid values for this setting are specified using the


format printer=[driver] where printer identifies
the printer queue to be redirected and driver identifies
a printer driver to be used for the printer on users'
desktop sessions. If driver is omitted, a simple
PostScript driver is used by default.

5.1.5. Enabling USB Redirection


Steps

1. Prepare the virtual machine template.

a. In order to use USB 2.0 devices, ensure that a USB 2.0 (EHCI) controller is enabled in the virtual
machine template.

b. Add additional USB drivers for virtual machine templates created in VMware vCenter or Microsoft
Hyper-V.

This step is not necessary for Oracle VM VirtualBox virtual machines.

104
Enabling USB Redirection

See How to Add USB Drivers to a Virtual Machine in the Sun Ray Software Administration Guide for
details of how to do this.

c. Installing the USB redirection component of the Sun Ray Windows connector connector.

This step is only required if the MS-RDP protocol is used to connect to virtual machines.

See How to Install the Windows Connector Components on a Windows System in the Sun Ray
Software Administration Guide for details of how to do this.

2. Import the prepared virtual machine as a template into the Oracle VDI host.

Refer to the following:

• Section 5.4.1, “Importing Desktops (Oracle VM VirtualBox)”

• Section 5.4.3, “Importing Desktops (Microsoft Hyper-V)”

• Section 5.4.2, “Importing Desktops (VMware vCenter)”

3. (Optional) Check that the USB 2.0 (EHCI) controller is enabled in the template.

a. In Oracle VDI Manager, select Pools and select a pool.

b. Click the Template tab and in the Templates table, click the name of the template.

The Template Summary page is displayed.

c. Click Virtual Machine.

The Machine Configuration page is displayed.

d. Ensure that the USB 2.0 (EHCI) Controller option is selected.

4. Enable USB support.

a. In Oracle VDI Manager, select Pools and select a pool.

b. Click the Settings tab and in the Sun Ray Client section, click Edit Sun Ray RDP Settings.

The Sun Ray RDP Settings are displayed.

c. In the Redirection section, ensure Enable USB is selected.

d. Click Save and then click Back.

The Settings tab is displayed.

e. In the Sun Ray Client section, select Use Customized Settings.

f. Click Save.

5. Check that the USB controllers are present in the template.

a. (Optional) Clone a virtual machine from the template.

b. Log in to the virtual machine.

105
Configuring Smart Card Removal

c. Choose Computer, Properties, Hardware, and then Device manager to see whether the device is
listed under USB Serial Bus Controllers.

5.1.6. Configuring Smart Card Removal


You can control what should happen to a user's desktop after a smart card is removed from a Sun Ray
Client. Using the Smart Card Removal Policy, you can indicate that a user's desktop should be shut down,
suspended, or recycled when the smart card has been out of a Sun Ray Client for a specific length of
time. If the user re-inserts a smart card before the specified time has elapsed, the associated action on the
desktop is canceled. The Smart Card Removal Policy is configurable for each pool and is available for all
Oracle VM VirtualBox, Microsoft Hyper-V, and VMware vCenter pools. This policy may be configured using
Oracle VDI Manager or the command line.

Recycling is applied only to desktops that have flexible assignments. Choosing the recycle option for your
Smart Card Removal Policy has no effect on personally assigned desktops.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and select a pool.

2. Click the Settings tab.

3. In the Sun Ray section, indicate the action you want to be associated with removal of smart cards from
thin clients using the Action on Card Removal menu.

• No Action - Select if you want Oracle VDI to ignore smart card removals.

• Recycle Desktop - Select if you want flexibly assigned desktops to be recycled.

• Shutdown Desktop - Select if you want desktops to be shut down.

• Suspend - Select if you want desktops to be suspended.

4. Specify the number of seconds a smart card must be removed from a thin client before any action
should be taken in the Delay Action field.

5. Click Save.

Command Line Steps

• Configure the desktop action associated with smart card removal.


/opt/SUNWvda/sbin/vda pool-setprops -p card-removed=action pool-name

• Specify the length of time (in seconds) that a smart card must be removed before the action is
performed.
/opt/SUNWvda/sbin/vda pool-setprops -p card-removed-timeout=secs pool-name

In the following example, the desktop suspend action should be performed after a smart card has been
removed for 30 seconds is configured.
/opt/SUNWvda/sbin/vda pool-setprops -p \
card-removed=suspend,card-removed-timeout=30 MyPool

5.1.7. Configuring Kiosk Settings (Sun Ray Kiosk Provider)


You can configure kiosk settings by defining the arguments to be passed to a Sun Ray Kiosk Mode
session. Kiosk settings are configurable for each pool and are available only for Sun Ray Kiosk pools.

106
Using the NetBIOS Name to Log In to Windows Desktops

Kiosk session arguments are provided as text using a command line syntax. The settings can be
configured using Oracle VDI Manager or the command line.

Each kiosk session type defines what options and arguments it supports. The specified arguments override
any default arguments defined by the kiosk session type. For more information, see Kiosk Mode in the Sun
Ray Software Administration Guide and the documentation for the specific kiosk session type.

See Section 4.4, “Sun Ray Kiosk Desktop Providers” for more details about Sun Ray kiosk sessions.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and select a pool.

2. Click the Settings tab.

3. In the Kiosk Settings field, type the arguments to pass to the kiosk session.

4. Click Save.

Command Line Steps

• Configure the kiosk settings for the pool.


/opt/SUNWvda/sbin/vda pool-setprops -p kiosk-settings=args pool-name

In the following example, settings are configured for a Sun Ray VMware View connector kiosk session.
/opt/SUNWvda/sbin/vda pool-setprops -p \
kiosk-settings="-s myvdmserver.domain -https -- -E theming" "VDM-Pool"

5.1.8. Using the NetBIOS Name to Log In to Windows Desktops


By default, the Desktop Login screen requires a fully qualified domain name (FQDN) and the supplied
domain is used to log users in to their desktops.

If you need users to log in to desktops using the NetBIOS name instead, this can be configured for a pool.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Settings tab and then deselect Use Fully Qualified Domain Name.

3. Click Save.

Command Line Steps

1. Enable the use of the NetBIOS name for a pool using the vda pool-setprops command.
/opt/SUNWvda/sbin/vda pool-setprops -p fqdn-login=Disabled pool-name

5.1.9. Location Awareness


Location awareness is a feature that provides additional hotdesking capabilities for a Windows desktop or
RDS session, which enables you to:

• Obtain the unique client name after logging in or hotdesking. The client name is forwarded during
hotdesking.

107
About Desktops and Templates

• Set up actions through commands or scripts to execute in a Windows desktop or RDS session when the
associated client session disconnects and reconnects during hotdesking. Actions set up for reconnection
also occur at session startup.

Location awareness sets several environment variables, which can be used when actions are executed in
a Windows desktop. Table 5.6 lists the environment variables and the information they contain.

Table 5.6. Location Awareness Environment Variables


Environment Variable Description
UTCINFO_CLIENTIPA The IP address of the Sun Ray Client or Oracle Virtual Desktop Client.
UTCINFO_CLIENTNAME The client ID of the Sun Ray Client or Oracle Virtual Desktop Client.
UTCINFO_CLIENTLOCATION The location of the client, as defined by an administrator.
UTCINFO_CLIENTOTHERINFO Other information about the client, as defined by an administrator.

When a user logs in to a Windows desktop or reconnects to a desktop, the value of the
UTCINFO_CLIENTNAME variable is copied to the Windows CLIENTNAME environment variable and the
HKCU\Volatile Environment\CLIENTNAME registry key. These are set to the client ID of the Sun
Ray Client or Oracle Virtual Desktop Client, also known as the DTU ID. See Client ID Differences Between
Oracle Virtual Desktop Clients and Sun Ray Clients in the Sun Ray Software Administration Guide for more
details.

The values of the UTCINFO_CLIENTLOCATION and UTCINFO_CLIENTOTHERINFO variables must be


configured by an administrator, using the Sun Ray Software administration tools. See How to Configure a
Client's Location and Information in the Sun Ray Software Administration Guide for more details. These
variables can contain any information you want.

To use location awareness, an additional component must be installed on the Windows desktops or RDS
session hosts depending on the RDP protocol selected for the pool:

• For RDP, install the Client Information Agent using the Sun Ray Windows Components installer.

See How to Install the Windows Connector Components on a Windows System in the Sun Ray Software
Administration Guide for more details.

• For VRDP, install the Oracle VM VirtualBox Guest Additions.

Once the additional component is installed, location awareness is enabled by default and is used
automatically when a Windows session starts.

You can use the variables in scripts or batch files to perform actions, for example to configure printers
depending on the client's location. The actions can be configured to run as Windows logon/logoff or
startup/shutdown scripts. If the Client Information Agent is installed, you can configure values in the
Windows registry that specify the actions that are performed automatically on session startup, session
disconnect, and session reconnect. See Setting Up Actions for a Windows Session in the Sun Ray
Software Administration Guide for more details.

For information on the methods available for obtaining the client name, see Obtaining a Client's Name in a
Windows Session in the Sun Ray Software Administration Guide.

5.2. About Desktops and Templates


The term desktop refers to an instance of an operating system running on a virtualization host. It is
delivered to a user and accessed using a Sun Ray Client. Oracle VDI manages desktops on any of the
following virtualization platforms:

108
Supported Desktop Operating Systems

• Oracle VM VirtualBox

• VMware Infrastructure

• Microsoft Hyper-V

• Microsoft Remote Desktop

Desktops may be created one-by-one for each user, but in most situations there are groups of users that
require the same applications. Oracle VDI allows you to prepare and use a desktop template, and clone
as many desktops as needed from the template. For more on templates, refer to the Section 5.2.2, “About
Templates and Revisions” section.

5.2.1. Supported Desktop Operating Systems


The following table shows the desktop operating systems that are supported for each desktop provider
type. Pay particular attention to the notes that follow this table.

Table 5.7. Supported Desktop Operating Systems by Desktop Provider Type


Desktop Operating System Oracle VM VMware Microsoft
VirtualBox vCenter Hyper-V
✓ ✓ ✓
a
Windows 8 (32-bit and 64-bit)
✓ ✓ ✓
b
Windows 7 SP1 Enterprise Edition (32‑bit and 64‑bit)
Windows XP SP2 (64-bit) and SP3 (32-bit) ✓ ✓ ✓

c
Oracle Linux 6.3

c
Oracle Solaris 11.1

c
Oracle Solaris 10, at least release 10/09

c
SUSE Linux Enterprise Desktop 11

c
Ubuntu 12.04 (Precise Pangolin)

c
Ubuntu 10.04 (Lucid Lynx)
a
See Windows 8 Support.
b
See Windows 7 Support.
c
VirtualBox RDP (VRDP) only.

The supported desktops for Microsoft Remote Desktop provider are described in Section 4.2.4, “System
Requirements for Microsoft Remote Desktop Services”.

The features that can be used with a virtual desktop depend on the RDP protocol selected for the pool and
the method used to access Oracle VDI. For more information, see the following:

• Section 5.1.2, “Choosing Between VRDP and MS-RDP”

• Section 6.1, “About Desktop Access”

Windows 8 Support
Oracle VDI is tested on and supports Windows 8 Enterprise Edition. Other editions of Windows 8 can
be used, but in the event of an issue, you must be able to reproduce the issue in Windows 8 Enterprise
Edition.

If Microsoft RDP is selected as the desktop protocol, only Windows 8 Professional and Enterprise editions
can be used. If VirtualBox RDP is selected, all editions of Windows 8 can be used.

109
About Templates and Revisions

Windows 7 Support

Oracle VDI is tested on and supports Windows 7 SP1 Enterprise Edition. Other editions of Windows 7
can be used, but in the event of an issue, you must be able to reproduce the issue in Windows 7 SP1
Enterprise Edition.

If Microsoft RDP is selected as the desktop protocol, only Windows 7 Professional, Ultimate, or Enterprise
editions can be used. If VirtualBox RDP is selected, all editions of Windows 7 can be used.

If Microsoft RDP is selected as the desktop protocol, multiple monitor and audio recording (input audio)
are only available in Windows 7 Ultimate and Enterprise editions. Windows 7 Professional does support a
single desktop spanned across multiple monitors (spanned mode).

5.2.2. About Templates and Revisions


Desktops that are designed to be used as master copies from which clones can be propagated are called
templates. A template consists of a guest operating system profile, a hardware profile, and one or more
virtual hard disks. The use of templates makes it easier to perform and control administrative tasks such as
filling a pool with available desktops and propagating updates to them. For more about desktops, refer to
Section 5.2, “About Desktops and Templates” .

Each platform has slightly different requirements for selecting and managing templates. Oracle VDI
offers template management for Oracle VM VirtualBox and Microsoft Hyper-V desktop pools. VMware
Infrastructure, however, has its own template management conventions, so for this purpose, Oracle VDI
offers access to the list of available templates in VMware vCenter.

For Oracle VM VirtualBox and Microsoft Hyper-V desktop pools, Oracle VDI also offers template revisions.
Template revisions facilitate the proliferation of software updates and other changes to pools of cloned
desktops. Oracle VDI saves a revision history of your templates. You can use template revisions to add
software applications, to correct errors, and to provide fresh instances of a given desktop. You can also
test revisions before cloning on a large scale and revert to earlier revisions if needed.

Note

It is best to perform virus scanning on templates and the storage rather than on
individual desktops. Local virus scanning adversely affects desktop performance by
consuming both CPU and memory resources.

When a template is upgraded and declared as the new master revision, Oracle VDI deletes and replaces
desktops that are not assigned to a user and those desktops that are in an idle state (see Section 5.2.3.2,
“Desktop States” with a new version based on the new master template.

However, desktops that are in use at the time are not affected by the template revision mechanism until
the user logs out. When the user logs out, the desktop reverts to an idle state. At that point, the desktop is
deleted and replaced with a new version.

Nominating a new master for desktop cloning is not an immediate operation but rather a scheduled one.
You can set the date and time when existing desktops should be replaced, and you can determine whether
desktops in use are recreated at the scheduled time, or when the user logs out and the desktop returns
to an idle state. To avoid disrupting the work of connected users, be sure to schedule the master revision
change at a time when the load on the desktop pool is limited.

110
About Desktop and Virtual Machine States

Figure 5.1. Templates and Revisions

5.2.3. About Desktop and Virtual Machine States


In Oracle VDI, a user is assigned to one or several virtual desktops and can use these desktops from
everywhere as if they were running on a traditional personal computer. Oracle VDI provides advanced
management and lifecycle features which allow the effective management of thousands of desktops.
Desktops transition through states defined by settings in Oracle VDI.

Virtual machines are used to run the operating systems which render the desktops. They are controlled
by a hypervisor, such as Oracle VM VirtualBox, Microsoft Hyper-V, and VMware Infrastructure. They cycle
through traditional machine states such as powered off and running.

5.2.3.1. Virtual Machine States


Virtual machine states are defined by the virtualization platform.

• Running

Running desktops are registered and started on a single hypervisor host. The host that a virtual machine
is running on can be determined using the Desktop Summary page in Oracle VDI Manager. A running
virtual machine is connected directly to the storage.

• Powered Off

Powered off virtual machines reside in two places in the Oracle VDI environment, the database and the
storage. The Oracle VDI database contains the desktop configuration information to register the desktop
on a hypervisor. The storage server contains the desktop's hard disk data.

Powered off virtual machines are typically not associated or registered on any hypervisor host. This
strategy enables Oracle VDI to select the best suited host on every start of a virtual machine. This setup
helps ensure a distribution of virtual machines across the available VirtualBox or Microsoft Hyper-V hosts
minimizing resource usage on each.

111
About Desktop and Virtual Machine States

• Suspended

Suspended virtual machines have been suspended by the hypervisor.

• Paused, Aborted, or Stuck

These machine states are specific to VirtualBox.

• Unknown

This state typically indicates that either a VMware vCenter server cannot be contacted to retrieve the
state information, or a VirtualBox host returns null.

• Active or Disconnected

These machine states apply to Microsoft Remote Desktops only. Oracle VDI does not control the
machine state, just the connection to the desktop.

5.2.3.2. Desktop States

The desktop states are used to accomplish the following:

• Implement the desktop lifecycle.

• Synchronize Oracle VDI hosts and virtualization platform.

• Serve as a tool for monitoring and analyzing the system state.

The following figure depicts a simplified version of the lifecycle of a flexibly assigned desktop.

Figure 5.2. Lifecycle of a Flexibly-Assigned Desktop

Possible desktop states are:

• Available - The first state

A desktop is added to the database and then set to the Available state after being cloned from a
template. After becoming Available, the desktop is ready to be assigned to users. If the recycle policy is
set to Reuse Desktop or Reset to Snapshot, the desktop is returned to this state.

• Idle - The intermediate state

112
About Desktop and Virtual Machine States

The desktop is in this state whenever the desktop is assigned and the user is not using it, for example,
when the desktop is assigned and the user has not logged in yet or when the desktop is assigned and
the user just logged out. A desktop is recycled after it remains in that state for a configurable amount of
time.

The VMware vCenter desktop provider has two additional Idle states: when the desktop is assigned and
either the virtual machine is suspended or the guest OS goes into standby through the vCenter option
Keep VM Running on Guest OS Standby.

• Used - The active state

A desktop enters the Used state as soon as the user has logged in to the desktop. The desktop stays in
this state while the user logs in, uses the desktop, and logs out.

• Reserved - The maintenance state

A desktop is Reserved when it is being worked on by Oracle VDI. This desktop state usually occurs
when the desktop is the source of a manual copy operation or the desktop is recycled. The desktop
becomes Available after leaving the Reserved state.

• Unresponsive - The quarantine state

The desktop enters the Unresponsive state whenever Oracle VDI determines a severe problem with
the desktop. An unresponsive desktop is outside the desktop lifecycle and is either automatically
deleted (flexible desktops only) or it requires manual action by an administrator. See Section 5.2.3.3,
“Unresponsive Desktops” for more details.

5.2.3.3. Unresponsive Desktops


When a desktop is in the Unresponsive state, users cannot access that desktop until the desktop state
changes. The state can be changed as the result of automatic processing by Oracle VDI, or it can be the
result of a manual action by an Oracle VDI administrator, for example if an administrator puts a storage in
maintenance mode.

Although a desktop's state is shown as Unresponsive, Oracle VDI actually differentiates between whether
the desktop is simply unresponsive, for example because the storage is unresponsive, or whether the
desktop is defective.

Only unresponsive or defective personal desktops require manual actions.

If the cause of the unresponsive or defective state is removed, for example because the storage becomes
responsive, the desktop is automatically returned to its normal state in the desktop lifecycle. This applies to
personal and flexible desktops.

If a flexible desktop is defective, the desktop remains in the Unresponsive state for 60 minutes and then it
is automatically deleted.

If a flexible desktop is unresponsive, the desktop remains in the Unresponsive state for the duration
specified by the unresponsive desktop timeout and then it is automatically deleted. The default
unresponsive desktop timeout is 30 minutes. The unresponsive desktop timeout is configurable, as follows:
/opt/SUNWvda/sbin/vda settings-setprops -p desktop.unresponsive.timeout=mins

The manual actions an Oracle VDI administrator can perform on a desktop in the Unresponsive state are:

• Fix the problem and activate the desktop, see Section 9.1.11, “Activating an Unresponsive Desktop”.

• Delete the desktop, see Section 9.1.24, “Deleting a Desktop”.

113
Creating Desktop Images

5.3. Creating Desktop Images


This section describes how to create the virtual machines that are to be used as desktop images.

After creating the virtual machine and installing the desktop operating system, it is best to optimize the
desktop operating system for performance in a virtual machine. The guidelines in this section outline the
desktop image settings that maximize desktop performance in Oracle VDI. These are not requirements,
they are suggestions for better performance.

5.3.1. Creating Virtual Machines (Oracle VM VirtualBox)


Oracle VDI presents users with easy access to their virtual desktops, instances of any desktop operating
system executed in a virtual machine. You can manually create virtual machines, or you can configure
Oracle VDI to create or clone additional virtual machines automatically from a template.

After installing Oracle VM VirtualBox, you can create your first virtual machine. It is possible to create
virtual machines on the server, or on a local installation of VirtualBox. If you choose to use a local
installation of VirtualBox to create virtual machines, be sure to use the same release as the version
supplied with Oracle VDI.
Steps

1. Start Oracle VM VirtualBox Manager.

On Oracle Solaris platforms, run the following command:


/opt/VirtualBox/VirtualBox

On Oracle Linux platforms, run the following command:


/usr/bin/virtualbox

a. Click New to launch the New Virtual Machine wizard.

b. The wizard guides you through virtual machine creation.

Be sure to choose the appropriate hard-disk and RAM space for the desired configuration.

• For Windows 7 and later, a minimum of 1024 MB RAM and 5723 MB hard disk are
recommended.

• For Windows XP, a minimum of 384 MB RAM and 4 GB hard disk are recommended.

For more information about virtual machine system requirements, refer to the Oracle VM VirtualBox
documentation

2. Install the operating system.

At this point you have an empty virtual machine, equivalent to a PC without an OS installed. The next
step is to choose the boot medium for the OS and install it.

a. Select the newly created virtual machine and click Settings.

b. Open the Advanced tab in the Settings GUI.

c. Ensure that CD/DVD-ROM is set as the first boot device.

d. Select the CD/DVD-ROM option in the left panel of the Settings dialog.

114
Creating Virtual Machines (Oracle VM VirtualBox)

e. Select the Mount CD/DVD Drive option.

f. Click OK to save the changes and close the Settings GUI.

At this point the new virtual machine must be started to trigger the OS installation.

g. Select the new virtual machine and click Start.

h. Follow the installation prompts, or seek further installation details from the OS manufacturer.

3. Install the VirtualBox Guest Additions.

The VirtualBox Guest Additions consist of device drivers and system applications that optimize the
operating system for better performance and usability. The Guest Additions can be installed with or
without support for additional features.

To install the Guest Additions with support for automated logons for Windows desktops (VRDP
connections only), the Guest Additions must be installed from the command line with the /
with_autologon option.

To install the Guest Additions with support for Windows media redirection for Windows 7 desktops
(VRDP connections only), the Guest Additions must be installed from the command line with the /
with_vboxmmr option.

• Install Guest Additions without any additional features:

a. With the virtual machine running and fully booted, select Devices in the virtual machine console.

b. Select Install Guest Additions. This launches the Oracle VM VirtualBox Guest Additions
installer inside the virtual machine.

If an Autorun notification is displayed, choose Run VBoxWindowsAdditions.exe.

• Install Guest Additions with support for additional features:

a. In the virtual machine console, load the Guest Additions by selecting Devices, CD/DVD Devices,
then VBoxGuestAdditions.iso.

b. With the virtual machine running and fully booted, go to the Windows Run console.

• (Windows XP) In the Start menu, choose Run.

• (Windows 7) Search for 'run' in the Start search bar, and select it from the search results.

• (Windows 8) Right-click in the bottom area of the Start screen, then click All Apps. Under
Windows System, click Run.

c. Type the following and click OK to launch the Oracle VM VirtualBox Guest Additions installer
inside the virtual machine.

D:\VBoxWindowsAdditions.exe /with_autologon /with_vboxmmr

4. Install additional software, and optimize the desktop image.

For more information, see:

• Section 7.6.2, “Optimizing Windows 8 Desktop Images”

115
Creating Virtual Machines (VMware vCenter)

• Section 7.6.3, “Optimizing Windows 7 Desktop Images”

• Section 7.6.4, “Optimizing Windows XP Desktop Images”

• Section 7.6.5, “Optimizing Desktop Images for Other Operating Systems”

5.3.2. Creating Virtual Machines (VMware vCenter)


You can manually create virtual machines, or you can configure Oracle VDI to create or clone additional
virtual machines automatically from a template.

For more detailed information about creating virtual machines, creating templates, custom specifications,
and installing the VMware Tools, see the VMware Documentation.
Steps

1. Create a virtual machine with Microsoft Windows.

Use your standard process for creating virtual machines.

Follow these recommendations:

• Use Microsoft Windows XP SP3 as the baseline. The license must be a volume license.

• Define one disk. It should be as small as possible. The size impacts system performance and overall
storage consumption. RAM also should be as small as possible.

• For Windows 7 and later, a minimum of 1024 MB RAM and 5723 MB hard disk are recommended.

• For Windows XP, a minimum of 384 MB RAM and 4 GB hard disk are recommended.

• A single CPU should be enough.

• One network interface is needed. It should be configured for DHCP. Ensure that the virtual machine
obtains a valid IP after powering on.

2. Install the VMware Tools.

Once you have created a virtual machine with Microsoft Windows installed on it, install the VMware
Tools. VMware Tools is a suite of utilities that enhances the performance of the virtual machine's guest
operating system and improves management of the virtual machine. Installing VMware Tools in the
guest operating system is vital.

From the VMware Virtual Infrastructure Client (VIC), right-click the virtual machine and choose Install
VMware Tools.

3. Enable remote desktop access.

RDP is the main access method to the Microsoft Windows XP desktop. By default, this access method
is disabled and rejected through the firewall. To enable remote desktop access, launch VMware's
Virtual Infrastructure Client, with your virtual machine still powered on and logged in, then follow these
steps:

a. Open a console for the virtual machine, and click the virtual machine's Start button.

b. Right-click on My Computer in the start menu, and select Properties.

c. In the System Properties window, select the Remote tab.

116
Creating Virtual Machines (VMware vCenter)

d. Under Remote Desktop, select the box marked Enable Remote Desktop on This Computer.

e. Make sure that the desired users have been granted remote access rights.

Before you try to connect to a virtual desktop remotely, ensure that no firewall blocks the remote
access. Make sure that port 3389 is enabled in any firewall that may be active on the system.

4. Install the Oracle VDI Tools. Oracle VDI has a tools component that notifies the Oracle VDI service
when a desktop is in use and handles RDP connections when the guest OS initiates standby. The
Oracle VDI Tools must be installed on the guest operating system for recycling to work correctly and
so that the RDP connection is correctly closed when the virtual machine goes into standby or suspend
mode. There are two versions of the Oracle VDI Tools: vda-tools-x86.msi for 32-bit platforms and
vda-tools-x64.msi for 64-bit platforms.

a. Locate the correct installer file in the directory where you unzipped Oracle VDI archive.

The vda-tools-x86.msi and vda-tools-x64.msi are located in the ./image/


vda_Oracle-VDI-release>/Windows/Packages/ subdirectory. Copy the installer to the
desired virtual machine.

b. Within the virtual machine's console, double-click the installer and follow the prompts to complete
installation.

The default target location for the Oracle VDI Tools on Windows is C:\Program Files\Oracle
\Virtual Desktop Access\Tools.

c. The VM Services list should now contain a new service named Oracle VDI Tools, running and set
to start automatically.

5. Install additional software, and optimize the desktop image.

For more information, see:

• Section 7.6.2, “Optimizing Windows 8 Desktop Images”

• Section 7.6.3, “Optimizing Windows 7 Desktop Images”

• Section 7.6.4, “Optimizing Windows XP Desktop Images”

• Section 7.6.5, “Optimizing Desktop Images for Other Operating Systems”

6. Convert a virtual machine into a template.

You can clone additional virtual machines manually, or Oracle VDI clone them automatically from a
template. Any existing virtual machine can be converted into a template.

a. Open the Virtual Infrastructure Client.

b. Right-click the desired virtual machine and power down the machine.

c. From the commands area or the pop-up menu, click Convert to Template.

7. Create a Customization Specification.

It is necessary to customize the identity and network settings of Windows desktop after a clone has
been created from a template. This can be achieved using a Customization Specification.

117
Creating Virtual Machines (Microsoft Hyper-V)

a. Open the Virtual Infrastructure Client.

b. Click Edit from the menu above the tool bar and select Customization Specifications.

c. Click the New icon in the Customization Specification Manager to start the wizard.

d. On the first wizard step, choose Windows as the target virtual machine OS, and give the
specification a name and description.

e. The following steps ask the standard Windows installation questions and should be completed to
correspond with your requirements, with the exception of the following.

• Computer Name: Make sure that the Use the Virtual Machine Name item is selected. If not, you
may end up with duplicate host names.

• Windows License: Enter your Windows serial number. The Include Server License Information
item should be left unchecked.

• Networking: Make sure the interface is configured for DHCP. If not, your cloned virtual machines
cannot have unique IP addresses and will not work with Oracle VDI.

f. After completing the wizard and saving your customization specification, close the Customization
Specification Manager.

5.3.3. Creating Virtual Machines (Microsoft Hyper-V)


You can manually create virtual machines, or you can configure Oracle VDI to create or clone additional
virtual machines automatically from a template.
Steps

1. Create a virtual machine with Microsoft Windows.

Use your standard process for creating virtual machines. For information on how to create a virtual
machine in Microsoft Hyper-V, see Hyper-V Getting Started Guide.

Follow these recommendations:

• The license must be a volume license.

• Define one disk. It should be as small as possible. The size impacts system performance and overall
storage consumption. RAM also should be as small as possible.

a. For Windows 7 and later, a minimum of 1024 MB RAM and 5723 MB hard disk are
recommended.

b. For Windows XP, a minimum of 384 MB RAM and 4 GB hard disk are recommended.

2. Install the Microsoft Hyper-V Integration Components.

Once you have created a virtual machine with Microsoft Windows XP installed on it, install the Hyper-
V Integration Components. The Integration Components allow Microsoft Hyper-V and Oracle VDI to
interoperate with the virtual machine. Installing the Integration Components in the guest operating
system is vital.

In the Hyper-V Management Console, connect to the virtual machine from the console and select the
Insert Integration Services Setup Disk option from the Action menu.

118
Creating Virtual Machines (Microsoft Hyper-V)

3. Enable remote desktop access.

RDP is the access method to the Microsoft Windows desktop. By default, this access method is
disabled and rejected through the firewall. To enable remote desktop access, connect to the virtual
machine from the Hyper-V Management Console and follow these steps:

a. In the console, click the virtual machine's Start button.

b. Right-click on My Computer in the start menu, and select Properties.

c. In the System Properties window, select the Remote tab.

d. Under Remote Desktop, check the box marked Enable Remote Desktop on this computer so that
this item is selected.

e. Make sure that the desired users have been granted remote access rights.

f. Click OK to save the settings and close the dialog.

Before you try to connect to a virtual desktop remotely, ensure that no firewall blocks the remote
access:

Make sure that port 3389 is enabled in any firewall that may be active on the system.

4. Install the Oracle VDI Tools. Oracle VDI has a tools component that notifies the Oracle VDI service
when a desktop is in use and handles RDP connections when the guest OS initiates Standby. The
Oracle VDI Tools must be installed on the guest operating system for recycling to work correctly and
so that the RDP connection is correctly closed when the virtual machine goes into Standby or Suspend
mode.

a. Locate the installer file, vda-tools-x86.msi for 32bit platforms or vda-tools-x64.msi for
64bit platforms, in the directory where you unzipped the Oracle VDI archive.

The installer is located in the vda_Oracle-VDI-release>/Windows/Packages subdirectory.


Copy the installer to the desired VM.

b. Within the VM's console double-click the installer and follow the prompts to complete installation.

The default target location for the Oracle VDI Tools on Windows is C:\Program Files\Oracle
\Virtual Desktop Access\Tools.

c. The VM services list should now contain a new service named Oracle VDI Tools, running and set to
start automatically.

5. Install additional software, and optimize the desktop image.

For more information, see:

• Section 7.6.2, “Optimizing Windows 8 Desktop Images”

• Section 7.6.3, “Optimizing Windows 7 Desktop Images”

• Section 7.6.4, “Optimizing Windows XP Desktop Images”

• Section 7.6.5, “Optimizing Desktop Images for Other Operating Systems”

119
Importing Desktops

5.4. Importing Desktops


5.4.1. Importing Desktops (Oracle VM VirtualBox)
A pool is empty and has no desktops after initial creation. After you create virtual machines, you must
import them into the Oracle VDI. Importing snapshots of virtual machines is not supported.

A virtual machine must be created in the Oracle VM VirtualBox interface or using the integrated Oracle
VDI Manager Desktop Console before it can be imported into the Oracle VDI database. Refer to the
Section 5.3.1, “Creating Virtual Machines (Oracle VM VirtualBox)” section for detailed information.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and select a pool.

2. Click the Desktops tab, and click Import.

An import dialog is displayed.

3. Select a desktop to be imported.

• If the desktop you would like to import is on the VirtualBox host, select it from the Hypervisor tab,
and click OK.

• If the desktop you would like to import is available on the Oracle VDI host in /var/tmp, define the
corresponding XML and Oracle VDI files under the Folder tab.

Note

You can move your virtual machine XML file and disk image to /var/tmp
using the following command:

# scp path to file root@Oracle VDI host:/var/tmp

If there is not enough space in /var/tmp, you can copy both files to another
location on the host and create a symbolic link:

# ln -s path to file /var/tmp/

The virtual machine is imported as a background job.

After the desktop has been imported successfully, it is displayed in the Desktop tab of the pool's profile.
Command Line Steps

• Import a desktop from the Oracle VDI host.

/opt/SUNWvda/sbin/vda pool-vb-import -p \
vdi-image=vm-disk-file,xml-configuration=vm-settings-file pool-name

Example - Importing a VirtualBox desktop

/opt/SUNWvda/sbin/vda pool-vb-import -p \
vdi-image=win7-ent.vdi,xml-configuration=win7-ent.xml "Sales - EMEA"

• Import a desktop from a VirtualBox host.

1. List all unmanaged desktops for a specified desktop provider.

120
Importing Desktops (VMware vCenter)

/opt/SUNWvda/sbin/vda provider-list-unmanaged provider-name

2. Import a desktop.

/opt/SUNWvda/sbin/vda pool-vb-import-unmanaged -d desktop-ID pool-name

Example - Listing and importing unmanaged VirtualBox desktops.

/opt/SUNWvda/sbin/vda provider-list-unmanaged "VB provider"


HOST NAME ID
my.vb.com Win7-ent-test 35

/opt/SUNWvda/sbin/vda pool-vb-import-unmanaged -d 35 "Sales - EMEA"

5.4.2. Importing Desktops (VMware vCenter)


A pool is empty and has no desktops after initial creation. After you create virtual machines, you must
import them so that Oracle VDI can create a corresponding entry for the virtual machine in its database.
The virtual machine is not be altered in any way.

A virtual machine must be created in VMware vCenter before it can be imported into Oracle VDI. Refer to
the Section 5.3.2, “Creating Virtual Machines (VMware vCenter)” section for detailed information.

Desktops that are already imported into Oracle VDI cannot be selected for import. You also cannot import
templates.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and select a pool.

2. Click the Desktops tab, and click Import.

An import dialog is displayed showing the available virtual machines in the VMware vCenter hierarchy.
You can select individual virtual machines or folders. If you select a folder, all the virtual machines in
the folder are imported.

3. Click OK to import the desktops into the Oracle VDI database.

After the desktops have been imported successfully, they are displayed in the Desktops tab of the of the
pool's profile (a page refresh might be necessary).
Command Line Steps

1. List all unmanaged desktops for a specified desktop provider.

/opt/SUNWvda/sbin/vda provider-list-unmanaged provider-name

2. Import a desktop in to the Oracle VDI database.

/opt/SUNWvda/sbin/vda pool-vc-import -d desktop-ID pool-name

Example - Listing and importing unmanaged vCenter desktops

/opt/SUNWvda/sbin/vda provider-list-unmanaged "VC provider"


HOST NAME ID
my.vc.com WindowsXPde vm-134
my.vc2.com WindowsXPen vm-629

/opt/SUNWvda/sbin/vda pool-vc-import -d vm-134 "Support - EMEA"

121
Importing Desktops (Microsoft Hyper-V)

5.4.3. Importing Desktops (Microsoft Hyper-V)


A pool is empty and has no desktops after initial creation. After you create virtual machines, you must
import them into the Oracle VDI database.

Importing snapshots of virtual machines is not supported.


Before You Begin

A virtual machine must be created in Microsoft Hyper-V and exported, before it can be imported into the
Oracle VDI database. Refer to the Section 5.3.3, “Creating Virtual Machines (Microsoft Hyper-V)” section
for detailed information. To export the virtual machine from the Hyper-V server:

1. In the Hyper-V management console, select the Hyper-V virtual machine.

2. Select Export from the Actions menu and choose a directory on the Hyper-V server to which you want
to export the virtual machine.

After the export has completed, you have a directory containing a number of files and subdirectories.
Copy the entire directory from the Hyper-V server to a directory on your Oracle VDI host or to a shared
directory on a remote server (the shared directory must be accessible to the Oracle VDI host).

Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and select a pool.

2. Click the Desktops tab, and click Import. An import dialog is displayed.

3. In the Server property, select the server you copied the Microsoft Hyper-V desktop directories to (if
you copied them to your Oracle VDI server then choose the Host 'servername' option otherwise if you
copied them to a shared directory on a remote server then choose the Other Server option and enter
the remote server name where the shared directory resides).

4. In the Path property, enter the path to the directory that contains the Microsoft Hyper-V desktop
directories.

5. Select the correct desktop name from the Desktop dropdown, and click OK.

After the desktop has been imported successfully, it is displayed in the Desktops tab of the Pools page. A
page refresh might be necessary.
Command Line Steps

• Import a Hyper-V desktop.


/opt/SUNWvda/sbin/vda pool-hv-import -p \
export-directory=path pool-name

Example - Importing a Hyper-V desktop.


/opt/SUNWvda/sbin/vda pool-hv-import -p \
export-directory=/data/virtual-machines/xp-template hvpool

5.4.4. Importing Individual Windows PCs


Individual Windows PCs can be imported and managed with Oracle VDI Manager as long as they allow
remote connections. Importing an individual Windows PC consists of creating a Generic desktop provider,
creating a new pool for the Generic desktop provider, and importing the Windows PC into the pool.

122
About Template Management

Verify that the Windows PC is configured to allow remote connections by going to System Properties,
then Remote Desktop.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, go to Desktop Providers.

2. In the Desktop Providers table, click New.

Create a Generic desktop provider.

3. Go to Pools.

4. In the Pools table, click New.

Choose the Generic desktop provider to host the pool.

5. Select the newly created pool from the Pools table.

6. Go to the Desktop tab and click Import.

5.4.5. About Template Management


Oracle VDI provides a desktop console that enables you to easily access, test, and modify the desktop
directly from within Oracle VDI Manager. This feature also includes changing desktop properties as well as
mounting ISO images for setting up the operating system.

Any desktop can be used as template for cloning additional desktops. Testing desktop templates and
keeping track of any changes before rollout is crucial for large enterprise deployments. Oracle VDI now
includes support for managing several template revisions. You can create a new template revision at any
time, test your changes and declare the new revision as the master used for the cloning process. You can
also revert to a previous revision if you are not satisfied with your changes.

5.4.5.1. Modifying a Template in Oracle VDI Manager


Template modification from Oracle VDI Manager is available for Oracle VM VirtualBox and Microsoft
Hyper-V desktop pools. This functionality is especially useful for installation of additional software or
operating system upgrades. For more about template and revision actions, refer to the Section 5.2.2,
“About Templates and Revisions” section.

You need to have created at a minimum a virtual machine in the interface of your chosen desktop provider
(Oracle VDI, or Microsoft Hyper-V) before you can import it and use the template modification tools in
Oracle VDI Manager. Once you have created and imported the virtual machine, you can start it from
Oracle VDI Manager and carry out all the necessary preparation steps from there. For more information,
see Section 5.3.1, “Creating Virtual Machines (Oracle VM VirtualBox)” or Section 5.3.3, “Creating Virtual
Machines (Microsoft Hyper-V)”.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, go to Pools.

2. Select a pool.

3. Go to the Template tab.

4. Click the Import Template button to import the virtual machine you just created in the hypervisor
interface.

The virtual machine is saved as Revision 1 as soon as it is imported.

123
Cloning Desktops

5. Select the template you would like to modify, and click Start from the More Actions menu.

No modifications can be performed until the virtual machine is started from Oracle VDI Manager.

6. If necessary, make modifications to the template, such as installation of additional software or upgrades
of the operating system.

• Virtual machines hosted by Oracle VM VirtualBox can be modified from the template console.

Figure 5.3. The Desktop Console

• On Microsoft Hyper-V desktop providers, the modifications may take place on the desktop provider's
Hyper-V host.

7. When you are finished modifying the template, select Shut Down from the More Actions menu.

5.5. Cloning Desktops


5.5.1. Cloning Desktops (Oracle VM VirtualBox)
Cloning is the fastest and most efficient way to populate a pool. Use the steps below to enable cloning in a
pool.

124
Cloning Desktops (VMware vCenter)

A desktop must be imported before a template can be cloned. Refer to the Section 5.4.1, “Importing
Desktops (Oracle VM VirtualBox)” section for detailed information.
Oracle VDI Manager Steps (Existing Pool)

1. In Oracle VDI Manager, select Pools and select a pool.

2. Click the Cloning tab and select Enable Automatic Cloning.

3. In the Name Pattern field, enter the naming pattern to use for the cloned desktops.

The name pattern is used to generate the name for the virtual machine and, for Windows desktops that
use either Sysprep or FastPrep, the name of the computer that is registered in the Windows domain.

The naming pattern consists of a prefix (the default prefix is the name of the pool) followed by a
sequence of "0" characters which are placeholders for the sequential number of the cloned desktops.
Ensure that you configure enough "0" character placeholders for the expected number of desktops
in the pool, for example enter "000" if the pool contains up to 999 desktops. If the desktops will join a
Windows domain, the naming pattern must only contain numbers (0-9), letters (A-Z) and hyphens (-)
and must not exceed 15 characters in length.

4. From the Template list, select a template.

Desktops are cloned from the master revision of the selected template.

5. Click Save.

Oracle VDI Manager Steps (Pool Creation)

1. In the New Pool wizard, on the Select Template step, from the Template list, select a template.

2. On the Select Pool Size step, select Enable Automatic Cloning.

3. On the Review step, click Finish.

Cloning can take up to a minute to start, after which you see clone jobs begin to display in the Jobs
window. To access the Jobs window, click the Jobs Running link in the top left of Oracle VDI Manager.
After a clone job has been finished successfully, the new desktop is displayed in the Desktops tab of the
pool's profile. A page refresh might be necessary.
Command Line Steps

• Start automatic cloning in a pool.


/opt/SUNWvda/sbin/vda pool-start pool-name

Example - Starting automatic cloning in a pool


/opt/SUNWvda/sbin/vda pool-start MyPool

5.5.2. Cloning Desktops (VMware vCenter)


Cloning is the fastest and most efficient way to populate a pool. Use the steps below to enable cloning in a
pool.

Oracle VDI includes support for VMware linked clones. For details of how to enable the use of linked
clones in Oracle VDI, see Section 5.5.3, “Enabling VMware Linked Cloning”.

A virtual machine must be imported before a template can be cloned. Refer to the Section 5.4.2, “Importing
Desktops (VMware vCenter)” section for detailed information.

125
Enabling VMware Linked Cloning

Oracle VDI Manager Steps (Existing Pool)

1. In Oracle VDI Manager, select Pools and select a pool.

2. Click the Resources tab.

3. Select your preferred storage for newly cloned virtual machines.

By default, all available storage may be used. For each clone, Oracle VDI selects the storage with the
most available disk space.

4. Go to the Cloning tab.

5. Select Enable Automatic Cloning.

6. In the Name Pattern field, enter the naming pattern to use for the cloned desktops.

The name pattern is used to generate the name for the virtual machine and, for Windows desktops that
use either Sysprep or FastPrep, the name of the computer that is registered in the Windows domain.

The naming pattern consists of a prefix (the default prefix is the name of the pool) followed by a
sequence of "0" characters which are placeholders for the sequential number of the cloned desktops.
Ensure that you configure enough "0" character placeholders for the expected number of desktops
in the pool, for example enter "000" if the pool contains up to 999 desktops. If the desktops will join a
Windows domain, the naming pattern must only contain numbers (0-9), letters (A-Z) and hyphens (-)
and must not exceed 15 characters in length.

7. From the Template list, select a template.

Desktops are cloned from the master revision of the selected template.

8. Select Apply System Preparation and select a customization specification from the list.

9. Click Save.

Oracle VDI Manager Steps (Pool Creation)

1. In the New Pool wizard on the Select Template step, from the Template list, select a template.

2. On the Select Pool Size step, select Enable Automatic Cloning.

3. On the Review step, click Finish.

Cloning can take up to a minute to start, after which you see clone jobs begin to display in the Jobs
window. To access the Jobs window, click the Jobs Running link in the top left of Oracle VDI Manager.
After a clone job has been finished successfully, the new desktop is displayed in the Desktops tab of the
pool's profile. A page refresh might be necessary.
Command Line Steps

• Start automatic cloning in a pool.


/opt/SUNWvda/sbin/vda pool-start pool-name

5.5.3. Enabling VMware Linked Cloning


Oracle VDI includes support for VMware linked clones. VMware linked cloning enables multiple virtual
machines to share virtual disks with a parent virtual machine and use the same software installation.
Linked clones conserve disk space by storing the differences for each virtual machine in delta disks. Linked

126
Cloning Desktops (Microsoft Hyper-V)

clones are also created more quickly than full clones. Detailed information on VMware linked cloning is
available on the VMware web site.

VMware linked cloning is configured for each pool.

VMware linked cloning is available for use only if the following conditions are met:

• VMware ESX 4.0 or later must be used.

• A template must have at least one snapshot.

Oracle VDI Manager Steps

1. In Oracle VDI Manager, go to Pools.

2. Select a pool.

3. Go to the Cloning tab.

4. Select the Linked Cloning check box.

5. Click Save.

Command Line Steps

• Enable linked cloning for a pool.


/opt/SUNWvda/sbin/vda pool-setprops -p linked-cloning=enable pool-name

In the following example, linked cloning is enabled for a pool named MyPool.
/opt/SUNWvda/sbin/vda pool-setprops -p linked-cloning=enabled MyPool

In the following example, linked cloning is disabled for a pool named MyPool
/opt/SUNWvda/sbin/vda pool-setprops -p linked-cloning=disabled MyPool

5.5.4. Cloning Desktops (Microsoft Hyper-V)


Cloning is the fastest and most efficient way to populate a pool. Use the steps below to enable cloning in a
pool.

A virtual machine must be imported before a template can be cloned. Refer to the Section 5.4.3, “Importing
Desktops (Microsoft Hyper-V)” section for detailed information.
Oracle VDI Manager Steps (Existing Pool)

1. In Oracle VDI Manager, select Pools and select a pool.

2. Click the Cloning tab.

3. From the Template list, select a template.

Desktops are cloned from the master revision of the selected template.

4. In the Name Pattern field, enter the naming pattern to use for the cloned desktops.

The name pattern is used to generate the name for the virtual machine and, for Windows desktops that
use either Sysprep or FastPrep, the name of the computer that is registered in the Windows domain.

The naming pattern consists of a prefix (the default prefix is the name of the pool) followed by a
sequence of "0" characters which are placeholders for the sequential number of the cloned desktops.

127
About Clone Customization

Ensure that you configure enough "0" character placeholders for the expected number of desktops
in the pool, for example enter "000" if the pool contains up to 999 desktops. If the desktops will join a
Windows domain, the naming pattern must only contain numbers (0-9), letters (A-Z) and hyphens (-)
and must not exceed 15 characters in length.

5. To start cloning, select Enable Automatic Cloning.

6. Click Save.

Oracle VDI Manager Steps (Pool Creation)

1. In the New Pool wizard, on the Select Template step, from the Template list, select a template.

2. On the Select Pools Size step, select Enable Automatic Cloning.

3. Click Finish.

Cloning can take up to a minute to start, after which you see clone jobs beginning to display in the Jobs
window. To access the Jobs window, click the Jobs Running link in the top left of Oracle VDI Manager.
After a clone job has been finished successfully, the new desktop is displayed in the Desktops tab of the
Pool page. A page refresh might be necessary.
Command Line Steps

• Start automatic cloning in a pool.


/opt/SUNWvda/sbin/vda pool-start pool-name

In the following example, automatic cloning is enabled for the pool MyPool.
/opt/SUNWvda/sbin/vda pool-start MyPool

5.5.5. About Clone Customization


Oracle VDI offers two methods for customizing Windows desktops during the cloning process, Microsoft
System Preparation (Sysprep), which is often used in Active Directory environments, and Oracle VDI Fast
Preparation (FastPrep). Oracle VDI FastPrep is a replacement for Microsoft Sysprep. You can trigger
Sysprep from within Oracle VDI Manager.

Sysprep ensures that each desktop clone is assigned its own unique security identifier (SID). The
corresponding template revision is automatically marked as Sysprepped once the preparation has
completed.

FastPrep is designed to reduce the clone time of each desktop. It leverages Sysprep and changes the
computer name of each clone, joins it to a domain, and, optionally, can execute a post-customization
script.

5.5.6. Debugging Fast Preparation Problems


In the event that cloning fails with Fastprep, error codes are often returned. Typically, they are Microsoft
Windows System Error Codes returned by the desktop or domain controller when a clone attempts to join
the domain. The error codes are described in:

http://msdn.microsoft.com/en-us/library/ms681381%28v=vs.85%29.aspx

If further debugging is needed, you can disable the automatic cleanup of failed clones by running the
following command:
# /opt/SUNWvda/sbin/vda settings-setprops -p cloning.cleanup.failures=disabled

128
Enabling Oracle VDI Fast Preparation for Windows Templates (Oracle VM VirtualBox and Microsoft Hyper-V)

With this setting disabled, Oracle VDI does not delete any failed clones, and you can examine a clone to
find out why an error occurred.

If issues persist when trying to join a domain, inspect the Windows C:\Windows\Debug\netsetup.log
on the clone for debug output of the attempted join operation.

Once the issue is resolved, enable the automatic cleanup of failed clones by running the following
command:
# /opt/SUNWvda/sbin/vda settings-setprops -p cloning.cleanup.failures=enabled

Failed clones that occur while automatic cleanup is disabled remain on the provider host. You must
manually delete these clones using Oracle VDI Manager or the command line.

5.5.7. Enabling Oracle VDI Fast Preparation for Windows Templates (Oracle
VM VirtualBox and Microsoft Hyper-V)
Windows desktops require customization for successful cloning by Oracle VDI. Unlike Microsoft System
Preparation, Fast Preparation (FastPrep) does not require any special preparation of the template prior to
use.
Before You Begin

1. Prepare the template for Fast Preparation.

a. If a post-customization script is required, copy the script to the template before cloning.

b. Ensure that the template is not a member of a domain, it must be a member of a workgroup.

2. Import a virtual machine template in Oracle VDI Manager.

For more information, see the following:

• Section 5.4.1, “Importing Desktops (Oracle VM VirtualBox)”

• Section 5.4.3, “Importing Desktops (Microsoft Hyper-V)”

Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and select a pool.

2. Go to the Cloning tab (or the Select Template screen of the New Pool wizard).

3. Click Create next to System Preparation.

4. Select the appropriate Fast Preparation option from the drop down for your template OS.

5. The Create System Preparation File dialog is displayed.

• Windows Domain - The FQDN of the Windows domain, for example example.com

• Domain Administrator - A domain administrator with permission to create a computer account


and join the domain. This can optionally be prefixed with the domain, for example example.com
\Administrator

• Domain Administrator Password - The password the for the domain administrator

• Computer Container DN - The DN to place the new computer account in for example
OU=Accounting,OU=VDI Center,DC=example,DC=com. If left blank the default Computers container,
ou=Computers, is used.

129
Enabling System Preparation for Windows Templates (Oracle VM VirtualBox and Microsoft Hyper-V)

• Read-only Domain Controller - From Windows 2008 Server, domain controllers (DC) can be
configured as read-only for deployments in unsecured locations. For a computer to join a domain via
a read-only DC the account must already exist and a special read-only flag is needed.

• Desktop Administrator - An administrator account on the template that has permissions to change
the computer name, join a domain and optionally execute the custom script. For Windows 7 and
later, the 'Administrator' account must be enabled and used.

• Desktop Administrator Password - The desktop administrator password

• Custom Script - An optional script that will be executed after customization has completed. This
script can be a batch file or executable and must be located in a drive or folder accessible by the
template and clones.

You are now ready to clone customized Windows desktops. Refer to the Section 5.5.1, “Cloning Desktops
(Oracle VM VirtualBox)” and Section 5.5.4, “Cloning Desktops (Microsoft Hyper-V)” sections.
Command Line Steps

• Prepare a pool for sysprepped cloning.

/opt/SUNWvda/sbin/vda pool-create-fastprep -p \
domain=domain,domain-admin=domain-admin,admin=admin,\
windows-release=winxp|win7 -u user-dirpool-name

5.5.8. Enabling System Preparation for Windows Templates (Oracle VM


VirtualBox and Microsoft Hyper-V)
Windows desktops require System Preparation for successful cloning by Oracle VDI. After you create a
Windows virtual machine, you should prepare it for Sysprep by downloading a Sysprep CAB (Windows XP
only), and installing the Oracle VDI Tools (Hyper-V virtualization platforms only). Import the virtual machine
into Oracle VDI as a template, and select System Preparation on one of the template revisions. Oracle VDI
boots the revision, runs Sysprep.exe, and then shuts down the system. The revision now acts as a blank
slate for cloning desktops in any pool with a valid System Preparation file.

A pool's System Preparation file defines licensing and credentials. If a pool has a valid System Preparation
file, System Preparation is enabled, and cloning from the sysprepped template is enabled, all cloned
desktops in the pool have the customization defined by the System Preparation file.

One sysprepped revision can be used for multiple pools, and the System Preparation files can be changed
and saved at any time from within Oracle VDI Manager.

Due to a bug in Windows 7, the Windows Media Player Network Sharing Service causes the Windows
Sysprep tool to hang. If you do not need this service enabled in your Windows 7 desktops and you intend
to run System Preparation from Oracle VDI Manager, stop and disable it. If you prefer to leave this service
enabled, run Sysprep manually from within the template's Run console before importing it.

sysprep.exe -generalize -oobe -shutdown -quiet

Before You Begin (Hyper-V Only)

1. Install the Oracle VDI Tools on the template.

The System Preparation action in the Template tab will not work if you do not have the tools (vda-
tools-x86.msi for 32-bit platforms or vda-tools-x64.msi for 64-bit platforms) installed on your

130
Enabling System Preparation for Windows Templates (Oracle VM VirtualBox and Microsoft Hyper-V)

template. For Windows XP templates, you also need to have the Sysprep tools in a C:\Sysprep
directory.

2. Prepare the template for System Preparation.

• Windows XP

a. Log into the template and download the Windows XP Service Pack 3 Deployment Tools:
http://www.microsoft.com/downloads/details.aspx?FamilyID=673a1019-8e3e-4be0-
ac31-70dd21b5afa7&displaylang=en .

b. Create a directory on the template named C:\Sysprep.

c. Unpack the contents of the Sysprep CAB into the C:\Sysprep directory.

• Windows 7 and later

No files need to be installed. Windows 7 and later ship with all required system preparation files pre-
installed.

3. Import a virtual machine template in Oracle VDI Manager.

For more information, see the following:

• Section 5.4.1, “Importing Desktops (Oracle VM VirtualBox)”

• Section 5.4.3, “Importing Desktops (Microsoft Hyper-V)”

Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and select a pool.

2. Run System Preparation in a template revision.

a. Go to the Template tab, and select a revision.

b. Choose System Preparation from the More Actions menu.

This action starts a job, starts the revision, runs Sysprep.exe, and then waits for the system to
shut down.

c. Wait for the job to complete successfully via the Job Summary pop-up. If the job fails for any
reason, details of the failure can viewed in the Job Details text area by clicking on the failed job.

d. Select the sysprepped revision and click Make Master.

All pools currently using this template clone new desktops from the sysprepped revision.

3. Prepare a pool to clone customized desktops based on a System Preparation file.

a. Go to the Cloning tab (or the Select Template screen of the New Pool wizard).

b. Create a System Preparation file.

The file requires a Windows administrator password, a Windows license key, and a Windows
workgroup or a Windows domain, domain administrator, and administrator password.

c. Select the sysprepped template, and select Apply System Preparation.

131
About Personal Hard Drives and Windows User Profiles

You are now ready to clone customized Windows desktops. Refer to the Section 5.5.1, “Cloning
Desktops (Oracle VM VirtualBox)” and Section 5.5.4, “Cloning Desktops (Microsoft Hyper-V)”
sections.

Command Line Steps

1. Run System Preparation in a template revision.

a. Choose a template from the pool (template ID).


/opt/SUNWvda/sbin/vda pool-templates pool-name

b. Choose a revision from the template (revision ID).


/opt/SUNWvda/sbin/vda template-revisions template-ID

c. Apply Sysprep to the revision.


/opt/SUNWvda/sbin/vda revision-sysprep revision-ID

2. Prepare a pool for sysprepped cloning.

To create a System Preparation file for a pool.


/opt/SUNWvda/sbin/vda pool-create-sysprep -p \
key=key,workgroup=workgroup,windows-arch=32|64,\
windows-release=winxp|win7 pool-name

To apply an existing System Preparation file to new or existing pools.


/opt/SUNWvda/sbin/vda pool-create -p system-preparation=path pool-name

/opt/SUNWvda/sbin/vda pool-setprops -p system-preparation=path pool-name

Example - Enabling System Preparation for a pool of Oracle VM VirtualBox desktops.


/opt/SUNWvda/sbin/vda pool-templates MyPool

/opt/SUNWvda/sbin/vda template-revisions 35

/opt/SUNWvda/sbin/vda revision-sysprep 55

/opt/SUNWvda/sbin/vda pool-create-sysprep -p \
key=ABC12-DEF34-GHI56-JKL78-MNO90,domain=mydomain.mycompany.com,\
domain-admin=Administrator,windows-arch=64,windows-release=win7 MyPool

5.5.9. About Personal Hard Drives and Windows User Profiles


Each time a user's desktop is updated to a new template revision, their local data is destroyed. One
solution to this problem is to use personal hard drives. When personal hard drives are enabled, Oracle VDI
automatically creates a second data disk for each desktop, a drive D:. The Windows user profile directory
is stored on this drive and contains all the information normally stored in one of the following locations:

• C:\Documents and Settings\username (Windows XP platforms)

• C:\Users\username (Windows 7 and later platforms)

Whenever the desktop template is updated (a new revision), the desktop's primary disk containing
the operating system is replaced with a fresh clone. The user's personal hard drive is preserved and
reattached to the fresh clone.

132
About Personal Hard Drives and Windows User Profiles

Only use personal hard drives when users have a requirement to store personal information in their
desktop and that information must be retained after template and revision updates.

To use personal hard drives the following must be true:

• The user directory for the company must be Active Directory. The user directory can be configured as
either an LDAP directory type or as Active Directory type.

• The desktop provider type must be either Oracle VM VirtualBox or Microsoft Hyper-V.

• The assignment type for desktops in the pool must be personal.

• System preparation must be enabled for the pool. You can use either Oracle VDI Fast Preparation
(FastPrep) or Microsoft Windows System Preparation (SysPrep).

• The desktop must be a Windows desktop.

Importing and Exporting Windows User Profiles


When you enable personal hard drives, you can also specify a network share as a location for importing
and exporting Windows user profiles. This feature is available only for Oracle VM VirtualBox desktops and
is supported on Windows 7 and later.

Administrators can specify that user profiles are imported from the network share when users access their
personal desktop for the first time. When a user logs in, Oracle VDI searches for a user profile in a location
derived by combining the network path of the share and the user's domain Security Accounts Manager
(SAM) account name, for example \\MyDomainFileServer\Profiles\jdoe. If the user profile exists
in that location, it is copied to the personal hard drive. Once the user profile is copied, the user is logged in.
This can cause a delay with the initial login to a desktop.

Administrators can also export the user profiles from the personal hard drives so that the data can be
backed up, edited, or re-used. See Section 9.1.9, “Exporting User Profiles from Personal Hard Drives” for
details.

The import and export of user profiles is performed using the domain administrator specified in the
pool's FastPrep or SysPrep configuration. The domain administrator specified must have read and write
permissions for the network share. The firewall on the Active Directory Domain Controller must include the
following in the list of allowed programs and features:

• File and Printer Sharing

• iSCSI Service

• Network Discovery

5.5.9.1. Enabling Personal Hard Drives


Personal hard drives are only added to desktops that are cloned after the personal hard drive feature is
enabled. Existing personal desktops are not affected.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, go to Pools and select a pool.

2. Click the Cloning tab.

3. Click Edit Personal Hard Drive Settings.

The Edit Personal Hard Drive Settings Windows is displayed.

133
Clone and Recycle Job Management

4. Select Create Personal Hard Disk.

5. In the Size field, enter the size of the personal hard drive in gigabytes.

The size must be a whole number without a decimal point.

6. (Optional) In the Network Profile Location field, enter the network path of the shared directory to use
for importing and exporting Windows user profiles.

This option is only available for Oracle VM VirtualBox pools.

Use the Universal Naming Convention (UNC) form for the location, \\ComputerName
\SharedFolder, for example \\MyDomainFileServer\Profiles.

7. (Optional) Select Import User Profile on First User Login.

This option is only available for Oracle VM VirtualBox pools.

8. Click OK.

9. On the Cloning tab, check that the Personal Hard Drive setting shows Enabled.

Command Line Steps

• You enable personal hard drives by editing the properties of the pool. You can do this when you create
the pool, or by editing the pool.

You cannot configure the settings for importing and exporting Windows user profiles on the command
line.

For example:
/opt/SUNWvda/sbin/vda pool-setprops \
-p personal-hd-enabled=enabled,personal-hd-size=6 pool-name

5.5.10. Clone and Recycle Job Management


The cloning and recycling of desktops can be a resource intensive processes. For this reason, Oracle VDI
enables you to limit the number of clone and recycle jobs that can run in your Oracle VDI environment at
any one time.

5.5.10.1. Setting Cloning Production Priorities for Pools


At the pool level, Oracle VDI Manager enables you to specify the cloning production priority for particular
pools. This priority is assigned to the pool when clone jobs are being submitted. A pool with a higher
production priority is allowed to clone more quickly than a pool with lower priority. The production priority
setting does not apply to recycle jobs.

To set the cloning production priority for pools, select an existing pool in the Pool category and click on the
Cloning tab.

5.5.10.2. Setting Peak Times for Desktop Providers


At the desktop provider level, Oracle VDI Manager enables you to specify the maximum number of cloning
and recycling jobs that run at peak and off-peak times. You can also configure the times during each day
that are considered peak times. Once set, Oracle VDI controls the combined total number of clone and
recycle jobs that it runs according to the limits that are set.

134
Application Virtualization with Microsoft App-V

To set peak times in Oracle VDI Manager, go to the Peak Times tab for the desktop provider. On the
command line, use the vda provider-setpeaktimes command.

5.6. Application Virtualization with Microsoft App-V


Microsoft Application Virtualization (App-V) is an application virtualization solution that enables applications
to be deployed to any desktop from an application virtualization server. The applications are streamed or
cached locally on demand from the application virtualization server and then run locally on the desktop.

Oracle VDI supports application virtualization by providing desktops with access to applications using a
shared, read-only App-V cache file. This is a more efficient use of disk space than each individual desktop
downloading and storing the application data in its own local cache.

To create and manage the App-V cache file, Oracle VDI uses a staging desktop. The staging desktop
is simply a desktop that runs the Microsoft Application Virtualization Desktop Client (App-V Client) and
has write access to the App-V cache file. The staging desktop is used to download the application data
from the App-V Management Server to the App-V cache file. A separate disk is attached to the staging
desktop and the App-V cache file is copied to this disk, which is known as an App-V repository. The App-V
repository is then applied to one or more pools.

When an App-V repository is applied to a pool, the desktops have an extra hard disk attached, which is
assigned the drive letter V:. The hard disk is a clone of the App-V repository disk. The desktops run the
App-V Client, which is configured to use the App-V cache file on drive V: but with read-only access to the
cache.

If the App-V cache file needs to be updated, for example to add or remove applications, you create a
revision to the App-V repository. When you create a revision, the staging desktop is used to refresh the
App-V cache file from the App-V Management Server. Like revisions to templates, the revision must be
made the master revision in order to be applied to pools.

See Section 5.6.1, “App-V Repository Lifecycle” for full details of the processing involved in creating and
maintaining App-V repositories.

You can only create and use App-V repositories with Oracle VM VirtualBox pools. App-V repositories can
be used with flexible and personal desktops.

Oracle VDI supports version 4.6 of Microsoft App-V.

5.6.1. App-V Repository Lifecycle


App-V repositories are similar to desktop templates in that revisions are used to manage the lifecycle of the
repository. However, the processing that takes place for App-V repositories is quite different, as follows.

1. Create an App-V repository, see Section 5.6.2, “Creating an App-V Repository”.

a. The selected desktop template is copied and the specified system preparation is applied to create
the staging desktop.

b. The specified App-V user is logged into the staging desktop and the App-V cache file is updated
with the latest application data from the App-V Management Server.

c. A new App-V hard disk is attached to the staging desktop and the updated App-V cache file is
copied to this disk.

d. A new revision of the App-V hard disk is created and this revision is made the master revision.

e. The App-V Repository is applied to a pool, if a pool is selected.

135
Creating an App-V Repository

2. Apply the App-V repository to a pool, see Section 9.4.4, “Applying an App-V Repository to a Pool”.

For newly cloned desktops, the following processing takes place during cloning.

For existing desktops, the following processing takes place before the desktop is started for the first
time after an App-V repository is applied to a pool or an App-V repository has a new master revision.
This results in longer initial startup times. Subsequent startup times should be normal.

a. A new hard disk is attached to the desktop. The hard disk is a clone of the App-V disk used by the
staging desktop.

b. The desktop is started and the new disk is assigned the drive letter V: and has the disk label
VDIAPPV.

c. The registry setting that defines the location of the App-V cache file is updated for the location of the
cache file on the new disk V:.

d. The registry setting that defines whether the App-V cache file is writable is updated to make it read-
only.

e. The desktop is shut down.

3. Create a revision to the App-V repository, see Section 9.4.5, “Creating a Revision to an App-V
Repository”.

You create a new revision whenever you need to change the application data required by users. This
might be because a new version of an application is needed, to add or remove applications, or to
change the configured App-V user that is used to maintain the App-V cache file.

The revision to the App-V Repository is not used until it is made the master revision.

a. The staging desktop is started and the configured App-V user is logged in.

b. The App-V cache is updated to get the latest application data from the App-V Management Server.

c. A new revision of the App-V hard disk is created.

4. Make the App-V repository revision the master, see Section 9.4.6, “Making an App-V Revision the
Master Revision”.

To apply a revision to a pool, you make it the master revision. Existing used desktops must be restarted
in order to access the updated App-V applications.

Once a revision is made the master, all previous revisions are made inaccessible once they are not
used by any desktops.

5.6.2. Creating an App-V Repository


Before You Begin

• Import the desktop template you want to use to create the App-V repository into a pool.

The Microsoft App-V Desktop Client must be installed in the template and the App-V publishing servers
must be configured.

When you configure the App-V Client, it is best to use the default drive Q: for the Preferred Drive Letter.
If you do select another drive letter, do not use drive V:.

136
Creating an App-V Repository

The VirtualBox guest additions must be installed in the desktop template with support for automated
logons (install using the /with_autologon option).

• Obtain the credentials of a user that is defined as an App-V user in Active Directory.

Oracle VDI needs to be configured with an App-V user in order to update the App-V cache file on the
staging desktop. The user must have access to all the available applications on the App-V Management
Server. For the best performance when you create or update an App-V repository, ensure that this user
does not have a roaming profile.

You might want to define an App-V user in Active Directory specifically for Oracle VDI.

Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Template tab and then click App-V Repository.

3. In the App-V Repositories table, click New.

The New App-V Repository wizard is displayed.

4. On the Select Pool step, select the pool where the new App-V repository should be used.

The template and system preparation settings configured on the selected pool's Cloning tab are used
to create the staging desktop for the App-V repository.

If you select None from the pool list, or the selected pool does not yet have a template applied, the
Create Staging Desktop step is displayed when you click Next. Here you must select a template and
specify the system preparation details so that the staging desktop for the App-V repository can be
created.

Selecting a pool is the best way to ensure that the staging desktop and the desktops in the pool use the
same Windows operating system and domain.

If you do not want to use the App-V repository in the pool immediately, deselect Use App-V
Repository.

5. On the Specify App-V User step, enter the credentials of a user that is defined as an App-V user in
Active Directory in the User and Password fields.

6. On the Define App-V Repository step, enter a name and, optionally, a comment in the Name and
Comment fields.

7. On the Review step, check the configuration of the desktop provider and click Finish.

The New App-V Repository wizard is closed. Jobs are started to create the staging desktop and App-
V repository disk. When the jobs complete successfully, the App-V repository is automatically applied
to the selected pool (if a pool was selected) and is available to the desktops in the pool when they are
started the next time.

Command Line Steps

1. Obtain the ID of the template you want to work with, see Section 9.2.1, “Obtaining the ID of a
Template”.

2. Create the App-V repository using the vda template-appv-create command.

137
Assigning Users to Desktops

/opt/SUNWvda/sbin/vda template-appv-create -p \
name=name,pool=pool-name,admin=admin,appv-username=appv-username,\
[sysprep] template-id

Option Description
name The name of the App-V repository.
admin The name of an administrator in the desktop template, typically
Administrator.
appv-username The user name of a user that is defined as an App-V user in Active
Directory.
sysprep The standard properties for specifying system preparation.

System preparation is optional, but if omitted, the template must either


already be joined to a domain or you must use the credentials stored in the
template.

In the following example, the system preparation is defined when the App-V repository is created:
/opt/SUNWvda/sbin/vda template-appv-create -p \
name=MyAppv,pool=MyTemplates,admin=Administrator,appv-username=appv-user,\
customization-type=fastprep,windows-release=win7,domain=example.com,\
domain-admin=Administrator 4
Enter password for user appv-user on desktop:
Enter password for user Administrator on desktop:
Enter password for user Administrator on domain example.com:
Creating App-V repository from template '4'.
Job started with id 173. Use job-list or job-wait to track progress.

In the following example, the system preparation is not defined when the App-V repository is created:
/opt/SUNWvda/sbin/vda template-appv-create -p \
name=MyAppv,pool=MyPool,admin=Administrator,appv-username=appv-user 2
Enter password for user appv-user on desktop:
Enter password for user Administrator on desktop:
Creating App-V repository from template '2'.
Job started with id 160. Use job-list or job-wait to track progress.

5.7. Assigning Users to Desktops


5.7.1. Assigning Users to Pools or Desktops
You can either assign a user to a specific desktop, or you can assign a user (or user group) to a desktop
pool. If a user is assigned to a pool and requests a desktop, Oracle VDI automatically delivers any
available desktop from the pool.

For Microsoft Remote Desktop providers, users cannot be directly assigned to desktops. Instead, users or
groups are assigned to Remote Desktop Services pools.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, go to Users.

2. Select a company.

3. To assign a user or a group, go to the Users and Groups tab.

a. Search for users and groups in the user directory.

138
Creating Custom Groups and Custom Group Filters

You can specify user name or user ID.

b. Click on the user name, and click the Assignment tab in their profile.

c. Select Add in the Assigned Desktops or Assigned Pools table, depending on your preference.

4. To assign a custom group, go to the Custom Groups tab.

a. Click the Assignment tab in the custom group's profile.

b. In the Assigned Pools table, select Add.

5. Select the checkbox for the desktop or pool assignment, and click OK.

You can always see which pools and desktops are associated with a user by clicking the Summary tab of
the user or group's profile.
Command Line Steps

• Assign a user to a desktop.

1. List the available desktops.

/opt/SUNWvda/sbin/vda pool-desktops pool-name

2. Assign a user to a desktop.

/opt/SUNWvda/sbin/vda user-assign --desktop=desktop-ID user-name

Example - Assigning a user to a desktop.

/opt/SUNWvda/sbin/vda pool-desktops "Sales - EMEA"


NAME ID MACHINE_STATE STATUS DN
Solaris 2008.11 De 2
2 Powered Off Available -

/opt/SUNWvda/sbin/vda user-assign --desktop=2 jd123456


User/Group jd123456 assigned to desktop 2

3. List the users of the pool.

/opt/SUNWvda/sbin/vda pool-users -u pool-name

• Assign a custom group to a pool.

/opt/SUNWvda/sbin/vda group-assign -p pool-name group-name

Example - Assigning a custom group to a pool

/opt/SUNWvda/sbin/vda group-assign -p "Solaris 2008.11 En" "Support EMEA"


Custom Groups [Support EMEA] assigned to pool Solaris 2008.11 En

5.7.2. Creating Custom Groups and Custom Group Filters


Oracle VDI user directory integration not only recognizes existing groups, but also allows you to make
custom groups, and assign them to a pool. If you want to define a set of users that is not an existing group
in the user directory, you can create a custom group, and specify the filter to search in the user directory.
This functionality allows you to define Oracle VDI user groups locally without the need for any changes in
your Active Directory or LDAP user directory.

139
Assigning Tokens to Users

To create a custom group:

1. Select the Users category, and the Custom Groups subcategory in the left sidebar.

2. Select New in the Custom Groups overview.

3. Give the Custom Group a descriptive name, and click OK.

To define a custom group filter:

1. Click the Filter tab, and choose a Filter Mode:

The default filter mode is Composition. You can create a custom filter by choosing an Attribute,
Relationship, and Value.

You can also use the Advanced filter mode, which uses LDAP search syntax defined by RFC 2254
LDAP documentation.

For more information, see RFC 2254.

2. Before saving, click Preview to see how the filter configuration will behave. If the filter defines the target
group of users, click Save.

5.7.3. Assigning Tokens to Users


In a Sun Ray environment, users may take advantage of smart cards (tokens) to initiate a session on a
Sun Ray Client. With Oracle VDI, you can assign a token to a user. It is also possible to assign desktops
directly to specific tokens. Once tokens have been created, they can be assigned to pools and desktops.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, go to Users.

2. Select a company.

3. Go to the Users and Groups tab.

4. Search for a user in the user directory.

5. Click on the user name, and go the Token tab.

6. Assign the token.

• If you are assigning a new token, click New in the Tokens table. Then Enter the ID of the new token
(e.g. Payflex.500d9b8900130200).

• If you are assigning an existing token, select Add in the Tokens table. Then search for the desired
token.

Note

Token IDs can be copied directly from the Sun Ray Admin GUI (see the Tokens tab
and display Currently Used Tokens).

Command Line Steps

• Assign a new token to a user.


/opt/SUNWvda/sbin/vda token-create -p token-id=token-ID,user=user-ID

140
Assigning Tokens to Desktops or Pools

Example - Creating a new token and assigning it to a user


/opt/SUNWvda/sbin/vda token-create -p token-id=Payflex.600a7c5600130200,user=jd123456
Token Payflex.600a7c5600130200 created

• Assign an existing token to a user.


/opt/SUNWvda/sbin/vda token-create -p token-id=token-ID,user=user-ID

Example - Assigning an existing token to a user


/opt/SUNWvda/sbin/vda token-setprops -p user=jd123456 Payflex.600a7c5600130200
Token properties updated

5.7.4. Assigning Tokens to Desktops or Pools


You can assign tokens to desktops or desktop pools. This is similar to assigning desktops to users,
however, a single user can potentially own multiple tokens (smart cards). By assigning tokens to desktops,
users are able to easily switch between the assigned desktops by just inserting different smart cards into
the client.

Assigning desktops or pools to each token individually can be cumbersome. To ease this process, Oracle
VDI provides some predefined special tokens ("AnySmartCard.000" and "AnySunRayClient.000"), which
can be used to make default pool assignments in a single company setup.

For example, if you assign a pool to the AnySmartCard.000 token, any user with a smart card (regardless
of the smart card ID) gets a desktop from this pool. Or, if you assign a pool to the AnySunRayClient.000
token, any user without a smart card gets a desktop from this pool.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, go to Users.

2. Select a company.

3. Go to the Tokens tab.

4. Select a token from the Tokens table.

5. Assign the token.

• If you are assigning a token to a desktop, click Add on the Assigned Desktops table. Then enter the
ID of the token (e.g. Payflex.500d9b8900130200).

• If you are assigning a token to a pool, click Add on the Assigned Pool table. Then enter the ID of
the token (e.g. Payflex.500d9b8900130200).

Note

Token IDs can be copied directly from the Sun Ray Admin GUI (see the Tokens tab
and display Currently Used Tokens).

Command Line Steps

• Assign a token to a desktop.

1. List available desktops.


/opt/SUNWvda/sbin/vda pool-desktops pool-name

141
Creating Tokens in Bulk

2. Assign the token to one of the listed desktops.


/opt/SUNWvda/sbin/vda token-assign --desktop=desktop-ID token-ID

Example - Assigning an existing token to a desktop


/opt/SUNWvda/sbin/vda pool-desktops "Sales - EMEA"
NAME ID MACHINE_STATE STATUS USER DN
Ubuntu_02 4 Powered Off Available - -
Ubuntu_01 6 Powered Off Available - -
Ubuntu_05 8 Powered Off Available - -

/opt/SUNWvda/sbin/vda token-assign --desktop=4 Payflex.500d9b8900130200


Token Payflex.500d9b8900130200 assigned to desktop 4

• Assign a token to a pool.


/opt/SUNWvda/sbin/vda token-assign --pool=pool-name token-ID

Example - Assigning an existing token to a pool


/opt/SUNWvda/sbin/vda token-assign --pool="Sales - EMEA" Payflex.500d9b8900130200

Example - Assigning all smart cards to a pool


/opt/SUNWvda/sbin/vda token-assign --pool="Sales - EMEA" AnySmartCard.000

5.7.5. Creating Tokens in Bulk


It is possible to create a number of tokens at once using the token-create subcommand.

The token-create subcommand can take an input file containing the tokens to create and the user
associated with the token if needed.
Options:
-f token-file, --file=token-file
A CSV file containing the properties of the tokens to
be created. Format of the file is: token-idcommentuserid
-w, --write Overwrite existing tokens, option to be used with the
token-file option

The format of the token file is CSV with the following values:

• token-id: the id of the smart card, this value is mandatory.

• comment: a comment about the token that can be used as a user friendly description of the token. This
value maybe empty.

• userid: the user id of a user from the user directory, to be associated with the token. This value maybe
empty.

The following example shows a valid csv file for token creation and uses the file to create the tokens and
their association to users.
cat /tokens.csv
mo12.345,"token for Mary O'Leary",moleary
js46.23,"token for user John Smith",jsmith
x34.45,"token without any associated user",

/opt/SUNWvda/sbin/vda token-create -f /tokens.csv

142
Searching for Desktops

/opt/SUNWvda/sbin/vda token-search
NAME USER DN
mo12.345 Mary O'Leary cn=Mary O'Leary,ou=people
js46.23 John Smith cn=John Smith,ou=people
x34.45 - -

5.7.6. Searching for Desktops


This task describes how to search for any desktop managed by Oracle VDI Manager. The Desktop Search
feature enables you to search for any desktop in any pool based on a set of predefined filters, or by using
the search field.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, go to Pools.

2. Select Desktop Search.

3. Click a predefined filter link to display the list of desktops:

• All desktops - The complete set of desktops from all existing pools.

• Assigned desktops - All the desktops currently assigned to a user.

• Running desktops - All the desktops currently up and running.

• Desktops with error - All the desktops currently with errors, which can be due to a Defective State, or
when the Machine State is Stuck, Aborted, Unresponsive or Unknown.

4. (Optional) Search the list of desktops by assigned user.

Type a user name into the Desktop Search field and click Search to show only the currently listed
desktops with the matching assigned user.

143
144
Chapter 6. Desktop Access

Table of Contents
6.1. About Desktop Access ............................................................................................................. 145
6.2. Desktop Access Using Sun Ray Clients .................................................................................... 147
6.2.1. About the Oracle VDI Sun Ray Kiosk Session ................................................................ 147
6.2.2. Sun Ray Client User Access Scenarios .......................................................................... 148
6.2.3. User Password Change and Expiry ................................................................................ 151
6.2.4. Modifying the Oracle VDI Sun Ray Kiosk Session ........................................................... 153
6.2.5. Desktop Login and Desktop Selector Configuration Options ............................................. 154
6.2.6. Global Settings for the Oracle VDI Kiosk Session ........................................................... 155
6.2.7. Debugging the Oracle VDI Kiosk Session ....................................................................... 156
6.2.8. Disabling the Desktop Login and Desktop Selector Screens ............................................ 157
6.2.9. Disabling Client Authentication ....................................................................................... 157
6.2.10. Enabling a Desktop Screen Lock for Sun Ray Clients .................................................... 157
6.2.11. Changing the Language Used in the Desktop Login and Desktop Selector Screens ......... 158
6.2.12. Adding a Helper Function to the Desktop Login Screen ................................................. 159
6.2.13. Changing the Desktop Disconnect Behavior ................................................................. 160
6.2.14. Customizing the Appearance of the Desktop Login and Desktop Selector Screens .......... 161
6.2.15. Multiple Monitor Capability ........................................................................................... 161
6.3. Desktop Access Using RDP Clients .......................................................................................... 166
6.3.1. Accessing Desktops With an RDP Client ........................................................................ 166
6.3.2. About the Oracle VDI RDP Broker ................................................................................. 167
6.4. Desktop Access Using Oracle Secure Global Desktop ............................................................... 167
6.5. Logging Out of Desktop Sessions ............................................................................................. 168

6.1. About Desktop Access


Users can access their virtual desktops from two types of clients, Sun Ray Clients and Remote Desktop
Protocol (RDP) clients.

Sun Ray Clients, whether traditional hardware clients or Oracle Virtual Desktop Clients, connect to Sun
Ray Software over the Oracle Appliance Link Protocol (ALP). Sun Ray Software runs on the Oracle VDI
host and includes the Oracle VDI kiosk session and the Sun Ray Windows connector (uttsc). The kiosk
session connects Sun Ray users to Oracle VDI, and the Sun Ray Windows connector completes the
connection to the desktops.

The RDP protocol was developed by Microsoft as a way to establish secure connections between servers
and remote clients. Oracle VDI includes a built-in RDP broker that enables RDP clients to access virtual
desktops. These RDP clients include the Oracle Secure Global Desktop RDP client (ttatsc) and
Microsoft Remote Desktop Connection (RDC).

The following table shows Oracle VDI features by client type. The choice of RDP protocol and virtual
machine configuration also influence which features can be used for a virtual desktop. For more
information, see Section 5.1.2, “Choosing Between VRDP and MS-RDP”.

145
Color Depth

Table 6.1. Supported Features by Client Type


Feature Sun Ray Oracle Virtual Oracle Microsoft
Client Desktop Secure Remote
(Hardware) Client Global Desktop
Desktop Connection
Audio recording (input audio) ✓ ✓ ✓ ✓
Audio redirection ✓ ✓ ✓ ✓
Clipboard redirection ✗ ✓ ✓ ✓
COM port mapping ✓ ✓ ✓ ✓
✓ ✓ ✓ ✓
a a
Drive redirection (client drive mapping)
✓ ✓ ✓ ✓
b
Multi-desktop
✓ ✓ ✓ ✓
b
Multi-monitor
Smart card device redirection ✓ ✓ ✓ ✓
USB device redirection ✓ ✓ ✗ ✓
✓ ✓ ✗ ✓
b
Video acceleration
✓ ✓ ✗ ✓
c b
Windows media redirection
Windows printer mapping (client printing) ✓ ✓ ✓ ✓
a
Access only to client USB storage devices is supported. Paths on an Oracle VDI host can also be mapped to remote desktops using
pool RDP settings, see Section 5.1.4, “Configuring Pool RDP Options”.
b
RDP 7 and later only.
c
Sun Ray 2 and 3 clients only.

For Sun Ray Clients, support for these features can vary by hardware version and the software release.
Check the documentation for your products to see what is supported. For the latest list of peripherals
tested to work with Sun Ray Software, see the Sun Ray Client and Oracle Virtual Desktop Client
Peripherals List.

For Oracle Secure Global Desktop, support for these features depends on the software release. Check the
documentation for your product to see what is supported.

For Microsoft Remote Desktop Connection, support for these features depends on the which RDP version
is used. Check the documentation for your version to see what is supported.

Color Depth
Oracle Secure Global Desktop does not support 15-bit color depths. If this color depth is specified for a
desktop, 8-bit color is used instead.

32-bit color is available on Windows 7 or Windows Server 2008 and later platforms. To display 32-bit color,
the client device must be capable of displaying 32-bit color.

Encryption Level
You can only use the Low, Client-compatible, or High encryption levels with Oracle Secure Global Desktop
and Sun Ray Clients. The Federal Information Processing Standards (FIPS) encryption level is not
supported.

Multi-Monitor and Windows 7


If Microsoft RDP is selected as the desktop protocol, multi-monitor support is only available in Windows 7
Ultimate and Enterprise editions. Windows 7 Professional does support a single desktop spanned across

146
Transport Layer Security

multiple monitors (spanned mode). See the article Using Multiple Monitors in a Remote Desktop Session
for an explanation.

Transport Layer Security


Oracle Secure Global Desktop does not support the use of Transport Layer Security (TLS) for server
authentication, and to encrypt Terminal Server communication.

USB Redirection
USB 1.0 and USB 2.0 are supported. In order to use USB 2.0, a USB 2.0 (EHCI) controller must be
configured in the desktop or template. See Section 5.1.5, “Enabling USB Redirection” for details. Sun Ray
2 Clients only support USB 1.0. If USB 2.0 is enabled, Sun Ray 2 Clients auto-negotiate down to USB 1.0.
Sun Ray 3 Clients and later support USB 2.0.

6.2. Desktop Access Using Sun Ray Clients


Oracle VDI installation and configuration includes the installation of a bundled release of Sun Ray Software
configured specifically for use with Oracle VDI. Appendix B, Defaults for the Software Bundled With Oracle
VDI has details of the default configuration.

This section provides information about configuring access to Oracle VDI desktops from Sun Ray Clients.

For detailed information about Sun Ray Software and Sun Ray Clients, see the Sun Ray Product
Documentation at http://www.oracle.com/technetwork/documentation/sun-ray-193669.html.

6.2.1. About the Oracle VDI Sun Ray Kiosk Session


Sun Ray Software is designed to provide access to standard Oracle Solaris or Oracle Linux desktop
sessions from Sun Ray Clients. You can also use Sun Ray kiosk mode to provide controlled access to
other session types, see Kiosk Mode in the Sun Ray Software Administration Guide for more details.

Oracle VDI comes with a predefined kiosk session, called Oracle Virtual Desktop Infrastructure (vda). This
kiosk session uses the Sun Ray Windows connector (uttsc) to establish a Remote Desktop Protocol
(RDP) connection to a virtual machine.

The kiosk session is enabled for both smart card and non-smart card access, so users do not have to use
smart cards to log in.

When an Oracle VDI kiosk session starts, for example when a user inserts a smart card into a Sun Ray
Client, a Desktop Login screen is displayed. The user enters a user name, a password, and, optionally, a
Windows domain. The Oracle VDI service contacts the user directory to verify the credentials. Depending
on the user directory, user password expiry can also be handled from the Desktop Login screen, see
Section 6.2.3, “User Password Change and Expiry”. A connection to the desktop is only established if
authentication succeeds.

After successful authentication, the Oracle VDI service determine what desktops are assigned to the user.
If multiple desktops are available, a Desktop Selector screen is displayed so that the user can select a
desktop, after which the Sun Ray Windows connector starts and connects to the virtual machine running
the user's desktop.

If the virtual machine is not already running, a Wait screen (see Figure 6.3, “The Wait Screen”) is displayed
while the machine starts.

147
Sun Ray Client User Access Scenarios

The user credentials are forwarded to the desktop operating system to provide an automatic login so
that the user does not have to authenticate again to the desktop. The automatic login feature works for
Windows desktops using either the RDP or VRDP protocols. For non-Windows desktops, automatic logins
only work for desktops that use the VRDP protocol.

You can disable client authentication so that users can either insert a smart card or provide just a
user name in the Desktop Login screen to access their desktops, see Section 6.2.9, “Disabling Client
Authentication”. You can also disable the Desktop Login and Desktop Selector screens so that users are
always connected to their default desktop without having to authenticate to Oracle VDI, see Section 6.2.8,
“Disabling the Desktop Login and Desktop Selector Screens”.

The Desktop Login and Desktop Selector screens can be affected by Global Oracle VDI Centers, see
Section 3.12.3, “Global Oracle VDI Centers and Desktop Login”.

Administrators can configure the appearance and behavior of the kiosk session, see the following for more
details:

• Section 8.2, “Logging in to the Sun Ray Administration Tool”

• Section 6.2.5, “Desktop Login and Desktop Selector Configuration Options”

• Section 6.2.6, “Global Settings for the Oracle VDI Kiosk Session”

6.2.2. Sun Ray Client User Access Scenarios


This section provides examples of how users access their desktops from Sun Ray Clients (Sun Ray
hardware or Oracle Virtual Desktop Client).

Depending on the configuration of the Sun Ray kiosk session, users might have to log in before they can
access a desktop. Users assigned multiple desktops may also be able to select which desktop to access.
See Section 6.2.1, “About the Oracle VDI Sun Ray Kiosk Session”, for more details.

What users see on the Desktop Login screen can also be affected by other factors, such as the
configuration of multiple companies and Global Oracle VDI Centers. See Section 3.3.1, “Multiple
Companies and the Desktop Login Screen” and Section 3.12, “About Global Oracle VDI Centers”

Example 1

In this example, a user logs in to Oracle VDI and then selects which desktop to access.

1. The user logs into Oracle VDI.

The user inserts a smart card into a Sun Ray Client that is connected to an Oracle VDI host. The token
on the user's smart card is assigned either to a pool or directly to a desktop.

The Desktop Login screen is displayed.

148
Sun Ray Client User Access Scenarios

Figure 6.1. Desktop Login Screen

The user must provide a user name, password, and, optionally, a Windows domain.

2. The user selects a desktop or pool.

After successful authentication, the system determines which desktops and pools are assigned to
the user. If multiple desktops are assigned to the user, the Desktop Selector screen is displayed. The
Desktop Selector screen is not displayed if only one desktop is assigned.

Figure 6.2. Desktop Selector Screen

Once the user selects a desktop, the Sun Ray Windows connector starts and displays the desktop.

Example 2

In this example, the user is not required to log in to Oracle VDI and accesses only their default desktop.

1. The user starts the desktop.

149
Sun Ray Client User Access Scenarios

The user inserts a smart card into a Sun Ray Client that is connected to an Oracle VDI host. The user's
smart card token is assigned either to a pool or directly to a desktop.

Oracle VDI determines the default desktop assigned to the user. In this example, the desktop is not
already running, so a Wait screen is displayed while the desktop is started.

Figure 6.3. The Wait Screen

2. The user logs in to the desktop.

In this example, the standard Windows Logon screen is displayed because the configuration of the
guest operating system requires a user name, password, and the Windows domain.

150
User Password Change and Expiry

Figure 6.4. Windows Logon Screen

After successful authentication, the desktop is displayed.

6.2.3. User Password Change and Expiry


Oracle VDI supports the ability for users to change their passwords with the following directory servers:

• Active Directory

• Oracle Directory Server Enterprise Edition

Users can change their passwords from the Desktop Login and Desktop Selector screens, provided that
client authentication is not disabled, see Section 6.2.9, “Disabling Client Authentication”.

With Kerberos authentication, users can change their passwords before and after it expires.

For LDAP directories, users can only change their password before it expires. If a user's password has
expired, you must provide your own mechanism to enable users to change their password (for example,
see Section 6.2.12, “Adding a Helper Function to the Desktop Login Screen”). Active Directory only permits
password change operations if Secure Authentication is used.

Changing a Password Before It Expires

In order to change a password before it expires, users must have access to the Desktop Selector screen.
This means users must either be assigned more than one desktop, or you must configure the Oracle VDI
kiosk session to always show the Desktop Selector screen, see Section 6.2.6, “Global Settings for the
Oracle VDI Kiosk Session”.

Users change their password by selecting the Change Password option in the More Options menu at the
bottom of the Desktop Selector screen, as shown in Figure 6.5.

151
User Password Change and Expiry

Figure 6.5. Change Password in the More Options Menu

When a user selects the Password Change option, the Change Password screen is displayed.

Figure 6.6. Change Password Screen

The user enters their old and new passwords in the fields and clicks OK to confirm the password change.
The password is updated in the directory server and the Desktop Selector screen displays a confirmation
message. If the user clicks Cancel on the Password Change screen, the password is not changed and the
Desktop Selector screen is displayed.

Password Expiry
When a user logs in and their password has expired, the process is as follows:

• Kerberos authentication

The system detects that the user password has expired and the Password Change screen is displayed.

After a successful password update, the user is authenticated with the new password and the normal
process after a regular successful authentication takes place.

• LDAP authentication

The system detects that the user password has expired and displays an error message.

The user must change their password outside Oracle VDI before they to be able to log in again.

152
Modifying the Oracle VDI Sun Ray Kiosk Session

Troubleshooting
A password change can fail for the following reasons:

• The user does not type the right old password.

• The new password does not comply to the password policy from the directory server, for example not
allowed to reuse old password or password complexity condition not met.

• The Kerberos configuration is not configured for password change. See Section 3.5, “Setting Up
Kerberos Authentication” for help on setting up Kerberos authentication.

• The configured authentication type does not allow password change. See the restrictions described in
Section 6.2.3, “User Password Change and Expiry”.

In case of problems, check the log files. See Section 8.5.4, “Checking the Oracle VDI Log Files”, for further
information.

6.2.4. Modifying the Oracle VDI Sun Ray Kiosk Session


1. Log in to the Sun Ray Administration Tool, Section 8.2, “Logging in to the Sun Ray Administration
Tool”.

2. Click the Advanced tab and then click Kiosk Mode.

The Kiosk Mode page is displayed.

3. Click the Edit button.

The Edit Kiosk Mode page is displayed.

4. In the Session list, ensure Oracle Virtual Desktop Infrastructure is selected.

5. In the Arguments field, type the required kiosk session arguments.

The syntax for the kiosk session arguments is:


[Desktop Selector options] -- [uttsc options]

Desktop Selector options affect the Desktop Login and Desktop Selector screens and the available
options are listed in Section 6.2.5, “Desktop Login and Desktop Selector Configuration Options”.

Sun Ray Windows connector options affect the quality of the RDP connection. The man page for the
uttsc command (man -M /opt/SUNWuttsc/man uttsc) has the complete listing of the supported
uttsc options.

For example:
-d example.com -j /usr/java6 -- -E wallpaper -E theming

6. Click OK.

7. (Optional) Perform a cold restart of Sun Ray services.

The new settings only take effect for new kiosk sessions. To enforce the settings for existing sessions,
you must perform a cold restart of Sun Ray services. This terminates all existing sessions and creates
new kiosk sessions as necessary.

a. Click the Servers tab.

153
Desktop Login and Desktop Selector Configuration Options

b. Select all servers in your Oracle VDI environment.

c. Click Cold Restart.

This operation can take several minutes to complete.

6.2.5. Desktop Login and Desktop Selector Configuration Options


The following table shows the available options for configuring the Desktop Login and Desktop Selector
screens in the Oracle VDI Sun Ray kiosk session.

See Section 6.2.4, “Modifying the Oracle VDI Sun Ray Kiosk Session” for details of how to apply the
options.
Table 6.2. Desktop Login and Desktop Selector Configuration Options
Option Description
-n Disables the Desktop Login and Desktop Selector screens.
-d domain Sets a default domain in the Domain field.
-l domain1,domain2,... Populates the Domain list with the specified domains.

Example: -l north.example.com,south.example.com
-t secs Specifies the timeout in seconds applied after a user logs in.

The default is three minutes.


-j path Path to the Java Runtime Environment (JRE) used to display the
Desktop Login and Desktop Selector screens.

Example: -j /usr/java6
-a Enables the User Name field.

Normally the User Name field is read-only. Using this option enables
users to log in with a different user name.
-h Hides the User Name field.
-o Hides the Domain field.
-w Shows the Password field.
-r res1,res2,... Populates the Screen Resolution menu (under More Options) with a
list of resolutions.

Example: -r 1920x1200,2560x1600
-v log level Enables verbose logging.

The log levels are FINEST, INFO, WARNING, SEVERE, and ALL.

See Section 6.2.7, “Debugging the Oracle VDI Kiosk Session”.


-N Disables NumLock and the navigation or direction keys are active.

By default, NumLock is enabled and the navigation or direction keys


are not active.

Previous releases of Oracle VDI supported a long format for these options, for example --no-desktop-
selector instead of -n. The long options are deprecated, do not use them.

154
Global Settings for the Oracle VDI Kiosk Session

6.2.6. Global Settings for the Oracle VDI Kiosk Session


This section provides information about the global settings that apply to Oracle VDI kiosk session. Use the
vda settings-getprops and vda settings-setprops commands to list and edit these settings.

Table 6.3. Global Settings for the Oracle VDI Kiosk Session

Property Name Description


clientauthentication Controls the Password field in the Desktop Login screen.

If disabled, the Password field is not displayed.

Default value: Enabled

See Section 6.2.9, “Disabling Client Authentication”.


clientscreenlock Controls the screen lock behavior.

If enabled, when a user disconnects from their Sun Ray session (for
example by removing the smart card), the current session is locked.
When the user reconnects (for example by inserting a smart card),
the Desktop Login screen is displayed and the user must enter a
password to reconnect to their session.

Default value: Disabled

See Section 6.2.10, “Enabling a Desktop Screen Lock for Sun Ray
Clients”.
client.autoredirect.firstserver Controls whether a Sun Ray Client is automatically redirected to the
first Sun Ray server contacted when a user disconnect from their
session.

Default value: Enabled

See Section 3.12.3, “Global Oracle VDI Centers and Desktop Login”.
client.autoredirect.homeserver Controls whether a Sun Ray Client is automatically redirected to the
user's home Oracle VDI Center.

If enabled, the Desktop Login screen is changed and the user logs
in in two steps. In the first step, the user provides a user name and
domain, and in the second step, their password. Between the two
steps, the Client might be redirected to the user's home Oracle VDI
Center.

Default value: Disabled

See Section 3.12.3, “Global Oracle VDI Centers and Desktop Login”.
client.desktop.reset Controls the Reset button in the Desktop Selector screen. The button
enables users to reboot their desktops.

If enabled, the Reset button is displayed.

Default value: Enabled


client.kiosk.type Specifies the name of another Sun Ray kiosk session that can be
started from the More Options menu in the Desktop Login screen.

155
Debugging the Oracle VDI Kiosk Session

Property Name Description


The name is the name of a directory in the /etc/opt/SUNWkio/
sessions directory.

This can be used to provide help desk functionality, for example by


provider access to a browser kiosk session. See Section 6.2.12,
“Adding a Helper Function to the Desktop Login Screen”.
client.kiosk.label Specifies the label to use in the More Options menu in the
Desktop Login screen for the kiosk session specified by the
client.kiosk.type property.
client.kiosk.settings Specifies any optional kiosk session arguments and settings that
should be used when starting the kiosk session specified by the
client.kiosk.type property.
client.logout.always Controls whether users are logged out when they disconnect from
their desktops or whether they are returned to the Desktop Selector
screen.

Default value: Enabled

See Section 6.2.13, “Changing the Desktop Disconnect Behavior”.


client.quit.onlogout Controls whether the kiosk session is ended when the user logs out.

If enabled, this setting is sometimes useful, for example to enable a


Client to be redirected to a different Sun Ray server in the failover
group.

Default value: Disabled


client.select.always Controls whether the Desktop Selector is always displayed.

If enabled, the Desktop Selector screen is displayed, even if all


available desktops would fit on all connected monitors.

Default value: Enabled

6.2.7. Debugging the Oracle VDI Kiosk Session


If changes you make to the Oracle VDI kiosk session are not working as expected, you can enable verbose
logging for the Desktop Login and Desktop Selector screens.

You enable verbose logging with the -v option for the Oracle VDI kiosk session, see Section 6.2.5,
“Desktop Login and Desktop Selector Configuration Options” and Section 6.2.4, “Modifying the Oracle VDI
Sun Ray Kiosk Session”.

Additional log messages are output to standard error (stderr). The log messages can be viewed in the
following locations:

• Oracle Solaris 10 platforms: /var/dt/Xerrors

• Oracle Solaris 11 and Oracle Linux platforms: /var/opt/SUNWkio/home/utkuXX/.xsession-


errors

156
Disabling the Desktop Login and Desktop Selector Screens

6.2.8. Disabling the Desktop Login and Desktop Selector Screens


You can disable the Desktop Login and Desktop Selector screens so that users must insert a smart card to
begin a session. Users can only access their default desktop.

You disable the Desktop Login and Desktop Selector screens with the -n option for the Oracle VDI
kiosk session, see Section 6.2.5, “Desktop Login and Desktop Selector Configuration Options” and
Section 6.2.4, “Modifying the Oracle VDI Sun Ray Kiosk Session”. If you do this, you must also disable
client authentication (see Section 6.2.9, “Disabling Client Authentication”) because users cannot enter a
user name or password.

If you disable the Desktop Login and Desktop Selector screens, it is best security practice to configure
desktops to present their own login screen, so that users authenticate to the desktop operating system.

6.2.9. Disabling Client Authentication


By default, all users must present authentication credentials (client authentication) before getting access to
any desktop.

You can disable client authentication so that users can either insert a smart card or provide a user name in
the Desktop Login screen to access their desktops. Desktops are assigned using the smart card token or
the user name, and the user is not required to enter a password.

If you disable client authentication, it is best security practice to configure desktops to present their own
login screen, so that users authenticate to the desktop operating system.

Disabling client authentication also enables you to make use of more advanced desktop authentication
techniques that are not supported by the Oracle VDI service.
Steps

• To check the current client authentication policy:


/opt/SUNWvda/sbin/vda settings-getprops -p clientauthentication

• To disable client authentication:


/opt/SUNWvda/sbin/vda settings-setprops -p clientauthentication=Disabled

• To enable client authentication (the default):


/opt/SUNWvda/sbin/vda settings-resetprops -p clientauthentication

6.2.10. Enabling a Desktop Screen Lock for Sun Ray Clients


With the hotdesking feature, the user must authenticate to access an assigned desktop when inserting
a smart card. Once logged into the desktop session, the user can move to other Sun Ray Clients by
removing and reinserting the smart card without having to log in again. This is one of the advantages of
hotdesking.

There are security implications for hotdesking with a smart card. For example, a lost smart card could be
used by another user to access to a desktop session without the need to enter a password.

The solution is to enable a desktop screen lock. When you enable the desktop screen lock, users are
forced to provide a password whenever they insert a smart card, even when currently logged into a
desktop session. The Domain field and the User field on the Desktop Login screen are already provided.

By default, desktop screen locking is disabled.

157
Changing the Language Used in the Desktop Login and Desktop Selector Screens

Steps

• To check the current desktop screen locking policy:


/opt/SUNWvda/sbin/vda settings-getprops -p clientscreenlock

• To enable desktop screen locking:


/opt/SUNWvda/sbin/vda settings-setprops -p clientscreenlock=Enabled

• To disable desktop screen locking (the default):


/opt/SUNWvda/sbin/vda settings-resetprops -p clientscreenlock

6.2.11. Changing the Language Used in the Desktop Login and Desktop
Selector Screens
Oracle VDI supports the following languages in the Desktop Login and Desktop Selector Screens:

• Dutch

• English

• French

• German

• Italian

• Spanish

• Japanese

• Korean

• Simplified Chinese

• Traditional Chinese

Users can change the language used by selecting the Language option from the More Options menu in
the Desktop Login screen, as shown in Figure 6.7.
Figure 6.7. Language Selection in the More Options Menu

You can configure the default language used for the Desktop Login and Desktop Selector Screens by
configuring a locale for the kiosk session, as follows:

158
Adding a Helper Function to the Desktop Login Screen

Steps

1. Log in to the Sun Ray Administration Tool, Section 8.2, “Logging in to the Sun Ray Administration
Tool”.

2. Click the Advanced tab and then click Kiosk Mode.

3. The Kiosk Mode page is displayed.

4. Click the Edit button.

The Edit Kiosk Mode page is displayed.

5. In the Session list, ensure Oracle Virtual Desktop Infrastructure is selected.

6. In the Locale field, enter a locale.

The locale you enter must be a locale that is installed on all hosts in the Oracle VDI Center. Use the
locale -a command to check the locales installed on a host.

7. Click OK.

8. (Optional) Perform a cold restart of Sun Ray services.

The new settings only take effect for new kiosk sessions. To enforce the settings for existing sessions,
you must perform a cold restart of Sun Ray services. This terminates all existing sessions and creates
new kiosk sessions as necessary.

a. Click the Servers tab.

b. Select all servers in your Oracle VDI environment.

c. Click Cold Restart.

This operation can take several minutes to complete.

6.2.12. Adding a Helper Function to the Desktop Login Screen


You can add an item to the More Options menu in the Desktop Login screen that runs an alternative Sun
Ray kiosk session. You can use this to provide additional functions to users, such as access to a help
desk. Figure 6.8 shows an example.

Figure 6.8. Example More Options Menu

When the user selects the item from the More Options menu, the configured kiosk session is displayed.
When the user logs out of, or disconnects from, the kiosk session, they are returned to the Desktop Login
screen.

159
Changing the Desktop Disconnect Behavior

Before you enable the additional item in the More Options, the kiosk session must be configured on all
hosts in the Oracle VDI Center. See Kiosk Mode in the Sun Ray Software Administration Guide for details
of how to configure kiosk sessions.
Steps

• To check the current configuration of the kiosk session in the More Options menu:
/opt/SUNWvda/sbin/vda settings-getprops -p \
client.kiosk.type,client.kiosk.label,client.kiosk.settings

• To add a kiosk session to the More Options menu:


/opt/SUNWvda/sbin/vda settings-setprops -p \
client.kiosk.type=name,client.kiosk.label=label,client.kiosk.settings=args

Option Description
name The name of a directory in the /etc/opt/SUNWkio/sessions directory.
label The label that displays in the More Options menu.
args Any optional kiosk session arguments and settings that should be used when
starting the kiosk session.

In the following example, the label "Help Desk" is added to the More Options menu and uttsc kiosk
session is used to connect to the specified Windows server:
/opt/SUNWvda/sbin/vda settings-setprops -p \
client.kiosk.type=uttsc,client.kiosk.label='"Help Desk"',\
client.kiosk.settings=win1.example.com

• To remove a kiosk session from the More Options menu (the default):
/opt/SUNWvda/sbin/vda settings-resetprops -p \
client.kiosk.type,client.kiosk.label,client.kiosk.settings

6.2.13. Changing the Desktop Disconnect Behavior


By default, when users disconnect from their desktops, they are returned to the Oracle VDI Desktop Login
screen. You change this behavior so that users are returned to the Desktop Selector screen instead. This
enables users to switch quickly between multiple desktops without having to log in each time.

If you change this setting, users are returned to the Desktop Selector screen only if they use either the X
button on the Sun Ray Windows connector toolbar at the top of the screen, or the Disconnect button in
the Windows Start menu. If users disconnect in any other way, they are logged out. The Desktop Selector
screen is displayed only if a user is assigned multiple desktops. If a user is assigned only one desktop, the
Desktop Selector screen is not displayed.
Steps

• To check the current logout on disconnect policy:


/opt/SUNWvda/sbin/vda settings-getprops -p client.logout.always

• To disable logout on disconnect:


/opt/SUNWvda/sbin/vda settings-setprops -p client.logout.always=Disabled

• To enable logout on disconnect (the default):


/opt/SUNWvda/sbin/vda settings-resetprops -p clientscreenlock

160
Customizing the Appearance of the Desktop Login and Desktop Selector Screens

6.2.14. Customizing the Appearance of the Desktop Login and Desktop


Selector Screens
It is possible to customize the appearance of the Desktop Login and Desktop Selector screens, with some
limitations.

You can add a company logo to the upper left corner of the screen, and to replace the background
(the middle of the screen) of the Desktop Login and Desktop Selector screens with a custom image.
However, you cannot change the text position, or the color of buttons and input elements. If you replace
the background image, the image dimensions must be 759 x 456 pixels in order to preserve the position of
the elements on the screen.

The customized image file names must be dialog_background.png and company_logo.png


respectively. You might want to download the sample background image below and make the desired
modifications there.

Figure 6.9. Position of a Company Logo on a Customized Desktop Login Screen

Copy your custom images to the /etc/opt/SUNWkio/sessions/vda directory on every host in the
Oracle VDI Center. Ensure that the file permissions for the images are readable by everyone.

Once you have copied the images, the images are only displayed for new kiosk sessions. Users must
either quit their existing sessions, or you can perform a cold restart of Sun Ray services to force new kiosk
sessions.

A more complex alternative is to replace the default Oracle VDI kiosk session with an adapted version. The
Oracle VDI web service API offers all the functionality needed to communicate with the Oracle VDI service
for retrieving a list of assigned desktops and starting desktops. You can create your own Desktop Login
and Desktop Selector screens using this web service API, but this requires more programming effort.

6.2.15. Multiple Monitor Capability


Sun Ray Software enables the display of a single Sun Ray session across multiple monitors or of multiple
Sun Ray sessions on separate monitors. For more details, see Multiple Monitor Configurations in the Sun

161
Multiple Monitor Capability

Ray Software Administration Guide. Oracle VDI extends this capability to the display of virtual Windows
XP, Windows 7 or Windows 8 desktops.

6.2.15.1. Multiple Desktop Selection

The Desktop Selector enables the user to select and connect to multiple desktops, provided that user has
a Sun Ray Client with two monitors and has been assigned two or more virtual desktops.

Figure 6.10. Connecting to Multiple Desktops with Multiple Monitors

Desktops are displayed in the order they are listed on the Desktop Selector, that is, the first desktop listed
is displayed on the first monitor. To change the order in which the desktops are displayed, the user must
return to the Desktop Selector by logging out or by closing the Sun Ray Windows connector session. The
previously displayed desktops are then marked with monitor icons. When one of the desktops marked
with a monitor icon is selected, arrows allowing each desktop to be promoted or demoted in position are
displayed. When the desktops have been re-ordered, the user can reselect which ones to view and click
Connect.

6.2.15.2. Multiple Monitors

The Multi-Monitor feature enables configuration of multiple monitors for an Oracle VDI desktop session. It
is supported for Windows XP, Windows 7 and Windows 8 desktops that use either VRDP or MS-RDP. The
feature is limited to a maximum of eight monitors for VRDP.

Note

For Windows 7, if Microsoft RDP is selected as the desktop protocol, multi-monitor


support is only available in Windows 7 Ultimate and Enterprise editions. Windows
7 Professional does support a single desktop spanned across multiple monitors
(spanned mode). See the article Using Multiple Monitors in a Remote Desktop
Session for details.

162
Multiple Monitor Capability

Figure 6.11. A Virtual Windows Desktop Display Across Multiple Monitors Connected to One Sun
Ray Client

6.2.15.3. Multi-Monitor Hotdesking

Hotdesking enables users to access their sessions when they move from one Sun Ray Client to another.
For more details, see Hotdesking in the Sun Ray Software Administration Guide. However, because some
Sun Ray Clients support only one monitor while others can support either one or two (see Section 6.2.15.4,
“Sun Ray Multihead Groups and Xinerama”), users may have to modify some settings in order to get or
keep their desired display characteristics.

For example, moving from one Sun Ray Client to another may leave some open windows on non-existent
monitors. In that case, the user must go to Control Panel, launch the Display Properties application, and
modify the number of available monitors. This moves all windows from the invisible monitors to the existing
monitors, allowing the user to see all windows again.

6.2.15.4. Sun Ray Multihead Groups and Xinerama

You can configure several Sun Ray Clients as a multihead group to create a large array of monitors and
display a single desktop across several monitors or multiple desktops on separate monitors. Sun Ray 2FS
and Sun Ray 3 Plus Clients can support two monitors each. For more details, see Multihead Groups in the
Sun Ray Software Administration Guide.

For multihead groups and VRDP, Oracle VDI runs an instance of the Sun Ray Windows connector for each
monitor connection. For this configuration, disable the Xinerama X Window System extension.

For multihead groups and MS-RDP, Oracle VDI runs an instance of the Sun Ray Windows connector for
each Oracle VDI session. For this configuration, enable the Xinerama X Window System extension.

For details on Xinerama usage, see How to Enable and Disable Xinerama in the Sun Ray Software
Administration Guide.

Note

The term head in this context refers to a Sun Ray Client, not a monitor.

163
Multiple Monitor Capability

Figure 6.12. Multihead Group Supporting Multiple Desktops

Figure 6.13. Multihead Group Supporting a Single Desktop

6.2.15.5. Enabling Support for Multiple Monitors


1. Edit the template or desktop and configure the display properties to extend the desktop to multiple
monitors.

If you are using Sysprep, do not perform this step, because the monitor configuration is removed during
cloning. If you use FastPrep, the monitor configuration is preserved.

164
Multiple Monitor Capability

a. In the template or desktop, go to the Start menu and select Control Panel.

b. Select Appearance and Personalization, then Personalization, and then Display Settings.

c. Select Identify Monitors and position the monitors.

2. Configure the required number of monitors for the desktops in a pool.

a. In Oracle VDI Manager, go to Pools and select a pool.

b. Go to the Settings tab.

c. In the Sun Ray Client section, select the required number of monitors in the Monitors list.

The virtual machine is configured with one graphics card for each monitor.

3. Modify the virtual machine video memory setting for the template or the desktop.

Multiple monitors require more video memory. The amount of video memory depends on the screen
resolution and the color depth configured in the desktop or template. The following calculations provide
a good estimate of the amount of memory you should allocate. However, they should not be used as
a replacement for your own testing. The calculations also assume that you are not using special video
effects such as 3D.

The video memory required for each monitor can be calculated using the following formula:

Video Memory (in bytes) = (display_width * display_height * 4) + 1048576 (1 megabyte)

For example, for a monitor with a resolution of 1920 x 1200, the memory required is:

(1920 * 1200 * 4) + 1048576 = 10264576 bytes (9.79 megabytes)

The total video memory (in bytes) is the sum of the video memory required for each monitor + 1048576
(1 megabyte).

For example, for two 1920 * 1200 monitors, the total video memory required is:

(2 * 10264576) + 1048576 = 21577728 bytes (20.58 megabytes)

To access the video memory setting for a desktop or template in a pool, do either of the following:

• Go to the Templates tab, click the master revision in the Templates table, and then click Virtual
Machine.

• Go to the Desktop tab, click a desktop in the Desktops table, and then click Virtual Machine.

4. Restart all running desktops in the pool.

You must restart all running desktops so that the graphics card changes in the virtual machine are
detected. If you do not do this, users might experience connection problems when they connect to their
desktops. Existing desktops that have been powered off detect the graphics card changes when they
are next powered on.

a. Go to the Desktop tab.

b. Select all the running desktops in the pool.

165
Desktop Access Using RDP Clients

Select all the desktops except those with a Machine State of powered off.

c. Click Restart.

The display properties in existing desktops must be configured individually to extend the desktop to
multiple monitors.

6.3. Desktop Access Using RDP Clients


Oracle VDI includes a built-in RDP broker that enables access desktops using an RDP client.

Supported Clients
The following RDP clients have been tested with Oracle VDI:

• The Microsoft RDP client (also known as Remote Desktop Connection)

• The Sun Ray Windows connector (also known as uttsc)

• The Oracle Secure Global Desktop Remote Desktop Client (also known as ttatsc)

Other clients may also work, but have not been tested.

RDP Connection Settings


When users access a desktop from an RDP client, none of RDP settings configured for the pool apply
(see Section 5.1.4.1, “Pool Sun Ray RDP Settings”). These settings include performance optimization
settings, such as disabling menu animations, and device redirection settings, such as access to client
drives and audio. Users have to specify any such connection settings in the RDP client, for example on the
Experience tab of Microsoft Remote Desktop Connection.

RDP Broker Security


As a security precaution, Oracle VDI authenticates users each time they sign into a desktop. Users
may find this inconvenient. If you prefer to disable this feature, refer to Section 6.2.9, “Disabling Client
Authentication”. For a more detailed treatment of security issues, see the Oracle Virtual Desktop
Infrastructure Security Guide.

6.3.1. Accessing Desktops With an RDP Client


To access a desktop, users run the RDP client and specify the DNS name or IP address of an Oracle VDI
host together with a user name, which can include a domain name. By default, users are connected to their
default desktop, which can be defined in Oracle VDI Manager.

Alternatively, users can specify a particular desktop or pool by entering the user name, the pool name, and
optionally a desktop ID, in the RDP client using the following syntax:
username::pool=poolname[,desktop=desktopId]

It is usually sufficient to specify just the user name and pool name. However, users with multiple desktops
assigned from the same pool must specify both the pool name and the desktop ID.

To view a listing of desktop IDs, see Section 9.1.1, “Obtaining the ID of a Desktop”.

In the following example, the Sun Ray Windows connector is used to connect to any machine from a pool:

166
About the Oracle VDI RDP Broker

/opt/SUNWuttsc/bin/uttsc -u jdoe::pool=win-xp -d example.com vdi-example.com

The following image shows a similar example using Microsoft Remote Desktop Connection.

In the following example, the Sun Ray Windows connector is used to connect to a specific desktop:
/opt/SUNWuttsc/bin/uttsc -u jdoe::pool=win-xp,desktop=33 -d example.com vdi-example.com

The following image shows a similar example using Microsoft Remote Desktop Connection.

If users frequently switch between desktops, it is best to save the connection settings for each desktop in
the RDP client.

6.3.2. About the Oracle VDI RDP Broker


This section describes how the RDP broker mediates between several elements of Oracle VDI:

1. The RDP client contacts the Oracle VDI RDP broker and passes it any relevant information, such as
user name and password.

2. The RDP broker then contacts the Oracle VDI service on behalf of the client and asks it to start the
desired desktop.

3. If client authentication is enabled (the default), the Oracle VDI service verifies the user name and
password (see Section 6.2.9, “Disabling Client Authentication”).

4. If authentication succeeds, the Oracle VDI service starts the corresponding desktop and returns the IP
address and, optionally, RDP port of the virtual machine running the desktop.

5. The RDP broker uses this information to construct an RDP Server Redirection Packet.

• For Windows RDP, the packet contains the VM host/IP address as the server to redirect to. This is
the model that VMware Infrastructure 3 uses.

• For VirtualBox RDP, the packet contains a routing token. The routing token consists of an encoded
IP address and RDP port information, which are needed because VRDP does not use the standard
Windows RDP port. For details of the routing token encoding, see the "Routing Token Format"
section of Session Directory and Load Balancing Using Terminal Server on the Microsoft website.

6. The RDP broker sends the redirection packet to the RDP client, and the client is redirected accordingly.

6.4. Desktop Access Using Oracle Secure Global Desktop


Oracle VDI supports secure web access to desktops through Oracle Secure Global Desktop (SGD). You
can use either the Oracle VDI Broker or a Windows application object to access desktops.

167
Logging Out of Desktop Sessions

The Oracle VDI Broker is part of the SGD Dynamic Launch feature. The broker uses the web services
application programming interface (API) of the Oracle VDI Client command line tool to authenticate the
user, to obtain a list of desktops for the user, and to start and end the desktop. The SGD RDP client
(ttatsc) is then used to display the desktop. For detailed information on configuring and using the broker,
see Integrating SGD with Oracle VDI in the SGD Administration Guide for your SGD release.

Note

The Oracle VDI Broker replaces the Legacy Oracle VDI Broker that was available
in SGD release 4.6. It is best to use the Oracle VDI Broker because it uses a public
API and does not require SGD and Oracle VDI to be installed on the same host.

Use a Windows application object if you are unable to use the broker. With this access method, the SGD
RDP client (ttatsc) is used to access a desktop in the same way as a regular RDP client, as described in
Section 6.3.1, “Accessing Desktops With an RDP Client”. For detailed information on configuring Windows
application objects, see Windows Applications in the SGD Administration Guide for your SGD release.

6.5. Logging Out of Desktop Sessions


How to end a desktop session varies slightly according which protocol, RDP or VRDP, is used to establish
the session. With either protocol, a user can log out by clicking the X button on the Sun Ray Windows
connector toolbar at the top of the screen. The toolbar is hidden until the mouse pointer is moved to the top
of the screen.

Figure 6.14. The Sun Ray Windows connector Toolbar

The Windows Start menu shows slightly different logout options depending on whether VRDP or MS-RDP
is used, as shown in the following figure.

Figure 6.15. Start Menus

The user can also log out by clicking the Log Off button in the Start menu.

The VRDP Start menu has a Turn Off Computer button, which shuts down the desktop. This option
requires a full boot sequence the next time the user logs in.

The RDP Start menu has a Disconnect button instead. This option logs the user out of Windows and the
Oracle VDI desktop session, but it does not shut down the virtual machine. This option does not require a
full boot sequence the next time the user logs in.

168
Chapter 7. Performance and Tuning

Table of Contents
7.1. Introduction to Oracle VDI Performance and Tuning .................................................................. 169
7.2. Oracle VDI Hosts ..................................................................................................................... 171
7.2.1. Sizing Guidelines for Oracle VDI Servers ....................................................................... 171
7.2.2. Controlling the Number of Sessions on an Oracle VDI Host ............................................. 171
7.3. Virtualization Hosts .................................................................................................................. 171
7.3.1. Sizing Guidelines for Oracle VM VirtualBox Servers ........................................................ 171
7.4. Storage Performance and Tuning ............................................................................................. 172
7.4.1. Sizing Guidelines for Sun ZFS Storage Servers .............................................................. 172
7.4.2. About ZFS Storage Caches ........................................................................................... 174
7.4.3. Managing the ZIL on Oracle Solaris Platforms ................................................................ 175
7.4.4. Oracle VDI Global Settings for Storage .......................................................................... 176
7.4.5. About Block Alignment .................................................................................................. 178
7.5. Networking ............................................................................................................................... 181
7.5.1. Configuring a Dedicated iSCSI Network ......................................................................... 182
7.5.2. Configuring Link Aggregation ......................................................................................... 182
7.5.3. Configuring a VLAN ...................................................................................................... 185
7.6. Virtual Machines ...................................................................................................................... 186
7.6.1. Configuring Desktop Resources Per Pool (Oracle VDI Provider) ...................................... 186
7.6.2. Optimizing Windows 8 Desktop Images .......................................................................... 187
7.6.3. Optimizing Windows 7 Desktop Images .......................................................................... 190
7.6.4. Optimizing Windows XP Desktop Images ....................................................................... 193
7.6.5. Optimizing Desktop Images for Other Operating Systems ................................................ 197

7.1. Introduction to Oracle VDI Performance and Tuning


The following diagram shows a typical hardware environment for an Oracle VDI deployment.

169
Introduction to Oracle VDI Performance and Tuning

Figure 7.1. Typical Hardware Environment for the Oracle VM VirtualBox Virtualization Platform

A production deployment consists of one primary Oracle VDI host and at least one secondary Oracle VDI
host to provide redundancy. The Oracle VDI servers host the embedded MySQL Server database for the
Oracle VDI data, route information between clients and desktops, and provide the broker functionality
which delivers the desktops to the clients. Alternatively, remote databases are also supported. The Oracle
VM VirtualBox servers run the virtual machines, which provide the desktops. The storage servers provide
the virtual disks, which are interpreted as physical disks by the operating systems running within the virtual
machines. The iSCSI protocol is used to transfer the disk data between the VirtualBox servers and the
storage. That iSCSI data creates a major part of the total network traffic of an Oracle VDI system.

Other consumers of network bandwidth are the clients of Oracle VDI: Sun Ray Clients, Oracle Secure
Global Desktop, and RDC clients. The clients connect to the VirtualBox servers through the Oracle VDI
servers. In the case of a Sun Ray Client, which uses the ALP protocol to transfer the desktop graphics,
the Oracle VDI servers convert the RDP protocol received by the VirtualBox servers to the ALP protocol.
So, there is one data stream for each client connection between the client, the Oracle VDI server, and the
VirtualBox server. RDP clients such as the Sun Ray Windows connector (uttsc), connect to the Oracle
VDI server which, in turn, uses the RDP Redirect feature to instruct the clients to connect to the VirtualBox
servers directly as there is no need to translate the RDP protocol. In this case, there is a data stream
between the client and the VirtualBox server.

This chapter provides sizing, performance, and tuning guidelines for Oracle VDI deployments. The sizing
information is derived from a sizing test with 1000 desktops running a script to simulate an office workload
of a "heavy worker", as defined in the VMware VDI Server Sizing and Scaling Guide.

The sizing guidelines are provided as a general starting point for sizing and should not be used as a
replacement for your own testing. The workload is different for every installation and relatively small

170
Oracle VDI Hosts

changes in the usage patterns can have noticeable effects on the requirements. For assistance with sizing,
contact Oracle Sales or Support.

7.2. Oracle VDI Hosts


7.2.1. Sizing Guidelines for Oracle VDI Servers
The primary Oracle VDI server requires a dual-core CPU and 2 GB of memory. As long as the Oracle VDI
services are not configured on that server, these hardware requirements do not change with the number of
running desktops.

The secondary Oracle VDI server requirements for the number of cores and memory size varies with the
number of running desktops supported, as well as the required network bandwidth. The bandwidth also
varies with the content displayed. The numbers given below are typical for office work. Displaying videos or
web pages with Flash content can increase the required bandwidth.

• Number of cores = number of running desktops / 20

Example: Two secondary Oracle VDI servers with 8 CPUs and 4 cores per CPU can serve 2 x 8 x 4 x 20
= 1280 running desktops

• Memory size [MB] = number of desktops x 32 MB + 2048 MB

Example: Two secondary Oracle VDI servers with 64 GB of memory can serve (2 x 64 x 1024 MB - 2 x
2048 MB) / 32 MB = 3968 running desktops

• Network bandwidth [Mb/s] = number of running desktops x 0.15 [Mb/s]

Example: Two secondary Oracle VDI servers with one 1 Gb Ethernet interface can serve 2 x 1024 / 0.15
Mb/s = 13653 running desktops

7.2.2. Controlling the Number of Sessions on an Oracle VDI Host


By default, an Oracle VDI host can host 100 sessions. The number of sessions is set when you configure
Oracle VDI. You can change the number of sessions.

The number of sessions has no effect on the distribution of the sessions in an Oracle VDI Center because
the Sun Ray Software load balancer is not aware of this session limit. A session might be assigned to
a host where the session limit is exceeded and the session fails. The session limit you configure should
always be larger than expected maximum session count, in case of a partial outage.

To change the number of sessions on a configured Oracle VDI host, run the following command as root:
# /opt/SUNWkio/bin/kioskuseradm extend -c count

7.3. Virtualization Hosts


7.3.1. Sizing Guidelines for Oracle VM VirtualBox Servers
The 'VMs/core' unit, while being striking, is a fuzzy statement as the available CPUs today differ by at least
a factor of 2 in performance and that even ignores older CPUs you might want to reuse. Therefore we
decided to also provide the 'SPEC CINT2006 Rate (peak) / VM' value. Statements made based on this unit
are valid for a longer time as they abstract from a concrete CPU, while statements based on 'VMs/core'
hold true for cores showing roughly the same performance only.

171
Storage Performance and Tuning

CINT values for a vast number of CPUs can be looked up from the database of the Standard Performance
Evaluation Corporation (SPEC) at http://www.spec.org/cpu2006/results/rint2006.html or by running the
provided test suite.

The numbers for this section have been updated based on a new test run. We were able to run 100 VMs
on a X4170 with two E5520 CPUs having 4 cores each. The SPEC CINT2006 Rate (peak) for servers with
two E5520 CPUs is ~200 which results in a cint / VM value of 2.

• Number of cores = number of running desktops / 12.5

Example: A server roughly equivalent to a X4170 with two E5520 CPUs can support up to 2 x 4 x 12.5 =
100 running desktops

• Memory size [MB] = number of running desktops x memory size of a desktop x 1.2 + 1024 MB

Example: A server with 64 GB of memory can support 64 x 1024 MB - 1024 MB / (512 MB x 1.2) = 105
running desktops of 512 MB in size

• Network bandwidth [Mb/s] = storage network bandwidth / number of VirtualBox servers

Note

At least 20% of the available CPU power, memory size and network bandwidth
should be available as security margin.

7.4. Storage Performance and Tuning


7.4.1. Sizing Guidelines for Sun ZFS Storage Servers
The recommended disk layout is RAID 10, mirrored sets in a striped set, with ZFS striping the data
automatically between multiple sets. This layout is called "mirrored" by the 7000 series. While this disk
layout uses 50% of the available disk capacity for redundancy, it is faster than RAID 5 for intense small
random read/writes, which is the typical access characteristic for iSCSI.

The storage servers provide the virtual disks that are accessed by Oracle VM VirtualBox through iSCSI.
Because iSCSI is a CPU-intensive protocol the number of cores of the storage server are a decisive
factor for its performance. Other important factors are the memory size (cache), the number of disks, and
the available network bandwidth.

The network bandwidth is very volatile and determined by the relation of desktops starting up (peak
network bandwidth) and desktops that have cached the applications in use (average network bandwidth).
Starting a virtual machine (XP desktop) creates a network load of 150 MB which needs to be satisfied in
around 30 seconds. If many desktops are started at the same time, the requested network bandwidth may
exceed 1 Gb/s if the CPUs of the storage can handle the load created by the iSCSI traffic. This scenario is
typical for shift-work companies. In such a case, set the Pool, Cloning, or Machine State option to Running,
which always keeps the desktops running and therefore decouples the OS boot from the login of a user.
Another option is to trunk several interfaces to provide more than 1 Gb/s bandwidth through one IP. You
can also use Jumbo Frames to speed up iSCSI connections. Jumbo Frames need to be configured for all
participants of the network: storage servers, VirtualBox servers, and switches. Note that Jumbo Frames
are not standardized so there is a risk of incompatibilities.

Oracle VDI, in combination with VirtualBox, uses the Sparse Volume feature of ZFS, which enables it to
allocate more disk space for volumes than is physically available as long as the actual data written does
not exceed the capacity of the storage. This feature, in combination with the fact that cloned desktops
reuse unchanged data of their templates, results in a very effective usage of the available disk space.
Therefore, the calculation for disk space below is a worst-case scenario assuming that all volumes are
completely used by data which differs from the template.

172
Sizing Guidelines for Sun ZFS Storage Servers

• Number of disks = number of users * user IOPS * (read ratio * read penalty + write ratio * write
penalty) / disk IOPS

See Calculating the Number of Disks for an explanation of this formula and an example.

• Number of cores = number of virtual disks in use / 200

Example: A x7210 storage with 2 CPUs and 4 cores per CPU can serve up to 2 * 4 * 200 = 1600 virtual
disks

• Memory size - The more the better. The free memory can be used as a disk cache, which reduces the
access time.

• Average Network bandwidth [Mb/s] = number of virtual disks in use * 0.032 Mb/s

Example: An x7210 storage with one Gigabit Ethernet interface can serve up to 1000 / 0.032 = 31250
virtual disks

• Peak Network bandwidth [Mb/s] = number of virtual disks in use * 40 Mb/s

Example: An x7210 storage with one Gigabit Ethernet interface can serve up to 1000 / 40 = 25 virtual
disks

• Disk space [GB] = number of desktops * size of the virtual disk [GB]

Example: An x7210 storage with a capacity of 46 TB can support 46 * 1024 GB / 2 / 8 GB = 2944 8 GB


disks in a RAID 10 configuration

Note

For details about how to improve desktop performance, see the sections on
optimizing desktop images Section 5.3, “Creating Desktop Images”.

Calculating the Number of Disks


The calculation for the number of disks depends on several factors, as follows:

• Disk IOPS: The capability of the disks in terms of physical input/output operations per second (IOPS).

The following table shows the typical disk IOPS for various disk speeds (in revolutions per minute or
RPM) or disk types.

Disk RPM or Type Disk IOPS


SSD 10,000
15,000 175
10,000 125
7,200 75
5,400 50

• User IOPS: The input/output operations per second generated by users when they use applications in
their desktops.

The user IOPS value depends largely on the applications used and how they are used. The following
table shows some sample IOPS based on long-time averages for different user types and Windows
platforms.

173
About ZFS Storage Caches

Windows User Type User IOPS


Windows 7 task worker 7
Windows 7 knowledge user 15
Windows 7 power user 25
Windows XP task worker 5
Windows XP knowledge user 10
Windows XP power user 20

• Disk read:write IOPS ratio: This depends on the cache available to both the operating system of the
desktop and, most importantly, the storage.

For Sun ZFS storage, the more Adaptive Replacement Cache (ARC) and Second Level Adaptive
Replacement Cache (L2ARC) that is available, the fewer read IOPS are performed, and this enables
more write IOPS. You can optimize the storage head movements if you decrease the read IOPS. Write
IOPS are cached and written in bursts to optimize the head movements, but read requests can disrupt
this optimization. Typical read:write ratios range from 40:60 to 20:80, or even less.

• Read and Write Penalty: The selected RAID configuration of the storage has a read and write penalty, as
shown in the following table.

RAID Type Read Penalty Write Penalty


RAID0 1 1
RAID1 1 2
RAID10 1 2
RAID5 1 4
RAID6 1 6

Example 7.1. Example Calculation

The number of disks are needed for 1000 Windows XP task workers using 10,000 RPM disks with a 20:80
read:write ratio in a RAID10 array is:

1000 * 5 * (0.2 * 1 + 0.8 * 2) / 125 = 72

7.4.2. About ZFS Storage Caches


This section provides a brief overview of the cache structure and performance of ZFS, and how it maps to
the hardware of a Sun ZFS Storage Appliance.

Background
The Zettabyte File System (ZFS) is the underlying file system on the supported Sun ZFS storage platforms.

The Adaptive Replacement Cache (ARC) is the ZFS read cache in the main memory (DRAM).

The Second Level Adaptive Replacement Cache (L2ARC) is used to store read cache data outside of
the main memory. Sun ZFS Storage Appliances use read-optimized SSDs (known as Readzillas) for the
L2ARC. SSDs are slower than DRAM but still much faster then hard disks. The L2ARC allows for a very
large cache which improves the read performance.

The ZFS Intent Log (ZIL) satisfies the POSIX requirements for synchronous writes and crash recovery.
It is not used for asynchronous writes. The ZFS system calls are logged by the ZIL and contain sufficient

174
Managing the ZIL on Oracle Solaris Platforms

information to play them back in the event of a system crash. Sun ZFS Storage Appliances use write-
optimized SSDs (known as Writezillas or Logzillas) for the ZIL. If Logzillas are not available the hard disks
are used.

The write cache is used to store data in volatile (not battery-backed) DRAM for faster writes. There are no
system calls logged in the ZIL if the write cache is enabled on a Sun ZFS Storage Appliance.

Performance Considerations
Size the read cache to store as much data in it to improve performance. Maximize the ARC first (DRAM),
then add L2ARC (Readzillas).

Oracle VDI enables the write cache by default for every iSCSI volume used by Oracle VDI. This
configuration is very fast and does not make use of Logzillas, as the ZIL is not used. Without ZIL, data
might be at risk if a Sun ZFS Storage Appliance reboots or experiences a power loss while desktops are
active. However, it does not cause corruption in ZFS itself.

Disable the write cache in Oracle VDI to minimize the risk of data loss. Without Logzillas the ZIL is backed
by the available hard disks and performance suffers noticeably. Use Logzillas to speed up the ZIL. In case
you have two or four Logzillas use the 'striped' profile to further improve performance.

To switch off the in-memory write cache, select a storage in Oracle VDI Manager, click Edit to open the
Edit Storage wizard and unselect the Cache check box. The change will be applied to newly created
desktops for Oracle VM VirtualBoxs and to newly started desktops for Microsoft Hyper-V virtualization
platforms.

7.4.3. Managing the ZIL on Oracle Solaris Platforms


On Oracle Solaris 10 10/09 (and later) storage platforms, you can increase performance on the storage by
disabling the ZFS Intent Log (ZIL). However, it is important to understand that the performance gains are at
the expense of synchronous disk I/O and data integrity in the event of a storage failure.

Managing the ZIL - Oracle Solaris 10 9/10 (Update 9) and Earlier


On Oracle Solaris 10 9/10 (Update 9) platforms and earlier, you can disable the ZIL temporarily or
permanently.

If you disable the ZIL temporarily, the ZIL is re-enabled when the system is rebooted. If you disable the
ZIL permanently, it remains disabled after the system is rebooted. When you change the ZIL setting,
the setting is only applied to a ZFS pool when it is mounted. If the ZIL is disabled, the ZFS pool must be
created, or mounted, or imported, after the setting is changed.

If you disable the ZIL setting permanently, the ZIL is disabled for all ZFS pools following a reboot. This can
cause undesirable behavior if the system's root volume is a ZFS volume because there is no synchronous
disk I/O. In this situation, it is best practice to use a storage host with at least two disks. Format the first
disk using the UFS file system, and use that disk for the operating system. Format the other disks using
ZFS, and use those disks as the ZFS storage. In this way, ZIL can be disabled without affecting the
performance of the operating system.

To disable the ZIL temporarily, run the following command as superuser (root):
# echo zil_disable/W0t1 | mdb -kw

To re-enable a temporarily-disabled ZIL, run the following command as superuser (root):


# echo zil_disable/W0t0 | mdb -kw

To disable the ZIL permanently, edit the /etc/system as superuser (root) and add the following line.

175
Oracle VDI Global Settings for Storage

set zfs:zil_disable=1

Managing the ZIL - Oracle Solaris 10 8/11 (Update 10) and Later
Starting with Oracle Solaris 10 8/11 (Update 10), the steps for disabling the ZIL changed. The ZIL is
configured as a ZFS property on a dataset. This means different ZFS datasets can have different ZIL
settings and so you can disable the ZIL for a storage pool without affecting the ZFS volume of the
operating system.

To disable the ZIL, run the following command as superuser (root):


# zfs set sync=disabled dataset

The change takes effect immediately and the ZIL remains disabled on reboot.

To re-enable the ZIL, run the following command as superuser (root):


# zfs set sync=standard dataset

7.4.4. Oracle VDI Global Settings for Storage


This section provides information about the Oracle VDI global settings that apply to storage. Use the vda
settings-getprops and vda settings-setprops commands to list and edit these settings.

Table 7.1. Storage Tuning Properties

Global Setting Description


storage.max.commands The number of commands executed on a storage in
parallel.

The default is 10.

Changing this setting requires a restart of the Oracle VDI


service.

The setting is global for an Oracle VDI installation and


applies to a physical storage determined by its IP or DNS
name.

The number of Oracle VDI hosts does not influence the


maximum number of parallel storage actions executed by
Oracle VDI on a physical storage. Reduce the number in
case of intermittent "unresponsive storage" messages to
reduce the storage load. Doing so impacts cloning and
recycling performance.

This setting works even if the Oracle VDI Center Agent is


no longer running on the host.

This setting applies only to Sun ZFS storage used with


Oracle VM VirtualBox (on Oracle Solaris) and Microsoft
Hyper-V desktop providers.
storage.query.size.interval The time in seconds the Oracle VDI service queries the
storage for its total and available disk space.

The default is 180 seconds.

176
Oracle VDI Global Settings for Storage

Global Setting Description


As there is only one Oracle VDI host which does this,
there is typically no need to change this setting.

This setting applies to all storage types.


storage.watchdog.interval The time in seconds the Oracle VDI service queries the
storage for its availability.

The default is 30 seconds.

As there is only one Oracle VDI host which does this,


there is typically no need to change this setting.

This setting applies to all storage types.


storage.fast.command.duration The time in seconds after which the Oracle VDI service
considers a fast storage command to have failed.

The default is 75 seconds.

Changing this setting requires a restart of the Oracle VDI


service.

The only Oracle VDI functionality which uses this


command duration is the storage watchdog which
periodically pings the storage for its availability.

This setting applies only to Sun ZFS storage used with


Oracle VM VirtualBox (on Oracle Solaris) and Microsoft
Hyper-V desktop providers.
storage.medium.command.duration The time in seconds after which the Oracle VDI service
considers a medium storage command to have failed.

The default is 1800 seconds (30 minutes).

Changing this setting requires a restart of the Oracle VDI


service.

The majority of the storage commands used by Oracle


VDI use this command duration.

This setting applies only to Sun ZFS storage used with


Oracle VM VirtualBox (on Oracle Solaris) and Microsoft
Hyper-V desktop providers.
storage.slow.command.duration The time in seconds after which the Oracle VDI service
considers a slow storage command to have failed.

The default is 10800 seconds (3 hours).

Changing this setting requires a restart of the Oracle VDI


service.

Only a few complex storage scripts used by Oracle VDI


use this command duration. Such scripts are not run very
often, typically once per day.

177
About Block Alignment

Global Setting Description


This setting applies only to Sun ZFS storage used with
Oracle VM VirtualBox (on Oracle Solaris) and Microsoft
Hyper-V desktop providers.

The storage.max.commands setting is the setting that is most often changed. By default, Sun ZFS
Storage Appliances can only execute four commands in parallel, and the remaining commands are
queued. To achieve better performance, Oracle VDI VDI intentionally overcommits the storage queue.
If your storage becomes slow, for example because of a heavy load, it can take too long for queued
commands to be executed, and if the commands take longer than the duration specified in the duration
settings, the storage might be marked incorrectly as unresponsive. If this happens regularly, you can
decrease the value of the storage.max.commands setting, but this might result in a decrease in
performance when the storage is not so busy.

The interval settings rarely need to be changed because the commands are performed only by the primary
host in an Oracle VDI Center. Decreasing the value of these settings results in more up-to-date information
about the storage disk space and a quicker detection of unresponsive storage hosts, but also increases the
load on the storage hosts. It is best to keep these settings at their defaults.

The duration settings include a good safety margin. Only change the duration settings if the storage is not
able to execute the commands in the allotted time.

7.4.5. About Block Alignment


Classic hard disks have a block size of 512 bytes. Depending on the guest operating system of the virtual
machine, one logical block of the guest file system can use two blocks on the storage. This is known
as block misalignment. Figure 7.2 shows an example. It is best to avoid block misalignment because it
doubles the IO on the storage to access a block of the guest OS file system (assuming a complete random
access pattern and no caching).
Figure 7.2. Examples of Misaligned and Aligned Blocks with Sun ZFS Storage

By default, Windows XP does not correctly align partitions and the blocks are misaligned. Usually Windows
7 and later versions do align partitions correctly and the blocks are aligned.

Checking the Block Alignment


Typically a single partition on a disk starts at disk sector 63. To check the alignment of a Windows partition,
use the following command:

178
About Block Alignment

wmic partition get StartingOffset, Name, Index

The following is an example of the output from this command:


Index Name StartingOffset
0 Disk #0, Partition #0 32256

To find the starting sector, divide the StartingOffset value by 512 (the block size of the hard disk):

32256 ÷ 512 = 63

An NTFS cluster is typically 4 kilobytes in size. So the first NTFS cluster starts at disk sector 63 and ends
at disk sector 70.

Storage types that use the Zettabyte File System (ZFS) file system have a default block size of 8 kilobytes.
So on the storage, the fourth ZFS block maps to disk sectors 48 to 63, and the fifth ZFS block sector maps
to disk sectors 64 to 79.

Storage types that use that use the Oracle Cluster File System version 2 (OCFS2) have a default block
size of 4 kilobytes. So on the storage, the eighth OCFS2 block maps to disk sectors 56 to 63, and the ninth
OCFS2 block sector maps to disk sectors 64 to 73.

A misalignment occurs on both storage types because more than one block on the storage must be
accessed to access the first NTFS cluster, as shown in Figure 7.2.

For a correct block alignment, the StartingOffset value must be exactly divisible by either 8192 or 4096,
depending on the block size used by the file system on the storage.

In the following example, the blocks are misaligned:


wmic partition get StartingOffset, Name, Index
Index Name StartingOffset
0 Disk #0, Partition #0 32256

32556 ÷ 8192 = 3.97412109

32556 ÷ 4096 = 7.94824219

In the following example, the blocks are aligned:


wmic partition get StartingOffset, Name, Index
Index Name StartingOffset
0 Disk #0, Partition #0 32768

32768 ÷ 8192 = 4

32768 ÷ 4096 = 8

Correcting Block Alignment


On Windows 2003 SP1 and later, the diskpart.exe utility has an Align option to specify the block
alignment of partitions. For Windows XP, use a third-party disk partitioning tool such as parted to create
partitions with a defined start sector, see the example that follows. For other operating systems, refer to
your system documentation for details of how to align partitions.

Example of How to Prepare a Disk for Windows XP with Correct Block Alignment
In this example, the disk utilities on a bootable live Linux system, such as Knoppix, are used to create a
disk partition with the blocks aligned correctly.

1. Create a new virtual machine.

179
About Block Alignment

2. Assign the ISO image of the live Linux system to the CD/DVD-ROM drive of the virtual machine.

3. Boot the virtual machine.

4. Open a command shell and become root.

5. Obtain the total number of sectors of the disk.

Use the fdisk -ul command to obtain information about the disk.

In the following example, the disk has 20971520 sectors:

# fdisk -ul
Disk /dev/sda doesn't contain a valid partition table

Disk /dev/sda: 10.7 GB, 10737418240 bytes


255 heads, 63 sectors/track, 1305 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

6. Create an MS-DOS partition table on the disk.

Use the parted disk mklabel msdos command to create the partition table.

In the following example, a partition table is created on the /dev/sda disk:

# parted /dev/sda mklabel msdos

7. Create a new partition, specifying the start and end sectors of the partition.

Use the parted disk mkpartfs primary fat32 64s end-sectors command to create the
partition. The end-sector is the total number of sectors of the disk minus one. For example, if the
disk has 20971520 sectors, the end-sector is 20971519.

Depending on the version of parted used, you might see a warning that the partition is not properly
aligned for best performance. You can safely ignore this warning.

In the following example, a partition is created on the /dev/sda disk:

# parted /dev/sda mkpartfs primary fat32 64s 20971519s

8. Check that the partition is created.

Use the parted disk print command to check the partition.

In the following example, the /dev/sda disk is checked for partitions:

# parted /dev/sda print


Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sda: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system Flags


1 32.8kB 10.7GB 10.7GB primary fat32 lba

9. Shut down the virtual machine and unassign the ISO image.

10. Assign the Windows XP installation ISO image to the CD/DVD-ROM drive of the virtual machine.
180
Networking

11. Boot the virtual machine and install Windows XP.

12. When prompted, select the newly created partition.

13. (Optional) When prompted, change the file system from FAT32 to NTFS.

14. Complete the installation.

15. Log in to the Windows XP guest as an administrator.

16. Check that the StartingOffset is 32768.


wmic partition get StartingOffset, Name, Index
Index Name StartingOffset
0 Disk #0, Partition #0 32768

7.5. Networking
The following is a list of the types of network traffic created by Oracle VDI. The list is ordered by bandwidth
requirements, with highest bandwidth requirement listed first:

1. iSCSI traffic between VirtualBox and Microsoft Hyper-V virtualization hosts and storage hosts

2. RDP traffic between Oracle VDI hosts and virtualization hosts

3. ALP traffic between Sun Ray Clients and Oracle VDI hosts

4. RDP traffic between the RDP clients and Oracle VDI hosts or virtualization hosts

5. Database replication traffic between the master and slave database hosts in an Oracle VDI Center, or
between the primary Oracle VDI host and the external database, if an external database is used

6. SSH and HTTPS traffic between Oracle VDI hosts and storage hosts, or between Oracle VDI hosts and
virtualization hosts

By default the SSH traffic used for storage management and the iSCSI traffic used for virtual disks
use the same network interface. For reasons such as security considerations, routing requirements, or
traffic shaping, you might want to configure the iSCSI traffic to use a separate network interface. See
Section 7.5.1, “Configuring a Dedicated iSCSI Network”.

It is best practice to use link aggregation (also known as trunking or link bonding) for virtualization hosts
and storage hosts. This results in a balanced use of the physical network interfaces, a better network
throughput, as well as in the ability to keep an aggregated interface active if a physical interface goes
down. To use link aggregation, you need a switch that supports the Link Aggregation Control Protocol
(LACP). See Section 7.5.2, “Configuring Link Aggregation”

VLANs provide a way to tag and isolate network traffic and can improve performance and security. See
Section 7.5.3, “Configuring a VLAN” .

Link aggregation and VLANs can be used independently or together by tagging an aggregated link with a
VLAN ID.

For Sun Ray Clients, see the following sections in the Sun Ray Software Administration Guide for details of
how to improve network performance:

• Network Troubleshooting

• Performance Tuning

181
Configuring a Dedicated iSCSI Network

7.5.1. Configuring a Dedicated iSCSI Network


You can use a dedicated iSCSI network to separate the storage management traffic from the iSCSI traffic
used for virtual disks.

The dedicated iSCSI network interface must be configured before the first virtual disk is created on the
storage host.

Oracle VDI Manager Steps


1. In Oracle VDI Manager, go to Desktop Providers.

2. Select a desktop provider.

3. Go to the Storage tab.

4. Select a storage host and click Edit.

The Edit Storage wizard is displayed.

5. Complete the steps of the Edit Storage wizard until you reach the Select ZFS Pool step.

6. On the Select ZFS Pool step, select a different network from the iSCSI Interface list.

7. Click Finish.

Command Line Steps


• Edit the network address interface to use for ISCSI.

/opt/SUNWvda/sbin/vda provider-storage-setprops -s storage-host -p \


iscsi-interface=interface-ip-address provider-name

For example:

/opt/SUNWvda/sbin/vda provider-storage-setprops -s storage1.example.com -p \


iscsi-interface=192.168.50.1 vbox1.example.com

7.5.2. Configuring Link Aggregation


Link aggregation (also known as trunking or link bonding) is a mechanism for combining one or more
network interfaces to provide better throughput and failover capabilities. To use link aggregation, you need
a switch that supports the Link Aggregation Control Protocol (LACP). The following provides separate
configuration examples for Oracle Solaris and Oracle Linux platforms.

Steps for Oracle Solaris Platforms


In the following steps, you aggregate devices e1000g0 and e1000g1. You can list the available devices on
your system using the dladm command:

# dladm show-dev
e1000g0 link: up speed: 1000 Mbps duplex: full
e1000g1 link: up speed: 1000 Mbps duplex: full
e1000g2 link: down speed: 0 Mbps duplex: half
e1000g3 link: down speed: 0 Mbps duplex: half

Interfaces e1000g0 and e1000g1 are connected to ports 0 and 1 respectively on the switch.

182
Configuring Link Aggregation

For further information about link aggregation, refer to the documentation for your Oracle Solaris release.

1. Identify the switch ports that each network interface in the aggregation uses.

In this example, ports 0 and 1 are used.

2. Configure the switch to use aggregation (LACP) on ports 0 and 1.

Consult the switch's documentation for instructions on how to do this.

3. Create the aggregation.

Consult the dladm man page for more information on the parameters below. The policy (-P L3) must
match the policy you configured for the switch ports. The last parameter, '1', indicates the aggregation
key.
# dladm create-aggr -P L3 -l active -T short -d e1000g0 -d e1000g1 1

You can view the aggregated device with dladm show-link and dladm show-aggr.
# dladm show-link
e1000g0 type: non-vlan mtu: 1500 device: e1000g0
e1000g1 type: non-vlan mtu: 1500 device: e1000g1
e1000g2 type: non-vlan mtu: 1500 device: e1000g2
e1000g3 type: non-vlan mtu: 1500 device: e1000g3
aggr1 type: non-vlan mtu: 1500 aggregation: key 1
#
# dladm show-aggr
key: 1 (0x0001) policy: L3 address: 0:14:4f:40:d2:4a (auto)
device address speed duplex link state
e1000g0 0:14:4f:40:d2:4a 0 Mbps half down standby
e1000g1 80:9c:4c:0:80:fe 0 Mbps half down standby

4. To make the device persistent, create a hostname file with the IP address assigned to the device, and
reboot.
# echo "192.168.1.101" > /etc/hostname.aggr1
# reboot -- -r

5. After the system is rebooted, verify that the device is plumbed and available.
# ifconfig -a

6. If this is an existing Oracle VM VirtualBox host, refresh the networks in Oracle VDI Manager.

Navigate to the Oracle VM VirtualBox desktop provider's Network tab and click Refresh.

If you have more than one network or subnet, ensure that the correct network is selected in the
Settings tab for each pool.

Steps for Oracle Linux Platforms


In the following steps, you aggregate devices eth1 and eth2.

You can list the available devices on your system using the ifconfig command.

For further information about link aggregation, refer to the documentation for your Oracle Linux release.

Interfaces eth1 and eth2 are connected to ports 1 and 2 respectively on the switch.

1. Identify the switch ports that each network interface in the aggregation uses.

183
Configuring Link Aggregation

In this example, ports 1 and 2 are used.

2. Configure the switch to use aggregation (LACP) on ports 1 and 2.

Consult the switch's documentation for instructions on how to do this.

3. Create the aggregation.

Create a file ifcfg-bond0 in /etc/sysconfig/network-scripts with the following content:


DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
IPADDR=aggregation-IP
NETMASK=aggregation-netmask
GATEWAY=aggregation-gateway

4. Configure the eth1 and eth2 interfaces to use the aggregation.

Edit the ifcfg-eth1 configuration file so that it contains only the following lines:
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes

Edit the ifcfg-eth2 configuration file so that it contains only the following lines:
DEVICE=eth2
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes

In the interface configuration file, you can just comment out lines that are not needed.

5. Set up the kernel module parameters for the aggregation.

Add the following lines to /etc/modprobe.conf:


alias bond0 bonding
options bond0 miimon=100 mode=balance-rr

This sets the balancing mode to round robin and checks the card every 100 milliseconds. For other
options, refer to /usr/share/doc/iputils-20020927/README.bonding.

6. Restart the host.

7. Use the ifconfig command to check that the bond0 interface is listed.

8. Check the bonding status.


cat /proc/net/bonding/bond0

9. If this is an existing Oracle VM VirtualBox host, refresh the networks in Oracle VDI Manager.

Navigate to the Oracle VM VirtualBox provider's Network tab and click Refresh.

If you have more than one network or subnet, ensure that the correct network is selected in the
Settings tab for each pool.

184
Configuring a VLAN

7.5.3. Configuring a VLAN


VLANs provide a way to tag and isolate network traffic and can improve performance and security. Either a
physical network interface or a link aggregation can be tagged with a VLAN ID.

Steps for Oracle Solaris Platforms


Oracle Solaris currently supports the following interface types for VLANs: ce, bge, xge, e1000g.

For further information, refer to the documentation for your Oracle Solaris release.

1. Configure the switch ports used by the interfaces in the machine for the corresponding VLAN IDs
(VIDs).

Consult your switch documentation for instructions on how to do this.

2. Calculate the physical point of attachment (PPA).

Each VLAN interface has a physical point of attachment (PPA) which needs to be calculated using the
following formula: driver-name + VID * 1000 + device-instance.

To calculate the PPA for e1000g0:


driver-name = e1000g
VID = 123
device-instance = 0

e1000g + 123 * 1000 + 0 = e1000g123000

To calculate the PPA for aggr1:


driver-name = aggr
VID = 123
device-instance = 1

aggr + 123 * 1000 + 1 = aggr123001

3. With the PPA at hand, plumb the interface.


# ifconfig e1000g123000 plumb 192.168.1.101 up

4. Make the changes persistent.


# echo "192.168.1.101" > /etc/hostname.e1000g123000
# ifconfig -a

5. If this is an existing Oracle VM VirtualBox host, refresh the networks in Oracle VDI Manager.

Navigate to theOracle VM VirtualBox desktop provider's Network tab and click Refresh.

If you have more than one network/subnet ensure that the correct network is selected in the Settings
tab for each pool.

Steps for Oracle Linux Platforms


In the following example VLAN ID (VID) 3 is used with the physical interface eth0.

1. Configure the switch ports used by the interfaces in the machine for the corresponding VIDs.

Consult your switch documentation for instructions on doing this.

185
Virtual Machines

2. Create the new VLAN interface.


DEVICE=eth0.3
BOOTPROTO=static
ONBOOT=yes
IPADDR=VLAN-IP
NETMASK=VLAN-netmask
VLAN=yes

3. Bring up the new interface.


# ifup eth0.3

4. Use the ifconfig command to check that the eth0.3 interface is listed.

5. If this is an existing Oracle VM VirtualBox host, refresh the networks in Oracle VDI Manager.

Navigate to the Oracle VM VirtualBox desktop provider's Network tab and click Refresh.

If you have more than one network/subnet ensure that the correct network is selected in the Settings
tab for each pool.

7.6. Virtual Machines


7.6.1. Configuring Desktop Resources Per Pool (Oracle VDI Provider)
With Oracle VDI, you can configure Desktop Resource settings for all desktops within a specific pool. The
settings only apply to pools that use an Oracle VM VirtualBox desktop provider.

Oracle VDI Manager Steps


1. In Oracle VDI Manager, go to Pools.

2. Select a pool.

3. Go to the Settings tab.

4. In the Desktop Resources section, configure the resource settings.

See Section 7.6.1.1, “Available Desktop Resource Settings” for details of the available settings.

5. Click Save.

Command Line Steps


1. Configure the Desktop Resource settings.

See Section 7.6.1.1, “Available Desktop Resource Settings” for details of the available settings.
# /opt/SUNWvda/sbin/vda pool-setprops -p prop1=value1,prop2=value2 pool-name

In the following example, the CPU usage is set to 70% for the pool named MyPool.
# /opt/SUNWvda/sbin/vda pool-setprops -p cpu-cap=70 MyPool

2. Check the Desktop Resource settings.


# /opt/SUNWvda/sbin/vda pool-getprops -p cpu-cap pool-name
CPU Execution Cap: 70

186
Optimizing Windows 8 Desktop Images

7.6.1.1. Available Desktop Resource Settings


The following table lists the Desktop Resource settings available to pools that use an Oracle VM VirtualBox
desktop provider. The settings apply to all desktops in the pool.
Table 7.2. Properties for Tuning Desktop Resources
Setting Property Description Default
CPU Usage cpu-cap Controls how much CPU time a virtual CPU can use, expressed 100
as a percentage.

A value of 50 means a single Virtual CPU can use up to 50% of


a single host CPU.
Memory Sharing memory- Controls the amount of memory shared between desktops, 0
sharing expressed as a percentage between 0 and 75.

For more information, see Section 4.1.1, “About Oracle VM


VirtualBox”.
Memory Paging memory- Controls whether or not memory paging is used for similar Disabled
paging running virtual machines.

For more information, see Section 4.1.1, “About Oracle VM


VirtualBox”.
Asynchronous async-io Enables or disables asynchronous disk I/O. Enabled
Disk I/O
This feature is not supported by IDE controllers.
Limited Data Enabled if Enable or disable the ability to limit bandwidth. Disabled
Rate Maximum Data
Rate is set
Maximum Data bandwidth- Limit the maximum bandwidth used for asynchronous I/O, 50
Rate ctl expressed as megabytes per second (MB/s).

The Limited Data Rate setting must be enabled

7.6.2. Optimizing Windows 8 Desktop Images


Block Alignment
The alignment of the blocks on the virtual disk can have a significant impact on the performance of the
storage. See Section 7.4.5, “About Block Alignment” for details of how to correct the block alignment.

Cloning Preparation for Oracle VM VirtualBox and Microsoft Hyper-V


Oracle VDI Fast Preparation (FastPrep) and Windows System Preparation (Sysprep) enable the cloning
of Windows desktops by Oracle VDI. Oracle VDI FastPrep can be configured within a pool without any
desktop preparation.

Before enabling Windows System Preparation for a pool that uses Microsoft Hyper-V as the desktop
provider, install the Oracle VDI Tools on the template. The System Preparation action in the Template
tab will not work if you do not have the tools (vda-tools-x86.msifor 32-bit platforms or vda-tools-
x64.msi for 64-bit platforms) installed in your template.

Appearance and Personalization


1. Go to the Personalization menu.

187
Optimizing Windows 8 Desktop Images

Right-click on the desktop and select Personalize.

Or, right-click in the bottom area of the Start screen, then click All Apps. Under Windows System, click
Control Panel. In Control Panel, click Appearance and Personalization, then Personalization.

2. Set a plain desktop background.

a. Select Desktop Background from the Personalization menu.

b. Select Solid Colors in the Picture Location menu.

3. Configure the screen saver.

If you want to use the Oracle VM VirtualBox Auto-Logon feature, disable the screen saver. Otherwise,
set a blank screen saver with password protect on resume.

a. Select Screen Saver from the Personalization menu.

b. Either set the screen saver to [None] to disable it, or set the screen saver to Blank and select On
resume, display logon screen.

4. Disable Windows sounds.

a. Select Sounds from the Personalization menu.

b. On the Sounds tab, select No Sounds under Sound Scheme.

5. (VRDP Only) Change mouse pointers.

a. Select Change mouse pointers from the left sidebar of the Personalization menu.

b. In the Scheme menu, select Windows Black (system scheme).

6. Save your settings as a Theme.

a. Select Save theme from the Personalization menu.

b. Choose a name for the theme.

System and Security


1. Go to the System and Security menu.

Right-click in the bottom area of the Start screen, then click All Apps. Under Windows System, click
Control Panel. In the Control Panel, clickSystem and Security.

2. Optimize visual effects performance.

a. Select System from the System and Security menu.

b. Select Advanced system settings in the left sidebar. Then select Settings under the
Performance heading on the Advanced tab.

c. On the Visual Effects tab, choose Adjust for best performance.

For a less drastic option, select Let Windows choose what's best for my computer.

3. Install Windows updates.

188
Optimizing Windows 8 Desktop Images

a. Select Windows Update from the System and Security menu.

b. Select Check for updates, then Install updates.

4. (VMware vCenter Only) Configure power management in the Virtual Infrastructure Client.

a. Open the Virtual Infrastructure Client.

b. Right-click on the desired virtual machine and go to Edit Settings.

c. Go to Options, then Power Management, and select Suspend the Virtual Machine.

5. Run defragmentation and turn off scheduled defragmentation.

a. Select Defragment and optimize your drives under the Administrative Tools heading, on the
System and Security menu.

b. If under Scheduled optimization you see Scheduled defragmentation is turned on, select
Configure Schedule. Ensure the Run on a schedule box is not checked.

c. Then choose a disk and select Optimize.

6. Disable unwanted services.

a. Select Administrative Tools from the System and Security menu.

b. Double-click Services.

As a minimum, disable the Windows Search Service, the SuperFetch Service, and the Disk
Defragmenter Service.

c. Right click on the service name and select Properties.

d. Choose Disabled for the Startup type.

e. Stop service by right clicking on it and selecting Stop.

7. Disable scheduled virus scanners.

a. Select Schedule tasks under the Administrative Tools heading, on the System and Security
menu.

b. In the left sidebar, open the Task Scheduler Library and navigate your virus scanner's folder.

c. In the right sidebar, select Disable.

d. Disable any other unwanted tasks.

Other Optimizations
• Choose which programs start when Windows starts.

1. Right-click in the bottom area of the Start screen, then click All Apps. Under Windows System, click
Task Manager.

2. Select the Startup tab.

3. Disable any programs that you do not want Windows to run at startup.

189
Optimizing Windows 7 Desktop Images

• Reduce recycle bin drive space usage.

1. By default, the Recycle Bin is located on the Desktop. Right-click on it, then select Properties.

2. On the General tab, select Custom size, and enter the desired value.

• Run Disk Cleanup.

1. Launch Windows Explorer, then expand Computer.

2. Right click on Local Disk (C:) and select Properties.

3. Click Disk Cleanup on the General tab.

7.6.3. Optimizing Windows 7 Desktop Images


Block Alignment
The alignment of the blocks on the virtual disk can have a significant impact on the performance of the
storage. See Section 7.4.5, “About Block Alignment” for details of how to correct the block alignment.

Cloning Preparation for Oracle VM VirtualBox and Microsoft Hyper-V


Oracle VDI Fast Preparation (FastPrep) and Windows System Preparation (Sysprep) enable the cloning
of Windows desktops by Oracle VDI. Oracle VDI FastPrep can be configured within a pool without any
desktop preparation. Before enabling Windows System Preparation for a pool, the desktop must be
prepared using the steps below.

1. Disable the Windows Media Player Network Sharing Service.

Due to a bug in Windows 7, the Windows Media Player Network Sharing Service causes the Windows
Sysprep tool to hang. If you do not need this service enabled in your Windows 7 desktops and you
intend to run System Preparation from Oracle VDI Manager, stop and disable it. If you prefer to leave
this service enabled, run Sysprep manually from within the template before importing it.

• For details about disabling Windows services, see "Security and Services" in Section 7.6.3,
“Optimizing Windows 7 Desktop Images”.

• To run Sysprep manually:


sysprep.exe -generalize -oobe -shutdown -quiet

2. (Microsoft Hyper-V Only) Install the Oracle VDI Tools on the template.

The System Preparation action in the Template tab will not work if you do not have the tools (vda-
tools-x86.msifor 32-bit platforms or vda-tools-x64.msi for 64-bit platforms) installed on your
template.

Appearance and Personalization


1. Go to the Personalization menu.

Right-click on the desktop and select Personalize.

Or, select Start, Control Panel, Appearance and Personalization, then Personalization.

2. Set a plain desktop background.

a. Select Desktop Background from the Personalization menu.

190
Optimizing Windows 7 Desktop Images

b. Select Solid Colors in the Picture Location menu.

3. Configure the screen saver.

If you want to use the Oracle VM VirtualBox Auto-Logon feature, disable the screen saver. Otherwise,
set a blank screen saver with password protect on resume.

a. Select Screen Saver from the Personalization menu.

b. Either set the screen saver to [None] to disable it, or set the screen saver to Blank and select On
resume, display logon screen.

4. Disable Windows sounds.

a. Select Sound from the Personalization menu.

b. On the Sounds tab, select No Sounds under Sound Scheme.

5. (VRDP Only) Change mouse pointers.

a. Select Change mouse pointers from the left sidebar of the Personalization menu.

b. In the Scheme menu, select Windows Black (system scheme).

6. Save your settings as a Theme.

a. Select Save theme from the Personalization menu.

b. Choose a name for the theme.

7. Go to the Display menu.

Select Start, Control Panel, Appearance and Personalization, then Display.

8. Ensure hardware acceleration is enabled.

a. Select Change display settings in the left sidebar, then click Advanced Settings.

b. Select the Troubleshoot tab, then Change settings, and ensure that the Hardware acceleration
is set to Full.

System and Security


1. Go to the System and Maintenance menu.

Select Start, Control Panel, then System and Security.

2. Optimize visual effects performance.

a. Select System from the System and Security menu.

b. Select Advanced system settings in the left sidebar. Then select Settings under the
Performance heading on the Advanced tab.

c. On the Visual Effects tab, choose Adjust for best performance.

For a less drastic option, select Let Windows choose what's best for my computer.

3. Install Windows updates.

191
Optimizing Windows 7 Desktop Images

a. Select Windows Update from the System and Security menu.

b. Select Check for updates, then Install updates.

4. (VMware vCenter Only) Configure power management.

a. Configure power management on the guest operating system.

i. Select Power Options from the System and Security menu.

ii. Click Change when the computer sleeps in the left sidebar, and set the desired value.

b. Configure power management in the Virtual Infrastructure Client.

i. Open the Virtual Infrastructure Client.

ii. Right-click on the desired virtual machine and go to Edit Settings.

iii. Go to Options, then Power Management, and select Suspend the Virtual Machine.

5. Run defragmentation and turn off scheduled defragmentation.

a. Select Defragment your hard drive under the Administrative Tools heading, on the System and
Security menu.

b. If under Schedule you see Scheduled defragmentation is turned on, select Configure
Schedule. Ensure the Run on a schedule box is not checked.

c. Then choose a disk and select Defragment disk.

6. Disable unwanted services.

a. Select Administrative Tools from the System and Security menu.

b. Select Services.

As a minimum, disable the Windows Search Service, the SuperFetch Service, and the Disk
Defragmenter Service.

c. Right click on the service name and select Properties.

d. Choose Disabled for the Startup type.

e. Stop service by right clicking on it and selecting Stop.

7. Disable scheduled virus scanners.

a. Select Schedule tasks under the Administrative Tools heading, on the System and Security
menu.

b. In the left sidebar, open the Task Scheduler Library and navigate your virus scanner's folder.

c. In the right sidebar, select Disable.

d. Disable any other unwanted tasks.

192
Optimizing Windows XP Desktop Images

Other Optimizations
• Choose which programs start when Windows starts.

1. Select Start, All Programs, Accessories, then Run.

2. Type 'msconfig' and click OK.

3. Select the Startup tab.

4. Uncheck any programs that you do not want Windows to run at startup.

• Reduce recycle bin drive space usage.

1. By default, the Recycle Bin is located on the Desktop. Right-click on it, then select Properties.

2. On the General tab, select Custom size, and enter the desired value.

• Run Disk Cleanup.

1. Select Start, then Computer.

2. Right click on Local Disk (C\:) and select Properties.

3. Click Disk Cleanup on the General tab.

7.6.4. Optimizing Windows XP Desktop Images


Block Alignment

The alignment of the blocks on the virtual disk can have a significant impact on the performance of the
storage. See Section 7.4.5, “About Block Alignment” for details of how to correct the block alignment.

Cloning Preparation for Oracle VM VirtualBox and Microsoft Hyper-V

Oracle VDI Fast Preparation (FastPrep) and Windows System Preparation (Sysprep) enable cloning
of Windows desktops by Oracle VDI. Oracle VDI FastPrep can be configured within a pool without any
desktop preparation. Before enabling Windows System Preparation for a pool, the desktop must be
prepared using the steps below.

1. (Microsoft Hyper-V Only) Install the Oracle VDI Tools on the template.

The System Preparation action in the Template tab will not work if you do not have the tools (vda-
tools-x86.msi for 32-bit platforms or vda-tools-x64.msi for 64-bit platforms) installed on your
template.

2. Install System Preparation.

a. Log in to the template and download the appropriate Windows XP Deployment Tools for your
version of Windows XP.

• Windows XP Service Pack 2 Deployment Tools: http://www.microsoft.com/downloads/


details.aspx?FamilyId=3E90DC91-AC56-4665-949B-BEDA3080E0F6&displaylang=en

• Windows XP Service Pack 3 Deployment Tools: http://www.microsoft.com/downloads/


details.aspx?FamilyID=673a1019-8e3e-4be0-ac31-70dd21b5afa7&displaylang=en

193
Optimizing Windows XP Desktop Images

b. Create a directory on the virtual machine named C:\Sysprep.

c. Unpack the contents of the Windows XP Deployment Tools (deploy.cab) into the C:\Sysprep
directory.

Appearance and Themes


1. Go to the Display Properties menu.

Right-click on the desktop and select Properties.

Or, select Start, Control Panel, Appearance and Themes, then Change the computer's theme.

2. Set a plain desktop background.

a. Select the Display tab from the Display Properties menu.

b. Under Background, select None.

c. Select Apply.

3. Configure the screen saver.

If you want to use the Oracle VM VirtualBox Auto-Logon feature, disable the screen saver. Otherwise,
set a blank screen saver with password protect on resume.

a. Select Screen Saver from the Display Properties menu.

b. Either set the screen saver to [None] to disable it, or set the screen saver to Blank and select On
resume, display logon screen.

c. Select Apply.

4. Ensure hardware acceleration is enabled.

a. Select the Settings tab from the Display Properties menu.

b. Then select Advanced.

c. On the Troubleshooting tab, ensure that the Hardware acceleration is set to Full.

d. Select Apply.

5. Save your settings as a Theme.

a. Select Themes tab from the Display Properties menu.

b. Under the Theme menu, Modified Theme should be highlighted because display properties have
been changed. If it is not highlighted, it is possible your personalization changes were not saved.

c. Select Save As, and choose a name for the theme.

Performance and Maintenance


1. Go to the Performance and Maintenance menu.

Select Start, Control Panel, then Performance and Maintenance.

194
Optimizing Windows XP Desktop Images

2. Optimize visual effects performance.

a. Select Adjust visual effects from the Performance and Maintenance menu.

b. On the Visual Effects tab, choose Adjust for best performance.

For a less drastic option, select Let Windows choose what's best for my computer.

3. (VMware vCenter Only) Configure power management.

a. Configure power management on the guest operating system.

i. Select Power Options from the Performance and Maintenance menu.

ii. Set the System standby time to the desired value.

b. Configure power management in the Virtual Infrastructure Client.

i. Open the Virtual Infrastructure Client.

ii. Right-click on the desired virtual machine and go to Edit Settings.

iii. Go to Options, then Power Management, and select Suspend the Virtual Machine.

4. Disable scheduled virus scanners.

a. Select Scheduled tasks from the Performance and Maintenance menu.

b. Right-click the virus scanner, and select Properties.

c. Uncheck the Enabled (scheduled task runs at specified time) box.

d. Disable any other unwanted tasks.

5. Disable unwanted services.

a. Select Administrative Tools from the Performance and Maintenance menu.

b. Select Services.

As a minimum, disable the Indexing Service.

c. Right click on the service name and select Properties.

d. Choose Disabled for the Startup type.

e. Stop service by right clicking on it and selecting Stop.

6. Run defragmentation.

a. Select Administrative Tools from the Performance and Maintenance menu.

b. Select Computer Management, then Disk Defragmenter from the left sidebar.

c. Select a disk, then Defragment.

Other Optimizations
• Turn off automatic defragmentation.

195
Optimizing Windows XP Desktop Images

1. Select Start, then Run.

2. Type 'regedit' and click OK.

3. In the registry editor, go to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg.

4. Select BootOptimizeFunction.

5. In the right side of the registry editor, check if Enable already exists. If it does not exist, create it.

• Right click on the right side of the registry editor.

• Select New, then String Value. Name it "Enable".

6. Select Enable, and enter 'N' to turn off automatic disk defragmentation.

• Choose which programs start when Windows starts.

1. Select Start, the Run.

2. Type 'msconfig' and click OK.

3. Select the Startup tab.

4. Uncheck any programs that you do not want Windows to run at startup.

• Disable Windows sounds.

1. Select Start, Control Panel, Sounds, Speech, and Audio Devices, then Change the sound
scheme.

2. On the Sounds tab, select No Sounds under Sound scheme.

3. Select Apply.

• (VRDP Only) Change mouse pointers.

1. Select Start, Control Panel, Printers and Other Hardware, then Mouse.

2. On the Pointers tab, select Windows Black (system scheme) in the Scheme menu.

3. Select Apply.

• Install Windows updates.

1. Select Start, then All Programs.

2. Select Windows Update.

• Reduce recycle bin drive space usage.

1. By default, the Recycle Bin is located on the Desktop. Right-click on it, then select Properties.

2. On the Global tab, select Use one setting for all drives.

3. Move the slider to the desired value.

• Run Disk Cleanup.

196
Optimizing Desktop Images for Other Operating Systems

1. Go to Start, then My Computer.

2. Right click on Local Disk (C\:) and select Properties.

3. On the General tab, click Disk Cleanup.

7.6.5. Optimizing Desktop Images for Other Operating Systems


The following are some basic guidelines for optimizing desktop performance for other operating systems:

• The alignment of the blocks on the virtual disk can have a significant impact on the performance of the
storage. See Section 7.4.5, “About Block Alignment” for details of how to correct the block alignment.

• Do not use desktop wallpaper.

• Do not use scheduled virus scanners.

• Do not use scheduled defragmentation.

• (VRDP Only) Do not use a mouse pointer theme that uses alpha blending.

197
198
Chapter 8. Monitoring and Maintaining Oracle VDI

Table of Contents
8.1. Logging in to Oracle VDI Manager ............................................................................................ 199
8.2. Logging in to the Sun Ray Administration Tool .......................................................................... 200
8.3. Oracle VDI Administrators ........................................................................................................ 200
8.3.1. About Oracle VDI Role-Based Administration ................................................................. 200
8.3.2. Creating Administrators and Assigning Roles .................................................................. 202
8.4. Monitoring Oracle VDI in Oracle Enterprise Manager ................................................................. 204
8.5. Checking Oracle VDI Services and Logs ................................................................................... 205
8.5.1. Checking the Status of the Oracle VDI Center ................................................................ 206
8.5.2. Checking the Status of the Oracle VDI Service ............................................................... 206
8.5.3. Checking the Status of the Oracle VDI Database ............................................................ 207
8.5.4. Checking the Oracle VDI Log Files ................................................................................ 207
8.5.5. Changing Logging for Oracle VDI .................................................................................. 208
8.5.6. Checking the Status of the Oracle VDI RDP Broker ........................................................ 209
8.5.7. Checking the Status of the Oracle VDI Center Agent ...................................................... 209
8.5.8. Checking the Status of Oracle VDI Manager .................................................................. 210
8.5.9. Checking the Status of Cacao and the Oracle VDI Modules ............................................. 210
8.6. Controlling the Oracle VDI Service ........................................................................................... 211
8.7. Backing Up and Restoring the Oracle VDI Database ................................................................. 211
8.7.1. Backing Up the Oracle VDI Database ............................................................................ 212
8.7.2. Restoring the Oracle VDI Database ............................................................................... 212
8.8. About Desktop Provider Alarms ................................................................................................ 213
8.8.1. Reconfiguring an Oracle VM VirtualBox Host .................................................................. 213
8.8.2. Reloading iSCSI or Sun ZFS Storage Configuration on Oracle VM VirtualBox Hosts .......... 215
8.9. Maintenance Mode ................................................................................................................... 215
8.9.1. Oracle VM VirtualBox and Microsoft Hyper-V Host Maintenance ...................................... 215
8.9.2. Storage Maintenance .................................................................................................... 216
8.10. Deleting Orphan Disks ........................................................................................................... 217
8.11. Oracle VDI Centers and Failover ............................................................................................ 218
8.11.1. Identifying Hosts With a Role in an Oracle VDI Center .................................................. 218
8.11.2. Rebooting the Master Database Host Without Causing a Failover .................................. 219
8.11.3. Changing the Master Database Host ............................................................................ 220
8.11.4. Changing the Replication Database Host ...................................................................... 221
8.11.5. Tuning Automatic Failover ........................................................................................... 221
8.11.6. Triggering a Failover Manually ..................................................................................... 222
8.11.7. Removing an Unresponsive Host from an Oracle VDI Center ......................................... 223
8.11.8. Changing the Sun Ray Primary Server ......................................................................... 223
8.11.9. Synchronizing the Sun Ray Group Signature and Data Store Password .......................... 224

8.1. Logging in to Oracle VDI Manager


The following are the supported client platforms and browsers for Oracle VDI Manager:
Table 8.1. Supported Client Platforms and Browsers for Oracle VDI Manager
Client Operating System Supported Browsers
Microsoft Windows Internet Explorer 8, Firefox 3.6
Oracle Solaris Firefox 3.6
Linux Firefox 3.6

199
Logging in to the Sun Ray Administration Tool

Steps

1. Using a browser, go to https://host-name:1801

The browser displays a security warning and prompts you to accept the security certificate.

2. Accept the security certificate.

A login page is displayed.

3. Log in as an administrator.

You specified the user name of the default administrator when you configured the Oracle VDI Center.

For more information on administrators, see Section 8.3, “Oracle VDI Administrators”.

8.2. Logging in to the Sun Ray Administration Tool


The Sun Ray Administration Tool is configured and accessible on each Oracle VDI host. This allows easy
modification of Sun Ray configuration settings, such as kiosk session parameters and token (smart card)
management.
Steps

1. Go to https://host-name:1661.

The browser displays a security warning and prompts you to accept the security certificate.

2. Accept the security certificate.

The login screen is displayed.

3. Log in as super user (root) with corresponding password.

Note

Oracle VDI does not use the default admin user account that is normally
configured as part of the Sun Ray Software installation.

8.3. Oracle VDI Administrators


8.3.1. About Oracle VDI Role-Based Administration
Oracle VDI administrators can be any valid user on an Oracle VDI host. They are identified by their login
name. To be able to administer Oracle VDI from any host in an Oracle VDI Center, the user account must
exist on all hosts. Otherwise a user can only administer Oracle VDI on the hosts on which they have a user
account.

Oracle VDI uses role-based access control to restrict system access to the two main administrative areas,
Companies and Desktop Providers. There are predefined roles to which administrators can be assigned to
perform a job function.

There are three types of role:

• Administrator : This type has full read and write access to an area.

• Operator : This type has limited access to an area.

• Monitor : This type has read-only access to an area.

200
About Oracle VDI Role-Based Administration

There are six roles available in Oracle VDI:

• Primary Administrator

This role has full access to Oracle VDI. It can create, edit, and remove companies. The role inherits the
Company Administrator and Desktop Provider Administrator roles.

• Company Administrator

This role can create and delete pools. It provides full access to the template management. The role
inherits the Company Operator role.

• Company Operator

This role can edit pool settings and assign users to pools. It provides full access to the desktops. The
role inherits the Company Monitor role.

• Company Monitor

This role can view all details in the Users and Pools area.

• Desktop Provider Administrator

This role can create, edit and delete desktop providers, and edit all settings. The role inherits the
Desktop Provider Monitor role.

• Desktop Provider Monitor

This role can view all details in the Desktop Provider area.

When you configure a new Oracle VDI Center, you are prompted for the user name of the user that is to be
assigned the Primary Administrator role. Other users can then be granted administrative privileges by this
user. There must always be at least one Primary Administrator.

An administrator can be assigned more than one role but there are restrictions on the combinations. An
administrator can have only one of the following:

• Primary Administrator role

• One Company role

• One Desktop Provider role

• One Company role and one Desktop Provider role

Role-Based Administration in Oracle VDI Manager


The appearance of Oracle VDI Manager is restricted depending on the roles assigned to the administrator.
The top-level categories are shown only if the administrator has the required viewing rights for that
category, as follows:

• The Users and Pools areas are shown to Company roles and the Primary Administrator role.

• The Desktop Provider area is shown to Desktop Provider roles and the Primary Administrator role.

• The Settings area is shown to the Primary Administrator role.

Cross-area links are disabled, if the administrator does not have the required viewing rights for the target
area of the link.

201
Creating Administrators and Assigning Roles

Within an area, the appearance of Oracle VDI Manager is not changed depending on the roles assigned to
the administrator. All buttons or action items appear active. When an administrator attempts to perform the
operation that is not permitted, the operation fails and the following message is displayed:
You do not have sufficient administration rights to perform this operation.

The root user is no different to any other user and can only access Oracle VDI Manager if they are
assigned an administrator role.

In Oracle VDI Manager, a Primary Administrator cannot edit their own role assignments, or remove
their own user name from the list of administrators. These tasks must be performed by another Primary
Administrator.

Role-Based Administration on the Command Line


The vda command can be run by root and non-root users. All other Oracle VDI commands must be run
either by root or by a user that has assumed the root role (Oracle Solaris platforms).

The root user can always run Oracle VDI commands, even if they are not assigned any administrator roles.

Every time a non-root user runs a vda command, they are prompted for a password.

To run a vda command with an identity other than the current user, set the VDA_USERNAME environment
variable to the required user name. When you run a command in this way, you enter the password of the
VDA_USERNAME user.

If the administrator does not have the permission to run a vda subcommand, the command fails and the
following message is displayed:
You do not have sufficient administration rights to perform this operation.

On the command line, a Primary Administrator can edit their own role assignments and remove their own
user name from the list of administrators.

Role-Based Administration and Oracle VDI Web Services


Role-Based administration applies to Oracle VDI web services. A
com.sun.vda.service.api.ServiceException is thrown if the credentials provided do not have the
permissions to perform the requested operation.

Role-Based Administration and the Enterprise Manager Plug-in for Oracle VDI
Role-Based administration applies to monitoring data collection by the Enterprise Manager Plug-in for
Oracle VDI. To enable monitoring of Oracle VDI targets, the Management Agent, which is an Oracle
Enterprise Manager component, establishes a secure connection to the Oracle VDI Center Agent. In this
process, the Management Agent must authenticate as an Oracle VDI administrator.

For security and auditing purposes, it is recommended that you configure a dedicated administrator
account for the plug-in. This administrator account requires the Company Monitor and Desktop Provider
Monitor roles.

8.3.2. Creating Administrators and Assigning Roles


To assign an administrator to a role, the administrator must be a valid user on the Oracle VDI host.

For more information about administrators and roles, see Section 8.3.1, “About Oracle VDI Role-Based
Administration”.

A Primary Administrator cannot edit their own role assignment, or remove their own user name from the list
of administrators. These tasks must be performed by another Primary Administrator.

202
Creating Administrators and Assigning Roles

Oracle VDI Manager Steps


1. Log in to Oracle VDI Manager as a Primary Administrator.

Only a Primary Administrator can assign administration privileges.

2. Go to Settings → VDI Center.

3. Go to the Administrator tab.

A list of configured administrators and their roles is displayed.

4. Add an administrator.

a. Click the New button.

b. Type the login name of the administrator.

c. Click OK.

The new administrator is added to the list and is assigned the Company Monitor role by default.

5. (Optional) Edit the role assignments for an administrator.

a. In the list of administrators, click the administrator user name.

The Role Assignment list is displayed.

b. Select the check box for the role(s) you want to assign to the administrator and click the Save
button.

c. Click the Save button.

A message is displayed that confirms the role assignments are updated.

Command Line Steps


1. Log in as a Primary Administrator on an Oracle VDI host.

Only a Primary Administrator, the root user, or a user that has assumed the root role (Oracle Solaris
platforms) can assign administration privileges.

2. Check whether the user is an administrator.


# /opt/SUNWvda/sbin/vda admin-list

3. List the available roles.


# /opt/SUNWvda/sbin/vda role-list

4. Assign roles to an administrator.


# /opt/SUNWvda/sbin/vda admin-assign -r role username

You can only assign one role at a time to a user.

For example:
# /opt/SUNWvda/sbin/vda admin-assign -r provider.operator jsmith

203
Monitoring Oracle VDI in Oracle Enterprise Manager

8.4. Monitoring Oracle VDI in Oracle Enterprise Manager


The Enterprise Manager Plug-in for Oracle VDI adds support for monitoring Oracle VDI resources, which
are called targets in Oracle Enterprise Manager. Multiple Oracle VDI Centers can be added and monitored
through the plug-in. The Oracle Enterprise Manager Monitoring Agent periodically retrieves metrics and
configuration data to display them on the monitoring page of each target. In addition to the information
retrieved at regular intervals, the target pages also contain a number of graphs with historical data,
showing the evolution of certain metrics over time.

Monitoring metrics over time allows you to identify potential bottlenecks and take preventive or corrective
actions. Critical failures may also occur, and require immediate attention. For all metrics a threshold can be
defined. Crossing a threshold triggers a corresponding event. The Enterprise Manager Plug-in for Oracle
VDI includes predefined thresholds for the many of the collected metrics. These defaults can be changed
as required for every metric.

An Oracle VDI deployment consists of different types of resources, and usually several of each type.
A single Oracle VDI Center contains one or more hosts, at least one company with its desktop pools,
a number of desktop providers that may also contain several hosts, and possibly different types of
storage. Because the number of components involved increases quickly, it is difficult to monitor the
entire environment from Oracle VDI Manager. The Enterprise Manager Plug-in for Oracle VDI groups all
these separate monitoring targets together in a unified view, making the monitoring of your Oracle VDI
environment a much easier job.

When you add an Oracle VDI Center target to Oracle Enterprise Manager for monitoring, the plug-in
detects and adds all child targets associated with the Oracle VDI Center. The result is a hierarchical view
of all targets, displayed in the Target Navigation pane. The following screenshot illustrates how an Oracle
VDI target page is constructed. The Target Navigation pane is located on the left hand side and can be
hidden. The content pane is the main part of the screen and displays the target monitoring data, logically
grouped in a number of information panels. The content pane changes based on the target selected in the
navigation tree.

204
Checking Oracle VDI Services and Logs

Figure 8.1. Target Monitoring with the Enterprise Manager Plug-in for Oracle VDI

The following table identifies the page elements indicated in the image.

Table 8.2. Target Page Elements

Item Description
1 Navigation pane
2 Content pane
3 Monitoring panels

For detailed information about the plug-in, how to install it and use it to monitor your Oracle VDI installation,
see the Enterprise Manager Plug-in User's Guide for Oracle Virtual Desktop Infrastructure.

8.5. Checking Oracle VDI Services and Logs


This section describes how to check the status of the various services provided by Oracle VDI and how to
check the log files for troubleshooting purposes. On Oracle Solaris platforms, some services also run under
the control of the Service Management Facility (SMF).

The Oracle VDI Service and Center Agent run as modules in the Common Agent Container (Cacao). If you
encounter any issues, check the status of Cacao and the modules, as well as the status of the Oracle VDI
services.

205
Checking the Status of the Oracle VDI Center

8.5.1. Checking the Status of the Oracle VDI Center


Use the vda-center status command to check the status of an Oracle VDI Center. This command
obtains information from the individual hosts in the Oracle VDI Center.

• Run the following command as root:

# /opt/SUNWvda/sbin/vda-center status

For example:

# /opt/SUNWvda/sbin/vda-center status
HOST NAME HOST STATUS SERVICE SERVICE STATUS
vdi1.example.com Up VDI Database Replication Up
vdi2.example.com Up VDI Database Up

2 host(s) in center.

For each host, following information is shown:

• The status of the host (HOST STATUS column).

The following table shows the possible values for the host status with a description of what it means.

Host Status Description


Down The host was contactable, but Oracle VDI Center Agent was not available.
Failed The attempt to contact the host failed in an unspecified manner.
Invalid Data The Oracle VDI Center Agent is running, but it reports that its Oracle VDI
Center configuration is invalid.
Synchronizing The Oracle VDI Center Agent is running but has not synchronized its
configuration with the other hosts the Oracle VDI Center.

This status should only occur for a short period after starting Oracle VDI
services on a host.
Unconfigured The Oracle VDI Center Agent is running, but it is reporting that the host is
not part of an Oracle VDI Center.
Unknown The Oracle VDI Center Agent is running on the host but is reporting an
unrecognized status.
Unreachable The host was not contactable due to a network-related error.
Unresolved The name of the host could not be resolved to an IP address.
Up The Oracle VDI Center Agent is running.

• The database role of the host, if the embedded MySQL Server database is used (SERVICE column).

• The status of the Oracle VDI database service (SERVICE STATUS column).

In case of problems, check the log files for messages beginning with com.sun.vda.cluster. See
Section 8.5.4, “Checking the Oracle VDI Log Files”.

8.5.2. Checking the Status of the Oracle VDI Service


Use the vda-service status command to show whether the Cacao management daemon is enabled
or disabled, its process numbers, and its uptime.

206
Checking the Status of the Oracle VDI Database

• Run the following command as root:

# /opt/SUNWvda/sbin/vda-service status

For example:

# /opt/SUNWvda/sbin/vda-service status
vda instance is ENABLED at system startup.
Smf monitoring process:
11761
11762
Uptime: 2 day(s), 23:22

In case of problems, check the log files, see Section 8.5.4, “Checking the Oracle VDI Log Files”.

8.5.3. Checking the Status of the Oracle VDI Database


With Oracle VDI, you can use the embedded MySQL Server database, or connect to your own remote
MySQL database. Use the vda-db-status command to check the status of either database type.

• Run the following command as root.

# /opt/SUNWvda/sbin/vda-db-status

For example:

# /opt/SUNWvda/sbin/vda-db-status
Ip/Hostname Database host Role Status
----------------------------------------------------------------------
vdi1.example.com Master up
vdi2.example.com Slave up

On Oracle Solaris platforms, you can also check the status of the Oracle VDI database using the Service
Management Facility. This only checks the status of the database on the local host and is only available
if you are using the embedded MySQL Server database. The master database runs on the primary host.
The slave (replication) database service runs in the first secondary host added to the Oracle VDI Center.

On the primary host or the first secondary host, run the following command as root.

# svcs svc:/application/database/vdadb:default

For example:

# svcs svc:/application/database/vdadb:default
STATE STIME FMRI
online Sep_30 svc:/application/database/vdadb:default

In case of problems on Oracle Solaris platforms, check the log file at /var/svc/log/application-
database-vdadb:default.log. There is no equivalent log file on Oracle Linux platforms.

8.5.4. Checking the Oracle VDI Log Files


Events for Oracle VDI events are logged in the Cacao log files in the following locations:

• Oracle Solaris platforms: /var/cacao/instances/vda/logs/cacao.0

• Oracle Linux platforms: /var/opt/sun/cacao2/instances/vda/logs/cacao.0

Log messages at SEVERE or WARNING level are also forwarded to the syslog daemon.
207
Changing Logging for Oracle VDI

8.5.5. Changing Logging for Oracle VDI


By default, all Oracle VDI events are logged in the Cacao log files. The default maximum log file size is
approximately 95 megabytes (100000000 bytes plus the remainder of the log entry which crosses that
threshold). When the log file size limit is reached, the current log file is closed and a new one is created.
The default maximum number of logs is 10.

Oracle VDI monitors the Cacao log files and, when it detects the cacao.2 log file, it moves it in to a
timestamped zip archive. The number and size of the log archives is configurable. By default, Oracle VDI
retains 10 log archives and the default maximum archive file size is 95 megabytes (100000000 bytes plus
the remainder of the log file which crosses that threshold).

You can change the logging level and the log archiving.
Changing the Logging Level

1. Display a list of the available log filter levels.

Run the following command as root:


# cacaoadm list-filters -l -i vda

On Linux platforms, the cacaoadm command is in /opt/sun/cacao2/bin.

The logging levels are from SEVERE (shows the least detail) to FINEST (shows the most detail).

2. Change the logging level.

Run the following command as root:


# cacaoadm set-filter -p com.sun.vda.service=log-level -i vda

For example, to decrease the logging level to log informational messages:


# cacaoadm set-filter -p com.sun.vda.service=INFO -i vda

For example, to reset the logging level to the default for the Oracle VDI service:
# cacaoadm set-filter -p com.sun.vda.service=ALL -i vda

3. Restart the Oracle VDI service.

After changing the logging level, you must restart the Oracle VDI service for the change to take effect.

Run the following command as root:


# /opt/SUNWvda/sbin/vda-service restart

Changing the Log Archiving

• Change the number of log archives that Oracle VDI retains and the log archive size.

Run the following command as root:


# /opt/SUNWvda/sbin/vda settings-setprops -p \
cacao.log.archive.count=num,cacao.log.archive.size=size

num is the number of log archives to retain. The default is 10.

size is the maximum size of the log archive in bytes. The default is 100000000 bytes.

208
Checking the Status of the Oracle VDI RDP Broker

A restart of the Oracle VDI service is not required for the change to take effect.

8.5.6. Checking the Status of the Oracle VDI RDP Broker


Use the brokeradm status command to check if the Oracle VDI RDP broker and proxy services are
running.

• Run the following command as root.

# /opt/SUNWvda-rdpb/bin/brokeradm status

For example:

# /opt/SUNWvda-rdpb/bin/brokeradm status
broker is running (PID 18204)
proxy is running (PID 18223)

On Oracle Solaris platforms, the RDP broker and proxy services also run under the Service
Management Facility. Run the following commands as root.

# svcs svc:/application/rdpb-broker:default
# svcs svc:/application/rdpb-proxy:default

For example:

# svcs svc:/application/rdpb-broker:default svc:/application/rdpb-proxy:default


STATE STIME FMRI
online Sep_30 svc:/application/rdpb-broker:default
online Sep_30 svc:/application/rdpb-proxy:default

In case of problems, check the log files:

• On Oracle Solaris platforms:

• /var/svc/log/application-rdpb-broker:default.log

• /var/svc/log/application-rdpb-proxy:default.log

• On Oracle Linux platforms:

• /opt/SUNWvda-rdpb/var/log/brokerPID.log

• /opt/SUNWvda-rdpb/var/log/proxyPID.log

8.5.7. Checking the Status of the Oracle VDI Center Agent


Use the vda-center agent-status command to check whether the Oracle VDI Center Agent is
running (and for how long) and to display the MD5 fingerprint of the host's SSL certificate.

• Run the following command as root:

# /opt/SUNWvda/sbin/vda-center agent-status

For example:

# /opt/SUNWvda/sbin/vda-center agent-status
Agent is up for 2 day(s), 23:32.
MD5 fingerprint is 07:A0:6C:4C:1D:5F:5B:20:A0:2A:FE:EA:1F:DB:B2:24.

209
Checking the Status of Oracle VDI Manager

In case of problems, check the log files for messages beginning with com.sun.vda.cluster. See
Section 8.5.4, “Checking the Oracle VDI Log Files”.

8.5.8. Checking the Status of Oracle VDI Manager


Use the vda-webserver status command to check whether Oracle VDI Manager is running.

• Run the following command as root.


# /opt/SUNWvda/sbin/vda-webserver status

For example:
# /opt/SUNWvda/sbin/vda-webserver status
Oracle Virtual Desktop Infrastructure Manager is running (pid 18106).

In case of problems, check the log file at /var/opt/SUNWvda/log/webserver0.log.

8.5.9. Checking the Status of Cacao and the Oracle VDI Modules
You use the cacaoadm command to check the status of Cacao and the individual Oracle VDI modules. On
Oracle Solaris platforms, Cacao is included with the operating system. On Oracle Linux platforms, Cacao
is installed as part of Oracle VDI. On Oracle Linux platforms, the cacaoadm command is in /opt/sun/
cacao2/bin.

When you check the status of Cacao, the command shows whether the Cacao management daemon is
enabled or disabled, its associated process numbers, and its uptime.

When you check the status of the individual modules, the commands report the following information about
the module:

• Operational State: either ENABLED (the module is able to offer service) or DISABLED (the module is
unable to offer service). The DISABLED state indicates that Cacao has detected an error for the module
and the module is not operational.

• Administrative State: either LOCKED (the module must not offer service) or UNLOCKED (the module
must offer service).

• Availability Status: the availability status is empty unless the operational state is set to DISABLED.
If this is the case, the values are either DEPENDENCY (the module cannot operate because another
resource on which it depends is unavailable), OFF_LINE (a routine operation is needed to bring the
module back into use), or FAILED (the module has an internal fault that prevents it from operating).

In case of problems, check the log files, see Section 8.5.4, “Checking the Oracle VDI Log Files”.

Checking the Status of Cacao


• Run the following command as root.
# cacaoadm status -i vda

For example:
# cacaoadm status -i vda
vda instance is ENABLED at system startup.
Smf monitoring process:
11761
11762
Uptime: 2 day(s), 23:22

210
Controlling the Oracle VDI Service

The vda-service status command shows the same information, see Section 8.5.2, “Checking the
Status of the Oracle VDI Service”.

Alternatively, use the Oracle Solaris Service Management Facility.


# svcs svc:/application/management/common-agent-container-1:vda

Checking the Status of the Oracle VDI Service Module


• Run the following command as root.
# cacaoadm status -i vda com.sun.vda.service

For example:
# cacaoadm status -i vda com.sun.vda.service
Operational State:ENABLED
Administrative State:UNLOCKED
Availability Status:[]
Module is in good health.

Checking the Status of the Oracle VDI Service Center Agent Module
• Run the following command as root.
# cacaoadm status -i vda com.sun.vda.center

For example:
# cacaoadm status -i vda com.sun.vda.center
Operational State:ENABLED
Administrative State:UNLOCKED
Availability Status:[]
Module is in good health.

8.6. Controlling the Oracle VDI Service


You control the Oracle VDI service with the vda-service command. This ensures a proper management
of the Oracle VDI modules in Cacao and does not affect the operation of the Oracle VDI database.

• To stop the Oracle VDI Service on a host, run the following command as root:
# /opt/SUNWvda/sbin/vda-service stop

• To start the Oracle VDI Service on a host, run the following command as root:
# /opt/SUNWvda/sbin/vda-service start

• To restart the Oracle VDI Service on a host, run the following command as root:
# /opt/SUNWvda/sbin/vda-service restart

8.7. Backing Up and Restoring the Oracle VDI Database


As with all data, it is important to back up the Oracle VDI database periodically so that you can recover in
the event of a failure. This is also an important step if you plan to reinstall Oracle VDI.

The information in this section should be used for both the embedded Oracle VDI MySQL Server database
and a remote MySQL database. To learn more about Oracle VDI database configurations, see Section 2.1,
“About Oracle VDI Centers and Hosts”.

211
Backing Up the Oracle VDI Database

8.7.1. Backing Up the Oracle VDI Database


Before You Begin

• If the Oracle VDI Center contains multiple hosts, the backup only needs to be performed on one host.

• The backup only archives the content of the Oracle VDI database. The virtual machine configuration
settings and disks for both desktops and templates are not backed up.

• The backup job stops all other jobs in the Oracle VDI Center. Jobs are automatically started again after
the backup finishes.

Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Settings, select the Oracle VDI Center and then select the Database
tab.

2. In the VDI Database Backup section, click the Backup button.

The VDI Database Backup window is displayed.

By default, the backup job creates a zip file on the host, /var/tmp/vdi-backup-timestamp.zip.

Use the Path and Name fields to specify a different directory or file name.

Use the Server field to create the backup on an NFS share on a different host. The NFS share must be
accessible from the host on which you create the backup job.

3. Click OK.

Command Line Steps

• Run the vda-backup command as root.


# /opt/SUNWvda/sbin/vda-backup [-p path] [-o filename] [-s host]

By default, the backup job creates a zip file, /var/tmp/vdi-backup-timestamp.zip.

Use the -p and -o options to specify a different directory or file name.

Use the -s option to create the backup on an NFS share on a different host. The NFS share must be
accessible from the host on which you create the backup job.

For example:
# /opt/SUNWvda/sbin/vda-backup -s storage.example.com -p /export/vdi-backups

The above command creates a database backup in the following location:

/net/storage.example.com/export/vdi-backups/vdi-backup-timestamp.zip

8.7.2. Restoring the Oracle VDI Database


Before You Begin

• If the Oracle VDI Center contains multiple hosts, you can restore the database on any host. Only restore
the database from one host.

• Make sure you restore from the latest database backup.

212
About Desktop Provider Alarms

• Desktops created after the database backup was taken are not restored and result in orphaned disks
that have no desktop.

• Desktops deleted after the database backup was taken are restored and result in orphaned desktops
that have no disk.

• All user assignments to desktops after the database backup was taken are lost.

• All jobs that are currently running in the Oracle VDI Center are canceled.

• The restore job stops Oracle VDI services in the Oracle VDI Center, however active sessions continue to
run. When a restore job finishes, you must restart the Oracle VDI service on all hosts.

Currently it is not possible to restore the Oracle VDI database using Oracle VDI Manager.
Command Line Steps

1. Run the vda-restore command as root.


# /opt/SUNWvda/sbin/vda-restore -i path-to-backup.zip

2. After the restore job finishes, restart the Oracle VDI service on all hosts.

Run the following command as root:


# /opt/SUNWvda/sbin/vda-service restart

8.8. About Desktop Provider Alarms


The status of desktop provider alarms is displayed at the top of Oracle VDI Manager underneath the Log
Out and Help buttons. If there are no current desktop provider alarms in the Oracle VDI environment, the
Alarms heading does not display.

The icons next to the Alarms heading change depending on the status of the desktop providers in the
Oracle VDI environment. For each alarm state displayed, a counter specifies how many desktop providers
are currently in that state. The valid states include:

• Major Alarm: An alarm condition occurred that is currently impairing service but not seriously. The
condition needs to be corrected before it becomes more severe. A major alarm is represented by a
yellow icon.

• Critical Alarm: An alarm condition occurred that is seriously impairing service and requires immediate
correction. The critical alarm is represented by a red icon.

Each alarm counter is also a link that displays the Desktop Providers page based on the following
conditions:

• If you click on the Major alarms link, the Desktop Providers page is displayed and lists the desktop
providers that currently have major or critical alarms.

• If you click on the Critical alarms link, the Desktop Providers page is displayed and lists the desktop
providers that currently have critical alarms.

8.8.1. Reconfiguring an Oracle VM VirtualBox Host


In some situations, a VirtualBox host can be marked as unresponsive. This might be due to network
connectivity issues or because the host is no longer responding. However, the situation can also occur
if the configuration of the host has changed, for example because the host operating system has been
upgraded or the VirtualBox software has been updated.

213
Reconfiguring an Oracle VM VirtualBox Host

In these situations, the solution is to edit the configuration of the VirtualBox host.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Desktop Providers and then select the desktop provider with the
problem.

2. Click the Host tab.

3. Select the unresponsive host and click the Edit button.

The Edit Host window is displayed.

4. On the Specify New Host step, enter the host details.

a. In the Host field, enter the fully-qualified DNS name or IP address of the VirtualBox host.

b. In the SSL Port field, enter the port number to use for SSL communication with the VirtualBox host.

This is the port that was specified when VirtualBox was installed. The default SSL port is port 443.

If SSL is not used, deselect Use SSL Encryption.

c. In the SSH Port field, enter the port number used for SSH connections to the VirtualBox host.

d. In the User Name and Password fields, enter the credentials of a user with root access to the
VirtualBox host.

5. On the Verify Certificate step, check that the SSH and SSL certificate details are correct and click
Finish.

This is an important security step that ensures you are adding a genuine VirtualBox host to the desktop
provider.

The Edit Host window is closed and a message is displayed to confirm that the host has been updated.
After a few moments the status of the host changes to Enabled.

Command Line Steps

1. Edit the configuration of the provider host using the vda provider-host-setprops command.
/opt/SUNWvda/sbin/vda provider-host-setprops -h host \
-p username=username,password-prompt,certificate=update,sshcertificate=update provider

For example:
/opt/SUNWvda/sbin/vda provider-host-setprops -h vb1.example.com\
-p username=root,password-prompt,certificate=update,sshcertificate=update MyProvider
Enter password for user root on host vb1.example.com:
SSL Certificate:
MD5: 7AA02D6357FE5A2D68DB6484750F6F0E
Company: Oracle Corporation
City: Redwood Shores
State: Ca
Country: US

SSH Certificate:
Issued By: vb1.example.com
Key:
Finger print: 85:fd:e6:22:3a:13:46:6e:e0:ed:5a:0c:f6:42:ca:76

214
Reloading iSCSI or Sun ZFS Storage Configuration on Oracle VM VirtualBox Hosts

Updated Host Settings

2. Check the status of the provider host using the vda provider-list-hosts command.

8.8.2. Reloading iSCSI or Sun ZFS Storage Configuration on Oracle VM


VirtualBox Hosts
In some situations, a storage that uses the Oracle Cluster File System version 2 (OCFS2) file system can
be marked as unresponsive. For example, this might happen if there is a problem with the o2cb service
or after an operating system upgrade on the host. This applies only to Oracle VM VirtualBox providers on
Oracle Linux platforms that are configured to use either iSCSI or Sun ZFS storage.

In these situations, the problem can often be cleared by forcing Oracle VDI to reload the storage
configuration for the desktop provider. When you do this, Oracle VDI performs all the normal steps for
adding an iSCSI or Sun ZFS storage apart from formatting the OCFS2 file system (the file system is
aready formatted). You can only perform this operation if the status of all the virtualization hosts for the
provider is Enabled.

Use the following command to reload the storage configuration for a desktop provider:
/opt/SUNWvda/sbin/vda provider-vb-reconfigure provider

8.9. Maintenance Mode


On occasion, you might need to off-line a configured host or storage for operations including maintenance,
upgrades, and decommissioning. The Maintenance Mode feature allows virtual machines to be cleared
from a currently used host or storage and moved to a different host or storage so that normal operations
may continue while the initial host or storage is unavailable. This process is also considered a "cold"
migration because running virtual machines will be suspended to allow the maintenance process to
proceed.

Maintenance mode is available for Oracle VM VirtualBox and Microsoft Hyper-V desktop providers only.

8.9.1. Oracle VM VirtualBox and Microsoft Hyper-V Host Maintenance


The two ways a host can be put in maintenance mode are:

Migrate Desktops or Shutdown and Restart Desktops on Another Host

• Requires 1 Oracle VM VirtualBox host.

• Migrate Desktops - Offered only if Oracle VDI thinks there are other compatible hosts. Otherwise,
"Shutdown and Restart Desktops" is offered.

• Desktops are migrated one after the other. A desktop being migrated will be temporarily unavailable for
up to a minute.

Suspend Desktops on a Host

• Always offered.

• Suspends all desktops on the current host.

• If a suspended desktop is requested it will be resumed on another VirtualBox host, if available.

Note

A compatible VirtualBox host must have identical, or very similar, CPU models.
Attempting to resume a desktop on a different CPU model will often result in a

215
Storage Maintenance

failure. Oracle VDI verifies that hosts have the correct CPU manufacturer. The
administrator is responsible for ensuring that the CPU models are compatible.

Desktop providers with a single VirtualBox or Microsoft Hyper-V host will be able to suspend all running
desktops associated with the specified host.

Desktop providers with more than one VirtualBox host allow running desktops to be migrated to other
enabled hosts. Depending on host compatibility one of two migration options will be available. If Oracle VDI
detects other compatible hosts, it will attempt to migrate each desktop by suspending it and resuming it
on another host. If no compatible hosts are detected, Oracle VDI will attempt to shutdown and restart the
desktops on other hosts. A compatible VirtualBox host must have identical, or very similar, CPU models.
Oracle VDI verifies that hosts have the correct CPU manufacturer. The administrator is responsible for
ensuring that the CPU models are compatible. Oracle VDI also checks for valid VirtualBox releases.

With Microsoft Hyper-V, the desktops cannot be migrated to another host. They are suspended and will
be restarted on the same host. In the event that the disk number associated with a desktop has changed
during the host maintenance period (this may happen if the Hyper-V host is rebooted), Oracle VDI must
power off the desktop before it can be restarted, causing any suspend data to be lost.

In Oracle VDI Manager:

1. Select the Desktop Providers category, and click the desktop provider containing the host you would
like to suspend.

2. Select the Host tab, select the host to migrate and click the Maintenance button.

A pop-up window is displayed with two options depending on host compatibility.

a. Choose maintenance type.

• To move the desktops to a different host, select the Migrate Desktops option.

• To suspend all desktops on the host, select the Suspend Desktops option.

b. Choose a time for the server to enter maintenance mode or click Now.

c. Click OK to submit the maintenance mode job.

8.9.2. Storage Maintenance


Oracle VDI provides a mechanism to put one or more storage servers in maintenance mode. Maintenance
mode implies that the storage server is disabled and all running desktops are either shut down or
suspended. At this point, maintenance can take place on the storage server (reboot or upgrade). No data is
moved or deleted from the specified storage server (including desktop hard disk data), but the associated
OCFS2 file systems (iSCSI or Sun ZFS storage types) are unmounted from the virtualization hosts. When
the storage server is re-enabled, the OCFS2 file systems are remounted on the virtualization hosts, and
any desktops suspended during maintenance are resumed.

When placing a Microsoft Hyper-V host or a storage host in maintenance mode, all desktops must be
powered off.

In Oracle VDI, you can clear or suspend running desktops on virtualization hosts and storage servers.
Maintenance mode allows administrators to perform typical maintenance tasks on servers (rebooting,
upgrading) with minimal impact to users.

Oracle VDI Manager Steps


1. In Oracle VDI Manager, go to Desktop Providers.

216
Deleting Orphan Disks

2. Select the desktop provider containing the storage server you would like to suspend.

3. Go to the Storage tab, select the storage server, and click the Maintenance button.

4. Choose a time for the server to enter maintenance mode, or click Now.

5. Click OK to submit the maintenance mode job.

Note

All running desktops associated with a host or storage server can be manually shut
down or suspended on the Storage or Host Desktop tab. To access this tab, click
the Host or Storage server link.

8.10. Deleting Orphan Disks


For the Oracle VM VirtualBox and Microsoft Hyper-V desktop providers, storage is provided by external
storage volumes, and this storage is assigned to desktops and templates as you create them. Eventually,
you may delete the desktops and templates, but the associated storage is not automatically released.

Orphan disks are those storage volumes that are not currently mapped to any desktop or template and can
be deleted to free up space. Orphan disks that have descending clones cannot be deleted.

Note

Some orphan disks may still hold important data. Make sure the data on an orphan
disk is no longer needed before you delete it.

Oracle VDI Manager Steps


1. In Oracle VDI Manager, go to Desktop Providers.

2. Select an Oracle VM VirtualBox or Microsoft Hyper-V desktop provider.

3. Go to the Storage tab.

4. Select a storage server.

The Storage Summary page is displayed for the storage server.

5. Click the Orphan Disk link.

The Orphan Disk page is displayed.

6. Select the orphan disks to delete and click Delete.

Note

The orphan disks without a checkbox cannot be deleted.

Command Line Steps


1. List the current desktop providers.
# /opt/SUNWvda/sbin/vda provider-list

2. List the storage servers for the specific desktop provider.


# /opt/SUNWvda/sbin/vda provider-list-storage desktop-provider

217
Oracle VDI Centers and Failover

3. List the orphan disks for a desktop provider's storage server.


# /opt/SUNWvda/sbin/vda provider-storage-orphans -h storage-hostname \
-z storage-zfs-pool desktop-provider

4. Delete one or more orphan disks.


# /opt/SUNWvda/sbin/vda provider-storage-orphan-delete -r desktop-provider \
-s storage-hostname -z storage-zfs-pool volumeId1 [volumeId2...]

8.11. Oracle VDI Centers and Failover


High availability is enabled when you configure an Oracle VDI Center that contains multiple hosts.

If you are using the embedded MySQL database, database high availability is only enabled if there is a
functioning replication database host. A failover is triggered if the master database fails. During failover,
the host that runs the replication database is automatically promoted to run the master database. When
connectivity to the original master database host is restored, it hosts the replication database.

Warning

Do not reboot the master database host as this might trigger a failover. To safely
reboot the master database host, see Section 8.11.2, “Rebooting the Master
Database Host Without Causing a Failover”.

If you are using a remote MySQL database, database failover is not available and you must make your
own provision for database high availability. This is configured outside of Oracle VDI.

Sun Ray Software high availability does not require failover. During a database failover, the Sun Ray
primary server is not reconfigured automatically.

If the master database host and the Sun Ray primary server are the same host, that host is traditionally
called the Oracle VDI primary host. After a database failover, the Sun Ray primary host can be manually
reconfigured in order to maintain the Oracle VDI primary host.

8.11.1. Identifying Hosts With a Role in an Oracle VDI Center


More than one host in an Oracle VDI Center can have a role, as follows:

• Master database host

The host that runs the master database for the Oracle VDI Center.

If you are using a remote MySQL database, the master database host is not set.

Identification:

• In Oracle VDI Manager, on the Summary tab for the Oracle VDI Center (under Settings).

• On the command line:


# /opt/SUNWvda/sbin/vda-center getprops -p db.master.host

Alternatively, use either the vda-db-status or the vda-center status command.

• Replication database host

The host that runs the replication database for the Oracle VDI Center.

218
Rebooting the Master Database Host Without Causing a Failover

If you are using a remote MySQL database, the replication database host is not set.

Identification:

• In Oracle VDI Manager, on the Summary tab for the Oracle VDI Center (under Settings).

• On the command line:


# /opt/SUNWvda/sbin/vda-center getprops -p db.replication.host

Alternatively, use either the vda-db-status or the vda-center status command.

• Sun Ray primary server

The host that is configured as the primary server in the Sun Ray failover group.

By default, this is the same host as the master database host.

Identification:

• Not shown in Oracle VDI Manager.

• On the command line:


# /opt/SUNWvda/sbin/vda-center getprops -p srs.primary.host

Alternatively, use the /opt/SUNWut/sbin/utreplica -l command.

• Oracle VDI primary host

If you are using the embedded MySQL database, the primary host is the host that runs the master
database host and is configured as the Sun Ray primary server. If the master database hosts and the
Sun Ray primary server are not the same, the Oracle VDI primary host is not set.

If you are using a remote MySQL database, the Oracle VDI primary host is the same as the Sun Ray
primary server by default.

Identification:

• Not shown in Oracle VDI Manager.

• On the command line:


# /opt/SUNWvda/sbin/vda-center getprops -p vda.primary.host

8.11.2. Rebooting the Master Database Host Without Causing a Failover


When an Oracle VDI Center loses connectivity to the host that runs the master database, this causes a
failover and the host that runs the replication (slave) database is automatically promoted to run the master
database.

Perform the following steps to reboot the master database host without causing a failover.

Caution

The Oracle VDI service and Oracle VDI Manager are not be able to operate until
the master database host is available again. Users will be unable to access any
desktops.

219
Changing the Master Database Host

If you are using a remote MySQL database instead of the embedded MySQL Server database, you can
safely reboot the primary host because a failover does not occur with remote databases.
Steps

1. Identify the host that runs the replication database.

Use either the vda-db-status or the vda-center status command to identify the location of the
replication database. In Oracle VDI Manager, this information is shown on the Database tab for the
Oracle VDI Center (under Settings).

2. Stop the Oracle VDI service on the host that runs the replication database.

On the replication database host, run the following command as root:


# /opt/SUNWvda/sbin/vda-service stop

3. Reboot the master database host.

4. Check that the master database host is available.

Use either the vda-db-status or the vda-center status command to check the status of the
database. In Oracle VDI Manager, this information is shown on the Database tab for the Oracle VDI
Center (under Settings). You can do this on any host in the Oracle VDI Center.

5. Start the Oracle VDI service on the replication database host.

On the replication database host, run the following command as root:


# /opt/SUNWvda/sbin/vda-service start

8.11.3. Changing the Master Database Host


If you are using the embedded MySQL Server database, the first host you configure to form an Oracle VDI
Center runs the master database. By default, this host is also configured as the Sun Ray primary server in
a Sun Ray failover group.

You can change the master database host at any time. When you do this, you should also consider
changing the Sun Ray primary server to maintain a single primary host in the Oracle VDI Center.

Whenever you change the Sun Ray Software primary server, it causes a short interruption to Sun Ray
services (warm restart) and all Sun Ray Clients are disconnected. This might require users to log in again
or unlock their screens.

It is not possible to change the master database host using Oracle VDI Manager.
Command Line Steps

1. Change the primary host using the vda-center setprops command as root.

To change the master database host and the Sun Ray primary server, run the following command as
root:
# /opt/SUNWvda/sbin/vda-center setprops -p vda.primary.host=<host>

To change only the master database host, run the following command as root:
# /opt/SUNWvda/sbin/vda-center setprops -p db.master.host=<host>

2. Check that the change has taken effect using the vda-center command as root.

220
Changing the Replication Database Host

# /opt/SUNWvda/sbin/vda-center status

8.11.4. Changing the Replication Database Host


If you are using the embedded MySQL Server database, the primary host in the Oracle VDI Center runs
the master database. The first secondary host that is added to the Oracle VDI Center runs the replication
(slave) database. Follow these steps, to change the replication database host. To change the host that
runs the master database, see Section 8.11.3, “Changing the Master Database Host”.

You can only change the replication database host in Oracle VDI Manager if you log in as root. If root is not
configured to be primary administrator, you can only change the replication database host on the command
line.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Settings and then select an Oracle VDI Center.

2. Click the Database tab.

A list of the hosts in the Oracle VDI Center is displayed.

3. Select a host and click Activate VDI Database Replication.

A message is displayed that says the new replication host is activated.

Command Line Steps

1. Change the replication host using the vda-center setprops command as root.
# /opt/SUNWvda/sbin/vda-center setprops -p db.replication.host=<host>

If you specify an empty <host>, you turn off database replication and high availability.

2. Check that the change has taken effect using the vda-center command as root.
# /opt/SUNWvda/sbin/vda-center status

8.11.5. Tuning Automatic Failover


It is possible to adjust the properties for an Oracle VDI Center to tune the automatic failover behavior. The
following table lists the available properties and what they control. Use the vda-center getprops and
vda-center setprops commands to list and edit these settings.

Table 8.3. Properties for Tuning Automatic Failover

Property Description
db.connection.timeout The connection timeout in milliseconds for database
connections.

The Oracle VDI Service reports a database error to the Oracle


VDI Center Agent, if an attempt to connect to the Oracle VDI
database takes longer than this timeout.

The default is 1000 milliseconds.


db.failover.timeout The period of time in seconds that the Oracle VDI Center
Agent waits before starting failover.

221
Triggering a Failover Manually

Property Description
The Oracle VDI Center Agent monitors the database error
reports from the Oracle VDI Service. If database errors are
reported continuously for this period of time, the database
is considered as failed. If the embedded Oracle VDI MySQL
Server database is used, failover is triggered.

The default is 15 seconds.


db.replication.config Whether the Oracle VDI Center Agent automatically configures
database replication.

The permitted values are true or false.

If set to true, the automatic configuration of the replication


database on a host takes place when a second host is added
to an Oracle VDI Center or a failover is performed.

If set to false, the automatic configuration of the replication


database does not take place. High availability is disabled until
an administrator manually configures a replication database
host, see Section 8.11.4, “Changing the Replication Database
Host”. This provides you with more control over the host
that is used for the replication database but means that high
availability has to be configured manually.

The default is true.


srs.primary.autofailover Whether the Sun Ray primary server is automatically
reconfigured during a failover.

The permitted values are true or false.

If set to true, the host that runs the master database in the
Oracle VDI Center is automatically configured as the Sun Ray
primary server when a failover is performed. This causes a
short interruption to Sun Ray services (warm restart) and all
Sun Ray Clients are disconnected. This might require users to
log in again or unlock their screens.

If set to false, the Sun Ray primary server is not changed


when a failover is performed. The Sun Ray primary server can
be changed manually, see Section 8.11.8, “Changing the Sun
Ray Primary Server”.

The default is false.

8.11.6. Triggering a Failover Manually


In some circumstances you might want to trigger a failover manually, for example if automatic failover is
unsuccessful.

To trigger failover manually, you change the master database host. See Section 8.11.3, “Changing the
Master Database Host” for details.

222
Removing an Unresponsive Host from an Oracle VDI Center

8.11.7. Removing an Unresponsive Host from an Oracle VDI Center


Normally you use the vda-config command to add and remove hosts in an Oracle VDI Center. However
if a host becomes unresponsive, you might not be able use this command. In this situation, you can force
the removal of the host from the Oracle VDI Center.
Command Line Steps

1. Check the configuration of the Oracle VDI Center and reconfigure it if needed.

If the Oracle VDI Center contains multiple hosts, run the following command as root to identify the
master database host, the replication database host, and the Sun Ray primary server:
# /opt/SUNWvda/sbin/vda-center getprops \
-p db.master.host,db.replication.host,srs.primary.host

If the unresponsive host is shown in the output of this command, reconfigure the Oracle VDI Center as
follows:

• Master database host (db.master.host)

Configure another host as the master database host. See Section 8.11.3, “Changing the Master
Database Host” for details.

• Replication database host (db.replication.host)

Configure another host to run the replication database so that high availability is maintained. See
Section 8.11.4, “Changing the Replication Database Host” for details.

• Sun Ray primary server (srs.primary.host)

If the host is not the master database host (db.master.host), configure another host as the Sun
Ray primary server. See Section 8.11.8, “Changing the Sun Ray Primary Server” for details.

2. Remove the host from the Oracle VDI Center.

Run the following command as root on any of the remaining hosts in the Oracle VDI Center:
# /opt/SUNWvda/sbin/vda-center purge <host>

3. Check that the change has taken effect using the vda-center command as root.
# /opt/SUNWvda/sbin/vda-center status

8.11.8. Changing the Sun Ray Primary Server


The first host you configure to form an Oracle VDI Center is configured as the Sun Ray primary server in a
Sun Ray failover group.

Each Sun Ray server has its own local copy of the Sun Ray data store, which is used to store information
such as details about Sun Ray Clients and tokens (smart cards). The Sun Ray primary server has read and
write access to the data store, while the Sun Ray secondary servers only have read access. Any changes
to the data store are first written on the primary server and the primary then replicates the changes to the
secondaries.

If the Sun Ray primary server becomes unavailable, changes to the data store cannot be stored but the
overall Sun Ray system continues to work because most Sun Ray operations only require read access to
the data store. However, some functions, such as token registration, are not available.

223
Synchronizing the Sun Ray Group Signature and Data Store Password

You can change the Sun Ray primary server at any time. When you do this, you should also consider
changing the master database host to maintain a single primary host in the Oracle VDI Center (if you are
using the embedded MySQL database).

Whenever you change the Sun Ray Software primary server, it causes a short interruption to Sun Ray
services (warm restart) and all Sun Ray Clients are disconnected. This might require users to log in again
or unlock their screens.

It is not possible to change the primary Sun Ray server using Oracle VDI Manager.
Command Line Steps

1. Change the Sun Ray primary server.

To change the master database host and the Sun Ray primary server, run the following command as
root:
# /opt/SUNWvda/sbin/vda-center setprops -p vda.primary.host=<host>

To change only the Sun Ray primary server, run the following command as root:
# /opt/SUNWvda/sbin/vda-center setprops -p srs.primary.host=<host>

2. Check that the change has taken effect.


# /opt/SUNWvda/sbin/vda-center getprops -p srs.primary.host

8.11.9. Synchronizing the Sun Ray Group Signature and Data Store Password
The Sun Ray servers in an Oracle VDI Center have a group signature and a data store password. The
group signature and password are created and stored in both the Oracle VDI Center and in the Sun Ray
server configuration. The Oracle VDI Center Agent uses these values whenever it adds and removes hosts
in the Oracle VDI Center.

It is possible to use the Sun Ray administration tools to change either the group signature or the data store
password, but these tools do not update the Oracle VDI Center. If the Oracle VDI Center and the Sun Ray
servers are not synchronized, you cannot add hosts to an Oracle VDI Center.

Caution

The following commands display the password and group signature in plain text.
For security reasons, ensure that no-one is overlooking you when you run the
commands.

1. (Optional) Synchronize the group signature for the Oracle VDI Center.

Run the following command as root:


# echo GroupSignature> | /opt/SUNWvda/sbin/vda-center setprops -s srs.group.signature

Verify that the group signature change has taken effect, run the following command as root on each
host in the Oracle VDI Center:
# cat /etc/opt/SUNWut/gmSignature

2. (Optional) Synchronize the data store password for the Oracle VDI Center.

Run the following command as root:

224
Synchronizing the Sun Ray Group Signature and Data Store Password

# echo Password> | /opt/SUNWvda/sbin/vda-center setprops -s srs.password

Verify that the data store password change has taken effect, run the following command as root on
each host in the Oracle VDI Center:
# /opt/SUNWut/sbin/utpw -p

3. Perform a warm restart of Sun Ray services on each host in the Oracle VDI Center.

You must perform a warm restart of Sun Ray services in the Oracle VDI Center for changes to either
the data store password or the group signature to take effect. A warm restart temporarily disconnects
users and might require them to log in again or unlock their screens.

Run the following command on each host in the Oracle VDI Center as root:
# /opt/SUNWut/sbin/utstart

225
226
Chapter 9. Managing Desktops, Templates, App-V Repositories,
and Revisions

Table of Contents
9.1. Managing Desktops ................................................................................................................. 228
9.1.1. Obtaining the ID of a Desktop ....................................................................................... 228
9.1.2. Importing a Desktop ...................................................................................................... 228
9.1.3. Renaming a Desktop ..................................................................................................... 229
9.1.4. Starting a Desktop ........................................................................................................ 230
9.1.5. Restarting a Desktop ..................................................................................................... 230
9.1.6. Assigning a Desktop to a User ...................................................................................... 231
9.1.7. Duplicating a Desktop ................................................................................................... 232
9.1.8. Exporting a Desktop ...................................................................................................... 232
9.1.9. Exporting User Profiles from Personal Hard Drives ......................................................... 233
9.1.10. Converting a Desktop to a Template ............................................................................ 234
9.1.11. Activating an Unresponsive Desktop ............................................................................ 234
9.1.12. Recloning Selected Desktops ....................................................................................... 235
9.1.13. Recloning All Unused Desktops ................................................................................... 235
9.1.14. Suspending a Desktop ................................................................................................ 236
9.1.15. Shutting Down a Desktop ............................................................................................ 236
9.1.16. Powering Off a Desktop ............................................................................................... 237
9.1.17. Mounting an ISO Image in a Desktop ........................................................................... 237
9.1.18. Unmounting an ISO Image from a Desktop .................................................................. 238
9.1.19. Updating the VirtualBox Guest Additions in a Desktop ................................................... 238
9.1.20. Connecting to the Desktop Console ............................................................................. 239
9.1.21. Disconnecting a User from a Remote Desktop Services Session .................................... 239
9.1.22. Logging a User Out of a Remote Desktop Services Session .......................................... 239
9.1.23. Removing a User Assignment from a Desktop .............................................................. 240
9.1.24. Deleting a Desktop ...................................................................................................... 241
9.2. Managing Templates ................................................................................................................ 241
9.2.1. Obtaining the ID of a Template ...................................................................................... 242
9.2.2. Importing a Template .................................................................................................... 242
9.2.3. Renaming a Template ................................................................................................... 243
9.2.4. Starting a Template ....................................................................................................... 243
9.2.5. Restarting a Template ................................................................................................... 244
9.2.6. Connecting to the Template Console ............................................................................. 244
9.2.7. Applying a Template to a Pool for Cloning ...................................................................... 245
9.2.8. Copying a Template to a Desktop .................................................................................. 245
9.2.9. Exporting a Template .................................................................................................... 246
9.2.10. Updating the VirtualBox Guest Additions in a Template ................................................. 246
9.2.11. Mounting an ISO Image in a Template ......................................................................... 247
9.2.12. Unmounting an ISO Image from a Template ................................................................. 247
9.2.13. Reverting a Template to the Latest Revision ................................................................. 248
9.2.14. Shutting Down a Template ........................................................................................... 248
9.2.15. Powering Off a Template ............................................................................................. 249
9.2.16. Deleting a Template .................................................................................................... 249
9.3. Managing Template Revisions .................................................................................................. 250
9.3.1. Obtaining the ID of a Template Revision ........................................................................ 250
9.3.2. Creating a Revision ....................................................................................................... 250
9.3.3. Making a Revision the Master Revision .......................................................................... 251

227
Managing Desktops

9.3.4. Renaming a Revision .................................................................................................... 252


9.3.5. Copying a Revision to a New Template .......................................................................... 252
9.3.6. Copying a Revision to a New Desktop ........................................................................... 253
9.3.7. Cloning a Revision to a New Desktop ............................................................................ 253
9.3.8. Exporting a Revision ..................................................................................................... 254
9.3.9. Applying System Preparation to a Revision .................................................................... 254
9.3.10. Applying a Revision for Cloning ................................................................................... 255
9.3.11. Deleting a Revision ..................................................................................................... 255
9.4. Managing App-V Repositories .................................................................................................. 256
9.4.1. Obtaining the ID of an App-V Repository ........................................................................ 256
9.4.2. Obtaining the ID of a Revision to an App-V Repository .................................................... 256
9.4.3. Renaming an App-V Repository ..................................................................................... 257
9.4.4. Applying an App-V Repository to a Pool ......................................................................... 257
9.4.5. Creating a Revision to an App-V Repository ................................................................... 258
9.4.6. Making an App-V Revision the Master Revision .............................................................. 259
9.4.7. Renaming a Revision to an App-V Repository ................................................................ 259
9.4.8. Deleting a Revision to an App-V Repository ................................................................... 260
9.4.9. Deleting an App-V Repository ........................................................................................ 261

9.1. Managing Desktops


Not all actions are available for all platforms. VMware has its own management tool, VMware vCenter, and
Oracle VDI simply accesses the data. Microsoft Remote Desktop is not a virtualization platform like the
others, therefore desktops cannot be imported and assigned personally.

This section lists the available actions for desktops, how you perform the action in Oracle VDI Manager,
and the equivalent command-line command.

9.1.1. Obtaining the ID of a Desktop


Whenever you use the vda command to perform an action to a desktop, you must use the unique ID of the
desktop rather than the name. Oracle VDI Manager only displays the name.

To obtain the ID of a desktop, use either the vda user-desktops command to list the desktops for a
user, the vda token-desktops command to list the desktops for a token, or the vda pool-desktops
command to list the desktops in a pool.

In the following example, the desktops in the pool MyPool are listed:
/opt/SUNWvda/sbin/vda pool-desktops MyPool
NAME ID MACHINE_STATE STATUS USER DN
desktop-01 33 Running Idle aberginuid=bergin,ou=People
desktop-02 34 Running Available - -

There are two desktops in the pool with IDs of 33 and 34.

9.1.2. Importing a Desktop


Perform the following steps to import a previously created virtual machine into Oracle VDI Manager. Oracle
VM VirtualBox and Microsoft Hyper-V hosted machines can be imported from a shared folder. For VMware
vCenter, the virtual machines remain under the control of VMware vCenter, but the user assignment and
runtime management is done by Oracle VDI.

You can perform this action on Oracle VM VirtualBox, Microsoft Hyper-V, VMware vCenter, and Generic
desktops.

228
Renaming a Desktop

Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Desktop tab.

3. Click the Import button to open the Import Desktop window.

4. If the desktop to import is located on a VirtualBox host available to Oracle VDI Manager, go to the
Hypervisor tab and select the desktop in the list.

Otherwise, specify the location of the desktop configuration file and disk image by completing the fields
in the Folder tab.

5. Click OK.

Command Line Steps

• Import a VirtualBox desktop using the vda pool-vb-import command.


/opt/SUNWvda/sbin/vda pool-vb-import -p \
vdi-image=MyVirtualDesktop.vdi,xml-configuration=MyVirtualDesktop.xml,\
hostname=MyNfsServer.domain,path=/home/user/desktops,\
type=desktop MyPool

• Import an unmanaged VirtualBox desktop using the vda pool-vb-import-unmanaged command.


/opt/SUNWvda/sbin/vda pool-vb-import-unmanaged -p \
-d uuid-desktop1,uuid-desktop2 MyPool

• Import a Hyper-V desktop using the vda pool-hv-import command.


/opt/SUNWvda/sbin/vda pool-hv-import -p \
export-directory=/home/user/desktops,hostname=MyNfsServer.domain,\
type=desktop MyPool

• Import a VMware desktop using the vda pool-vc-import command.


/opt/SUNWvda/sbin/vda pool-vc-import -p \
-d uuid-desktop1,uuid-desktop2 MyPool

9.1.3. Renaming a Desktop


Perform the following steps to give an existing desktop a new name.

You can perform this action on Oracle VM VirtualBox, VMware vCenter, Microsoft Hyper-V, and Generic
desktops.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Desktop tab and select the desktop you want to work with.

3. Click the Rename button.

A dialog box is displayed.

4. Enter a new name for the desktop and click OK.

Command Line Steps

1. Obtain the ID of the desktop you want to work with, see Section 9.1.1, “Obtaining the ID of a Desktop”.

229
Starting a Desktop

2. Rename an existing desktop using the vda desktop-setprops command.


/opt/SUNWvda/sbin/vda desktop-setprops -p name=new-name desktop-id

For example:
/opt/SUNWvda/sbin/vda desktop-setprops -p name='"jdoe desktop"' 28

9.1.4. Starting a Desktop


Perform the following steps to start a desktop. The desktop is started on the virtualization host on which it
is registered. If the desktop is not yet registered on a virtualization host, a host is selected based on free
memory and started.

You can perform this action on Oracle VM VirtualBox, VMware vCenter, and Microsoft Hyper-V desktops.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Desktop tab and select the desktops you want to work with.

3. Click the Start button.

Command Line Steps

1. Obtain the ID of the desktops you want to work with, see Section 9.1.1, “Obtaining the ID of a Desktop”.

2. Start the desktops using the vda desktop-start command.


/opt/SUNWvda/sbin/vda desktop-start desktop1-id desktop2-id ...

For example:
/opt/SUNWvda/sbin/vda desktop-start 38 40

9.1.5. Restarting a Desktop


Perform the following steps to restart the desktop on the same virtualization host. This is equivalent to
pressing the reset button on a PC.

Caution

Restarting a desktop can cause data loss if files are open.

You can perform this action on Oracle VM VirtualBox, VMware vCenter, and Microsoft Hyper-V desktops.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Desktop tab and select the desktops you want to work with.

3. Click the Restart button.

A confirmation dialog box is displayed.

4. Click OK.

230
Assigning a Desktop to a User

Command Line Steps

1. Obtain the ID of the desktops you want to work with, see Section 9.1.1, “Obtaining the ID of a Desktop”.

2. Restart the desktops using the vda desktop-restart command.


/opt/SUNWvda/sbin/vda desktop-restart desktop1-id desktop2-id ...

For example:
/opt/SUNWvda/sbin/vda desktop-restart 38 40

9.1.6. Assigning a Desktop to a User


Perform the following steps to create a persistent relationship between a user and a desktop. The desktop
is reserved for the user as their personal desktop.

You can perform this action on Oracle VM VirtualBox, VMware vCenter, Microsoft Hyper-V desktops, and
Generic desktops.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Desktop tab and select the desktop you want to work with.

3. Click the Assign button.

The Assign Personal Desktop window is displayed.

4. Search for either Users or Tokens.

5. Make your selection in the search results and click OK.

Command Line Steps

1. Obtain the ID of the desktops you want to work with, see Section 9.1.1, “Obtaining the ID of a Desktop”.

2. Search for the ID of the user to whom you want to assign the desktop:
/opt/SUNWvda/sbin/vda user-search walk
NAME KIND DN
awalker User uid=awalker
bwalker User uid=bwalker
ewalker User uid=ewalker
jwalker User uid=jwalker

3. Assign the desktops personally to a user using the vda user-assign command.
/opt/SUNWvda/sbin/vda user-assign -d desktop1-id desktop2-id user-id

For example:
/opt/SUNWvda/sbin/vda user-assign -d 44 jwalker

4. Check the user assignment.


/opt/SUNWvda/sbin/vda pool-desktops MyPool
NAME ID MACHINE_STATE STATUS USER DN
desktop1 42 Powered Off Available - -
desktop2 44 Powered Off Idle jwalker uid=jwalker

231
Duplicating a Desktop

desktop3 46 Powered Off Available - -

9.1.7. Duplicating a Desktop


Perform the following steps to create an identical clone of an existing desktop. The clone can then be
assigned to any user.

You can perform this action on Oracle VM VirtualBox and Microsoft Hyper-V desktops.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Desktop tab and select the desktops you want to work with.

3. In the More Actions list, select Duplicate.

Command Line Steps

1. Obtain the ID of the desktops you want to work with, see Section 9.1.1, “Obtaining the ID of a Desktop”.

2. Duplicate the desktops using the vda desktop-duplicate command.


/opt/SUNWvda/sbin/vda desktop-duplicate desktop-id-1 desktop-id-2 ...

For example:
/opt/SUNWvda/sbin/vda desktop-duplicate 22 24

9.1.8. Exporting a Desktop


Perform the following steps to save the virtual machine configuration file and disk image to a new location.
You can then store and use this virtual machine independent of Oracle VDI.

The export consists of an .xml file containing the virtual machine properties, and a .vdi disk image file.

You can perform this action on Oracle VM VirtualBox and Microsoft Hyper-V desktops.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Desktop tab and select the desktop you want to work with.

3. In the More Actions list, select Export Desktop.

The Export Desktop window is displayed.

4. Specify the export location for the desktop by entering a target Server and Path, and a Name for the
exported desktop.

5. Click OK.

Command Line Steps

1. Obtain the ID of the desktop you want to work with, see Section 9.1.1, “Obtaining the ID of a Desktop”.

2. Export the desktop using the vda desktop-export command.


/opt/SUNWvda/sbin/vda desktop-export -p \

232
Exporting User Profiles from Personal Hard Drives

hostname=MyNfsServer.domain,path=/path-to-export-location desktop-id

For example:
/opt/SUNWvda/sbin/vda desktop-export -p \
hostname=nfs.example.com,path=/home/user/exports 24

9.1.9. Exporting User Profiles from Personal Hard Drives


Perform the following steps to export the user profile data stored on desktop personal hard drives to the
network profile location configured for the pool. See Section 5.5.9, “About Personal Hard Drives and
Windows User Profiles” and Section 5.5.9.1, “Enabling Personal Hard Drives” for details.

You can perform this action on Oracle VM VirtualBox desktops. The action is supported on Windows 7 and
later desktops.

Before you export user profiles, ensure that users have logged out of the desktops as this action shuts
down the selected desktops if they are running.

When you export user profiles, Oracle VDI creates a job. The job powers on the desktops, copies the
profiles from the personal hard drives to the network profile location configured for the pool and then shuts
down the desktops.

The number of user profiles that can be exported concurrently is controlled by the peak time limits specified
for the desktop provider.

You cannot export the user profiles from unresponsive desktops.


Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Desktop tab and, optionally, select the desktops you want to work with.

You only need to select desktops if you want to export the profiles from particular desktops.

3. In the More Actions list, select Export User Profile.

The Export User Profile windows is displayed.

4. Check that you are exporting the user profiles you require and click OK.

Command Line Steps

1. (Optional) Obtain the ID of the desktops you want to work with, see Section 9.1.1, “Obtaining the ID of
a Desktop”.

You only need to do this if you want to export the profiles from particular desktops.

2. Export the user profiles with the vda pool-profiles-export command.


/opt/SUNWvda/sbin/vda pool-profiles-export [-d desktop1-id,desktop2-id ...] pool

For example, to export the user profiles from all desktops in the pool:
/opt/SUNWvda/sbin/vda pool-profiles-export MyPool

For example, to export the user profiles from particular desktops:


/opt/SUNWvda/sbin/vda pool-profiles-export -d 46,80 MyPool

233
Converting a Desktop to a Template

9.1.10. Converting a Desktop to a Template


Perform the following steps to turn an existing desktop into a template for the current pool. The desktop
disappears from the list of available desktops. It is moved to the Template tab of the pool, where a first
revision of the template is also created.

Cloned desktops cannot be converted to a template. Use a personal desktop.

You can perform this action on Oracle VM VirtualBox and Microsoft Hyper-V desktops.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Desktop tab and select the desktop you want to work with.

3. In the More Actions list, select Convert to Template.

A confirmation dialog box is displayed.

4. Click OK.

Command Line Steps

1. Obtain the ID of the desktop you want to work with, see Section 9.1.1, “Obtaining the ID of a Desktop”.

2. Convert an existing desktop to a template using the vda desktop-template command.


/opt/SUNWvda/sbin/vda desktop-template desktop-id

For example:
/opt/SUNWvda/sbin/vda desktop-template 40

9.1.11. Activating an Unresponsive Desktop


In some error situations, Oracle VDI marks a desktop as unresponsive, making it unusable. Perform the
following steps to revert an unusable desktop to its previous operational state.

You can perform this action on Oracle VM VirtualBox, VMware vCenter, and Microsoft Hyper-V desktops.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Desktop tab and select the desktop you want to work with.

3. In the More Actions list, select Activate Desktop.

Command Line Steps

1. Obtain the ID of the desktop you want to work with, see Section 9.1.1, “Obtaining the ID of a Desktop”.

2. Activate the desktop using the vda desktop-activate command.


/opt/SUNWvda/sbin/vda desktop-activate desktop-id

For example:
/opt/SUNWvda/sbin/vda desktop-activate 40

234
Recloning Selected Desktops

9.1.12. Recloning Selected Desktops


Perform the following steps to delete selected desktops and replace them with a new clone from the
master revision. Personal hard drives and user assignments are preserved and applied to the new clone.
To reclone all desktop not in use, seeSection 9.1.13, “Recloning All Unused Desktops”.

You can perform this action on Oracle VM VirtualBox desktops.


Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Desktop tab and select the desktops you want to work with.

3. In the More Actions list, select Reclone Desktop.

A confirmation dialog box is displayed.

4. Click OK.

Command Line Steps

1. Obtain the ID of the desktops you want to work with, see Section 9.1.1, “Obtaining the ID of a Desktop”.

2. Reclone the desktops using the vda desktop-reclone command.


/opt/SUNWvda/sbin/vda desktop-reclone desktop-id-1 desktop-id-2 ...

For example:
/opt/SUNWvda/sbin/vda desktop-reclone 38 47

9.1.13. Recloning All Unused Desktops


Perform the following steps to delete and reclone all unused desktops. This affects all cloned desktops
in the pool that are not currently in use or personally assigned, regardless of the pool recycle policy. To
reclone particular desktops, seeSection 9.1.12, “Recloning Selected Desktops”.

You can use this action to make sure that all desktops are cloned from the same template and revision,
and use the latest settings from the Cloning tab, such as naming conventions or Windows system
preparation.

You can perform this action on Oracle VM VirtualBox, VMware vCenter, and Microsoft Hyper-V desktops.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Desktop tab.

3. In the More Actions list, select Reset Cloning.

A confirmation dialog box is displayed.

4. Click OK.

Command Line Steps

• Reset cloning for a pool using the vda pool-reset command.

235
Suspending a Desktop

For example:
/opt/SUNWvda/sbin/vda pool-reset MyPool

9.1.14. Suspending a Desktop


Perform the following steps to save the desktop's state to disk. When the desktop is resumed, it will be in
the same state before it was suspended.

You can perform this action on Oracle VM VirtualBox, VMware vCenter, and Microsoft Hyper-V desktops.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Desktop tab and select the desktops you want to work with.

3. In the More Actions list, select Suspend.

Command Line Steps

1. Obtain the ID of the desktops you want to work with, see Section 9.1.1, “Obtaining the ID of a Desktop”.

2. Suspend the desktops using the vda desktop-suspend command.


/opt/SUNWvda/sbin/vda desktop-suspend desktop-id-1 desktop-id-2 ...

For example:
/opt/SUNWvda/sbin/vda desktop-suspend 40 56

9.1.15. Shutting Down a Desktop


Perform the following steps to send an ACPI shutdown signal to the desktop. This causes a proper
shutdown of the virtual machine and saves its state.

You can perform this action on Oracle VM VirtualBox, VMware vCenter, and Microsoft Hyper-V desktops.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Desktop tab and select the desktops you want to work with.

3. In the More Actions list, select Shut Down.

A confirmation dialog box is displayed.

4. Click OK.

Command Line Steps

1. Obtain the ID of the desktops you want to work with, see Section 9.1.1, “Obtaining the ID of a Desktop”.

2. Shut down the desktops using the vda desktop-stop command.


/opt/SUNWvda/sbin/vda desktop-stop desktop1-id desktop2-id ...

For example:

236
Powering Off a Desktop

/opt/SUNWvda/sbin/vda desktop-stop 38 40

9.1.16. Powering Off a Desktop


Perform the following steps to immediately power off the desktop without saving its state. Oracle VM
VirtualBox and Microsoft Hyper-V desktops are also unregistered from the virtualization host. VMware
vCenter desktops are only powered off.

You can perform this action on Oracle VM VirtualBox, VMware vCenter, and Microsoft Hyper-V desktops.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Desktop tab and select the desktops you want to work with.

3. In the More Actions list, select Power Off.

A confirmation dialog box is displayed.

4. Click OK.

Command Line Steps

1. Obtain the ID of the desktops you want to work with, see Section 9.1.1, “Obtaining the ID of a Desktop”.

2. Power off the desktops using the vda desktop-stop command.


/opt/SUNWvda/sbin/vda desktop-stop -p desktop1-id desktop2-id ...

For example:
/opt/SUNWvda/sbin/vda desktop-stop -p 38 40

9.1.17. Mounting an ISO Image in a Desktop


Perform the following steps to mount an ISO image in a desktop's virtual DVD drive. The ISO image must
be stored on a Network File System (NFS) share that is accessible from the Oracle VDI Manager host.

You can perform this action on Oracle VM VirtualBox and Microsoft Hyper-V desktops.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Desktop tab and select the desktop you want to work with.

3. In the More Actions list, select Mount ISO Image.

The Mount ISO Image window is displayed.

4. Specify the ISO image location by entering the Server and Path.

5. Click Select Folder to load the available ISO images into the list.

6. Select an ISO image from the list.

7. Click OK.

237
Unmounting an ISO Image from a Desktop

Command Line Steps

1. Obtain the ID of the desktop you want to work with, see Section 9.1.1, “Obtaining the ID of a Desktop”.

2. Mount an ISO image using the vda desktop-mount-iso command.


/opt/SUNWvda/sbin/vda desktop-mount-iso -p \
hostname=MyNfsServer.domain,path=/path-to-iso-file desktop-id

For example:
/opt/SUNWvda/sbin/vda desktop-mount-iso -p \
hostname=nfs.example.com,path=/home/user/iso/myDVD.iso 38

9.1.18. Unmounting an ISO Image from a Desktop


Perform the following steps to unmount an ISO image from a desktop's virtual DVD drive.

You can perform this action on Oracle VM VirtualBox and Microsoft Hyper-V desktops.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Desktop tab and select the desktop you want to work with.

3. In the More Actions list, select Unmount ISO Image.

Command Line Steps

1. Obtain the ID of the desktop you want to work with, see Section 9.1.1, “Obtaining the ID of a Desktop”.

2. Unmount an ISO image using the vda desktop-unmount-iso command.


/opt/SUNWvda/sbin/vda desktop-unmount-iso desktop-id

For example:
/opt/SUNWvda/sbin/vda desktop-unmount-iso 38

9.1.19. Updating the VirtualBox Guest Additions in a Desktop


Perform the following steps to update a desktop to the version of the Guest Additions included in the
current Oracle VM VirtualBox installation on the desktop provider host. The desktop must be powered off.
A job is started that starts the virtual machine, installs the Guest Additions, and then shuts down the virtual
machine again.

You can only update the Guest Additions in Oracle VDI Manager.

You can perform this action on Oracle VM VirtualBox desktops.


Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Desktop tab and select the desktop you want to work with.

3. In the More Actions list, select Update Guest Additions.

A message is displayed to confirm that the update job has started.

238
Connecting to the Desktop Console

9.1.20. Connecting to the Desktop Console


Perform the following steps to connect to the console that provides direct access to the desktop.

You can only connect to the desktop console in Oracle VDI Manager.

You can perform this action on Oracle VM VirtualBox desktops.


Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Desktop tab and select the desktop you want to work with.

3. Click the name of the desktop to open its desktop page.

The Desktop Summary tab is displayed.

4. Click Console.

5. Click Connect to display the desktop inside the tab, or click the Open in Window button to display the
desktop in a separate browser window.

9.1.21. Disconnecting a User from a Remote Desktop Services Session


Perform the following steps to disconnect users from their Remote Desktop Services (RDS) sessions. The
sessions remain on the RDS Session Host and users can reconnect to the sessions later.

You can perform this action on Microsoft Remote Desktop Services desktops.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select an RDS pool.

2. Click the Desktop tab and select the desktops you want to work with.

3. Click the Disconnect button.

A confirmation dialog box is displayed.

4. Click OK.

Command Line Steps

1. Obtain the ID of the desktops you want to work with, see Section 9.1.1, “Obtaining the ID of a Desktop”.

2. Disconnect the users from their RDS sessions using the vda desktop-disconnect command.
/opt/SUNWvda/sbin/vda desktop-disconnect -p \
hostname=host,pool=pool desktop1-id desktop2-id ...

For example:
/opt/SUNWvda/sbin/vda desktop-disconnect -p hostname=RDS-1,pool=MyRDSPool 58 62 70

9.1.22. Logging a User Out of a Remote Desktop Services Session


Perform the following steps to log users out of their Remote Desktop Services (RDS) sessions and
terminate the sessions on the RDS Session Host.

239
Removing a User Assignment from a Desktop

You can perform this action on Microsoft Remote Desktop Services desktops.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select an RDS pool.

2. Click the Desktop tab and select the desktops you want to work with.

3. Click the Log Out User button.

A confirmation dialog box is displayed.

4. Click OK.

Command Line Steps

1. Obtain the ID of the desktops you want to work with, see Section 9.1.1, “Obtaining the ID of a Desktop”.

2. Log out users from RDS sessions using the vda desktop-logoff command.
/opt/SUNWvda/sbin/vda desktop-logoff -p hostname=host,pool=pool desktop1-id desktop2-id ...

For example:
/opt/SUNWvda/sbin/vda desktop-logoff -p hostname=RDS-1,pool=MyRDSPool 58 62 70

9.1.23. Removing a User Assignment from a Desktop


Perform the following steps to break the persistent relationship between a user and a desktop. The desktop
is no longer assigned as the user's personal desktop.

You can perform this action on Oracle VM VirtualBox, VMware vCenter, Microsoft Hyper-V desktops, and
Generic desktops.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Desktop tab and select the desktop you want to work with.

3. In the More Actions list, select Remove User.

A confirmation dialog box is displayed.

4. Click OK.

Command Line Steps

1. Obtain the ID of the desktop you want to work with, see Section 9.1.1, “Obtaining the ID of a Desktop”.

2. Look up the ID of the desktop user:


/opt/SUNWvda/sbin/vda user-search walk
NAME KIND DN
awalker User uid=awalker
bwalker User uid=bwalker
ewalker User uid=ewalker
jwalker User uid=jwalker

3. Look up the ID of the user's desktop:

240
Deleting a Desktop

/opt/SUNWvda/sbin/vda user-desktops user-id

For example:
/opt/SUNWvda/sbin/vda user-desktops jwalker
DESKTOP DESKTOP_ID POOL Assignment DEFAULT
desktop2 44 MyPool personal false
desktop5 36 MyPool personal false

4. Remove the user assignment from the desktop using the vda user-unassign command.
/opt/SUNWvda/sbin/vda user-unassign [-d desktop-id] user-id

For example, to remove the user jwalker from a particular desktop:


/opt/SUNWvda/sbin/vda user-unassign -d 44 jwalker

For example, to remove the user jwalker from all desktops:


/opt/SUNWvda/sbin/vda user-unassign jwalker

9.1.24. Deleting a Desktop


Perform the following steps to delete one or more desktops from Oracle VDI. If necessary, the desktops
are stopped. For Oracle VM VirtualBox and Microsoft Hyper-V desktops, the iSCSI disk is deleted from
the storage. For VMware vCenter desktops, you have the option to keep the virtual machine available on
VMware vCenter. All references to the desktop are deleted from the Oracle VDI database.

You can perform this action on Oracle VM VirtualBox, VMware vCenter, Microsoft Hyper-V desktops, and
Generic desktops.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Desktop tab and select the desktops you want to work with.

3. In the More Actions list, select Delete Desktop.

A confirmation dialog box is displayed.

4. Click Delete.

Command Line Steps

1. Obtain the ID of the desktops you want to work with, see Section 9.1.1, “Obtaining the ID of a Desktop”.

2. Delete the desktops using the vda desktop-delete command.


/opt/SUNWvda/sbin/vda desktop-delete desktop-id-1 desktop-id-2 ...

For example:
/opt/SUNWvda/sbin/vda desktop-delete 28 32

9.2. Managing Templates


This section lists the available actions for templates, how you perform the action in Oracle VDI Manager,
and the equivalent command-line command.

241
Obtaining the ID of a Template

9.2.1. Obtaining the ID of a Template


Whenever you use the vda command to perform an action to a template, you must use the unique ID of
the template rather than the name. Oracle VDI Manager only displays the name.

To obtain the ID of a template, use either the vda pool-templates command to list the templates in a
pool, or the vda provider-list-templates command to list the templates for a desktop provider.

In the following example, the templates in the pool MyPool are listed:
/opt/SUNWvda/sbin/vda pool-templates MyPool
NAME ID MACHINE_STATE MASTER DESKTOPS
template1 2 Powered Off template1 Revision 2 10
template2 6 Powered Off template2 Revision 1 15

In the following example, the templates for the desktop provider MyProvider are listed:
/opt/SUNWvda/sbin/vda provider-list-templates MyProvider
NAME ID DIRECTORY
template1 2 MyCompany
template2 6 MyCompany

9.2.2. Importing a Template


Perform the following steps to import a previously created virtual machine into Oracle VDI Manager as
a template for desktop cloning. After the import, a first revision is created. The revision can be used for
cloning in any pool that uses the same desktop provider.

You can perform this action on Oracle VM VirtualBox, Microsoft Hyper-V, VMware vCenter and Generic
templates.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Template tab.

3. Click the Import Template button to open the Import Template window.

4. If the virtual machine to import as a template is located on a VirtualBox host available to Oracle VDI
Manager, go to the Hypervisor tab and select the virtual machine in the list.

Otherwise, specify the location of the virtual machine configuration file and disk image by completing
the fields in the Folder tab.

5. Click OK to start the template import process.

When the import is complete, the first revision of the template is available for cloning.

Command Line Steps

• Import a VirtualBox template using the vda pool-vb-import command.


/opt/SUNWvda/sbin/vda pool-vb-import -p \
vdi-image=MyVirtualDesktop.vdi,xml-configuration=MyVirtualDesktop.xml,\
hostname=MyNfsServer.domain,path=/home/user/desktops,type=template MyPool

• Import an unmanaged VirtualBox template using the vda pool-vb-import-unmanaged command.


/opt/SUNWvda/sbin/vda pool-vb-import-unmanaged -p \

242
Renaming a Template

type=template -d uuid-desktop MyPool

• Import a Hyper-V template using the vda pool-hv-import command.


/opt/SUNWvda/sbin/vda pool-hv-import -p \
export-directory=/home/user/desktops,hostname=MyNfsServer.domain,type=template MyPool

9.2.3. Renaming a Template


Perform the following steps to give a new name to an existing template.

You can perform this action on Oracle VM VirtualBox and Microsoft Hyper-V templates.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Template tab and select the template you want to work with.

3. Click the Rename button.

A dialog box is displayed.

4. Enter the new name for the template and click OK.

Command Line Steps

1. Obtain the ID of the template you want to work with, see Section 9.2.1, “Obtaining the ID of a
Template”.

2. Rename an existing template using the vda template-setprops command.


/opt/SUNWvda/sbin/vda template-setprops -p name=new-name template-id

For example:
/opt/SUNWvda/sbin/vda template-setprops -p name='"Windows 7 pro"' 9

9.2.4. Starting a Template


Perform the following steps to start the virtual machine on the host in order to apply modifications to the
template.

You can perform this action on Oracle VM VirtualBox and Microsoft Hyper-V templates.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Template tab and select the templates you want to work with.

3. In the More Actions list, select Start.

Command Line Steps

1. Obtain the ID of the templates you want to work with, see Section 9.2.1, “Obtaining the ID of a
Template”.

2. Start the templates using the vda template-start command.

243
Restarting a Template

/opt/SUNWvda/sbin/vda template-start template-id-1 template-id-2 ...

For example:
/opt/SUNWvda/sbin/vda template-start 9 13

9.2.5. Restarting a Template


Perform the following steps to restart the template virtual machine on the same host. The action is
equivalent to pressing the reset button on your PC.

Caution

Restarting a template virtual machine can cause data loss if files are open.

You can perform this action on Oracle VM VirtualBox and Microsoft Hyper-V templates.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Template tab and select the templates you want to work with.

3. In the More Actions list, select Restart.

A confirmation dialog box is displayed.

4. Click OK.

Command Line Steps

1. Obtain the ID of the templates you want to work with, see Section 9.2.1, “Obtaining the ID of a
Template”.

2. Restart the templates using the vda template-restart command.


/opt/SUNWvda/sbin/vda template-restart template1-id template2-id ...

For example:
/opt/SUNWvda/sbin/vda template-restart 9 13

9.2.6. Connecting to the Template Console


Perform the following steps to connect to the console that provides direct access to the template.

You can only open the template console in Oracle VDI Manager.

You can perform this action on Oracle VM VirtualBox templates.


Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Template tab and select the template you want to work with.

3. Click the Open Console button.

The template console is displayed in a separate browser window.

244
Applying a Template to a Pool for Cloning

4. Click Connect.

9.2.7. Applying a Template to a Pool for Cloning


Perform the following steps to configure a pool that has automatic cloning enabled, so that any fresh
desktops for the pool will be cloned from the template that has been applied for cloning.

You can perform this action on Oracle VM VirtualBox and Microsoft Hyper-V templates.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Template tab and select the template you want to work with.

3. In the More Actions list, select Apply for Cloning in Pool.

The Apply for Cloning window is displayed.

4. Select the pools you want to apply the template to.

5. Click OK.

Command Line Steps

1. Obtain the ID of the template you want to work with, see Section 9.2.1, “Obtaining the ID of a
Template”.

2. Apply a template for cloning to a pool using the vda pool-setprops command.
/opt/SUNWvda/sbin/vda pool-setprops -p template=template-id MyPool

For example:
/opt/SUNWvda/sbin/vda pool-setprops -p template=9 MyPool

9.2.8. Copying a Template to a Desktop


Perform the following steps to turn a template into a usable desktop inside the current pool. The newly
created desktop appears in the Desktop tab of the pool, ready for user assignment. The template remains
available as a template as well.

You can perform this action on Oracle VM VirtualBox and Microsoft Hyper-V templates.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Template tab and select the template you want to work with.

3. In the More Actions list, select Copy to Desktop.

A confirmation dialog box is displayed.

4. Click OK.

Command Line Steps

1. Obtain the ID of the template you want to work with, see Section 9.2.1, “Obtaining the ID of a
Template”.

245
Exporting a Template

2. Copy the template to a new desktop using the vda template-desktop command.
/opt/SUNWvda/sbin/vda template-desktop template-id

For example:
/opt/SUNWvda/sbin/vda template-desktop 9

9.2.9. Exporting a Template


Perform the following steps to save the template's virtual machine configuration file and disk image to a
location of your choice. You can then store and use this virtual machine independent of the Oracle VDI
environment.

The export consists of an .xml file containing the virtual machine properties, and a .vdi disk image file.

You can perform this action on Oracle VM VirtualBox templates.


Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Template tab and select the template you want to work with.

3. In the More Actions list, select Export Template.

The Export Template window is displayed.

4. Specify the export location for the desktop by entering a target Server and Path, and a Name for the
exported desktop.

5. Click OK.

Command Line Steps

1. Obtain the ID of the template you want to work with, see Section 9.2.1, “Obtaining the ID of a
Template”.

2. Export an existing template using the vda template-export command.


/opt/SUNWvda/sbin/vda template-export -p \
hostname=MyNfsServer.domain,path=/path-to-export-location template-id

For example:
/opt/SUNWvda/sbin/vda template-export -p \
hostname=nfs.example.com,path=/home/user/exports 9

9.2.10. Updating the VirtualBox Guest Additions in a Template


Perform the following steps to update a template to the version of the Guest Additions included in the
current VirtualBox installation on the desktop provider. The template must be powered off. A job is started
that starts the virtual machine, installs the Guest Additions, and then shuts down the virtual machine again.

To propagate the new VirtualBox Guest Additions to the cloned desktops in a pool, be sure to create a new
revision from the updated template, and make it the new cloning master.

You can only update the Guest Additions in Oracle VDI Manager.

You can perform this action on Oracle VM VirtualBox templates.

246
Mounting an ISO Image in a Template

Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Template tab and select the template you want to work with.

3. In the More Actions list, select Update Guest Additions.

A message is displayed to confirm that the update job has started.

9.2.11. Mounting an ISO Image in a Template


Perform the following steps to mount an ISO image to a template's virtual DVD drive. The ISO image must
be stored on a Network File System (NFS) share that is accessible from the Oracle VDI Manager host.

You can perform this action on Oracle VM VirtualBox and Microsoft Hyper-V templates.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Template tab and select the template you want to work with.

3. In the More Actions list, select Mount ISO Image.

The Mount ISO Image window is displayed.

4. Specify the ISO image location by entering the Server and Path.

5. Click Select Folder to load the available ISO images into the list.

6. Select an ISO image from the list.

7. Click OK.

Command Line Steps

1. Obtain the ID of the template you want to work with, see Section 9.2.1, “Obtaining the ID of a
Template”.

2. Mount an ISO image using the vda template-mount-iso command.


/opt/SUNWvda/sbin/vda template-mount-iso -p \
hostname=MyNfsServer.domain,path=/path-to-iso-file templates-id

For example:
/opt/SUNWvda/sbin/vda template-mount-iso -p \
hostname=nfs.example.com,path=/home/user/iso/myDVD.iso 38

9.2.12. Unmounting an ISO Image from a Template


Perform the following steps to unmount an ISO image from a template's virtual DVD drive.

You can perform this action on Oracle VM VirtualBox and Microsoft Hyper-V templates.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

247
Reverting a Template to the Latest Revision

2. Click the Template tab and select the template you want to work with.

3. In the More Actions list, select Unmount ISO Image.

Command Line Steps

1. Obtain the ID of the template you want to work with, see Section 9.2.1, “Obtaining the ID of a
Template”.

2. Unmount an ISO image using the vda template-unmount-iso command.


/opt/SUNWvda/sbin/vda template-unmount-iso template-id

For example:
/opt/SUNWvda/sbin/vda template-unmount-iso 38

9.2.13. Reverting a Template to the Latest Revision


Perform the following steps to revert a template back to its most recent revision. The current state of the
virtual machine, and any changes made, are discarded.

You can perform this action on Oracle VM VirtualBox and Microsoft Hyper-V templates.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Template tab and select the template you want to work with.

3. In the More Actions list, select Revert.

A confirmation dialog box is displayed.

4. Click OK.

Command Line Steps

1. Obtain the ID of the template you want to work with, see Section 9.2.1, “Obtaining the ID of a
Template”.

2. Revert a template to its latest revision using the vda template-revert command.
/opt/SUNWvda/sbin/vda template-revert template-id

For example:
/opt/SUNWvda/sbin/vda template-revert 9

9.2.14. Shutting Down a Template


Perform the following steps to send the ACPI shutdown signal to the template virtual machine.

You can perform this action on Oracle VM VirtualBox and Microsoft Hyper-V templates.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Template tab and select the templates you want to work with.

248
Powering Off a Template

3. In the More Actions list, select Shut Down.

A confirmation dialog box is displayed.

4. Click OK.

Command Line Steps

1. Obtain the ID of the templates you want to work with, see Section 9.2.1, “Obtaining the ID of a
Template”.

2. Shut down the templates using the vda template-stop command.


/opt/SUNWvda/sbin/vda template-stop template1-id template2-id ...

For example:
/opt/SUNWvda/sbin/vda template-stop 9 13

9.2.15. Powering Off a Template


Perform the following steps to power off the template virtual machine immediately. The template is
unregistered from the virtualization host at the same time.

You can perform this action on Oracle VM VirtualBox and Microsoft Hyper-V templates.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Template tab and select the templates you want to work with.

3. In the More Actions list, select Power Off.

A confirmation dialog box is displayed.

4. Click OK.

Command Line Steps

1. Obtain the ID of the templates you want to work with, see Section 9.2.1, “Obtaining the ID of a
Template”.

2. Power off the templates using the vda template-stop command.


/opt/SUNWvda/sbin/vda template-stop -p template1-id template2-id ...

For example:
/opt/SUNWvda/sbin/vda template-stop -p 9 13

9.2.16. Deleting a Template


Perform the following steps to remove the template and all associated revisions from Oracle VDI.

You can perform this action on Oracle VM VirtualBox and Microsoft Hyper-V templates.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

249
Managing Template Revisions

2. Click the Template tab and select the templates you want to work with.

3. In the More Actions list, select Delete.

A confirmation dialog box is displayed.

4. Click Delete.

Command Line Steps

1. Obtain the ID of the templates you want to work with, see Section 9.2.1, “Obtaining the ID of a
Template”.

2. Delete the templates using the vda template-delete command.


/opt/SUNWvda/sbin/vda template-delete template1-id template2-id ...

For example:
/opt/SUNWvda/sbin/vda template-delete 9 13

9.3. Managing Template Revisions


This section lists the available actions for managing revisions to templates, how you perform the action in
Oracle VDI Manager, and the equivalent command-line command.

9.3.1. Obtaining the ID of a Template Revision


Whenever you use the vda command to perform an action to a template revision, you must use the unique
ID of the revision rather than the name. Oracle VDI Manager only displays the name.

To obtain the ID of a revision, obtain the ID of the template (see Section 9.2.1, “Obtaining the ID of a
Template”), and then use the vda template-revisions command to list the revisions to the template.

In the following example, the revisions to template1 in the pool MyPool are listed:
/opt/SUNWvda/sbin/vda pool-templates MyPool
NAME ID MACHINE_STATE MASTER DESKTOPS
template1 2 Powered Off template1 Revision 1 3
template2 6 Powered Off template2 Revision 1 -

/opt/SUNWvda/sbin/vda template-revisions 2
NAME ID CREATION MASTER DESKTOPS
template1 Revision 1 3 9/14/12 9:13 AM Yes MyPool(3)
template1 Revision 2 4 9/19/12 9:52 AM No -
template1 Revision 3 12 9/28/12 5:58 AM No -

9.3.2. Creating a Revision


Perform the following steps to save the current state of a template as a new revision. The first revision is
created at the time of import and is made master revision. When you modify the template and create a new
revision, you must change the master revision in order for the changes to be applied to pools.

You can perform this action on Oracle VM VirtualBox and Microsoft Hyper-V templates.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

250
Making a Revision the Master Revision

2. Click the Template tab and select the template you want to work with.

3. Click the Create Revision button.

A dialog box is displayed.

4. Enter a new revision name and click OK.

The new revision appears in the template list, as a child entry of the template.

Command Line Steps

1. Obtain the ID of the template you want to work with, see Section 9.2.1, “Obtaining the ID of a
Template”.

2. Create a new revision using the vda revision-create command.


/opt/SUNWvda/sbin/vda revision-create -p template=template-id,name=revision-name

For example:
/opt/SUNWvda/sbin/vda revision-create -p template=6,name=template2 Revision 2

9.3.3. Making a Revision the Master Revision


Perform the following steps to mark a revision to be used for cloning in pools that have that template
configured for desktop cloning. When a new revision becomes master, all cloned desktops (that are not
currently in use or personally assigned) are deleted and new desktops are cloned.

You can perform this action on Oracle VM VirtualBox and Microsoft Hyper-V templates.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Template tab, expand the template and select the revision you want to work with.

3. Click the Nominate Master button.

The Nominate Master Revision window is displayed.

4. Set the date and time when the revision is to become the master.

5. (Optional) Select Log User Out to automatically log out users and reclone the desktops when the
revision becomes master.

If you do not select this option, desktops are only recloned when users log out of their desktops.

6. Click OK.

Command Line Steps

1. Obtain the ID of the revision you want to work with, see Section 9.3.1, “Obtaining the ID of a Template
Revision”.

2. Nominate a revision master using the vda revision-setprops command.


/opt/SUNWvda/sbin/vda revision-setprops -p is-master=Yes revision-id

For example:

251
Renaming a Revision

/opt/SUNWvda/sbin/vda revision-setprops -p is-master=Yes 12

9.3.4. Renaming a Revision


Perform the following steps to give a new name to an existing revision of a template.

You can perform this action on Oracle VM VirtualBox and Microsoft Hyper-V templates.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Template tab, expand the template and select the revision you want to work with.

3. Click the Rename button.

A dialog box is displayed.

4. Enter the new name for the revision and click OK.

Command Line Steps

1. Obtain the ID of the revision you want to work with, see Section 9.3.1, “Obtaining the ID of a Template
Revision”.

2. Rename an existing template revision using the vda revision-setprops command.

/opt/SUNWvda/sbin/vda revision-setprops -p name=new-name revision-id

For example:

/opt/SUNWvda/sbin/vda revision-setprops -p name='"Windows update 28 Sept"' 12

9.3.5. Copying a Revision to a New Template


Perform the following steps to turn a revision into a new template within the current pool. Use this action
to create an independent branch of any existing revision. The newly created template appears as a new
parent entry in the list of templates. A first revision is also created.

You can perform this action on Oracle VM VirtualBox and Microsoft Hyper-V templates.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Template tab, expand the template and select the revision you want to work with.

3. In the More Actions list, select Copy to Template.

A confirmation dialog box is displayed.

4. Click OK.

Command Line Steps

1. Obtain the ID of the revision you want to work with, see Section 9.3.1, “Obtaining the ID of a Template
Revision”.

252
Copying a Revision to a New Desktop

2. Copy an existing revision to a new template using the vda template-create command.
/opt/SUNWvda/sbin/vda template-create -p revision=revision-id,name=new-template-name

For example:
/opt/SUNWvda/sbin/vda template-create -p revision=12,name='"Win 7 test"'

9.3.6. Copying a Revision to a New Desktop


Perform the following steps to create a new independent desktop from the specific revision, within
the current pool. The newly created desktop appears in the Desktop tab of the pool, ready for user
assignment.

You can perform this action on Oracle VM VirtualBox and Microsoft Hyper-V templates.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Template tab, expand the template and select the revision you want to work with.

3. In the More Actions list, select Copy to Desktop.

A confirmation dialog box is displayed.

4. Click OK.

Command Line Steps

1. Obtain the ID of the revision you want to work with, see Section 9.3.1, “Obtaining the ID of a Template
Revision”.

2. Copy an existing revision to a new desktop using the vda revision-desktop command.
/opt/SUNWvda/sbin/vda revision-desktop revision-id

For example:
/opt/SUNWvda/sbin/vda revision-desktop 12

9.3.7. Cloning a Revision to a New Desktop


Perform the following steps to create a new cloned desktop from the specific revision, within the current
pool. The newly created desktop appears in the Desktop tab of the pool, ready for user assignment.

You can perform this action on Oracle VM VirtualBox and Microsoft Hyper-V templates.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Template tab, expand the template and select the revision you want to work with.

3. In the More Actions list, select Clone Desktop.

A confirmation dialog box is displayed.

4. Click OK.

253
Exporting a Revision

Command Line Steps

1. Obtain the ID of the revision you want to work with, see Section 9.3.1, “Obtaining the ID of a Template
Revision”.

2. Clone an existing revision to a new desktop using the vda revision-clone command.
/opt/SUNWvda/sbin/vda revision-clone revision-id

For example:
/opt/SUNWvda/sbin/vda revision-clone 12

9.3.8. Exporting a Revision


Perform the following steps to save the revision's virtual machine configuration file and disk image to a
location of your choice. You can then store and use this virtual machine independent of the Oracle VDI
environment.

The export consists of an .xml file containing the virtual machine properties, and a .vdi disk image file.

You can perform this action on Oracle VM VirtualBox templates.


Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Template tab, expand the template and select the revision you want to work with.

3. In the More Actions list, select Export Template.

The Export Revision window is displayed.

4. Specify the export location for the desktop by entering a target Server and Path, and a Name for the
exported desktop.

5. Click OK.

Command Line Steps

1. Obtain the ID of the revision you want to work with, see Section 9.3.1, “Obtaining the ID of a Template
Revision”.

2. Export an existing revision using the vda revision-export command.


/opt/SUNWvda/sbin/vda revision-export -p \
hostname=MyNfsServer.domain,path=/path-to-export-location revision-id

For example:
/opt/SUNWvda/sbin/vda revision-export -p \
hostname=nfs.example.com,path=/home/user/exports 12

9.3.9. Applying System Preparation to a Revision


Perform the following steps to launch the Windows Sysprep operation. Internally a clone is created from
the revision, which is subsequently started. The Windows Sysprep command is called. When system
preparation is complete, a new snapshot is taken, which will be used to clone the desktops in the pools.

You can perform this action on Oracle VM VirtualBox and Microsoft Hyper-V templates.

254
Applying a Revision for Cloning

Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Template tab, expand the template and select the revision you want to work with.

3. In the More Actions list, select System Preparation.

A confirmation dialog box is displayed.

4. Click OK.

Command Line Steps

1. Obtain the ID of the revision you want to work with, see Section 9.3.1, “Obtaining the ID of a Template
Revision”.

2. Apply system preparation to a revision using the vda revision-sysprep command.


/opt/SUNWvda/sbin/vda revision-sysprep revision-id

For example:
/opt/SUNWvda/sbin/vda revision-sysprep 37

9.3.10. Applying a Revision for Cloning


Perform the following steps to apply a specific revision for cloning in a pool. Normally, the master revision
is used.

You can perform this action on Oracle VM VirtualBox and Microsoft Hyper-V templates.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Template tab, expand the template and select the revision you want to work with.

3. In the More Actions list, select Apply for Cloning in Pool.

The Apply for Cloning window is displayed.

4. Select the pool or pools you want to apply the revision to.

5. Click OK.

9.3.11. Deleting a Revision


Perform the following steps to remove a revision, and all references to it, from Oracle VDI. For Oracle VM
VirtualBox and Hyper-V the (iSCSI) disk is deleted from the storage. For VMware you have the option to
keep the virtual machine available on vCenter.

You can perform this action on Oracle VM VirtualBox and Microsoft Hyper-V templates.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Template tab, expand the template and select the revision you want to work with.

255
Managing App-V Repositories

3. In the More Actions list, select Delete.

A confirmation dialog box is displayed.

4. Click Delete.

Command Line Steps

1. Obtain the ID of the revision you want to work with, see Section 9.3.1, “Obtaining the ID of a Template
Revision”.

2. Remove a revision using the vda revision-delete command.


/opt/SUNWvda/sbin/vda revision-delete revision-id

For example:
/opt/SUNWvda/sbin/vda revision-delete 12

9.4. Managing App-V Repositories


This section lists the available actions for managing App-V repositories, how you perform the action in
Oracle VDI Manager, and the equivalent command-line command.

9.4.1. Obtaining the ID of an App-V Repository


Whenever you use the vda command to perform an action on an App-V repository, you must use the
unique ID of the repository rather than the name. Oracle VDI Manager only displays the name.

To obtain the ID of an App-V repository, use either the vda pool-appv-templates command to list the
repositories in a pool, or the vda provider-list-appv-templates command to list the repositories
for a desktop provider.

In the following example, the App-V repositories in the pool MyPool are listed:
/opt/SUNWvda/sbin/vda pool-appv-templates MyPool
NAME ID MASTER DESKTOPS
appv1 41 appv1 Revision 2 -
appv2 53 appv2 Revision 1 10

In the following example, the App-V repositories for the desktop provider MyProvider are listed:
/opt/SUNWvda/sbin/vda provider-list-appv-templates MyProvider
NAME ID DIRECTORY
appv1 41 MyCompany
appv2 53 MyCompany

9.4.2. Obtaining the ID of a Revision to an App-V Repository


Whenever you use the vda command to perform an action on a revision to an App-V repository, you must
use the unique ID of the revision rather than the name. Oracle VDI Manager only displays the name.

To obtain the ID of a revision, obtain the ID of the App-V repository (see Section 9.4.1, “Obtaining the
ID of an App-V Repository”), and then use the vda template-appv-revisions command to list the
revisions to the repository.

In the following example, the revisions to the App-V repository appv1 are listed:
/opt/SUNWvda/sbin/vda pool-appv-templates MyPool

256
Renaming an App-V Repository

NAME ID MASTER DESKTOPS


appv1 41 appv1 Revision 2 -
appv2 53 appv2 Revision 1 10

/opt/SUNWvda/sbin/vda template-appv-revisions 41
NAME ID CREATION MASTER DESKTOPS
appv1 Revision 1 43 08/01/13 16:43 No -
appv1 Revision 2 54 09/01/13 18:35 Yes MyPool(10)

9.4.3. Renaming an App-V Repository


Perform the following steps to give an existing App-V repository a new name.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Template tab and then click App-V Repository.

3. Select an App-V repository and click the Rename button.

A dialog box is displayed.

4. Enter the new name for the App-V repository and click OK.

Command Line Steps

1. Obtain the ID of the App-V repository you want to work with, see Section 9.4.1, “Obtaining the ID of an
App-V Repository”.

2. Rename the App-V repository using the vda template-appv-setprops command.


/opt/SUNWvda/sbin/vda template-appv-setprops -p name=new-name template-id

For example:
/opt/SUNWvda/sbin/vda template-appv-setprops -p name=NewMyAppv 9

9.4.4. Applying an App-V Repository to a Pool


Perform the following steps to apply an App-V repository to one or more pools.

To apply the repository to existing used desktops, the desktops must be restarted.
Oracle VDI Manager Steps (One or More Pools)

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Template tab and then click App-V Repository.

3. Select the App-V repository and click the Use in Pool button.

The Use App-V Repository in Pool window is displayed.

4. Select the pools you want to apply the App-V repository to and click OK.

Oracle VDI Manager Steps (Single Pool Only)

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Cloning tab and select a repository in the App-V Repository list.

257
Creating a Revision to an App-V Repository

3. Click Save.

Command Line Steps

1. Obtain the ID of the App-V repository you want to work with, see Section 9.4.1, “Obtaining the ID of an
App-V Repository”.

2. Apply the App-V repository to a pool using the vda pool-setprops command.
/opt/SUNWvda/sbin/vda pool-setprops -p appv-repository=repository-id pool-name

For example:
/opt/SUNWvda/sbin/vda pool-setprops -p appv-repository=53 MyPool

9.4.5. Creating a Revision to an App-V Repository


Perform the following steps to update the App-V cache file on the staging desktop or to change the App-V
user name.

This action has no effect on existing desktops until the revision is made the master revision, see
Section 9.4.6, “Making an App-V Revision the Master Revision”.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Template tab and then click App-V Repository.

3. Select the App-V repository you want to create a new revision from and click the Create Revision
button.

4. The Create Application Repository Revision window is displayed.

5. In the Name field, enter a name for the revision.

6. In the User and Password field, enter the credentials of a user that is defined as an App-V user in
Active Directory.

The user must have access to all the available applications on the App-V Management Server. Oracle
VDI uses the specified App-V user to update the App-V cache file on the staging desktop.

7. Click OK.

Command Line Steps

1. Obtain the ID of the App-V repository you want to work with, see Section 9.4.1, “Obtaining the ID of an
App-V Repository”.

2. Create a new revision using the vda revision-appv-create command.


/opt/SUNWvda/sbin/vda revision-appv-create -p revision-name=name repository-id

For example:
/opt/SUNWvda/sbin/vda revision-appv-create -p revision-name='"MyAppv Revision 2"' 53

In the following example, the App-V user name is also specified when creating the revision to the App-V
repository:

258
Making an App-V Revision the Master Revision

/opt/SUNWvda/sbin/vda revision-appv-create -p \
revision-name='"MyAppv Revision 3"',appv-username=new-appv-user 53

9.4.6. Making an App-V Revision the Master Revision


Perform the following steps to schedule a revision to an App-V repository as the master revision so that it is
applied to pools.

When the revision becomes the master, used desktops must be restarted in order to update the App-V
cache.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Template tab and then click App-V Repository.

3. Expand the App-V repository and select a revision.

4. Click the Nominate Master button.

The Nominate Master Revision window is displayed.

5. Set the date and time when the revision is to become the master.

6. (Optional) Select Log User Out to automatically log out users and restart the desktops when the
revision becomes master.

If you do not select this option, desktops must be manually restarted in order to use the new master
revision.

7. Click OK.

Command Line Steps

1. Obtain the ID of the revision to the App-V repository you want to work with, see Section 9.4.2,
“Obtaining the ID of a Revision to an App-V Repository”.

2. Make the revision the master revision using the vda revision-appv-nominate-master
command.
/opt/SUNWvda/sbin/vda revision-appv-nominate-master revision-id

In the following example, the App-V revision is scheduled to become the master immediately and
desktops are automatically restarted:
/opt/SUNWvda/sbin/vda revision-appv-nominate-master -f 12

In the following example, the App-V revision is scheduled to become the master at a particular time and
desktops must be manually restarted:
/opt/SUNWvda/sbin/vda revision-appv-nominate-master -d 02/11/2013 -t 01:00 13

The date format is MM/dd/yyyy and the time format is HH:mm.

9.4.7. Renaming a Revision to an App-V Repository


Perform the following steps to give an existing revision to an App-V repository a new name.

259
Deleting a Revision to an App-V Repository

Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Template tab and then click App-V Repository.

3. Expand the App-V repository and select the revision you want to rename.

4. Click the Rename button.

A dialog box is displayed.

5. Enter the new name for the revision and click OK.

Command Line Steps

1. Obtain the ID of the revision to the App-V repository you want to work with, see Section 9.4.2,
“Obtaining the ID of a Revision to an App-V Repository”.

2. Rename an existing revision using the vda revision-appv-setprops command.


/opt/SUNWvda/sbin/vda revision-appv-setprops -p name=new-name revision-id

For example:
/opt/SUNWvda/sbin/vda revision-appv-setprops -p name='"Update 28 Sept"' 92

9.4.8. Deleting a Revision to an App-V Repository


Perform the following steps to delete a revision to an App-V repository.

You can only delete the latest revision and you cannot delete the master revision. To delete the master
revision, see Section 9.4.9, “Deleting an App-V Repository”.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Template tab and then click App-V Repository.

3. Expand the App-V repository and select the revision you want to delete.

4. Click Delete.

A confirmation dialog box is displayed.

5. Click OK.

Command Line Steps

1. Obtain the ID of the revision to the App-V repository you want to work with, see Section 9.4.2,
“Obtaining the ID of a Revision to an App-V Repository”.

2. Delete a revision using the vda revision-appv-delete command.


/opt/SUNWvda/sbin/vda revision-appv-delete revision-id

For example:
/opt/SUNWvda/sbin/vda revision-appv-delete 12

260
Deleting an App-V Repository

9.4.9. Deleting an App-V Repository


Perform the following steps to schedule an App-V repository and all its associated revisions for deletion.
At the scheduled time, all running desktops that use the App-V repository are shut down. Next, all the
desktops that use the App-V repository are started so that App-V can be unconfigured, and then they are
shut down again.
Oracle VDI Manager Steps

1. In Oracle VDI Manager, select Pools and then select a pool.

2. Click the Template tab and then click App-V Repository.

3. Select the App-V repository you want to delete and click the Delete button.

The Delete App-V Repository window is displayed.

4. Set the date and time when you want to delete the App-V repository.

5. (Optional) Deselect Unconfigure to leave the Windows registry settings for App-V unchanged in the
desktops.

You should only do this if you intend to use a different App-V repository with the desktops. If you do
this, the desktops that use the App-V repository are not restarted.

If the App-V repository is not used by any desktops, the deletion takes place immediately and cannot
be scheduled.

6. Click OK.

Command Line Steps

1. Obtain the ID of the App-V repository you want to work with, see Section 9.4.1, “Obtaining the ID of an
App-V Repository”.

2. Delete the App-V repository and its revisions using the vda template-appv-delete command.
/opt/SUNWvda/sbin/vda template-appv-delete repository-id

In the following example, the App-V repository is scheduled for immediate removal and desktops are
automatically unconfigured and restarted:
/opt/SUNWvda/sbin/vda template-appv-delete 9

In the following example, the App-V repository is scheduled for removal at a particular time and
desktops are not automatically unconfigured and restarted:
/opt/SUNWvda/sbin/vda template-appv-delete -u false -d 02/12/2013 -t 01:00 68

The date format is MM/dd/yyyy and the time format is HH:mm.

261
262
Chapter 10. Troubleshooting and FAQs

Table of Contents
10.1. Oracle VDI Installation and Configuration ................................................................................ 265
10.1.1. Installation on Oracle Linux Platforms Fails Due to Missing Packages ............................ 265
10.1.2. Configuration on Oracle Linux Platforms Fails When SELinux is Enabled ........................ 265
10.1.3. Oracle VDI Configuration Is Failing to Import svc_vdadb.xml .......................................... 266
10.1.4. Can I Try Out MySQL or Set up an Evaluation Oracle VDI Remote Database? ................ 266
10.1.5. Adding a Host to an Oracle VDI Center Fails With a Sun Ray Server Software
Replication Error ..................................................................................................................... 267
10.1.6. Reconfiguring Oracle VDI Fails With "Error While Configuring Database" ........................ 267
10.1.7. Oracle VDI Configuration Fails to Create Database Tables With Remote Windows
Databases That Use UTF-8 .................................................................................................... 268
10.1.8. Reverting to a Previous Release of Oracle VDI ............................................................. 268
10.2. Failover ................................................................................................................................. 272
10.2.1. Troubleshooting a Failover ........................................................................................... 272
10.2.2. After a Failover the Primary Host is Not Configured ...................................................... 275
10.3. User Directory ........................................................................................................................ 275
10.3.1. Increasing Logging to Troubleshoot User Directory Problems ......................................... 275
10.3.2. Kerberos Authentication to Active Directory Works for a While and Then Stops ............... 276
10.3.3. Can I Use PKI Instead of Kerberos for Authentication to an Active Directory? .................. 277
10.3.4. What Type of Privileged Access to the User Directory Is Required? ................................ 277
10.3.5. Can I Disable the Automatic Cleanup of Computer Objects in Active Directory? ............... 277
10.4. Oracle VM VirtualBox Desktop Provider .................................................................................. 278
10.4.1. Are all Oracle VM VirtualBox Releases Compatible With Oracle VDI? ............................. 278
10.4.2. Oracle VM VirtualBox Install Is Failing With "Postinstall Script Did Not Complete
Successfully" Errors ................................................................................................................ 278
10.4.3. There Is an Error When I Add an Oracle VM VirtualBox Host to a Desktop Provider ......... 278
10.4.4. What Are the Requirements for High Availability for Oracle VM VirtualBox? .................... 279
10.4.5. Changing the Password of the VirtualBox User ............................................................. 279
10.4.6. Adding a Sun ZFS or iSCSI Storage Fails if the VirtualBox User is Not Root ................... 281
10.4.7. Adding a Storage Fails With an "Unable to Stop Cluster" Error ....................................... 281
10.4.8. A Sun ZFS or iSCSI Storage is Shown With a Reduced Capacity .................................. 282
10.4.9. A Storage Cannot Be Removed From a Desktop Provider ............................................. 282
10.4.10. Virtualization Hosts Crash if a Storage is Shut Down ................................................... 283
10.4.11. A Critical Alarm is Displayed When Storage is Added to a Desktop Provider .................. 283
10.4.12. Provider Host is Unresponsive After Updating Oracle VM VirtualBox ............................. 283
10.4.13. Storage is Unresponsive After Updating Oracle VM VirtualBox ..................................... 283
10.4.14. Users Experience Blurry Text in Internet Explorer ....................................................... 283
10.4.15. The Time in My Oracle VM VirtualBox Desktop Is Too Slow ........................................ 284
10.4.16. I Can See My Oracle VM VirtualBox Hosted Desktop, But It Will Not Start ..................... 284
10.4.17. Why Are My Windows 7 Audio Drivers Not Automatically Installed? .............................. 285
10.5. VMware vCenter Desktop Provider ......................................................................................... 285
10.5.1. I Cannot Log into My VMware Virtual Machine .............................................................. 285
10.5.2. Users Cannot Log Into Their VMware Provided Windows desktop .................................. 285
10.5.3. Why Does My VMware Virtual Machine Have an Invalid IP Address Or Cannot Be
Pinged? .................................................................................................................................. 285
10.5.4. I Am Unable to Get a MS RDC Connection on My VMware Virtual Machine .................... 285
10.5.5. Creating a vCenter Desktop Provider Fails With "Unable to Contact VMware
VirtualCenter - Host Not Reachable at Port 443" Errors ............................................................ 286

263
10.5.6. In My VMware Desktop Pool, New Virtual Machines Are Created Automatically, But
They Are Not Made Available ................................................................................................. 286
10.5.7. The VMware Virtual Machine Cloning Process Is Not Operating As Expected .................. 286
10.5.8. VMware Windows 8 Cloning Fails ................................................................................ 287
10.5.9. The Window Displaying the VMware-Hosted Virtual Desktop Is Freezing ........................ 287
10.5.10. I Have Created a New Pool in My VMware Desktop provider and Virtual Machines Are
Not Created Automatically ....................................................................................................... 288
10.5.11. How Do I Use VMware Virtual Machines With Multiple Network Adapters? .................... 288
10.5.12. Unused VMware Virtual Machines Are Not Being Recycled .......................................... 289
10.6. Microsoft Hyper-V and RDS Desktop Providers ....................................................................... 289
10.6.1. Sessions Are Started by Oracle VDI on RDS Hosts That Do Not Participate in the
Microsoft Remote Desktop Provider. Why Is That Happening? .................................................. 289
10.6.2. Hyper-V Desktop Cloning Fails With "Cannot Reload MSiSCSI Target List" Errors ........... 289
10.6.3. Can I Enter the Farm Information for the Microsoft Remote Desktop Provider and let
Oracle VDI Detect the Individual RDS Hosts Participating in the Farm? ..................................... 290
10.6.4. Oracle VDI Is Not Able to Communicate With the Windows Server ................................. 290
10.6.5. Connection Problems between Oracle VDI and Hyper-V ................................................ 290
10.7. Desktops and Pools ............................................................................................................... 291
10.7.1. How Do I Make a Desktop Available to a User at All Times? .......................................... 291
10.7.2. Starting a Desktop Fails With "No suitable Hosts to Start a Desktop for Desktop Provider
<Name>" Errors ...................................................................................................................... 291
10.7.3. What Is the Difference Between Personal and Flexible Desktop Assignments? ................ 291
10.7.4. Oracle VDI Fast Preparation Is Failing ......................................................................... 292
10.7.5. Can I Use Wild Cards in Token Names to Represent a Group of Thin Clients in Order to
Assign These Thin Clients to a Pool? ...................................................................................... 292
10.7.6. The Audio in My Ubuntu Desktop Is Playing Too Slowly. What Should I Do? ................... 293
10.7.7. Audio Does Not Play After Changing the Audio Configuration for Oracle VM VirtualBox
Hosted Desktops in Oracle VDI Manager ................................................................................. 293
10.7.8. USB Devices Are Not Detected ................................................................................... 293
10.7.9. Smart Cards Are Not Detected When VRDP Is Used .................................................... 294
10.7.10. What Are the Differences Between MS-RDP and VRDP? ............................................ 294
10.7.11. Cloning Fails if the Sysprep Timezone Setting Does not Match the Host Timezone ........ 294
10.7.12. Checking the VirtualBox Guest Additions Version ........................................................ 294
10.7.13. Starting A Desktop Fails With an "Error Getting State" Message ................................... 295
10.7.14. Creating an App-V Repository or Revision Takes a Long Time ..................................... 295
10.7.15. Creating or Updating an App-V Repository Fails With a "Failed to Refresh App-V
Cache" Message .................................................................................................................... 296
10.7.16. Creating or Updating an App-V Repository Fails With a "Failed to Login User"
Message ................................................................................................................................. 297
10.7.17. Creating an App-V Repository Fails Due to Low Disk Space ........................................ 297
10.7.18. Creating an App-V Repository Revision Fails With "An Internal Error Occurred"
Message ................................................................................................................................. 298
10.8. Logging In and Accessing Desktops ....................................................................................... 298
10.8.1. Users Cannot Access Their Desktops .......................................................................... 298
10.8.2. A User Can Log in But Their Desktop is Not Responding .............................................. 299
10.8.3. Error - "Currently There Is No Desktop Available Or Assigned to You" ............................ 299
10.8.4. The Sun Ray Client Is Cycling and Cannot Connect to a Virtual Machine ........................ 301
10.8.5. Users Cannot Log in to Ubuntu 8.04 Desktops Because the Network Is Not Enabled ....... 301
10.8.6. Hotdesking Redirect Does Not Work With Windows XP Professional and Microsoft
RDP ....................................................................................................................................... 301
10.8.7. The Trust Relationship Between a Windows Desktop and the Domain Controller Fails ..... 302
10.9. Administration Tools ............................................................................................................... 303
10.9.1. I Cannot Log in to Oracle VDI Manager ........................................................................ 303
10.9.2. I Cannot Log in to Oracle VDI Manager Running on Oracle Solaris 11 Using Firefox ........ 303

264
Oracle VDI Installation and Configuration

10.9.3. I Get a Blank Screen After Successfully Logging in to Oracle VDI Manager ..................... 303
10.9.4. Error - "You Have Been Logged out Because a Consistent Response Could Not Be
Guaranteed" ........................................................................................................................... 304
10.9.5. How Can I Change the Password of an Oracle VDI Host? ............................................. 304
10.9.6. How Do I Change the Password of a Remote MySQL Database? .................................. 304
10.9.7. Does the MySQL Database Store All Sun Ray Software Configuration? .......................... 304
10.9.8. The vda Command Reports That Oracle VDI Is Not Running But Other Commands Say
It Is ........................................................................................................................................ 305
10.9.9. Users Do Not Show Up in Users and Groups in Oracle VDI Manager ............................. 305
10.9.10. Is There a Way to Modify the Cacao Logging Behavior So That a Long History Can Be
Maintained? ............................................................................................................................ 305
10.9.11. Jobs Do Not Finish Even After You Cancel Them with Oracle VDI Manager .................. 305
10.9.12. Can I Adjust the Logging Level for the Oracle VDI Logs? ............................................. 305
10.9.13. How Do I Log in to the Embedded MySQL Server Database? ...................................... 305
10.10. Oracle VDI ........................................................................................................................... 306
10.10.1. Oracle VDI Hangs Intermittently When Running on x2270 Hardware ............................. 306
10.10.2. The System Is Not Reacting as Expected ................................................................... 306
10.10.3. Which Service Owns the Oracle VDI Daemon Job? ..................................................... 306
10.10.4. How Do I Configure DHCP in Oracle VDI? ................................................................. 307

10.1. Oracle VDI Installation and Configuration


10.1.1. Installation on Oracle Linux Platforms Fails Due to Missing Packages
When you install Oracle VDI on Oracle Linux platforms, the installation script checks whether the required
packages are installed on the system. If any packages are missing, Oracle VDI uses the yum command
to download and install them. The installation fails if the missing packages cannot be installed, and a
message is displayed that lists the missing packages.

The required packages might not be able to be downloaded because no repositories are configured for
yum, or if there are other problems, for example incorrect proxy configuration or network connectivity
issues.

To resolve the installation problem, ensure that yum is configured properly and is working. Then install
Oracle VDI again.

If you want to install the missing required packages manually, the packages are listed in the log file for the
failed installation in /var/log/vda-install.timestamp.log.

10.1.2. Configuration on Oracle Linux Platforms Fails When SELinux is


Enabled
On Oracle Linux platforms where SELinux is enabled (SELinux status is Enforcing or Permissive ),
Oracle VDI installs correctly but configuration fails. When the configuration fails, you might see messages
such as:

• RDP Broker cannot be enabled

• Common Agent Container (vda) cannot start

The message also lists a log file for the configuration failure, which might provide more information about
the problem.

For Oracle VDI configuration to succeed, SELinux must be disabled. Use either the sestatus or the
getenforce command to check the current SELinux status.

265
Oracle VDI Configuration Is Failing to Import svc_vdadb.xml

To resolve the problem:

1. Disable SELinux.

Edit the /etc/selinux/config file and change the SELINUX setting to SELINUX=disabled.

2. Reboot the host to apply the SELinux configuration change.

After the reboot, use either the sestatus or the getenforce command to confirm that the
configuration change has been applied.

3. Unconfigure Oracle VDI.

You must unconfigure before you can configure Oracle VDI again.
# /opt/SUNWvda/sbin/vda-config -u

4. Configure Oracle VDI.


# /opt/SUNWvda/sbin/vda-config

10.1.3. Oracle VDI Configuration Is Failing to Import svc_vdadb.xml


vda-config is failing to import svc_vdadb.xml because TEMP/application/database/
vdadb does not get deleted. This is most commonly seen if a terminal is killed during uninstallation or
configuration of Oracle VDI (vda-config/install -u), when the uninstallation/unconfiguration is run
from the same Sun Ray session.

Workaround after getting the error:

1. To recover the SVC repository's snapshot, run the following.


# /lib/svc/bin/restore_repository

a. When prompted with Enter Response [boot], select manifest_import instead of the
default, boot.

b. Choose the correct snapshot (manifest_import-200904??_??? - the time of backup will be in


DDMMYY format).

c. After the system reboots, check to see that svc:/TEMP/application/database/


vdadb:default has been removed.

2. Run the Oracle VDI configuration as usual.

10.1.4. Can I Try Out MySQL or Set up an Evaluation Oracle VDI Remote
Database?
Yes! The MySQL Sandbox is a quick and easy way to setup MySQL or try out Oracle VDI remote
database setup.

You can find it here: https://launchpad.net/mysql-sandbox.

• Download and extract it to a temporary folder.

• Download the MySQL release of your choice from http://dev.mysql.com/downloads.

To install a simple MySQL server just execute:

266
Adding a Host to an Oracle VDI Center Fails With a Sun Ray Server Software Replication Error

mysql-sandbox-path/make_sandbox path-to-your-mysql.tar.gz

On Oracle Solaris platforms, you might have to add /usr/sfw/bin to your path in order to make
mysql_sandbox work.

More documentation about MySQL Sandbox can be found at: https://launchpad.net/mysql-sandbox

10.1.5. Adding a Host to an Oracle VDI Center Fails With a Sun Ray Server
Software Replication Error
When you add a Host to an Oracle VDI Center, it might fail with the following error message:
Sun Ray Server Software Configuration
+ Configuring Sun Ray Server Software...

Error: There was an error configuring Sun Ray Server Software replication

See the log file '/var/log/vda-config.2012_04_05_16:12:43.log' for additional information.

If the log file shown in the error message contains a Signature mismatch - check configuration
message, it is possible that the Sun Ray group signature has been changed using the Sun Ray
administration tools. These tools do not update Oracle VDI. See Section 8.11.9, “Synchronizing the Sun
Ray Group Signature and Data Store Password” for details of how to synchronize the group signature.

10.1.6. Reconfiguring Oracle VDI Fails With "Error While Configuring


Database"
When you reconfigure Oracle VDI on a host, the configuration can fail with an Error While
Configuring Database message and a reference to a log file for additional information.

On an Oracle VDI master database host, the log file typically contains the following:
MySQL Database Server Configuration
+ Initializing database...
...
/opt/SUNWvda/mysql/bin/mysqld: File './mysql-bin.index' not found (Errcode: 13)
110630 23:59:59 [ERROR] Aborting

110630 23:59:59 [Note] /opt/SUNWvda/mysql/bin/mysqld: Shutdown complete


...
Error: Error while configuring database.

On other Oracle VDI hosts, the log file typically contains the following:
MySQL Database Slave Configuration
...
+ Initializing database...
110630 23:59:59 [ERROR] Fatal error: Can't change to run as user 'vdadb' ;
Please check that the user exists!
110630 23:59:59 [ERROR] Aborting
110630 23:59:59 [Note] /opt/SUNWvda/mysql/bin/mysqld: Shutdown complete
...
Error: Error while configuring database.

The problem is caused by the presence of a /var/opt/SUNWvda/mysql directory, which has data from a
previous Oracle VDI configuration.

To resolve this problem:

1. Log in as root on the Oracle VDI host.

267
Oracle VDI Configuration Fails to Create Database Tables With Remote Windows Databases That Use UTF-8

2. Unconfigure Oracle VDI on the host.


# /opt/SUNWvda/sbin/vda-config -u

3. Remove the directory /var/opt/SUNWvda/mysql.

4. Configure Oracle VDI on the host.


# /opt/SUNWvda/sbin/vda-config

10.1.7. Oracle VDI Configuration Fails to Create Database Tables With Remote
Windows Databases That Use UTF-8
On Windows platforms, MySQL limits key sizes to 767 bytes. Due to this limit, the Oracle VDI configuration
process fails when using a remote MySQL database on Windows platforms that have UTF-8 enabled.

There are two possible workarounds for this issue.

1. Modify the /etc/opt/SUNWvda/vda-schema-create.sql file on your primary Oracle VDI host and
configure Oracle VDI software again.

Change the line:


UNIQUE INDEX distinguished_name (`distinguished_name` ASC, `ud_id` ASC) ,

to:
UNIQUE INDEX distinguished_name (`distinguished_name`(250) ASC, `ud_id` ASC) ,

This workaround might cause problems assigning users to pools or desktops if the distinguished name
(DN) of the user is longer than 250 characters.

2. Change the character set of the MySQL database to latin1 and configure Oracle VDI again.

This workaround causes problems logging in users who have UTF-8 characters in their user name.

10.1.8. Reverting to a Previous Release of Oracle VDI


If a failure occurs during or just after you update an Oracle VDI Center to the latest release and you are
unable to recover, it is best to revert to the previous version of Oracle VDI by restoring all the hosts in the
Oracle VDI Center from your own backups.

If you do not have backups of your hosts, it is possible to revert to the previous version of Oracle VDI
manually by reconfiguring the hosts and restoring the Oracle VDI database.
Steps

1. Ensure the database backup is copied to a separate host.

Unless you specified a file and location when you created the database backup, the backup job creates
a zip file, /var/tmp/vdi-backup-timestamp.zip.

If you cannot locate the backup zip file, a copy is included with the preserved configuration on each
host in the Oracle VDI Center. The preserved configuration is stored in another zip file, /var/opt/
SUNWvda/preserve/vda-preserve.zip. Unzip this file and copy the db-backup.zip file.

If you do not have a backup of the database, you cannot revert to the previous version. Do no attempt
to create a backup now.

268
Reverting to a Previous Release of Oracle VDI

2. Ensure the preserved configuration zip file for each host is copied to a separate host.

The preserved configuration zip file is /var/opt/SUNWvda/preserve/vda-preserve.zip.

3. If you need to reinstall the previous version of Oracle VDI on a host, download the Oracle VDI software
archive to a temporary location on the host.

4. Revert Oracle VDI to the previous version on each host in the Oracle VDI Center.

Once you begin this step, do not use Oracle VDI Manager or the vda command until the revert process
has been finished on all hosts in the Oracle VDI Center.

Start with the primary host in the Oracle VDI Center. Once you have reverted the primary, you can
revert the secondaries. Only revert one secondary host at a time.

The steps required to revert a host depend on the stage you reached when you updated the host to the
latest version. Select one of the following and perform the required steps to revert the host:

• Existing Oracle VDI configuration preserved but latest release not installed

• Latest release installed but not configured

• Latest release installed and configured

5. Restore the Oracle VDI database from the backup.

See Section 8.7.2, “Restoring the Oracle VDI Database” for details.

Existing Oracle VDI Configuration Preserved But Latest Release Not Installed
1. Log in as root on the host.

2. Move the /var/opt/SUNWvda/preserve directory to a safe location.

If you backed up the vda-preserve.zip file to a separate host when you started the update, you can
delete the /var/opt/SUNWvda/preserve directory.

3. Stop the Oracle VDI database service.

Perform this step only if you are using the Oracle VDI embedded MySQL database.
Oracle Solaris Platforms

a. Stop the Oracle VDI database service.


# svcadm disable vdadb

b. Check that the database service is stopped.


# svcs svc:/application/database/vdadb:default

Oracle Linux Platforms

a. Stop the Oracle VDI database service.


# /opt/SUNWvda/lib/vda-db-service stop

b. Check that the database service is stopped.


# /opt/SUNWvda/lib/vda-db-service status

269
Reverting to a Previous Release of Oracle VDI

4. Unconfigure Oracle VDI.


# /opt/SUNWvda/sbin/vda-config -u

It may take longer than normal to unconfigure the host.

5. Delete the /var/opt/SUNWvda/cluster.map file.

6. Configure Oracle VDI.


# /opt/SUNWvda/sbin/vda-config

When you configure a host, ensure you do not change the topology of the Oracle VDI Center. The
primary and secondary hosts must retain their original roles.

7. Restart the Oracle VDI service.

Run the following command as root:


# /opt/SUNWvda/sbin/vda-service restart

Latest Oracle VDI Release Installed But Not Configured


1. Log in as root on the host.

2. Move the /var/opt/SUNWvda/preserve directory to a safe location.

If you backed up the vda-preserve.zip file to a separate host when you started the update, you can
delete the /var/opt/SUNWvda/preserve directory.

3. Uninstall the latest release of Oracle VDI.


# /opt/SUNWvda/sbin/vda-install -u

4. Reboot the host.

5. If required, downgrade the operating system to the version of the operating system that is supported in
the previous release of Oracle VDI.

6. Install the previous release of Oracle VDI.

Unzip the Oracle VDI software archive for the previous release and change working directory to the
extracted directory.
# ./vda-install

At the end of the installation, you are prompted to configure Oracle VDI. Do not configure at this
stage. Type n and press the Return key.

7. Delete the Oracle VDI Center configuration files.

If the following files exist, delete them:

• /var/opt/SUNWvda/cluster.map

• /etc/opt/SUNWvda/.truststore

• /etc/opt/SUNWvda/.keystore

8. Delete the vda instance from Cacao.

270
Reverting to a Previous Release of Oracle VDI

To check if the vda instance still exists, run the following command.
# cacaoadm list-instances

On Oracle Linux platforms, the cacaoadm command is in /opt/sun/cacao2/bin.

If the vda instance is listed, run the following commands:


# cacaoadm stop -f -i vda
# cacaoadm delete-instance -i vda

9. Configure Oracle VDI.


# /opt/SUNWvda/sbin/vda-config

When you configure a host, ensure you do not change the topology of the Oracle VDI Center. The
primary and secondary hosts must retain their original roles.

10. Restart the Oracle VDI service.

Run the following command as root:


# /opt/SUNWvda/sbin/vda-service restart

Latest Oracle VDI Release Installed and Configured


1. Log in as root on the host.

2. Move the /var/opt/SUNWvda/preserve directory to a safe location.

If you backed up the vda-preserve.zip file to a separate host when you started the update, you can
delete the /var/opt/SUNWvda/preserve directory.

3. Unconfigure and uninstall the latest release of Oracle VDI.


# /opt/SUNWvda/sbin/vda-install -u

When prompted, type Y to unconfigure the host.

4. Reboot the host.

5. If required, downgrade the operating system to the version of the operating system that is supported in
the previous release of Oracle VDI.

6. Install the previous release of Oracle VDI.

Unzip the Oracle VDI software archive for the previous release and change working directory to the
extracted directory.
# ./vda-install

At the end of the installation, you are prompted to configure Oracle VDI. Do not configure at this
stage. Type n and press the Return key.

7. Delete the Oracle VDI Center configuration files.

If the following files exist, delete them:

• /var/opt/SUNWvda/cluster.map

271
Failover

• /etc/opt/SUNWvda/.truststore

• /etc/opt/SUNWvda/.keystore

8. Check if the vda instance still exists in Cacao.


# cacaoadm list-instances

On Oracle Linux platforms, the cacaoadm command is in /opt/sun/cacao2/bin.

If the vda instance is listed, run the following commands:


# cacaoadm stop -f -i vda
# cacaoadm delete-instance -i vda

9. Configure Oracle VDI.


# /opt/SUNWvda/sbin/vda-config

When you configure a host, ensure you do not change the topology of the Oracle VDI Center. The
primary and secondary hosts must retain their original roles.

10. Restart the Oracle VDI service.

Run the following command as root:


# /opt/SUNWvda/sbin/vda-service restart

10.2. Failover
10.2.1. Troubleshooting a Failover
A failover is triggered when the Oracle VDI service on the database replication host fails to access the
database on the master database host. If the Oracle VDI Center contains more than two hosts, the
replication database host must also be able to contact one other host and that host must also report that it
failed to access the master database.

Warning

In the event of an issue after a failover:

• Do not reboot a host, especially the master database host, in an attempt to


resolve the issue.

• Do not use the vda-config command to add or remove unresponsive hosts


from the Oracle VDI Center.

After a failover, first check the status of the Oracle VDI Center. Run the following command as root on
every host:
# /opt/SUNWvda/sbin/vda/vda-center status

Check the following:

• Do all hosts agree on the master database host and replication database host?

This is shown in the Service column in the output of the vda-center status command.

272
Troubleshooting a Failover

• Do all hosts agree on the status of the database service?

This is shown in the Service Status column in the output of the vda-center status command.

• Is any host shown with a host status that is anything other than Up?

This is shown in the Host Status column in the output of the vda-center status command.

See Section 8.5.1, “Checking the Status of the Oracle VDI Center” for a description of the possible host
statuses.

If there are problems with the database service or inconsistencies between the hosts, identify all the hosts
with reported roles in the Oracle VDI Center. Run the following command on every host:
# /opt/SUNWvda/sbin/vda-center getprops \
-p db.master.host,db.replication.host,srs.primary.host

See Section 8.11.1, “Identifying Hosts With a Role in an Oracle VDI Center” for more details.

Use the following information to determine the action that needs to be taken.

Normal Failover
After a normal failover, the original master database host is still the Sun Ray primary server, but it now runs
the replication database.

You might want to establish a single primary Oracle VDI host again by performing one of the following
actions:

• Move the Sun Ray primary server to the same host as the new master database host, see
Section 8.11.8, “Changing the Sun Ray Primary Server”.

• Move the master database back to the original master database host, see Section 8.11.3, “Changing the
Master Database Host”.

If the failure of the original master database host is permanent, or is taking a long time to resolve, perform
the following steps:

1. Change the Sun Ray primary server.

Verify that the host is still configured as the Sun Ray primary server, by running the following command
as root:
# /opt/SUNWvda/sbin/vda-center getprops -p srs.primary.host

If the host is the Sun Ray primary server, configure another host as the Sun Ray primary server, see
Section 8.11.8, “Changing the Sun Ray Primary Server”.

2. Change the replication database host.

Configure another host to run the replication database so that database high availability is restored, see
Section 8.11.4, “Changing the Replication Database Host”.

3. Restart the Oracle VDI service on the original master database host.

Run the following command as root:


# /opt/SUNWvda/sbin/vda-service restart

273
Troubleshooting a Failover

4. If the problem persists, remove the host from the Oracle VDI Center.

See Section 8.11.7, “Removing an Unresponsive Host from an Oracle VDI Center”.

Disagreement About the Master Database Host


After a failover, more than one host might be identified as the master database host. If only one of the
hosts reports the master database service as Up, select that host. If the master database service is Up on
multiple hosts, select either the master database host that had the best network connectivity during the
failover, or the host that is reported as the master database host by the majority of the other hosts in the
Oracle VDI Center.

Restart the Oracle VDI service on each host that does not report the selected host as the master database
host, by running the following command as root:
# /opt/SUNWvda/sbin/vda-service restart

Only restart the Oracle VDI service on one host at a time, and wait until the host status is Up before
restarting the Oracle VDI service on another host.

No Replication Database or Disagreement About the Replication Host


After a failover, if the replication database is not configured, or the replication database host is unavailable,
or there is disagreement about the replication database host, perform the following steps:

1. Clear the replication database host.

Run the following command as root:


# /opt/SUNWvda/sbin/vda-center setprops -p db.replication.host=""

2. Reconfigure the replication database host.

Run the following command as root:


# /opt/SUNWvda/sbin/vda-center setprops -p db.replication.host=host

No Database At All
In rare circumstances after a failover, the Oracle VDI Center might report there is no master or replication
database.

Whenever a failover occurs, Oracle VDI creates an emergency backup of the database in /var/opt/
SUNWvda/vdadump.zip.

You can use this backup to restore the database, see Section 8.7.2, “Restoring the Oracle VDI Database”
for details.

Hosts With No Role in the Oracle VDI Center


If the host has no reported role in the Oracle VDI Center and the host status is not Up, restart the Oracle
VDI service on the host, by running the following command as root:
# /opt/SUNWvda/sbin/vda-service restart

Only restart the Oracle VDI service on one host at a time, and wait until the host status is Up before
restarting the Oracle VDI service on another host.

274
After a Failover the Primary Host is Not Configured

If problems persist, remove the host from the Oracle VDI Center, see Section 8.11.7, “Removing an
Unresponsive Host from an Oracle VDI Center”.

10.2.2. After a Failover the Primary Host is Not Configured


Oracle VDI uses several properties to identify a host that has a primary role in an Oracle VDI Center. If you
use the vda.primary.host property to monitor the status of your Oracle VDI Center, you might find that
this property is empty after a failover.

When a failover occurs, the host that runs the replication database is promoted to run the master database.
However, by default the Sun Ray primary server is not changed. If the master database host and the Sun
Ray primary server are not the same, the vda.primary.host property is not set.

To reset the vda.primary.host property, perform the following steps:

1. Identify the master database host and the Sun Ray primary server in an Oracle VDI Center.

Run the following command as root:


# /opt/SUNWvda/sbin/vda-center getprops -p db.master.host,srs.primary.host

2. Reconfigure the Oracle VDI Center so that the master database host and the Sun Ray primary host are
the same.

See either Section 8.11.3, “Changing the Master Database Host” or Section 8.11.8, “Changing the Sun
Ray Primary Server”.

10.3. User Directory


10.3.1. Increasing Logging to Troubleshoot User Directory Problems
You can increase the detail that is shown for user directories in the Common Agent Container (Cacao)
log files to assist with troubleshooting. Additional debug logging can also be enabled for troubleshooting
Kerberos connections to Active Directory.
Increasing User Directory Logging

1. Log in as root on the Oracle VDI host.

2. Stop the Oracle VDI service.


# /opt/SUNWvda/sbin/vda-service stop

3. (All user directory types) Enable additional logging for user directories.
# cacaoadm set-filter -i vda -p com.sun.directoryservices=ALL
# cacaoadm set-filter -i vda -p com.sun.sgd=ALL

On Linux platforms, the cacaoadm command is in /opt/sun/cacao2/bin.

4. (Optional) Enable additional debug logging for Kerberos.

Kerberos debug logging only applies if the user directory type is Active Directory. As Kerberos debug
logging is verbose, you should only enable Kerberos logging if you are asked to by Oracle Support, or if
you are particularly interested in Kerberos-related activity.

a. Obtain the current Java settings for the VDA Cacao instance.

275
Kerberos Authentication to Active Directory Works for a While and Then Stops

# cacaoadm get-param -i vda java-flags --value

b. Make a note of the settings or copy them to a text file so that you can reset them later.

c. Edit the Java settings for the VDA Cacao instance including the original settings and the kerberos
debug setting.
# cacaoadm set-param -i vda java-flags=original-Java-settings -Dsun.security.krb5.debug=true

5. Start the Oracle VDI service.


# /opt/SUNWvda/sbin/vda-service start

6. Recreate the problem and check the Cacao log file, see Section 8.5.4, “Checking the Oracle VDI Log
Files”.

Both the user directory logging and the Kerberos logging are output in the Cacao logs.

When you have obtained the information you need, reset the logging to the defaults.

Resetting User Directory Logging to the Defaults

1. Log in as root on the Oracle VDI host.

2. Stop the Oracle VDI service.


# /opt/SUNWvda/sbin/vda-service stop

3. (All user directory types) Disable additional logging for user directories.
# cacaoadm set-filter -i vda -p com.sun.directoryservices=NULL
# cacaoadm set-filter -i vda -p com.sun.sgd=NULL

On Linux platforms, the cacaoadm command is in /opt/sun/cacao2/bin.

4. (Optional) Disable additional debug logging for Kerberos.

Only perform this step if you enabled the additional debug logging for Kerberos.

Reset the Java settings for the VDA Cacao instance to their original settings.
# cacaoadm set-param -i vda java-flags=original-Java-settings

5. Start the Oracle VDI service.


# /opt/SUNWvda/sbin/vda-service start

10.3.2. Kerberos Authentication to Active Directory Works for a While and


Then Stops
A temporary solution for this issue is to run the following on each Oracle VDI host:
kinit -V [email protected]

This might be:

1. A time synchronization issue.

Make sure the domain controllers and the Oracle VDI servers are connecting to the same NTP server.

276
Can I Use PKI Instead of Kerberos for Authentication to an Active Directory?

2. A Kerberos configuration issue.

Make sure the Kerberos configuration file (krb5.conf) contains the [libdefaults] section and
sets the default_realm as in the following example:
[libdefaults]
default_realm = MY.COMPANY.COM

[realms]
MY.COMPANY.COM = {
kdc = my.windows.host
}

[domain_realm]
.my.company.com = MY.COMPANY.COM
my.company.com = MY.COMPANY.COM

10.3.3. Can I Use PKI Instead of Kerberos for Authentication to an Active


Directory?
You can certainly use PKI authentication and it should offer the same features (including removing
computers from the Active Directory) as Kerberos authentication.

10.3.4. What Type of Privileged Access to the User Directory Is Required?


For Active Directory (whether using Kerberos or LDAP):

• Read access to all users and groups.

This is required. Oracle VDI needs to able to look up users and resolve the desktops assigned to the
users that log in. If Active Directory contains a single domain, this is typically the CN=Users container.

• Write access to the computers container.

This is optional. Active Directory automatically creates a computer entry when a Windows desktop joins
the domain configured in System Preparation. Oracle VDI deletes the computer entry when a Windows
desktop is deleted. If Oracle VDI does not have write access, computer entries cannot be deleted from
Active Directory. Typically the computer container is OU=Computers.

• Read access to the CN=Configuration container.

This is optional. Oracle VDI uses this to populate the Domain field on the Desktop Login screen with
the domain or a list of subdomains. If Oracle VDI does not have read access, the Domain field on the
Desktop Login screen is empty.

For all other user directory types, read access to the configured base DN is required. Oracle VDI needs to
able to look up users and resolve the desktops assigned to the users that log in.

10.3.5. Can I Disable the Automatic Cleanup of Computer Objects in Active


Directory?
When you use Active Directory, and a Windows desktop joins a domain, a new computer object is created
in Active Directory. Oracle VDI automatically removes the computer object from Active Directory whenever
a desktop is deleted.

You can disable this behavior by configuring the domain-cleanup property for a pool, as follows:
/opt/SUNWvda/sbin/vda pool-setprops -p domain-cleanup=disabled pool

277
Oracle VM VirtualBox Desktop Provider

10.4. Oracle VM VirtualBox Desktop Provider


10.4.1. Are all Oracle VM VirtualBox Releases Compatible With Oracle VDI?
No. See Section 4.1.2, “System Requirements for Oracle VM VirtualBox” for details of what is supported.

If you want to create virtual machine templates locally, for example on a laptop, make sure to use the
same release as you have installed on your Oracle VM VirtualBox desktop provider host. This ensures
that you install the correct version of the guest additions, and avoids incompatibility problems with the XML
configuration files for your virtual machines, which can prevent them from being imported into Oracle VDI.

10.4.2. Oracle VM VirtualBox Install Is Failing With "Postinstall Script Did Not
Complete Successfully" Errors
If you are installing Oracle VM VirtualBox, you may get the following error in the console:
## Executing postinstall script.
Configuring VirtualBox kernel modules...
VirtualBox Host kernel module unloaded.
devfsadm: driver failed to attach: vboxdrv
Warning: Driver (vboxdrv) successfully added to system but failed to attach
can't load module: No such device or address
## Aborting due to attach failure.
## Configuration failed. Aborting installation.
pkgadd: ERROR: postinstall script did not complete successfully

Installation of <SUNWvbox> partially failed.

This error is typically seen when previous releases of VirtualBox are still installed. Try removing VirtualBox
(./vb-install -u). Then verify that the following packages have been removed:

• SUNWvbox

• SUNWvboxkern

Reboot, then try the installation again.

10.4.3. There Is an Error When I Add an Oracle VM VirtualBox Host to a


Desktop Provider
Errors can occur when you add an Oracle VM VirtualBox host to a desktop provider. In Oracle VDI
Manager, error alerts might be displayed on either the Specify Host or Verify Certificate steps of the
configuration wizard.

Specify Host Step


After you enter the host details, the following actions happen:

• The operating system of the host is verified.

• The DNS name of the host (if a DNS name is used) is resolved.

• The host's SSL and SSH certificates are retrieved.

If you see the message "The operating system does not match because all hosts should
run the same operating system.", it means you cannot add the host to the desktop provider. Due
to the differences in the availability of the storage types and the way they are used, the virtualization hosts

278
What Are the Requirements for High Availability for Oracle VM VirtualBox?

for an Oracle VM VirtualBox desktop provider must use the same operating system. If you have a mixture
of Oracle Solaris and Oracle Linux virtualization hosts, you must create separate desktop providers for
them.

An error can be caused by DNS errors, either in resolving the host name or in contacting the host. If this
happens, check the following:

• Check that all the information you entered is correct, including SSH and SSL ports.

You specify the SSL port when you install VirtualBox.

• Check that the Oracle VDI host can resolve the host by using the nslookup hostname command on
the Oracle VDI host.

• Check that the host is running and that the SSH service has started:
# svcs svc:/network/ssh:default

The service should be online. If a service is marked as maintenance, try resetting it using:
# svcadm clear <service_frmi>

Verify Certificate Step


An error at the Verify Certificate step, indicates that the VirtualBox web service cannot be contacted or
might not be running.

Check that the VirtualBox web service is online, using the following command:
# svcs svc:/application/virtualbox/webservice:default

If the service is in maintenance mode, use the following command to clear the service and check the status
again:
# svcadm clear svc:/application/virtualbox/webservice:default

If the service is offline, use the following command to enable:


# svcadm enable svc:/application/virtualbox/webservice:default

10.4.4. What Are the Requirements for High Availability for Oracle VM
VirtualBox?
High Availability for an Oracle VM VirtualBox virtualization platform would require at least two VirtualBox
hosts. In the event that one VirtualBox server goes down, all existing desktop sessions would be
terminated. Then the terminated sessions would be restarted on the remaining VirtualBox servers as they
are requested by users, as long as there is sufficient memory available.

High Availability for Oracle VDI, Sun Ray Software, and MySQL requires two Oracle VDI hosts.
See Section 2.1, “About Oracle VDI Centers and Hosts” for detailed information about the hardware
configurations that support this type of redundancy.

10.4.5. Changing the Password of the VirtualBox User


When you add an Oracle VM VirtualBox host to a desktop provider, you provide the user name and
password of the user that runs VirtualBox on the host. These credentials are the same credentials provided
when VirtualBox was installed. Oracle VDI uses the credentials to access the VirtualBox host using SSH
and to access the VirtualBox web service.

279
Changing the Password of the VirtualBox User

Before you change the password for the VirtualBox user, it is best to enable maintenance mode for the
VirtualBox host to minimize disruption to users. See Section 8.9.1, “Oracle VM VirtualBox and Microsoft
Hyper-V Host Maintenance”.

To change the password of the VirtualBox user, perform all of the following steps:

1. Change the password for the UNIX user.

a. Log in as root or the VirtualBox user on the VirtualBox host.

b. Change the VirtualBox user's password.

Follow your organization's standard policy for changing passwords.

For example, to use the passwd command:


# /usr/bin/passwd
passwd: Changing password for root
New Password:
Re-enter new Password:
passwd: password successfully changed for root

2. Change the password for the VirtualBox web service user.

a. Log in as root on the VirtualBox host.

b. Generate the password hash of the new password.

You can use the VirtualBox command line to generate the hash.
# VBoxManage internalcommands passwordhash password

For example:
# VBoxManage internalcommands passwordhash T0pSecr3t
Password hash: bfd5bde76fcee3c2e6fc583cd0541569a1d35d551c19d99b36a0ee7628b4b114

c. Change the password hash for the web service user.

The VirtualBox web service uses the VBoxAuthSimple library to authenticate web service users.
The hashed password is stored in the VirtualBox global extra data items.
# VBoxManage setextradata global VBoxAuthSimple/users/User PasswordHash

For example:
# VBoxManage setextradata global VBoxAuthSimple/users/root \
bfd5bde76fcee3c2e6fc583cd0541569a1d35d551c19d99b36a0ee7628b4b114

d. Verify that the stored password hash for the VirtualBox web service user is correct.
# VBoxManage getextradata global VBoxAuthSimple/users/User

For example:
# VBoxManage getextradata global VBoxAuthSimple/users/root
Value: bfd5bde76fcee3c2e6fc583cd0541569a1d35d551c19d99b36a0ee7628b4b114

3. Change the password for the VirtualBox host in Oracle VDI.

a. In Oracle VDI Manager, go to Desktop Providers.

280
Adding a Sun ZFS or iSCSI Storage Fails if the VirtualBox User is Not Root

b. Select the desktop provider that contains the VirtualBox host.

c. Go to the Host tab, select the host and click Edit.

d. In the Password field, enter the new password and click Next to confirm the changed details.

Alternatively, use the vda provider-host-setprops command to change the password.

10.4.6. Adding a Sun ZFS or iSCSI Storage Fails if the VirtualBox User is Not
Root
When you install VirtualBox, you specify the user that runs VirtualBox on the host. On Oracle Linux
platforms, if you do not specify root as the VirtualBox user, you cannot add a Sun ZFS or iSCSI storage to
the desktop provider.

The Cacao log messages show errors with executing the iscsiadm command, for example:
com.sun.vda.service.api.ServiceException: Error executing command
'iscsiadm -m node -T iqn.1986-03.com.sun:02:ca4afc97-4ffc-67ba-bac6-e8992567cf34
-p 191.168.1.100:3260 -o new' on host '192.168.1.100': iscsiadm: Maybe you are not root?

On Oracle Linux platforms, if you want to use Sun ZFS or iSCSI storage, the VirtualBox user must be root.

10.4.7. Adding a Storage Fails With an "Unable to Stop Cluster" Error


Problem: When you first add an iSCSI or Sun ZFS storage to an Oracle Linux VirtualBox desktop provider,
it can fail with an Unable to stop cluster as heartbeat region still active error. The
problem is caused by a failure to stop a running Oracle Cluster File System version 2 (OCFS2) cluster.

Solution: Stop OCFS2 services, disconnect the iSCSI target, and then add the storage again.

To stop OCFS2 services and disconnect the iSCSI target, perform the following steps on each
virtualization host for the desktop provider:

1. Log in as root on the virtualization host.

2. Stop the OCFS2 service.


# /etc/init.d/ocfs2 stop

This command should unmount all OCFS2 file systems and stop all OCFS2 activity.

3. Verify that the OCFS2 file system is not mounted in /vdi/mount.

Use the mount command to check if anything is mounted in that location.

If the file system is not unmounted, try to unmount it using the following command:
# umount /vdi/mount

If it is not possible to unmount the OCFS2 file system because the device is busy. Use the following
command to stop all processes running on the mount:
# fuser -k /vdi/mount

4. Stop the O2CB cluster service.


# /etc/init.d/o2cb offline
# /etc/init.d/o2cb unload

281
A Sun ZFS or iSCSI Storage is Shown With a Reduced Capacity

5. Disconnect the iSCSI target.

Use the iscsiadm -m session command to list the iSCSI targets on the host. For example:
# iscsiadm -m session
tcp: [1] 192.168.1.100:3260,1 iqn.1986-03.com.sun:vdi:j4c4iwosixizjpniicm9:y29qlvunnmdnes5jolyu

In this example, the session ID is shown in brackets [1], followed by the IP address and
port of the iSCSI server (192.168.1.100:3260), followed by the iSCSI target name
(iqn.1986-03.com.sun:vdi:j4c4iwosixizjpniicm9:y29qlvunnmdnes5jolyu).

Log out of the iSCSI target.


# iscsiadm -m node -T targetname -p ip:port --logout

For example:
# iscsiadm -m node -T iqn.1986-03.com.sun:vdi:j4c4iwosixizjpniicm9:y29qlvunnmdnes5jolyu \
-p 192.168.1.100:3260 --logout

Delete the iSCSI target.


# iscsiadm -m node -T targetname -p ip:port -o delete

For example:
# iscsiadm -m node -T iqn.1986-03.com.sun:vdi:j4c4iwosixizjpniicm9:y29qlvunnmdnes5jolyu \
-p 192.168.1.100:3260 -o delete

10.4.8. A Sun ZFS or iSCSI Storage is Shown With a Reduced Capacity


If you use either Sun ZFS storage or iSCSI storage with Oracle VM VirtualBox desktop providers on Oracle
Linux platforms, Oracle VDI can show the storage as having a reduced capacity, as follows:

• A storage that is larger than 16 terabytes (TB) is shown as having a capacity of only 16TB.

• A small-capacity storage, for example 20 gigabytes (GB), is shown having a significantly reduced
capacity, for example 15GB.

This issue is a result of using the Oracle Cluster File System version 2 (OCFS2) with the Sun ZFS or iSCSI
storage types on Oracle Linux platforms.

OCFS2 only supports partitions up to 16TB (due to the default block size of 4 kilobytes). When Oracle
VDI formats the OCFS2 partition on a storage, it restricts the partition size to 16TB to avoid configuration
errors.

For small-capacity storages, the reduction in capacity is due to the requirements of the OCFS2 file system.
The workaround is to use a bigger storage. The storage capacity should be at least 50GB, depending on
the number of desktops you want to run.

10.4.9. A Storage Cannot Be Removed From a Desktop Provider


Problem: A storage cannot be removed from a desktop provider because the Remove button is disabled
on the Storage tab in Oracle VDI Manager.

Solution: You must enable maintenance mode for the storage first, see Section 8.9.1, “Oracle VM
VirtualBox and Microsoft Hyper-V Host Maintenance”. This enables Oracle VDI to migrate the desktops
to another storage host and, if needed, to unmount the OCFS2 file systems. Once the storage is in
maintenance mode, it can be removed.

282
Virtualization Hosts Crash if a Storage is Shut Down

If the storage is a local storage and there are multiple virtualization hosts, Oracle VDI automatically creates
a local storage for each virtualization host so that the free space and number of desktops can be monitored
on each host. You must enable maintenance mode for all the local storages before you can remove the
local storage.

10.4.10. Virtualization Hosts Crash if a Storage is Shut Down


The problem affects VirtualBox hosts on Oracle Linux platforms, if you use either Sun ZFS storage or
iSCSI storage.

If a storage host is shut down (or crashes) and the associated Oracle Cluster File System version 2
(OCFS2) file systems are still mounted on the virtualization hosts, the virtualization hosts crash.

If you need to reboot a storage host, enable maintenance mode for the storage first, see Section 8.9.2,
“Storage Maintenance”. This enables Oracle VDI to unmount the OCFS2 file systems. Once the storage is
in maintenance mode, it can be rebooted.

10.4.11. A Critical Alarm is Displayed When Storage is Added to a Desktop


Provider
A critical alarm might be displayed in Oracle VDI Manager when you create an Oracle VM VirtualBox
desktop provider or when you add storage to an existing provider and the VirtualBox hosts run on the
Oracle Linux platform. On the command line, the status of the provider is shown as critical. Because the
alarm takes a long time to clear, it might appear that an error has occurred.

The alarm is displayed because the configured storage is not yet ready for use. When VirtualBox hosts run
on the Oracle Linux platform, Oracle VDI formats the storage using Oracle Cluster File System version 2
(OCFS2). The critical alarm is displayed for as long as it takes to format the storage. This affects Sun ZFS
and iSCSI storage types only, local and network file system storage types are not affected.

10.4.12. Provider Host is Unresponsive After Updating Oracle VM VirtualBox


When you update Oracle VM VirtualBox on a host, a critical alarm might be displayed for the desktop
provider because the VirtualBox host is unresponsive. This can occur because the stored configuration for
the provider host is no longer accurate, for example because the SSL certificate has changed, the SSH
configuration of the host has changed, or the VirtualBox user credentials have changed.

The solution is to edit the configuration of the provider host. See Section 8.8.1, “Reconfiguring an Oracle
VM VirtualBox Host” for details.

10.4.13. Storage is Unresponsive After Updating Oracle VM VirtualBox


If you perform an operating system upgrade when you update Oracle VM VirtualBox on a host, a critical
alarm might be displayed for the desktop provider because the storage is unresponsive. The issue affects
only Sun ZFS and iSCSI storage on Oracle Linux virtualization hosts and is caused by a failure to mount
the Oracle Cluster File System version 2 (OCFS2) file system.

The solution is to reload the storage configuration so that the OCFS2 file system is remounted. See
Section 8.8.2, “Reloading iSCSI or Sun ZFS Storage Configuration on Oracle VM VirtualBox Hosts” for
details.

10.4.14. Users Experience Blurry Text in Internet Explorer


If users experience blurry text in Internet Explorer, this might be because the area is mistakenly interpreted
by Oracle VM VirtualBox as near full-screen video. This is caused by the way Internet Explorer redraws the
browser window.

283
The Time in My Oracle VM VirtualBox Desktop Is Too Slow

You can work round this issue by limiting the areas which Oracle VM VirtualBox detects and sends as
video. You do this by configuring a pool property with the following command:
/opt/SUNWvda/sbin/vda pool-setprops -p limited-rca-detection=enabled PoolName

When this property is enabled, screen areas greater than 800 x 600, but smaller than full screen, are not
downscaled.

10.4.15. The Time in My Oracle VM VirtualBox Desktop Is Too Slow


Windows allows random applications to change the timer frequency from the default of 100Hz (which gives
very good VM performance on Oracle Solaris hosts) to an arbitrary higher value, usually 1kHz.

In general, looking at VBox.log (~/.VirtualBox/Machines/VDA/<VMNAME>/Logs/VBox.log)


reliably gives the current timer resolution if one searches for the last line containing PIT: mode=...
(ch=0). This works for any guest OS, as long as the number of CPUs assigned to a VM is left at the
default (1). This should cover the majority of configurations used with Oracle VDI.

The typical lines are PIT: mode=2 count=0x2ead (11949) - 99.85Hz (ch=0) and PIT: mode=2
count=0x4ad (1197) - 996.81Hz (ch=0).

Assuming there is only one application which requests the high timer resolution, it can be found by
terminating all running applications one by one, and watching whether the log file shows the drop in timer
resolution. This shows up instantaneously.

Also, looking at the output of prstat often allows to detect which VM processes use substantially more
CPU time than others. This allows reducing the number of candidates if only some VMs use 1kHz timer
resolution.

Performance issues caused by the timer resolution are often dormant until the number of VMs on a
VirtualBox host exceeds the number of (true) CPU cores in the server. The reason is that VirtualBox tries
its best to deal with the situation, which usually keeps a full CPU core busy. When there are more such
VMs they block each other, triggering a symptom which is easy to observe - time in the VM runs much
slower than it should.

10.4.16. I Can See My Oracle VM VirtualBox Hosted Desktop, But It Will Not
Start
In some rare circumstances a desktop may be left registered and powered off on an Oracle VM VirtualBox
host. Desktops in this state for more than a couple of minutes can safely be deleted from the VirtualBox
host if necessary as the configuration is stored in the Oracle VDI database and all data on a storage host.
When manually unregistering a desktop from VirtualBox ensure that you also unregister the desktop's disk
image.
Steps to resolve:

1. Log in as the user you specified during the installation of VirtualBox (typically 'root').

2. Determine the UUID of the virtual machine:

• Execute VBoxManage list vms.

• Or, use the Oracle VDI Manager to obtain the ZFS volume name listed in the Desktop Summary tab.
The UUID is the string after the forward slash (example: f3ced2bb-d072-4efc-83c9-5a487872919d).

3. To unregister the virtual machine on the VirtualBox host (this action does not delete the Oracle VDI
desktop), execute:

284
Why Are My Windows 7 Audio Drivers Not Automatically Installed?

VBoxManage unregistervm uuid -delete

4. To unregister the virtual disk on the VirtualBox host (this action does not delete the Oracle VDI
desktop), execute:
VBoxManage unregisterimage disk uuid

10.4.17. Why Are My Windows 7 Audio Drivers Not Automatically Installed?


32-bit Windows 7 does not ship with drivers for the Oracle VM VirtualBox emulated audio hardware
(AC'97). However, running Windows Update should solve the problem by getting an appropriate driver for it
automatically. After that update, followed by a reboot, you should have working audio.

For the 64-bit versions of Windows 7, you have to download the Realtek AC'97 drivers to enable audio.

See http://www.realtek.com.tw/downloads for download instructions.

10.5. VMware vCenter Desktop Provider


10.5.1. I Cannot Log into My VMware Virtual Machine
This issue could be seen if the snapshot of the machine is older than 30 days. For more information, see
http://support.microsoft.com/kb/154501

10.5.2. Users Cannot Log Into Their VMware Provided Windows desktop
Verify that the users are configured for remote access and are allowed to perform a remote access.

10.5.3. Why Does My VMware Virtual Machine Have an Invalid IP Address Or


Cannot Be Pinged?
1. Verify that your networking interface is properly configured for your ESX server in the Virtual
Infrastructure Client.

2. If the network interface is properly configured for your ESX server:

Verify that the network adapter is enabled in the template and is connected to the correct network.

Verify that there is a properly configured DHCP server with enough leases running on the subnet your
virtual machine will run on.

See the VMware documentation, available online at http://www.vmware.com/support/pubs/vi_pubs.html

10.5.4. I Am Unable to Get a MS RDC Connection on My VMware Virtual


Machine
1. Verify that it has been enabled in the Remote tab of the System Properties dialog.

If this is enabled, the issue probably has to do with your network settings.

2. Verify that the virtual machine's subnet can be reached from the Windows machine from which you run
the Remote Desktop Connection client.

If you have set up a private network for your virtual machines, it might not be accessible from a
machine not on that network.

285
Creating a vCenter Desktop Provider Fails With "Unable to Contact
VMware VirtualCenter - Host Not Reachable at Port 443" Errors

10.5.5. Creating a vCenter Desktop Provider Fails With "Unable to Contact


VMware VirtualCenter - Host Not Reachable at Port 443" Errors
This error occurs when the VMware vCenter server has an expired certificate.

For more information about how to regenerate an expired certificate, refer to the VMware Knowledge Base
article ID 1009092.

Once the certificate is regenerated, you should be able to successfully create a desktop provider.

10.5.6. In My VMware Desktop Pool, New Virtual Machines Are Created


Automatically, But They Are Not Made Available
1. Verify that you still have enough disk space for your virtual machines.

Depending on the recycle policy settings for your pool, before a newly created virtual machine is made
available for users, a snapshot is taken. This operation requires sufficient disk space.

2. Verify that the RDP port (typically 3389) of the Windows guest OS instance is open.

Before a newly created virtual machine is made available, the Virtual Desktop Connector verifies
whether RDP communication can be established to the virtual machine. The following issues might
prevent a successful test:

• The virtual machine is on a private network and cannot be accessed by the Virtual Desktop
Connector. Verify your network configuration.

• Remote access is disabled on the Windows guest OS.

• Firewall settings of the Windows guest OS do not allow RDP connections.

10.5.7. The VMware Virtual Machine Cloning Process Is Not Operating As


Expected
To determine whether a new virtual machine is ready for use, Oracle VDI tries to open an RDP connection
to it. In certain cases, RDP can become available before the build process has completed; however, a
virtual machine made available before the build process has completed cannot be used.

The following procedure describes how to set up a customized virtual machine template according to
VMware customization specs to correct this problem. It requires that RDP is disabled in the virtual machine
template and that RDP is not blocked by a firewall when cloning is completed.

Preparations for manual Sysprep for Windows XP VMs (Step 3) and Windows 7 or later VMs (Step 4) are
also included.

1. Disable RDP by making sure the Remote Desktop checkbox on the Remote section of the System
Preference dialog on the Windows Control Panel is unchecked.

Note

If you are using the Windows Firewall, make sure that the Remote Desktop item
is checked under Firewall Exceptions.

2. Create a registry file called enableRdp.reg at C:\ with the following content:
REGEDIT4
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server]

286
VMware Windows 8 Cloning Fails

"fDenyTSConnections"=dword:00000000

The enableRdp.reg file is used at the end of the Sysprep process to enable RDP in the Windows
registry.

3. For Windows XP manual Sysprep, include the following under Additional Commands in the Setup
Manager tool:
regedit /s C:\enableRdp.reg

The Setup Manager tool is used to create answer files for Sysprep.

4. For Windows 7 and later manual Sysprep and customization specs, create a batch file called
SetupComplete.cmd in the %WINDIR%\Setup\Scripts directory with the following content:
regedit /s C:\enableRdp.reg

The default setting for %WINDIR% is C:\Windows.

10.5.8. VMware Windows 8 Cloning Fails


When cloning a Windows 8 desktop on a VMware vCenter desktop provider using customization, the
operation appears to hang and causes a time-out. The workaround is to reboot the virtual machine
manually. For more information, refer to the VMware Knowledge Base article ID 2037366.

10.5.9. The Window Displaying the VMware-Hosted Virtual Desktop Is Freezing


If you suspend or power down your virtual machine without first closing the RDP connection, the guest OS
dies, but the RDP connection remains active. The result is a non-responsive window displaying the last
known state of your Windows session. The following steps show how to set the Run VMware Tools Scripts
panel on both the Virtual Infrastructure Client and the guest OS to avoid this problem.

1. Configure the Run VMware Tools Scripts panel on the Virtual Infrastructure Client.

a. Select Edit Settings of a particular VM to bring up the Virtual Machine Properties page.

b. Click the Options tab.

c. Select VMware Tools.

This is where you can modify the behavior of the Power Controls (Start, Stop, Suspend, and Reset).

d. Next to the Power Off switch (red rectangle), select Shut Down Guest.

This allows the guest OS to shut down gracefully when the Power Control button is pressed.

e. In the Run VMware Tools Scripts panel, check the Before Powering Off checkbox.

2. Repeat steps a. through e. above to configure the Run VMware Tools Scripts panel on the guest OS.

3. Modify the poweroff-vm-default.bat script on the guest OS.

The install location on the guest OS, typically C:\Program Files\VMware\VMware Tools,
contains the following default scripts:
poweroff-vm-default.bat
poweron-vm-default.bat
resume-vm-default.bat
suspend-vm-default.bat

287
I Have Created a New Pool in My VMware Desktop provider and Virtual Machines Are Not Created Automatically

4. Add tsdiscon.exe to the poweroff-vm-default.bat script.

The poweroff-vm-default.bat script is the first to execute when the VM is powered off from the
VMware Infrastructure Client. It now calls tsdiscon.exe, which closes all open RDP connections.

10.5.10. I Have Created a New Pool in My VMware Desktop provider and


Virtual Machines Are Not Created Automatically
• You have not defined a template for the pool. Make sure that your pool configuration points to a virtual
machine or template.

• There is not enough disk space available to create copies of the template.

10.5.11. How Do I Use VMware Virtual Machines With Multiple Network


Adapters?
Using virtual machines with more than one network interface can be problematic. Oracle VDI expects
RDP to be available on the primary interface. If RDP is actually running on a different interface, then the
machine may not be prepared successfully or assigned to users.

The problem arises in determining which exactly is the primary interface. The VMware documentation
would lead us to believe that it is the primary interface listed in Windows. But, this is not the case. In fact,
the primary interface is determined by the order of the network adapters in VMware vCenter. The network
adapter with the highest number, usually the one which was added most recently, is the primary network
adapter.

To change the network of the primary adapter:

1. Edit the virtual machine settings in VMware vCenter.

2. Select the network adapter with the highest number, for example Network Adapter 3.

3. This is the primary network interface. Change the network label to the appropriate network for RDP.

4. You may need to adjust the other network adapters so that the virtual machine is assigned to all the
correct networks.

Figure 10.1. Virtual Machine Network Settings in VMware vCenter

288
Unused VMware Virtual Machines Are Not Being Recycled

10.5.12. Unused VMware Virtual Machines Are Not Being Recycled


1. Verify that the Power Options on the Windows guest OS have been configured to go into standby when
it is idle.

2. Verify that the VMware Tools and the Virtual Desktop Connector Tools are installed and running on the
Windows guest OS.

Check the Windows Event Log for any problems with the tools.

If you imported desktops from a previous release of Oracle VDI, verify that the desktop is using the
latest version of the Oracle VDI tools. Open the desktop console, go to Control Panel > Add or Remove
Programs. Open the support information for Oracle VDI Tools. The version number of the tools must
match your Oracle VDI release number.

3. Verify that the virtual machine is configured to suspend when it is in standby.

Check the virtual machine settings (Options/Power management), and make sure that the Suspend the
Virtual Machine item is selected.

4. Verify that the Windows guest OS actually enters standby and the virtual machine suspends when the
machine is not in use.

Note

If you experience problems with the standby feature in Windows XP, see http://
www.terranovum.com/projects/energystar/ez_gpo.html. EZ GPO includes a group
policy for power options.

10.6. Microsoft Hyper-V and RDS Desktop Providers


10.6.1. Sessions Are Started by Oracle VDI on RDS Hosts That Do Not
Participate in the Microsoft Remote Desktop Provider. Why Is That
Happening?
This will happen if you add to the provider some of the RDS hosts that participate in a farm, but not all of
them. In case of RDS hosts participating in a farm, Oracle VDI detects the farm name which is returned to
the Remote Client when a user tries to get a new session. Therefore, the session may be started on any
RDS host participating in the farm, even on those that Oracle VDI does not know about.

This is why it is strongly recommended to add all RDS hosts of the farm to the Microsoft Remote Desktop
provider. See Section 4.2.5, “Microsoft RDS Farm (NLB Cluster) Management” for details.

10.6.2. Hyper-V Desktop Cloning Fails With "Cannot Reload MSiSCSI Target
List" Errors
The desktop cloning process relies on the iscsicli command-line interface on the Hyper-V server in
order to assign a disk to the new clone. The iscsicli command may sometimes hang on the Hyper-V
server, which in turn will cause the cloning process to fail with the error "Cannot reload MSiSCSI target
list".

Oracle VDI supports a number of settings which allow an administrator to configure how Oracle VDI runs
the iscsicli command on the Hyper-V server. The properties can be modified using the vda command-
line interface. The settings that can be modified are as follows:

289
Can I Enter the Farm Information for the Microsoft Remote Desktop Provider
and let Oracle VDI Detect the Individual RDS Hosts Participating in the Farm?

msiscsi.timeout - The amount of time that Oracle VDI should wait for MSiSCSI operations to complete
on a Windows server.

msiscsi.retries - The number of times Oracle VDI retry loading the iSCSI target list on a Windows
server before returning an error.

msiscsi.retry.interval - The amount of time that Oracle VDI should wait between iSCSI load
retries.

To see the current values for the settings use the command:
# /opt/SUNWvda/sbin/vda settings-getprops \
--property=msiscsi.timeout,msiscsi.retries,msiscsi.retry.interval

To set new values for the settings use a command like the following:
# /opt/SUNWvda/sbin/vda settings-setprops \
--property=msiscsi.timeout=30,msiscsi.retries=10,msiscsi.retry.interval=15

In particular, increasing the value of the msiscsi.retry.interval property has been observed to
reduce the number of cloning failures due to iscsicli failure.

10.6.3. Can I Enter the Farm Information for the Microsoft Remote Desktop
Provider and let Oracle VDI Detect the Individual RDS Hosts Participating in
the Farm?
No, it is not possible to do so. If you want Oracle VDI to collect information about the sessions and allow
some control over them, you need to provide the administrator credentials of each individual RDS host
participating in the farm so that Oracle VDI is able to query these hosts about the sessions.

Alternatively, you may choose to only specify the Remote Desktop Server Farm, in which case no session
and load information is available in Oracle VDI.

See Section 4.2.5, “Microsoft RDS Farm (NLB Cluster) Management” for details.

10.6.4. Oracle VDI Is Not Able to Communicate With the Windows Server
Test that WinRM can communicate using HTTP between two Windows servers.

To configure WinRM to listen for HTTP requests run "winrm qc" on your windows platform.

On another windows machine execute the command below where IP is the IP address or host name of the
Windows server you want to test and USER is the local administrator on the Windows server you want to
test.
C:\Documents and Settings\Administrator>winrm id -r:IP -u:USER
IdentifyResponse
ProtocolVersion = http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd
ProductVendor = Microsoft Corporation
ProductVersion = OS: 5.2.3790 SP: 2.0 Stack: 1.1

If you get an error executing this command then WinRM has not been setup correctly on the Windows
server.

10.6.5. Connection Problems between Oracle VDI and Hyper-V


By default, Windows Server 2008 R2 installs with the Windows Remote Management (WinRM) limited
to 15 concurrent operations per user. To check the number of concurrent operations per user, run the
following command on the Windows host:

290
Desktops and Pools

> winrm get winrm/config


...
Service
MaxConcurrentOperationsPerUser = 15
...

For some Oracle VDI deployments, this limit is too low and can cause communication problems between
Oracle VDI and Hyper-V. When there are communication problems, the cacao logs typically contain the
following error message:
SOAP Fault: The WS-Management service cannot process the request. The maximum
number of concurrent operations for this user has been exceeded. Close existing
operations for this user, or raise the quota for this user.
Actor:
Code: s:Receiver
Subcodes: w:InternalError
Detail: The WS-Management service cannot process the request. This user is
allowed a maximum number of 15 concurrent operations, which has been exceeded.
Close existing operations for this user, or raise the quota for this user.

If you see this error message, the solution is to increase the MaxConcurrentOperationsPerUser
property to a value that is appropriate for your Oracle VDI deployment. To change the property, run the
following command on the Hyper-V host:
> winrm set winrm/config/service @{MaxConcurrentOperationsPerUser="num"}

For example:
> winrm set winrm/config/service @{MaxConcurrentOperationsPerUser="200"}

10.7. Desktops and Pools


10.7.1. How Do I Make a Desktop Available to a User at All Times?
Make sure the user's desktop has a personal assignment instead of a flexible assignment. For more about
desktop assignment types, see Section 10.7.3, “What Is the Difference Between Personal and Flexible
Desktop Assignments?”.

10.7.2. Starting a Desktop Fails With "No suitable Hosts to Start a Desktop for
Desktop Provider <Name>" Errors
The error 'No suitable hosts to start a desktop for Desktop Provider Name.' indicates that there were no
hosts with sufficient memory in your desktop provider.

Check the available memory on your hosts using Oracle VDI Manager under the Desktop Provider > Hosts
tab.

10.7.3. What Is the Difference Between Personal and Flexible Desktop


Assignments?
• Personal Assignment: Like physical computers assigned to users, desktops that are personally (or
statically) assigned are owned by these users and are never recycled or available for other users unless
an administrator explicitly removes the assignment and re-assigns a desktop to a different user.

• Flexible Assignment: Desktops that are flexibly (or dynamically) assigned are owned by users only
temporarily. Once users log out of their desktops or their desktops are no longer in use, the desktops are
recycled and become available for other users. As part of the recycle process, the desktop assignment is
removed.

291
Oracle VDI Fast Preparation Is Failing

Personal assignments are created when you select a specific desktop in the Oracle VDI Admin GUI and
assign it explicitly to a user.

If you assign a user (or a group of users) to a pool, the desktop assignments are created on demand
the first time the user requests a desktop (or connects to a desktop). The type of assignment (personal
or flexible) depends on the pool settings. You can configure this individually for each pool on the Pool -
Settings subcategory (see the Desktop Assignment section).

In addition to the assignment type, you can also specify how each pool is filled with desktops. Here you
have the choice to manually import desktops, or to clone desktops automatically from a specified template
(see the Cloning subcategory).

When you create a new pool, we provide default settings for the assignment and cloning configurations.
For convenience, the pool wizard offers "Manual", "Dynamic", and "Growing" pool types which only differ in
their default settings. You can change the pool settings at any point. The pool type is not stored anywhere
- it just defines the initial pool settings and is offered as a shortcut. The main differences in the pool types
are as follows:

• Dynamic pool: Desktops are cloned from a template. Flexible desktop assignment is the default.

• Growing pool: Desktops are cloned from a template. Personal desktop assignment is the default.

• Manual pool: Cloning disabled (you have to manually fill this pool via importing desktops). Personal
desktop assignment is the default.

Recycling of desktops will only happen for flexibly assigned desktops. This is independent from the
desktop provider.

10.7.4. Oracle VDI Fast Preparation Is Failing


FastPrep can fail for numerous reasons, but the most common are networking and user permissions.
Always ensure that your template (and clones) can correctly resolve the domain name used. Also ensure
that the domain and desktop administrators provided have the appropriate permissions.

In the event that FastPrep fails a Windows system error code is usually returned. These error codes can be
checked on MSDN:

http://msdn.microsoft.com/en-us/library/ms681381(VS.85).aspx

Some examples are:

1326 = Logon failure: unknown user name or bad password.

- Check your domain administrator and password

1355 = The specified domain either does not exist or could not be contacted.

- Verify the spelling of your domain and ensure the desktop can resolve the domain name. This is typically
caused by incorrect DNS settings. If using Oracle VM VirtualBox NAT networking, ensure the host has the
correct DNS server in /etc/resolv.conf.

10.7.5. Can I Use Wild Cards in Token Names to Represent a Group of Thin
Clients in Order to Assign These Thin Clients to a Pool?
No, but Oracle VDI defines two special tokens to assign all Sun Ray Clients or all Smart Cards to a pool.

292
The Audio in My Ubuntu Desktop Is Playing Too Slowly. What Should I Do?

AnySunRayClient.000 is a predefined token to assign all Sun Ray Clients (Sun Ray hardware and Oracle
Virtual Desktop Client) together to a pool. The user will get a desktop from the pool if the Sun Ray Client is
used without a Smart Card.

AnySmartCard.000 is a predefined token to assign all Smart Cards to a pool. The user will get a desktop
from the pool if the Sun Ray Client is used with a Smart Card.

Alternatively, you can create tokens in bulk and have them associated to users by using the Oracle
VDI command line as described in Section 5.7.3, “Assigning Tokens to Users”. Then you can make
pool assignments based on existing groups of users in your user directory, or groups you would define
especially for Oracle VDI installations using Custom Groups.

10.7.6. The Audio in My Ubuntu Desktop Is Playing Too Slowly. What Should I
Do?
The alsa driver in the guest desktop tries to autodetect the ac97 hardware clock. This method does not
work with Oracle VM VirtualBox ac97 emulation. Sometimes the driver gets results which look sane but
are actually not, and calculates the clock frequency based on that, getting a wrong value. The ac97_clock
option in alsa_base.conf disables autodetection.

To disable the autodetection:

1. Run the following in the command line of the Ubuntu desktop.


# sudo gedit /etc/modprobe.d/alsa-base.conf

2. Add following line to the end of the alsa-base.conf file.


options snd-intel8x0 ac97_clock=48000

3. Restart the desktop.

10.7.7. Audio Does Not Play After Changing the Audio Configuration for
Oracle VM VirtualBox Hosted Desktops in Oracle VDI Manager
If you change a desktop's configuration (for example: audio) from Oracle VDI Manager, the changes will
not take effect until the desktop has been unregistered/re-registered on an Oracle VM VirtualBox host.
Simply restarting the desktop from within will not result in this behavior. To force the unregister/register,
choose either Power Off or Shutdown from Oracle VDI Manager and then choose Start.

10.7.8. USB Devices Are Not Detected


Section 5.1.5, “Enabling USB Redirection” has details of how to configure support for USB devices. If USB
devices are not detected in a desktop, follow these steps:

• Check that USB redirection is enabled in the pool.

• Check that the client supports USB redirection.

See Section 6.1, “About Desktop Access” for a list of features supported by each client.

• Check that Sun Ray Clients are using the latest firmware.

See Sun Ray Client Firmware in the Sun Ray Software Administration Guide for details of how to update
the Sun Ray Operating Software on Sun Ray Clients.

293
Smart Cards Are Not Detected When VRDP Is Used

• If the USB device is a USB 2.0 device, check that a USB 2.0 (EHCI) controller is configured in the
desktop or template and is enabled in the virtual machine.

• If MS-RDP is the selected RDP protocol for the pool, ensure the USB redirection component of the Sun
Ray Windows connector is installed in the desktop or template.

• For VMware vCenter or Microsoft Hyper-V desktop providers, check that USB drivers are installed in the
template or desktop.

• For Oracle VM VirtualBox desktop providers:

• Check that the desktop provider is using the release of Oracle VM VirtualBox that is shipped with your
Oracle VDI release.

• Check that the desktop or template is using the correct version of the Oracle VM VirtualBox Guest
Additions.

See Section 10.7.12, “Checking the VirtualBox Guest Additions Version”

10.7.9. Smart Cards Are Not Detected When VRDP Is Used


When VRDP is enabled for a pool, users may be unable to access their smart cards in their desktops, for
example for PIN authentication or e-mail signing.

In order to use smart cards, the device drivers for the smart card reader must be installed in the desktop. It
is best to install the drivers in the desktop template before it is used for cloning in a pool.

10.7.10. What Are the Differences Between MS-RDP and VRDP?


For more detailed information about the differences, refer to the Section 5.1.2, “Choosing Between VRDP
and MS-RDP”.

10.7.11. Cloning Fails if the Sysprep Timezone Setting Does not Match the
Host Timezone
The Sysprep process removes a template's timezone setting before cloning and uses the default Sysprep
setting (GMT) instead. If the virtualization host is in a different timezone than GMT, the mismatch causes
cloning to fail. The workaround for this issue is:

1. Disable cloning in the pool's Cloning tab.

2. Click Edit in the System Preparation section of the Cloning tab.

3. In the Edit System Preparation window, change the TimeZone setting from 85 to the appropriate code
for your timezone.

For example, the timezone code for India Standard Time is 190.

4. Click Save.

5. Enable cloning in the pool and check if the problem is still reproducible.

10.7.12. Checking the VirtualBox Guest Additions Version


When troubleshooting problems with desktops, it is worth checking the version of Oracle VM VirtualBox
guest additions installed in a desktop. The guest additions version can be checked in Oracle VDI Manager
and on the command line, but only while the desktop or template is running.

294
Starting A Desktop Fails With an "Error Getting State" Message

In Oracle VDI Manager:

1. Go to Pools and select a pool.

2. Go to the Desktops or Templates tab and select a desktop or template.

3. Click the Virtual Machine link.

The guest additions version is shown on this page.

On the command line:

• Use the vda desktop-show desktop command to display the guest additions version for a desktop.

• Use the vda template-show template command to display the guest additions version for a
template.

To determine the desktop or template, see Section 9.1.1, “Obtaining the ID of a Desktop” and
Section 9.2.1, “Obtaining the ID of a Template”.

10.7.13. Starting A Desktop Fails With an "Error Getting State" Message


It can occur that a desktop fails to start, and the following message is shown in the Cacao logs:
FINER: thr#7620 THROW com.sun.vda.service.api.ServiceException: Error getting
state for desktop 'Win700000016' on host 'vdi1.example.com'.
at com.sun.vda.service.vbox.VBDesktop.start(VBDesktop.java:1299)
at com.sun.vda.service.vbox.VBDesktop.start(VBDesktop.java:1276)
....

The problem is caused by an existing registered virtual machine (VM) that has the same name as the
desktop that failed to start, but for some reason the existing VM is inaccessible.

The solution is to unregister the inaccessible VM, as follows:

1. Log in as the VirtualBox user (typically root) on the VirtualBox host that hosted the failed desktop.

2. Use the VBoxManage list vms command to list all the registered VMs on the host, for example:
# VBoxManage list vms
"Win700000013" {a7aeff15-f6fb-4c10-bbf4-499bb568c551}
"<inaccessible>" {15a0fdd9-69cb-4de2-b4a9-954633917f82}
"Win700000008" {405b5579-793b-4e80-9f60-0b2df73ebadc}
"Win700000019" {c47d23dc-875f-45c3-820d-bf64d013019f}

The output shows lists the VM name in quotes, for example "Win700000013" and the UUID of the
VM in curly brackets, for example {a7aeff15-f6fb-4c10-bbf4-499bb568c551}. Inaccessible
VMs display <inaccessible> instead of the name, as shown in the example above.

3. Unregister all inaccessible VMs.

Use the VBoxManage unregistervm UUID command to unregister the VM, for example:
# VBoxManage unregistervm 15a0fdd9-69cb-4de2-b4a9-954633917f82

After you have deleted the inaccessible VMs, you should be able to start the failed desktop.

10.7.14. Creating an App-V Repository or Revision Takes a Long Time


The time it takes to create or update an App-V repository can be affected by the size of the disk used for
the App-V repository and by whether the App-V user has a Windows roaming profile.

295
Creating or Updating an App-V Repository Fails With a "Failed to Refresh App-V Cache" Message

App-V Repository Disk Size


By default, the size of the disk used for the App-V repository (or repository revision) is one terabyte (TB).

If you use Sun ZFS storages and Oracle VM VirtualBox on Oracle Solaris platforms, it can take a long time
to copy the App-V volume between storages.

You can improve the time it takes to copy the the App-V volume, by specifying the size of the disk with the
disk-size property when you create the App-V repository. For example, to specify a disk size of 500
gigabytes (GB):
/opt/SUNWvda/sbin/vda template-appv-create -p name=MyAppv,pool=MyTemplates,\
admin=Administrator,appv-username=appv-user,customization-type=fastprep,\
windows-release=win7,domain=example.com,domain-admin=Administrator,disk-size=500 4

You can only specify the disk size on the command line and only when you create the repository. The
minimum disk size is one GB.

App-V User and Roaming Profiles


If the configured App-V user has a Windows roaming profile, the profile has to be downloaded to the
staging desktop and this can signifiicantly increase the time it takes to create or update an App-V
repository.

For the best performance, ensure that the App-V user does not have a roaming profile. You might want
to define an App-V user in Active Directory specifically for Oracle VDI. To change the App-V user, see
Section 9.4.5, “Creating a Revision to an App-V Repository”.

10.7.15. Creating or Updating an App-V Repository Fails With a "Failed to


Refresh App-V Cache" Message
If you create or update an App-V repository and it fails with a "Failed to refresh App-V cache" message,
this can be due to the following reasons:

• The configured App-V user is not a member of the App-V group in Active Directory.

• The configured App-V user has a Windows roaming profile.

• The operation to refresh the App-V cache took too long and timed out.

If this happens, check the Cacao logs, see Section 8.5.4, “Checking the Oracle VDI Log Files”.

If the operation to refresh the App-V cache refresh timed out, the Cacao logs contain messages like the
following:
com.sun.vda.vbox.ws.impl.Machine42Impl executeProcess
WARNING: thr#749 Process timed out
com.sun.vda.service.vbox.AppVGuestExecution logCommandResult
FINE: thr#749 Remote command C:\refreshcache.bat
[C:\VDI_APPV] on desktop appvrpo12345678 exited with -1.

Checking the App-V User


If the App-V user is not a member of the App-V group, the Cacao logs contain messages like the following:
com.sun.vda.vbox.ws.impl.Machine42Impl executeProcess
WARNING: thr#8288 Process exited with code: 1 status: + TerminatedNormally

296
Creating or Updating an App-V Repository Fails With a "Failed to Login User" Message

com.sun.vda.service.vbox.AppVGuestExecution logCommandResult
FINE: thr#8288 Remote command C:\refreshcache.bat
[C:\VDI_APPV] on desktop appvrpo123456782 exited with 1.
stdout: Querying Servers
Refreshing Servers
Refreshing Server AppVMgmtServer
sftmime REFRESH SERVER:AppVMgmtServer failed

If this happens, check the user name and password of the App-V user is correct both in Active Directory
and in your App-V repository configuration.

If the configured App-V user has a Windows roaming profile, the profile has to be downloaded to the
staging desktop. This can significantly increase the time it takes to create or update an App-V repository
and can result in timeouts.

For the best performance, ensure that the App-V user does not have a roaming profile. You might want
to define an App-V user in Active Directory specifically for Oracle VDI. To change the App-V user, see
Section 9.4.5, “Creating a Revision to an App-V Repository”.

Increasing the Timeout


If there are no issues with the App-V user, the solution is to increase the timeout for refreshing the App-V
refresh cache and create the App-V repository again. The default timeout is 10 minutes.

To increase the timeout, run the following command:


/opt/SUNWvda/sbin/vda settings-setprops -p appv.refresh.timeout=mins

For example:
/opt/SUNWvda/sbin/vda settings-setprops -p 15

10.7.16. Creating or Updating an App-V Repository Fails With a "Failed to


Login User" Message
If you create or update an App-V repository and it fails with a "Failed to login user" message, this can be
due to the following reasons:

• The VirtualBox guest additions installed in the template used to create the App-V repository were not
installed with the /with_autologon switch.

• The system preparation failed and the staging desktop was unable to join the domain.

If this happens, reinstall the guest additions in the template used to create the App-V repository and check
that the specified system preparation configuration is correct.

10.7.17. Creating an App-V Repository Fails Due to Low Disk Space


If you create an App-V repository and it fails, this can be due to low disk space on the C: drive.

If this happens, check the Cacao logs, see Section 8.5.4, “Checking the Oracle VDI Log Files”.

If low disk space was the cause of the problem, the Cacao logs contain messages like the following:
Found App-V cache on D:
Microsoft DiskPart version 6.1.7601
Copyright (C) 1999-2008 Microsoft Corporation.

297
Creating an App-V Repository Revision Fails With "An Internal Error Occurred" Message

On computer: APPV_CLONE01
Volume 3 is the selected volume.
Virtual Disk Service error:
Assigning or removing drive letters on the current boot or pagefile volume is not allowed.

In Microsoft Windows, the default setting for virtual memory management is Automatically manage
paging file size for all drives. If the disk space in the desktop template is low, this can cause Windows
to store the paging file on the App-V repository disk and this might result in a failure to clone the staging
desktop or to create the App-V disk.

The solution is to ensure that the desktop template has adequate free disk space. Alternatively, you can
customize the virtual memory management settings in the desktop template so that either no paging file is
used or the paging file is sized so that it can be stored on the C: drive.

10.7.18. Creating an App-V Repository Revision Fails With "An Internal Error
Occurred" Message
If you create a revision to an App-V repository and it fails with an "An Internal Error Occurred" message,
this can be because the trust relationship between the staging desktop used for the App-V Repository and
primary domain has failed. If this happens, Oracle VDI cannot run the required commands as the App-V
user from the primary domain.

If this happens, check the Cacao logs, see Section 8.5.4, “Checking the Oracle VDI Log Files”.

If a failure in the trust relationship was the cause of the problem, the Cacao logs contain messages like the
following:
Caused by: org.virtualbox_4_2.VBoxException: VirtualBox error:
VERR_UNRESOLVED_ERROR (0x80BB0005)
at org.virtualbox_4_2.IProcess.waitFor(IProcess.java:187)
at com.sun.vda.vbox.ws.impl.Machine42Impl.executeProcess(Machine42Impl.java:1430)
... 16 moreq

The VirtualBox log files for the staging desktop might contain the following:
00:04:27.666559 ERROR [COM]: aRC=VBOX_E_IPRT_ERROR (0x80bb0005)
aIID={dfa39a36-5d43-4840-a025-67ea956b3111} aComponent={GuestProcess}
aText={VERR_UNRESOLVED_ERROR}, preserve=false

The only solution is to create a new App-V repository. You can modify group policy settings to prevent this
error from occurring, see Section 10.8.7, “The Trust Relationship Between a Windows Desktop and the
Domain Controller Fails”.

10.8. Logging In and Accessing Desktops


10.8.1. Users Cannot Access Their Desktops
1. On a terminal trigger the following command:
/opt/SUNWvda/lib/vda-client -u user

2. If things work as expected, then the vda-client will trigger the startup of the corresponding desktop
and should return an IP (for example. 10.16.46.208) or DNS name (for example, xpdesktop01) for
accessing the user's desktop. If the RDP port differs from the default, then it will be appended to the IP/
DNS name (for example. 10.16.46.208:49259 or xpdesktop01:49259)

3. With that information it should now be possible to establish an RDP connection to the desktop.

298
A User Can Log in But Their Desktop is Not Responding

4. If no IP or DNS name is returned by vda-client, Oracle VDI might not be able to resolve the user ID in
the user directory.

To check that, change the log level for directory services as described in Section 10.3.1, “Increasing
Logging to Troubleshoot User Directory Problems”.

5. Check the Cacao log file for entries of the type:


FINEST: userId=<user ID> -> DN=<dn>

See Section 8.5.4, “Checking the Oracle VDI Log Files” for details.

6. If <dn> is null, that means that no user matching the user id <test user> was found in the user
directory. It might be necessary to customize the list of attributes ldap.userid.attributes to
match the directory schema as explained in Section C.1, “Editing LDAP Filters and Attributes”.

7. If <dn> is not null, that means that the user matching the user id <test user> was correctly found in
the user directory.

10.8.2. A User Can Log in But Their Desktop is Not Responding


A user might find that they can log in to Oracle VDI, but they cannot use a desktop because the virtual
machine is not responding.

If this happens, the solution is to restart the desktop. This can be performed by an administrator (for
example with the vda desktop-restart command) or by the user.

For a user to restart their desktop, they must first disconnect from the desktop by moving the mouse up
to the top of the screen and clicking the "X" on the remote desktop pulldown menu. When the Desktop
Selector screen is displayed, the user selects the non-responsive desktop and clicks the Reset button to
restart the desktop. Restarting a desktop is the same a rebooting a traditional PC, and users also see a
warning that they might lose their unsaved data. Once the desktop is rebooted, it can be connected to from
the Desktop Selector screen. Desktops provided by the following provider types cannot be restarted in this
way:

• Generic desktop provider

• Microsoft Remote Desktop provider

• Sun Ray Kiosk Session provider

10.8.3. Error - "Currently There Is No Desktop Available Or Assigned to You"


Oracle VDI typically returns the above message for the following reasons:

• There are no desktops directly assigned to the user.

• There is a pool assigned to the user, but no desktops in the pool are available or free to use.

• A desktop has been selected, but it is in an unusable state, typically the startup of the desktop has failed
for whatever reasons.

If this message occurs, check the Cacao log file, see Section 8.5.4, “Checking the Oracle VDI Log Files”.

To establish the root cause, complete the following steps:

1. Check that your desktop/pool assignments are correctly recognized by your system.

299
Error - "Currently There Is No Desktop Available Or Assigned to You"

The Oracle VDI Kiosk login uses an internal command (vda-client) to retrieve that information. You
can manually trigger this command from a terminal (root privileges are not necessary):
$ /opt/SUNWvda/lib/vda-client -a query -u user
Password: xxxxx
Windows 7,Windows7000003,8,User

The command asks for the user's password. So you have to enter the same credential information
as on the Kiosk session login screen (if authentication is disabled on your system, the vda-client
command will still prompt for a password, but you can leave this blank then - your input is not validated
in this case).

If everything works, then you should get a CSV list of desktop/pool assignments. The format is
something like:

<pool-name>,<desktop-name>,<desktop-ID>,<origin>

If you get an error here, or the system reports no assignments, check the Cacao logs. Look for entries
of the ClientRequestWorker that handles vda-client requests:
...
Jun 26, 2009 12:10:47 PM com.sun.vda.service.client.ClientRequestWorker run
FINEST: Received request from vda-client (127.0.0.1): query(user=username)
...
Jun 26, 2009 12:10:49 PM com.sun.vda.service.client.ClientRequestWorker run
FINEST: Sent response to vda-client: Windows 7,Windows70000003,8,User
...

Situations that could cause problems:

• Authentication failed

• The user name could not be found in LDAP and as a result no user DN could be determined

• No desktop assignments found for the determined user DN.

The log entries between the request received and sent response should give you some insights here.

2. If the above worked, request a desktop for your user.

Again this can be done via the vda-client command:


$ /opt/SUNWvda/lib/vda-client -a start -u user \
[-P pool-name [-D desktop-Id]]
Password: xxxxx
servername:49281

The pool-name and desktop-Id parameters are only necessary if multiple desktops are assigned
and you want to start a specific desktop. If there is only one desktop or pool assigned (or you just want
to start the default desktop), then you do not need to provide these parameters. If everything works,
then the command will return the name (or IP) of the user's desktop/virtual machine optionally followed
by a colon and the number of the RDP port.

If that does not work (the command reports an error), then you should again take a look into the logs:
...
Jun 26, 2009 12:25:14 PM com.sun.vda.service.client.ClientRequestWorker run
FINEST: Received request from vda-client (127.0.0.1): start(user=username)
....
Jun 26, 2009 12:25:18 PM com.sun.vda.service.client.ClientRequestWorker run

300
The Sun Ray Client Is Cycling and Cannot Connect to a Virtual Machine

FINEST: Sent response to vda-client: servername:49281


....

Again the log entries between the request received and sent response should give you some insights
about any issues here.

One typical issue is that no suitable host to start the desktop has been found. In that case you should first
check the memory available for running the desktop/virtual machine.

10.8.4. The Sun Ray Client Is Cycling and Cannot Connect to a Virtual Machine
1. Verify that you have a virtual machine available to connect to.

2. Verify that remote access is correctly configured on your guest operating system.

3. Verify that the Oracle VDI host can communicate with either your vCenter or your Oracle VM VirtualBox
host.

The firewall on the vCenter server might be blocking the communication.

The user name or password might be incorrect.

4. Verify that the VMware tools are installed on the Windows guest OS.

5. If connecting to Windows 7 or Windows 8 desktops using Microsoft RDP, ensure that users log in within
30 seconds.

By default Windows 7 and Windows 8 disconnect an RDP connection if no-one logs in within 30
seconds.

10.8.5. Users Cannot Log in to Ubuntu 8.04 Desktops Because the Network Is
Not Enabled
Ubuntu has the old "Debian style" network behavior so that every MAC address change (every clone)
bumps the network interface name by one. The result is that getting a working network configuration
requires a few admin mouse clicks. The only solution to this is at template preparation time by excluding
the Oracle VM VirtualBox MAC address range (08:00:27:*) from the "persistent net" machinery in /
lib/udev/rules.d/75-persistent-net-generator.rules and then purging /etc/udev/
rules.d/70-persistent-net.rules.

For more details on persistent net changes, refer to http://ubuntuforums.org/archive/index.php/


t-1045715.html.

10.8.6. Hotdesking Redirect Does Not Work With Windows XP Professional


and Microsoft RDP
For Windows XP Professional virtual desktops, the hotdesking redirect to the original Oracle VDI Center
does not work if Microsoft RDP (MS-RDP) is selected as the desktop protocol for the pool.

For Windows desktops, Oracle VDI can distinguish between a desktop disconnect and a desktop logout. If
a user selects Start > Logout from the Windows start menu, the user is logged out of the Windows desktop
and the Oracle VDI (kiosk) session. If the user selects Start > Disconnect, then the user is disconnected
from the Windows desktop while remaining logged into VDI. If disconnected but not logged out, the user is
returned to the desktop selection screen and can, for example, select a different desktop without the need
to log in again. This disconnect behavior is controlled by the client.logout.always setting, which is

301
The Trust Relationship Between a Windows Desktop and the Domain Controller Fails

enabled by default for security reasons. When it is enabled, the user is automatically logged out of Oracle
VDI upon disconnecting from a Windows desktop. If the setting is disabled, however, then a disconnect
does not result in a logout from the Oracle VDI session.

As part of the Oracle VDI logout process, the Sun Ray Client is redirected to the initially/first contacted
Oracle VDI Center. This behavior is especially useful when dealing with multiple VDI centers.
Unfortunately, the distinction between logout and disconnect does not work for Windows XP Professional
virtual desktops, if Microsoft RDP (MS-RDP) is used for displaying the desktop (and the desktop has joined
a domain). In this specific case, because Windows XP returns the wrong exit code, Oracle VDI interprets
a Start > Logout as a desktop disconnect. Consequently, the user is not logged out of Oracle VDI, and the
Sun Ray Client is not redirected to the initial Oracle VDI Center.

The workaround is either to use VirtualBox RDP (VRDP) instead of MS RDP or to ensure that users
are always logged out of Oracle VDI when they disconnect from their desktop. As explained above, the
client.logout.always setting is already enabled by default. If you have changed this behavior, you
can reset it with the following command:
# /opt/SUNWvda/sbin/vda settings-setprops -p client.logout.always=Enabled

10.8.7. The Trust Relationship Between a Windows Desktop and the Domain
Controller Fails
Windows computers use the machine account password to authenticate with the domain. By default,
Windows is configured to change the machine account password every 30 days. If the Oracle VDI pool's
desktop recycling policy is configured to Reset to Snapshot, a mismatch between the credentials of the
desktop and the domain controller may occur. When you revert to a snapshot of the desktop, all automatic
password updates are erased. Under these circumstances, when a user logs in and the Windows
desktop attempts to join the domain, the domain controller reports that the trust relationship between the
workstation and the primary domain controller failed, or that there are unknown logon errors.

There are two workarounds:

• Reclone the affected desktops at least every 30 days.

For instructions, see Section 9.1.12, “Recloning Selected Desktops” and Section 9.1.13, “Recloning All
Unused Desktops”.

• Modify the Group Policy Object settings of the affected desktops to disable password changes.

This is the preferred solution.

Modifying Group Policy Object Settings

1. Log in to the Windows desktop with an administrator account.

2. From the Windows Start menu, run gpedit.msc.

The Local Group Policy Editor is displayed.

3. Use the tree navigation to go to this location: Computer Configuration > Windows Settings > Security
Settings > Local Policies > Security Options.

4. Double-click the policy named "Domain member: Disable machine account password changes" and set
it to Enabled.

As a result, the machine account password is no longer changed. Because the desktops are part of a
managed Oracle VDI Manager pool, this modification has no security impact.

302
Administration Tools

10.9. Administration Tools


10.9.1. I Cannot Log in to Oracle VDI Manager
This is most likely an issue with Cacao or the Oracle VDI service

1. If the Oracle VDI host runs into a virtual machine, check that the machine has enough RAM

2. Check the status of Cacao and the Oracle VDI service as described in Section 10.10.2, “The System Is
Not Reacting as Expected”.

3. Try restarting the service:

/opt/SUNWvda/sbin/vda-service restart

10.9.2. I Cannot Log in to Oracle VDI Manager Running on Oracle Solaris 11


Using Firefox
This is most likely an issue with Transport Layer Security (TLS) support in Firefox.

When you use Firefox to connect to Oracle VDI Manager running on Oracle Solaris 11, the browser reports
the error code ssl_error_internal_error_alert. This is due to the fact that Oracle Solaris 11 uses
TLS 1.1, which Firefox does not support yet.

1. Disable TLS 1.0 in Firefox.

To access this setting, open the Options window, select Advanced and then select the Encryption
tab.

2. Log in to Oracle VDI Manager.

Firefox stores the server certificate and uses it for future connections.

3. Once you have successfully logged in, you can reenable TLS 1.0 in Firefox.

10.9.3. I Get a Blank Screen After Successfully Logging in to Oracle VDI


Manager
This is most likely an issue with the MySQL database

1. Try restarting the service

/opt/SUNWvda/sbin/vda-service restart

2. If the problem persists, you need to troubleshoot the MySQL database:

If you are using the embedded Oracle VDI MySQL Server database, it is important to know that the
database is quite demanding regarding physical resources, this specifically concerns CPU power, RAM
and network bandwidth. The first thing to check is always if the network connectivity is provided and
that the database service is running.

Run the following command to check if the embedded MySQL Server database master and slave (if
configured) are running.

/opt/SUNWvda/sbin/vda-db-status

303
Error - "You Have Been Logged out Because a Consistent Response Could Not Be Guaranteed"

On Oracle Solaris platforms, you can also check the status of the database on the master or slave host
with the following command:

# svcs svc:/application/database/vdadb:default

If everything is fine you should see something similar to this:

STATE STIME FMRI


online Mrz_18 svc:/application/database/vdadb:default

If the database service is not running, start it.

On Oracle Solaris platforms, use either of the following commands:

# svcadm enable svc:/application/database/vdadb:default

# svcadm clear svc:/application/database/vdadb:default

On Linux platforms, use the following command:

# /etc/init.d/vda-db-init start

If none of this helps, check the MySQL log files for possible root causes for your database problems. The
log files are located in /var/opt/SUNWvda/mysql. Information about the MySQL Cluster log file format
can be found in the official MySQL documentation: MySQL Cluster Log Messages.

10.9.4. Error - "You Have Been Logged out Because a Consistent Response
Could Not Be Guaranteed"
Refer to the Troubleshooting item Section 10.9.1, “I Cannot Log in to Oracle VDI Manager”.

10.9.5. How Can I Change the Password of an Oracle VDI Host?


If you need to change the root password of an Oracle VDI host, run the following UNIX command.

# passwd root
New Password: <enter new password>
Re-enter new Password: <confirm>

10.9.6. How Do I Change the Password of a Remote MySQL Database?


During the initial configuration of Oracle VDI (using an external database), an Oracle VDI database user
account (default, vdadb) was created.

1. Change the password on the MySQL side by using the following MySQL commands.

mysql> UPDATE mysql.user SET password=PASSWORD('<new_password>') WHERE user='vdadb';


mysql> FLUSH PRIVILEGES;

2. To change the password on Oracle VDI, reconfigure Oracle VDI.

See Section 2.3.4, “Removing a Host from an Oracle VDI Center”

10.9.7. Does the MySQL Database Store All Sun Ray Software Configuration?
No, the Sun Ray Software configuration is stored in an LDAP-based datastore.

304
The vda Command Reports That Oracle VDI Is Not Running But Other Commands Say It Is

10.9.8. The vda Command Reports That Oracle VDI Is Not Running But Other
Commands Say It Is
Problem: You run the vda command and you see the error message, "This command cannot be
used because Oracle Virtual Desktop Infrastructure is not running on this
server". However when you run the vda-service status and vda-db-status commands, they
show that Oracle VDI is running.

Solution: Check your /etc/hosts file to see if you have an IPv6 entry for localhost. If you have,
comment out that entry and run the vda command again.

10.9.9. Users Do Not Show Up in Users and Groups in Oracle VDI Manager
It might be necessary to customize the LDAP filters ldap.user.object.filter and
ldap.user.search.filter as described in Appendix C, User Directory LDAP Filters and Attributes,
especially if the user directory is OpenLDAP or Novell eDirectory.

10.9.10. Is There a Way to Modify the Cacao Logging Behavior So That a Long
History Can Be Maintained?
Yes. See Section 8.5.5, “Changing Logging for Oracle VDI”.

10.9.11. Jobs Do Not Finish Even After You Cancel Them with Oracle VDI
Manager
You can force to abort all active jobs:

1. Verify that the Oracle VDI service is running.

2. Enter the following command in the shell:


# /opt/SUNWvda/mysql/bin/mysql \
--defaults-file=/etc/opt/SUNWvda/my.cnf -D vda -u root -p -e "UPDATE \
t_job SET status = 'CANCELED', endtime = NOW() \
WHERE status IN ('RUNNING','QUEUED','CANCELLING') AND type <> 'DESTROY_POOL'"

3. If asked for a password, enter the MySQL database administrator password selected when you
configured Oracle VDI on the primary host.

If the administrator password was automatically generated, see Section 10.9.13, “How Do I Log in to
the Embedded MySQL Server Database?”.

If you are using a remote MySQL database, use the remote database administrator user and password.

10.9.12. Can I Adjust the Logging Level for the Oracle VDI Logs?
By default, all Oracle VDI service messages are logged in the Cacao log file. To change the logging level
or the log history, see Section 8.5.4, “Checking the Oracle VDI Log Files”.

10.9.13. How Do I Log in to the Embedded MySQL Server Database?


Caution

Logging in to the Oracle VDI database in order to change settings and data is not
supported. Only use the Oracle VDI administration tools to perform these tasks.

305
Oracle VDI

1. Obtain the database password.

When you configure the primary host in an Oracle VDI Center and you use the embedded MySQL
Server database, you can either provide your own password for the database administrator or have a
password automatically generated.

To obtain the password, run the following command as root:


# /opt/SUNWvda/sbin/vda-center getprops -s vda.password

Caution

The password is displayed in clear text. Ensure that no-one else can see your
screen.

2. Log in to the embedded Oracle VDI MySQL Server database.

On the Oracle VDI host that has the master database, run the following command as root :
# /opt/SUNWvda/mysql/bin/mysql --defaults-file=/etc/opt/SUNWvda/my.cnf \
--host=localhost -u root -p

When prompted, type the administrator password.

10.10. Oracle VDI


10.10.1. Oracle VDI Hangs Intermittently When Running on x2270 Hardware
Due to a bug in the Oracle Solaris ahci driver, if Oracle VDI is running on Oracle Solaris 10 10/09 or
Oracle Solaris 10 9/10 on Sun x2270 hardware, it may hang.

To work around the problem, add the following line in the /etc/system file and reboot the server:
set idle_cpu_no_deep_c = 1

10.10.2. The System Is Not Reacting as Expected


A restart of the vda service is recommended.

Restart the Oracle VDI service.

Run the following command as root:


# /opt/SUNWvda/sbin/vda-service restart

Check the status of the Oracle VDI service.

Run the following command as root:


# /opt/SUNWvda/sbin/vda-service status

In the problems persist, check the Cacao log files, see Section 8.5.4, “Checking the Oracle VDI Log Files”.

10.10.3. Which Service Owns the Oracle VDI Daemon Job?


Each Oracle VDI installation runs a single hidden daemon job. Its role is to execute internal system tasks
and it is owned by the Oracle VDI service (vda-service). For troubleshooting purposes, it is often

306
How Do I Configure DHCP in Oracle VDI?

necessary that you know on which host runs the Oracle VDI service that owns the daemon job. This lets
you determine, for example, from which host you need to examine the logs.

Run the following command on an Oracle VDI host:


/opt/SUNWvda/sbin/vda job-show daemon
Name:
Target:
Status: Running
Start time: 13:14:01
End time:
Details: vdihost2/10.165.88.82
Cancelable: false

The Details parameter shows the host name and IP address of the server running the daemon job.

10.10.4. How Do I Configure DHCP in Oracle VDI?


First, install and configure Oracle VDI using vda-install and vda-config, see Chapter 2, Installing
Oracle VDI and Configuring Oracle VDI Centers. This installs Sun Ray Software and configures the
Kiosk settings. You can then adapt things as needed using the typical Sun Ray Software commands.
For example, use utadm -a interface-name to configure a dedicated interconnect for the Sun Ray
Clients. This will also ask you for the desired DHCP settings.

307
308
Appendix A. Automated Administration Scripts

Table of Contents
A.1. Parsing vda Commands that Result in Jobs .............................................................................. 309
A.2. Parsing vda Command Output ................................................................................................. 311
A.3. Parsing vda-center Command Output ....................................................................................... 324

The vda and vda-center commands can be used in scripts for automated administration.

Reading the Return Code


The vda and vda-center commands return the following exit codes:

• 0: Successful completion

• 1: An error occurred

• 2: Invalid command line options or arguments were specified

Waiting for a Job to Finish


Some vda subcommands return immediately but start an action in the background, known as a job.

The vda job-wait command enables you to wait for a specific job to be completed before the next
command is performed.
# vda job-wait --help
Wait until the job ends

Usage:
vda job-wait [-t timeout | --timeout=timeout] job
-?, --help Print this help list
Options:
-t timeout, --timeout=timeout
Timeout in seconds to wait
Operand:
*job The id of the job
'*' denotes mandatory parameters.

Parsing the Output of the Command Line


A number of the vda and vda-center subcommands support a parsable option so that the output is
formatted for easy parsing as a list of lines of colon-separated (':') fields.

The syntax of the option is:


-x, --parseable Display output suitable for programmatic parsing.

The following sections describe the format of output for the subcommands that support the parsable option.

A.1. Parsing vda Commands that Result in Jobs


vda Subcommands That Result in a Single Job
The following vda subcommands result in a single job:

309
Subcommands That Result in a Multiple Jobs

• desktop-export: Export a desktop.

• pool-hv-import: Import Microsoft Hyper-V desktops into the pool.

• pool-profiles-export: Export Windows user profiles from personal hard drives in Oracle VM
VirtualBox desktops.

• pool-vb-import: Import Oracle VM VirtualBox desktops into the pool.

• pool-vb-import-unmanaged: Import unmanaged Oracle VM VirtualBox desktops into the pool.

• provider-migrate-host: Migrate desktops from a host.

• provider-replace-storage: Replace a storage.

• provider-suspend-storage: Suspend a storage.

• revision-appv-create: Create an App-V template revision.

• revision-appv-nominate-master: Schedule an App-V revision to become master.

• revision-create: Create a revision

• revision-export: Export a revision.

• revision-nominate-master: Schedule a revision to become master.

• revision-sysprep: Sysprep a revision.

• template-appv-create: Create an App-V repository template.

• template-create: Copy a revision to a new template.

• template-desktop: Copy the template to a new desktop.

• template-export: Export a template.

• template-revert: Revert a template to the most recent revision.

Parsable Output: one line with the following value.

Value Data Format


Job ID integer

Subcommands That Result in a Multiple Jobs


The following vda subcommands result in multiple jobs:

• desktop-delete: Delete desktops.

• desktop-duplicate: Duplicate desktops.

• desktop-reclone: Reclone desktops.

• desktop-restart: Restart desktops.

• desktop-start: Start desktops.

• desktop-stop: Stop desktops.

310
Parsing vda Command Output

• desktop-suspend: Suspend desktops.

• desktop-template: Convert the desktops to templates.

• pool-delete: Delete pools and their desktops.

• pool-reset: Reset cloning for the pool.

• provider-storage-orphan-delete: Delete orphan disks.

• revision-appv-delete: Delete an App-V revision.

• revision-clone: Clone desktops from revisions.

• revision-delete: Delete revisions.

• revision-desktop: Copy revisions to desktops.

• template-appv-delete: Delete an App-V repository template.

• template-delete: Delete templates.

• template-restart: Restart templates.

• template-start: Start templates.

• template-stop: Stop templates.

• template-suspend: Suspend templates.

Parsable Output: list of lines with the following values.

Value Data Format


Job ID integer

A.2. Parsing vda Command Output


In addition to the commands that result in jobs, the following vda commands have parsable output:

• vda admin-list

• vda admin-show

• vda desktop-search

• vda directory-list

• vda group-list

• vda group-show

• vda job-list

• vda job-show

• vda pool-appv-templates

• vda pool-desktops

311
vda admin-list

• vda pool-list

• vda pool-show

• vda pool-templates

• vda pool-users

• vda provider-list

• vda provider-list-appv-templates

• vda provider-list-hosts

• vda provider-list-networks

• vda provider-list-storage

• vda provider-list-templates

• vda provider-list-unmanaged

• vda provider-show

• vda provider-storage-orphans

• vda role-list

• vda template-appv-revisions

• vda template-revisions

• vda token-desktops

• vda token-search

• vda token-show

• vda user-desktops

• vda user-search

• vda user-show

vda admin-list
List all administrators with their roles.

Parsable Output: list of lines with the following values separated by a colon (':').

Value Data Format


Username string
Roles comma-separated string

vda admin-show
Show details for the administrator.

312
vda desktop-search

Parsable Output: one line with the following values separated by a colon (':').

Value Data Format


User Description string

Followed by a list of lines with the following values separated by a colon (':').

Value Data Format


Role Name string
Role Description string

vda desktop-search
Search for a desktop or desktops.

Parsable Output: list of lines with the following values separated by a colon (':').

Value Data Format


Desktop ID long
Pool Name string
Desktop Name string
Machine State Running | Starting | Paused | Powered
Off | Suspended | Stuck | Aborted |
Unknown
Desktop State Available | Used | Idle | Unresponsive |
Reserved
DN of Assigned User string

vda directory-list
List all user directories.

Parsable Output: list of lines with the following values separated by a colon (':').

Value Data Format


Name string
Status OK | Unresponsive
AD Domain or Base DN string

vda group-list
Lists all custom groups.

Parsable Output: list of lines with the following values separated by a colon (':').

Value Data Format


Custom Group Name string

313
vda group-show

vda group-show
Show the pools assigned to the custom group.

Parsable Output: list of lines with the following values separated by a colon (':').

Value Data Format


Pool Name string

vda job-list
List the existing jobs.

Parsable Output: list of lines with the following values separated by a colon (':').

Value Data Format


Job Title The title of the job, for example, Cloning
Desktop desktop_name | Recycling
Desktop desktop_name | Starting
Desktop desktop_name | Powering Off
Desktop desktop_name | Shutting Down
Desktop desktop_name | Restarting
Desktop desktop_name | Deleting Pool
pool_name.
Target of the Job string
Status of the Job Queued | Running | Completed | Failed |
Cancelling | Cancelled | Unknown
ID of the Job integer
Cancellable 'C' if the job can be canceled

vda job-show
Show the job details.

Parsable Output: one line with the following values separated by a colon (':').

Value Data Format


Job Title The title of the job, for example, Cloning
Desktop desktop_name | Recycling
Desktop desktop_name | Starting
Desktop desktop_name | Powering Off
Desktop desktop_name | Shutting Down
Desktop desktop_name | Restarting
Desktop desktop_name | Deleting Pool
pool_name
Target of the Job string
Status of the Job Queued | Running | Completed | Failed |
Cancelling | Cancelled | Unknown
Start Time hh:mm:ss
End Time hh:mm:ss

314
vda pool-appv-templates

Value Data Format


Job Details string
Cancellable true | false

vda pool-appv-templates
List all App-V templates from the pool.

Parsable Output: list of lines with the following values separated by a colon (':').

Value Data Format


Template Name string
Template ID long
Master Revision string
Cloned Desktops string

vda pool-desktops
List all desktops from the pool.

Parsable Output: list of lines with the following values separated by a colon (':').

Value Data Format


Desktop Name string
Desktop ID long
Machine State Running | Starting | Paused | Powered
Off | Suspended | Stuck | Aborted |
Unknown
Desktop State Used | Idle | Unresponsive | Reserved |
Available
DN of Assigned User string

vda pool-list
List all pools.

Parsable Output: list of lines with the following values separated by a colon (':').

Value Data Format


Pool Name string
Type of Desktop Assignment Personal | Flexible
Number of Desktops integer
Desktop Provider Name string
User Directory Name string

vda pool-show
Show detailed information about the pool.

315
vda pool-templates

Parsable Output for non-PC Pools: one line with the following values separated by a colon (':').

Value Data Format


Assignment Status Enabled | Disabled
Type of Desktop Assignment Personal | Flexible
Desktop Provider Name string
Cloning Status Enabled | Disabled
Number of Cloning Jobs integer
Template None | string
Number of Available Desktops integer
Number of Assigned Desktops integer
Total Number of Desktops integer
Guest Pool Enabled | Disabled

Parsable Output for PC Pools: one line with the following values separated by a colon (':').

Value Data Format


Assignment Status Enabled | Disabled
Type of Desktop Assignment Personal | Flexible
Desktop Provider Name string
Number of Available Desktops integer
Number of Assigned Desktops integer
Total Number of Desktops integer
Guest Pool Enabled | Disabled

vda pool-templates
List all templates from the pool.

Parsable Output: list of lines with the following values separated by a colon (':').

Value Data Format


Template Name string
Template ID long
Machine State Running | Starting | Paused | Powered
Off | Suspended | Stuck | Aborted |
Unknown
Master Revision string
Cloned Desktops string

vda pool-users
List all users of the pool.

Parsable Output: list of lines with the following values separated by a colon (':').

316
vda provider-list

Value Data Format


Name of the User or Group string
Kind of Object User | Group | Token | Custom Group
DN of the User or Group string

vda provider-list
List all desktop providers.

Parsable Output: list of lines with the following values separated by a colon (':').

Value Data Format


Desktop Provider Name string
Provider Type Oracle VM VirtualBox | VMware
vCenter | Microsoft Hyper-V |
Microsoft Remote Desktop | PC | Kiosk
Status OK | Unresponsive | Major Issues |
Critical

vda provider-list-appv-templates
List the App-V templates for the desktop provider.

Parsable Output: list of lines with the following values separated by a colon (':').

Value Data Format


Template Name string
Template ID long
User Directory Name string

vda provider-list-hosts
List all hosts for the Oracle VM VirtualBox, Microsoft Hyper-V, or Microsoft Remote Desktop desktop
providers.

Parsable Output for Oracle VM VirtualBox and Microsoft Hyper-V Providers: list of lines with the
following values separated by a colon (':').

Value Data Format


Host Name string
Status Enabled | Disabled | Unresponsive |
Maintenance | Preparing Maintenance |
Failed Maintenance
Enabled Enabled | Disabled
CPU Usage xx% (x.x GHz|MHz)
Memory Usage xx% (x.x GB|MB)
Number of Desktops integer

317
vda provider-list-networks

Parsable Output for Microsoft Remote Desktop Providers: list of lines with the following values
separated by a colon (':').

Value Data Format


Host Name string
Status OK | Unresponsive
CPU Usage xx% (x.x GHz|MHz)
Memory Usage xx% (x.x GB|MB)
Number of Active Sessions integer
Number of Disconnected integer
Sessions

vda provider-list-networks
List all networks for the desktop provider.

Parsable Output: list of lines with the following values separated by a colon (':').

Value Data Format


Subnet Label String
Subnet Address String
Availability All Hosts | Not on:
comma_separated_list_of_hosts

vda provider-list-storage
List all storage servers for the desktop provider.

Parsable Output for Oracle VM VirtualBox and Microsoft Hyper-V Providers: list of lines with the
following values separated by a colon (':').

Value Data Format


Storage Name string
Status Enabled | Disabled | Unresponsive |
Maintenance | Preparing Maintenance |
Failed Maintenance
ZFS Pool string
Capacity xxx.x GB
Usage xx.x GB
Number of Desktops integer

Parsable Output for VMware vCenter Providers: list of lines with the following values separated by a
colon (':').

Value Data Format


Storage Name string

318
vda provider-list-templates

Value Data Format


Storage ID string
ZFS Pool string
Capacity xxx.x GB
Usage xx.x GB
Number of Desktops integer

vda provider-list-templates
List the templates for the desktop provider.

Parsable Output for Oracle VM VirtualBox and Microsoft Hyper-V Providers: list of lines with the
following values separated by a colon (':').

Value Data Format


Template Name string
Template ID long
User Directory Name string

Parsable Output for VMware vCenter Providers: list of lines with the following values separated by a
colon (':').

Value Data Format


Template Name string
Template ID string
Path string

vda provider-list-unmanaged
List the desktops from the virtualization platform that are not managed by any desktop provider.

Parsable Output for Oracle VM VirtualBox and Microsoft Hyper-V Providers: list of lines with the
following values separated by a colon (':').

Value Data Format


Host Name string
Desktop Name string
Desktop ID long

Parsable Output for VMware vCenter Providers: list of lines with the following values separated by a
colon (':').

Value Data Format


Desktop Name string
Desktop ID string
Path string

319
vda provider-show

vda provider-show
Show detailed information about the desktop provider.

Parsable Output for Oracle VM VirtualBox and Microsoft Hyper-V Providers: one line with the
following values separated by a colon (':').

Value Data Format


Status OK | Major Issues | Critical
Pool Names comma-separated strings
Total Number of Desktops integer
Number of Used Desktops integer
CPU Usage of all Hosts xx%
Total Memory of all Hosts xx.xx GB|MB
Memory Usage of all Hosts xx%
Number of Storage Servers integer
Total Capacity of the Storage xxx.x GB
Servers
Usage of the Storage Servers xx%
Number of Networks integer
Network Availability All Hosts | Not on some hosts
Comment string

Parsable Output for VMware vCenter Providers: one line with the following values separated by a colon
(':').

Value Data Format


Status OK | Unresponsive
Pool Names comma-separated strings
Total Number of Desktops integer
Number of Used Desktops integer
Server string
Datacenters comma-separated strings
Number of Storage Servers integer
Total Capacity of the Storage xxx.x GB
Servers
Usage of the Storage Servers xx%
Comment string

Followed by a list of lines with the following values separated by a colon (':').

Value Data Format


Cluster Name string
Cluster CPU Used xx%(xx.xx MHz|GHz)

320
vda provider-show

Value Data Format


Cluster Total Memory xx.xx GB|MB
Cluster Used Memory xx%(xx.xx MB|GB)

Parsable Output for Non-Farm Remote Desktop Providers: one line with the following values separated
by a colon (':').

Value Data Format


Status OK | Major Issues | Critical
Pool Names comma-separated strings
Number of Active Sessions integer
Number of Disconnected integer
Sessions
Host Farm false
CPU Usage of all Hosts xx%
Total Memory of all Hosts xx.xx GB|MB
Memory Usage of all Hosts xx%
Comment string

Parsable Output for Farm Remote Desktop Providers: one line with the following values separated by a
colon (':').

Value Data Format


Status -
Pool Names comma-separated strings
Host Farm true
Comment string

Parsable Output for Generic Providers: one line with the following values separated by a colon (':').

Value Data Format


Pool Names comma-separated strings
Total Number of Desktops integer
Number of Used Desktops integer
Comment string

Parsable Output for Kiosk Providers: one line with the following values separated by a colon (':').

Value Data Format


Pool Names comma-separated strings
Session Type Sun Java Desktop System 3 | Common
Desktop Environment (Obsolete) |
Sun Ray Connector for Windows OS |
VMware View Manager Session | Xterm
Terminal Session

321
vda provider-storage-orphans

Value Data Format


Comment string

vda provider-storage-orphans
List the orphaned disks of the storage.

Parsable Output: list of lines with the following values separated by a colon (':').

Value Data Format


ZFS Volume zfs_pool/volume_id/
Size xxx.x GB
Used Size xxx.x GB
Cloned Disks long

vda role-list
List all roles.

Parsable Output: list of lines with the following values separated by a colon (':').

Value Data Format


Role Name string
Role Description string

vda template-appv-revisions
List the revisions of the template.

Parsable Output: list of lines with the following values separated by a colon (':').

Value Data Format


Revision Name string
Revision ID long
Creation Date timestamp
Is It Master yes | no
Cloned Desktops string

vda template-revisions
List the revisions of the template.

Parsable Output: list of lines with the following values separated by a colon (':').

Value Data Format


Revision Name string
Revision ID long

322
vda token-desktops

Value Data Format


Creation Date timestamp
Is It Master yes | no
Cloned Desktops string

vda token-desktops
Show the desktops assigned to the token.

Parsable Output: list of lines with the following values separated by a colon (':').

Value Data Format


Desktop Name string
Desktop ID integer
Pool Name string
Type of Assignment flexible | personal
Is Default Desktop true | false

vda token-search
Search for tokens that match the search criteria.

Parsable Output: list of lines with the following values separated by a colon (':').

Value Data Format


Token string
Name of the Associated User string
DN of the Associated User string

vda token-show
Show the desktops available for the token.

Parsable Output: list of lines with the following values separated by a colon (':').

Value Data Format


Pool Name string
Desktop Name string
Desktop ID integer
Kind of Assignment User | Token | Group group_name |
Custom Group group_name

vda user-desktops
Show the desktops assigned to the user.

Parsable Output: list of lines with the following values separated by a colon (':').

323
vda user-search

Value Data Format


Desktop Name string
Desktop ID integer
Pool Name string
Type of Assignment flexible | personal
Is Default Desktop true | false

vda user-search
Search for users or groups in the user directory that match the specified search criteria.

Parsable Output: list of lines with the following values separated by a colon (':').

Value Data Format


Name of the user or group string
Kind of object User | Group
DN of the user or group string

vda user-show
Show the desktops available for the user.

Parsable Output for a User: list of lines with the following values separated by a colon (':').

Value Data Format


Pool Name string
Desktop Name string
Desktop ID integer
Kind of Assignment User | Token token | Group group_name |
Custom Group group_name

Parsable Output for a Group: list of lines with the following values separated by a colon (':').

Value Data Format


Pool Name string

A.3. Parsing vda-center Command Output


The following vda-center commands have parsable output:

• vda-center agent-status

• vda-center status

vda-center status
List the status of the hosts in an Oracle VDI Center.

Parsable Output: list of lines with the following values separated by a colon (':').

324
vda-center agent-status

Value Data Format


Hostname string
Host Status Up | Down | Failed | Unreachable |
VDI services are disabled | VDI
services are in maintenance mode |
VDI services are partially up | VDI
services are up | Unknown
Service VDI Database | VDI Database
Replication | Remote Database | -
Service Status Up | Down | Unknown | -

Followed by one empty line and one line with the number of hosts in the Oracle VDI Center.

vda-center agent-status
List the information about the Oracle VDI Center Agent on a host.

Parsable Output: list of lines with the following values in key=value format.

Key Value
address Host name and port used by the Oracle VDI
Center Agent for communication with other
Agents.
uptime The length of time (in milliseconds) that the
Oracle VDI Center Agent has been up.
cert-md5 The MD5 fingerprint the fingerprint of the
Oracle VDI Center Agent's certificate.

325
326
Appendix B. Defaults for the Software Bundled With Oracle VDI
This chapter lists the defaults for the software bundled with Oracle VDI. See About the Oracle VDI
Software for details of the bundled software.
Sun Ray Software Configuration

1. Configure basic Sun Ray Software settings:

• Administrator password

• Server for a failover group (FOG)

• FOG signature
/opt/SUNWut/sbin/utconfig

2. Configure Sun Ray Software Web Administration:

• Tomcat home directory

• HTTP ports (1660, 1661)

• Web service user name (utwww)

• Remote access (enabled)


/opt/SUNWut/lib/support_lib/srwa_config update

3. Configure Kiosk user accounts.


/opt/SUNWkio/bin/kioskuseradm create -l utku -g utkiosk -i auto -u -c

4. Replicate from primary to secondary hosts.


/opt/SUNWut/lib/utrcmd -n
/opt/SUNWut/sbin/utreplica -p -a
/opt/SUNWut/sbin/utreplica -s

5. Enable LAN access.


/opt/SUNWut/sbin/utadm -L on

6. Enable primary administrator user access.

The primary administrator is specified during the configuration of the primary host.
/opt/SUNWut/sbin/utadminuser -a user-name
/opt/SUNWut/sbin/utadminuser -d admin

Additionally, the following line is commented out in the file /etc/pam.conf:


utadmingui auth sufficient /opt/SUNWut/lib/pam_sunray_admingui.so.1

7. Set Kiosk Session value to vda.


/opt/SUNWut/sbin/utkiosk -i session -f

8. Set Kiosk Policy for both card users and non-card users.
/opt/SUNWut/sbin/utpolicy -a -g -z both -k both -m

327
Oracle VDI Configuration

1. Create RDP Broker SMF service and Proxy SMF services (Oracle Solaris platforms only).
svc://application/rdpb-broker
svc://application/rdpb-proxy

2. Configure VDA web service:

• Ports are configured (1800 / 1801)

• webuser is set to noaccess on Oracle Solaris, and to daemon on Oracle Linux.

• Remote access is enabled

3. Stop Cacao.
cacaoadm stop -f -i vda

On Linux platforms, cacaoadm is located at /opt/sun/cacao2/bin/cacaoadm.

4. Set Java and file-encoding flags.


cacaoadm set-param java-flags=-Xms4M -Xmx256M -Dcom.sun.management.jmxremote \
-Dfile.encoding=utf-8 -i vda

5. Start Cacao.
cacaoadm start -i vda

6. Set Cacao to start at boot.


cacaoadm enable -i vda

System Preparation

• On Windows XP virtual machines:


sysprep.exe -mini -reseal -activated -quiet

• On Windows 7 and later virtual machines:


sysprep.exe -generalize -oobe -shutdown -quiet

328
Appendix C. User Directory LDAP Filters and Attributes

Table of Contents
C.1. Editing LDAP Filters and Attributes .......................................................................................... 329
C.2. LDAP Filters and Attributes for Users, Groups, and Containers .................................................. 330
C.2.1. Default LDAP Filters and Attributes for Users, Groups and Containers ............................. 331
C.2.2. Active Directory Settings for Users, Groups, and Containers ........................................... 332
C.2.3. Oracle Directory Server Enterprise Edition Settings for Users, Groups, and Containers ...... 333
C.2.4. OpenDS Settings for Users, Groups, and Containers ...................................................... 333
C.2.5. OpenLDAP Settings for Users, Groups, and Containers .................................................. 334
C.2.6. Novell eDirectory Settings for Users, Groups, and Containers ......................................... 334
C.3. LDAP Filters and Attributes for Global Oracle VDI Centers ........................................................ 335
C.3.1. Default LDAP Filters and Attributes for Global Oracle VDI Centers .................................. 335
C.3.2. Active Directory Settings for Global Oracle VDI Centers .................................................. 336
C.3.3. Oracle Directory Server Enterprise Edition Settings for Global Oracle VDI Centers ............ 336

C.1. Editing LDAP Filters and Attributes


Oracle VDI uses various LDAP filters and attribute lists to look up and interpret the data stored in the user
directory.

Oracle VDI comes with some default LDAP filters that are suitable for Active Directory or Oracle Directory
Server Enterprise Edition. But these filters might be incompatible with other types of directories and might
need to be modified.

For production, it is always recommended to customize those filters to match most closely the LDAP
schema of the directory.

This section explains how to edit those filters, and the values recommended per type of directory.

See Section 3.13, “About LDAP Filters and Attributes” for details about how Oracle VDI makes use of the
different filters and attributes.

Before You Begin


Before editing LDAP filters and attributes, review Section C.2, “LDAP Filters and Attributes for Users,
Groups, and Containers” and Section C.3, “LDAP Filters and Attributes for Global Oracle VDI Centers”.

The syntax of the LDAP filters and the validity of the LDAP attributes is not verified by Oracle VDI when
you edit those values. So make sure you validate the LDAP filters and attributes before you set those
values.

LDAP filters and attributes can be validated using an external LDAP tool such as ldapsearch.
Oracle VDI Manager Steps

1. Log in to Oracle VDI Manager.

2. Select a company in the Settings category.

3. Select the Active Directory or LDAP tab.

329
LDAP Filters and Attributes for Users, Groups, and Containers

4. Click Edit LDAP Configuration.

5. Edit the settings and click Save button.

Command Line Steps

1. List the LDAP filter used to identify objects of type 'user' and the LDAP filter used to search for users
according a search criteria.
/opt/SUNWvda/sbin/vda directory-getprops

For example:
example% /opt/SUNWvda/sbin/vda directory-getprops \
-p ldap.user.object.filter,ldap.user.search.filter
ldap.user.object.filter:
(&(|(objectclass=user)(objectclass=person)(objectclass=inetOrgPerson)
(objectclass=organizationalPerson))(!(objectclass=computer)))
ldap.user.search.filter:
(|(cn=$SEARCH_STRING)(uid=$SEARCH_STRING)(mail=$SEARCH_STRING))

2. Customize the LDAP filter used to search for users according a search criteria, for Active Directory:
/opt/SUNWvda/sbin/vda directory-setprops

For example:
example% /opt/SUNWvda/sbin/vda directory-setprops \
-p ldap.user.search.filter= \
'"(|(cn=\$SEARCH_STRING)(uid=\$SEARCH_STRING)(mail=\$SEARCH_STRING))"'
Settings updated.

example% /opt/SUNWvda/sbin/vda directory-getprops \


-p ldap.user.search.filter
ldap.user.search.filter:
(|(cn=$SEARCH_STRING)(uid=$SEARCH_STRING)(mail=$SEARCH_STRING))

C.2. LDAP Filters and Attributes for Users, Groups, and Containers
Table C.1. LDAP Filters and Attributes for Users, Groups, and Containers

Oracle VDI Manager Property Description


Name
User Filter ldap.user.object.filter LDAP filter used to identify objects of type
user.
User Search Filter ldap.user.search.filter LDAP filter used to search for users
according a search criteria. Searches for
users can be done using the user-search
command or in Oracle VDI Manager.
$SEARCH_STRING is the place holder for the
search criteria.
User ID Attributes ldap.userid.attributes List of comma-separated LDAP attributes
storing the userid value for user objects. This
is used to find a user given its userid.
User Member ldap.user.member.attributes List of comma-separated LDAP attributes on
Attributes a user object storing the groups the user is a
member of.

330
Default LDAP Filters and Attributes for Users, Groups and Containers

Oracle VDI Manager Property Description


Name
User Short Attributes ldap.user.short.attributes List of comma-separated LDAP attributes
on a user object that can be used in a group
member attribute.
Group Filter ldap.group.object.filter LDAP filter used to identify objects of type
group.
Group Search Filter ldap.group.search.filter LDAP filter used to search for groups
according a search criteria. Searches
for groups can be done using the user-
search command or in Oracle VDI Manager.
$SEARCH_STRING is the place holder for the
search criteria.
Group Member ldap.group.member.attributes List of comma-separated LDAP attributes on
Attributes a group object storing the users member of
the group.
Group Short ldap.group.short.attributes List of comma-separated LDAP attributes
Attributes on a group object that can be used in a
user member attribute. This is typically used
for Primary Group membership, which is
specific to Active Directory.
Container Object ldap.container.object.filter LDAP filter used to identify objects of type
Filter container. Containers can be selected as
root for custom group filters in Oracle VDI
Manager.
Container Search ldap.container.search.filter LDAP filter used by Oracle VDI Manager to
Filter search for containers according a search
criteria, when selecting a root for a custom
group filter. $SEARCH_STRING is the place
holder for the search criteria.
Default Attributes ldap.default.attributes List of comma-separated LDAP attributes
loaded in the cache when looking up an
object. It should contain all the attributes
used in the other filters and attribute lists.

C.2.1. Default LDAP Filters and Attributes for Users, Groups and Containers
The following table contains the default LDAP filters and attributes for users, groups, and containers.

Table C.2. Default LDAP Filters and Attributes for Users, Groups, and Containers.

Oracle VDI Manager Default Value


Name
User Filter (&(|(objectclass=user)(objectclass=person)
(objectclass=inetOrgPerson) (objectclass=organizationalPerson))(!
(objectclass=computer)))
User Search Filter (|(cn=$SEARCH_STRING)(uid=$SEARCH_STRING) (userPrincipalName=
$SEARCH_STRING)(mail=$SEARCH_STRING))
User ID Attributes uid,sAMAccountName,userPrincipalName,mail

331
Active Directory Settings for Users, Groups, and Containers

Oracle VDI Manager Default Value


Name
User Member memberof,primaryGroupID
Attributes
User Short Attributes No default
Group Filter (|(objectclass=group)(objectclass=groupofnames)
(objectclass=groupofuniquenames))
Group Search Filter (|(dc=$SEARCH_STRING)(o=$SEARCH_STRING)(ou=$SEARCH_STRING) (cn=
$SEARCH_STRING)(uid=$SEARCH_STRING)(mail=$SEARCH_STRING))
Group Member member,uniquemember
Attributes
Group Short Attributes primaryGroupToken
Container Object Filter (|(objectclass=domain)(objectclass=organization)
(objectclass=organizationalUnit)(objectclass=container))
Container Search (|(cn=$SEARCH_STRING)(dc=$SEARCH_STRING)(ou=$SEARCH_STRING))
Filter
Default Attributes dc,o,ou,cn,uid,mail,member,uniquemember,memberof,sAMAccountName,
primaryGroupToken,primaryGroupID

C.2.2. Active Directory Settings for Users, Groups, and Containers


The following table contains the recommended settings for Active Directory for users, groups, and
containers.

If you use either the userPrincipalName attribute or the mail attribute for user identification, use this
attribute instead of sAMAccountName in the following settings.

Table C.3. Recommended User, Group, and Container Settings for Active Directory

Oracle VDI Manager Recommended Setting


Name
User Filter (&(objectclass=user)(!(objectclass=computer)))
User Search Filter (|(cn=$SEARCH_STRING)(sAMAccountName=$SEARCH_STRING))
User ID Attributes sAMAccountName
User Member memberof,primaryGroupID
Attributes
User Short Attributes No recommendation, depends on the LDAP schema in use
Group Filter (objectclass=group)
Group Search Filter (cn=$SEARCH_STRING)
Group Member member
Attributes
Group Short Attributes primaryGroupToken
Container Object Filter (objectclass=container)
Container Search (cn=$SEARCH_STRING)
Filter
Default Attributes cn,member,memberof,sAMAccountName,primaryGroupToken,primaryGroupID

332
Oracle Directory Server Enterprise Edition Settings for Users, Groups, and Containers

C.2.3. Oracle Directory Server Enterprise Edition Settings for Users, Groups,
and Containers
The following table contains the recommended settings for Oracle Directory Server Enterprise Edition for
users, groups, and containers.

Table C.4. Recommended User, Group, and Container Settings for Oracle Directory Server Enterprise Edition

Oracle VDI Manager Recommended Setting


Name
User Filter (objectclass=person)
User Search Filter (|(cn=$SEARCH_STRING)(uid=$SEARCH_STRING))
User ID Attributes uid
User Member memberof
Attributes
User Short Attributes No recommendation, depends on the LDAP schema in use
Group Filter (objectclass=groupofuniquenames)
Group Search Filter (cn=$SEARCH_STRING)
Group Member uniquemember
Attributes
Group Short Attributes No recommendation, depends on the LDAP schema in use
Container Object Filter (|(objectclass=domain)(objectclass=organizationalUnit))
Container Search (|(dc=$SEARCH_STRING)(ou=$SEARCH_STRING))
Filter
Default Attributes dc,ou,cn,uid,uniquemember,memberof

C.2.4. OpenDS Settings for Users, Groups, and Containers


The following table contains the recommended settings for OpenDS for users, groups, and containers.

Table C.5. Recommended User, Group, and Container Settings for OpenDS

Oracle VDI Manager Recommended Setting


Name
User Filter (objectclass=person)
User Search Filter (|(cn=$SEARCH_STRING)(uid=$SEARCH_STRING))
User ID Attributes uid
User Member memberof
Attributes
User Short Attributes No recommendation, depends on the LDAP schema in use
Group Filter (objectclass=groupofuniquenames)
Group Search Filter (cn=$SEARCH_STRING)
Group Member uniquemember
Attributes
Group Short Attributes No recommendation, depends on the LDAP schema in use

333
OpenLDAP Settings for Users, Groups, and Containers

Oracle VDI Manager Recommended Setting


Name
Container Object Filter (|(objectclass=domain)(objectclass=organizationalUnit))
Container Search (|(dc=$SEARCH_STRING)(ou=$SEARCH_STRING))
Filter
Default Attributes dc,ou,cn,uid,uniquemember,memberof

C.2.5. OpenLDAP Settings for Users, Groups, and Containers


The following table contains the recommended settings for OpenLDAP for users, groups, and containers.

Table C.6. Recommended User, Group, and Container Settings for OpenLDAP

Oracle VDI Manager Recommended Setting


Name
User Filter As a minimum, you must remove (!(objectclass=computer)) from the default user
filter as this causes an error.

Recommended setting: (objectclass=person).


User Search Filter (|(cn=$SEARCH_STRING)(uid=$SEARCH_STRING))
User ID Attributes uid
User Member memberof
Attributes
User Short Attributes No recommendation, depends on the LDAP schema in use
Group Filter (objectclass=groupofnames)
Group Search Filter (cn=$SEARCH_STRING)
Group Member member
Attributes
Group Short Attributes No recommendation, depends on the LDAP schema in use
Container Object Filter No recommendation, depends on the LDAP schema in use
Container Search No recommendation, depends on the LDAP schema in use
Filter
Default Attributes cn,uid,member,memberof

C.2.6. Novell eDirectory Settings for Users, Groups, and Containers


The following table contains the recommended settings for Novell eDirectory for users, groups and
containers.

Table C.7. Recommended User, Group, and Container Settings for Novell eDirectory

Oracle VDI Manager Recommended Setting


Name
User Filter As a minimum, you must remove (!(objectclass=computer)) from the default user
filter as this causes an error.

Recommended setting: (objectclass=person).


User Search Filter (|(cn=$SEARCH_STRING)(uid=$SEARCH_STRING)(givenName=$SEARCH_STRING))

334
LDAP Filters and Attributes for Global Oracle VDI Centers

Oracle VDI Manager Recommended Setting


Name
User ID Attributes givenName,cn,uid
User Member groupMembership
Attributes
User Short Attributes No recommendation, depends on the LDAP schema in use
Group Filter (|(objectclass=group)(objectclass=groupofnames)
(objectclass=groupofuniquenames))
Group Search Filter No recommendation, depends on the LDAP schema in use
Group Member member,uniquemember
Attributes
Group Short Attributes No recommendation, depends on the LDAP schema in use
Container Object Filter (objectclass=organizationalUnit)
Container Search No recommendation, depends on the LDAP schema in use
Filter
Default Attributes cn,uid,givenName,groupmembership,member,uniquemember

C.3. LDAP Filters and Attributes for Global Oracle VDI Centers
Oracle VDI uses the following LDAP filters and attributes to interpret the Oracle VDI Center data stored in
the user directory.

The default values are intended for compatibility with Active Directory and Oracle Directory Server
Enterprise Edition. It is recommended to edit the default values in order to use the more specific ones for
your type of directory.

If you choose to use different objects and attributes than the defaults to store the Oracle VDI Center data,
you need to adapt the LDAP filters and attributes accordingly.

See Section 3.12.4, “Preparing a User Directory for Global Oracle VDI Centers” for a detailed example.

Table C.8. LDAP Filters and Attributes Used for Global Oracle VDI Centers

Oracle VDI Manager Property Description


Name
VDI Center Name ldap.vdicenter.displayname.attributes List of attributes on an Oracle VDI
Center object that contains display
name.
VDI Host Filter ldap.vdihost.object.filter Filter to match an Oracle VDI host
object.
VDI Host DNS Name ldap.vdihost.dnsname.attributes List of attributes on an Oracle VDI host
Attributes object that contains the DNS name or
IP address of the host.
VDI Center Name ldap.user.vdicenter.attributes List of attributes on a user object that
contains the Oracle VDI Center DN.

C.3.1. Default LDAP Filters and Attributes for Global Oracle VDI Centers
The following table contains the default LDAP filters and attributes for Global Oracle VDI Centers.

335
Active Directory Settings for Global Oracle VDI Centers

Table C.9. Default LDAP Filters and Attributes for Global Oracle VDI Centers

Setting Name Default value


VDI Center Name displayName,ou
VDI Host Filter (|(objectClass=computer)(objectClass=device))
VDI Host DNS Name Attributes dNSHostName,ipHostNumber,cn
VDI Center User Attributes seeAlso

C.3.2. Active Directory Settings for Global Oracle VDI Centers


The following table contains the recommended settings for Active Directory for Global Oracle VDI Centers.

Table C.10. Recommended Global Oracle VDI Center Settings for Active Directory

Setting Name Recommended Setting


VDI Center Name displayName,ou
VDI Host Filter (objectClass=computer)
VDI Host DNS Name Attributes dNSHostName,ipHostNumber
VDI Center User Attributes seeAlso

C.3.3. Oracle Directory Server Enterprise Edition Settings for Global Oracle
VDI Centers
The following table contains the recommended settings for Oracle Directory Server Enterprise Edition for
Global Oracle VDI Centers.

Table C.11. Recommended Global Oracle VDI Center Settings for Oracle Directory Server Enterprise Edition

Setting Name Recommended Setting


VDI Center Name ou
VDI Host Filter (objectClass=device)
VDI Host DNS Name Attributes ipHostNumber,cn
VDI Center User Attributes seeAlso

336
Appendix D. Remote Database Configuration

Table of Contents
D.1. Installing and Configuring a Remote MySQL Database (InnoDB) ............................................... 337
D.2. Creating a Privileged Database Administrator ........................................................................... 339

This appendix contains basic instructions on installing and configuring of a remote database for use with
Oracle VDI. For comprehensive information on installing and configuring MySQL can be found in the
MySQL documentation at http://dev.mysql.com/doc.

D.1. Installing and Configuring a Remote MySQL Database (InnoDB)


The following procedure describes how to install MySQL 5.1 with an InnoDB storage engine on an Oracle
Solaris x86 host.

1. Create the file /etc/my.cnf, and add the following content.


[mysqld]
user=mysql
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
port=3306
socket=/tmp/mysql.sock
max_allowed_packet=20M
#transaction_isolation=READ-COMMITTED
lower_case_table_names=1
max_connections=1000
skip-locking
key_buffer=16K
table_cache=4
sort_buffer_size=64K
net_buffer_length=2K
thread_stack=64K
wait_timeout=31536000

innodb_data_home_dir=/usr/local/mysql/data
innodb_data_file_path=ibdata1:10M:autoextend
innodb_log_group_home_dir=/usr/local/mysql/data
innodb_buffer_pool_size=50M
innodb_additional_mem_pool_size=10M
innodb_log_file_size=5M
innodb_log_buffer_size=10M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50

2. Create a user "mysql" and a group "mysql" by running the following commands.
# groupadd mysql
# useradd -g mysql mysql

3. Get the MySQL tar file, untar it, and keep it in the / directory.

4. Create the directory /usr/local, by running the following command.


# mkdir /usr/local

5. Change to the new directory, and create a symbolic link, called "mysql", that points to the MySQL files
in the directory, by running the following commands.
# cd /usr/local

337
Installing and Configuring a Remote MySQL Database (InnoDB)

# ln -s /mysql-5.1.30-solaris10-i386 mysql
# ls -lrt

total 2
lrwxrwxrwx 1 root root 35 Nov 12 17:33 mysql -> /export/mysql-5.1.30-solaris10-i386
bash-3.00#

6. Make sure that the directory contains the proper owner and group permissions by running the following
commands.
# chgrp -R mysql /mysql-5.1.30-solaris10-i386
# chown -R mysql /mysql-5.1.30-solaris10-i386

7. Check the permissions for the directory as well.


# cd /usr/local/mysql
# ls -lrt

-rw-r--r-- 1 mysql mysql 19071 Nov 15 13:07 COPYING


-rw-r--r-- 1 mysql mysql 5139 Nov 15 13:07 EXCEPTIONS-CLIENT
-rw-r--r-- 1 mysql mysql 8767 Nov 15 13:07 INSTALL-BINARY
-rw-r--r-- 1 mysql mysql 1410 Nov 15 13:07 README
drwxr-xr-x 2 mysql mysql 1536 Nov 15 13:07 bin
drwxr-xr-x 4 mysql mysql 512 Nov 15 13:07 data
drwxr-xr-x 2 mysql mysql 512 Nov 15 13:05 docs
drwxr-xr-x 2 mysql mysql 1024 Nov 15 13:05 include
drwxr-xr-x 3 mysql mysql 1024 Nov 15 13:06 lib
drwxr-xr-x 4 mysql mysql 512 Nov 15 13:06 man
drwxr-xr-x 10 mysql mysql 512 Nov 15 13:07 mysql-test
drwxr-xr-x 2 mysql mysql 512 Nov 15 13:07 scripts
drwxr-xr-x 27 mysql mysql 1024 Nov 15 13:07 share
drwxr-xr-x 5 mysql mysql 1024 Nov 15 13:07 sql-bench
drwxr-xr-x 2 mysql mysql 512 Nov 15 13:07 support-files

8. From the /usr/local/mysql directory, run the following command, and check that it provides the
corresponding output.
# ./scripts/mysql_install_db --user=mysql

To start mysqld at boot time you have to copy support-files/mysql.server to the


right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !


To do so, start the server, then issue the following commands:

/usr/local/mysql/bin/mysqladmin -u root password 'new-password'


/usr/local/mysql/bin/mysqladmin -u root -h wipro-33 password 'new-password'

Alternatively you can run:


/usr/local/mysql/bin/mysql_secure_installation

which will also give you the option of removing the test databases and anonymous
user created by default. This is strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:


cd /usr/local/mysql ; /usr/local/mysql/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl


cd /usr/local/mysql/mysql-test ;
perl mysql-test-run.pl

Please report any problems with the /usr/local/mysql/scripts/mysqlbug script!

338
Creating a Privileged Database Administrator

The latest information about MySQL is available at http://www.mysql.com/ Support MySQL


by buying support/licenses from http://shop.mysql.com/

9. From the /usr/local/mysql directory, run the following command, and check to see that you get the
corresponding output.
# ./bin/mysqld_safe --defaults-file=/etc/my.cnf --ledir=/usr/local/mysql/bin --user=mysql &

[1] 15885
# 090323 22:36:26 mysqld_safe Logging to '/usr/local/mysql/data/wipro-33.err'.
090323 22:36:26 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data

10. Now, leave the terminal just the way it is. To make sure the process you just enabled is running all the
time, go to the console and start this process.
# cd /usr/local/mysql/bin
# ./mysql --user=root

Welcome to the MySQL monitor. Commands end with ; or g.


Your MySQL connection id is 1
Server version: 5.1.30 MySQL Community Server (GPL)

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql>

11. Stop the MySQL daemon by running the following command in a terminal, if you want to stop the
daemon.
# ./mysqladmin shutdown

When the command is run, the terminal, that was left alone, should give the following output.
# /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --ledir=/usr/local/mysql/bin
--user=mysql &
[1] 16017
# 090323 22:47:38 mysqld_safe Logging to '/usr/local/mysql/data/wipro-33.err'.
090323 22:47:38 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
090323 22:49:31 mysqld_safe mysqld from pid file /usr/local/mysql/data/wipro-33.pid ended

D.2. Creating a Privileged Database Administrator


Oracle VDI requires the credentials of a privileged database administrator in order to create the Oracle VDI
database on a remote database.

The following procedure describes how to create a privileged administrator.

For more information about MySQL user account management, refer to the MySQL Server Administration
chapter of the MySQL Reference Manual.

1. Use the MySQL command line tool to enter the MySQL interactive mode as root.
# ./mysql --user=root

2. Use the MySQL GRANT statement to create the privileged administrator.

In the following example, a user is granted all privileges.


mysql> GRANT ALL PRIVILEGES ON *.* TO '<user>'@'localhost' IDENTIFIED BY ' /
<password>' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO '<user>'@'%' IDENTIFIED BY ' /
<password>' WITH GRANT OPTION;

339
Creating a Privileged Database Administrator

mysql> GRANT ALL PRIVILEGES ON *.* TO '<user>'@'<localhost DNS name> /


' IDENTIFIED BY '<password>' WITH GRANT OPTION;

In the following example, a user is granted a limited set of privileges that are sufficient to create the
Oracle VDI database.
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON *.* TO ' /
<user>'@'%' IDENTIFIED BY '<password>' WITH GRANT OPTION;
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON *.* TO '<user>'@' /
<db-host-dns>' IDENTIFIED BY '<password>' WITH GRANT OPTION;

Where <user> and <password> are the user name and password of the user account.

340
Appendix E. Licenses for Third-Party Components

Table of Contents
E.1. Apache Software Foundation Licenses ..................................................................................... 341
E.2. Bouncy Castle License ............................................................................................................ 345
E.3. EclipseLink License ................................................................................................................. 346
E.4. Java Secure Channel (JSCH) for SSH2 License ....................................................................... 346
E.5. Xerces License ........................................................................................................................ 347

This appendix contains licenses for third-party components that might be included in the product.

E.1. Apache Software Foundation Licenses


The following software may be included in this product:

Apache Commons Beanutils 1.6

Apache Commons Codec 1.4


Copyright 2002-2011 The Apache Software Foundation
This product includes software developed by
The Apache Software Foundation (http://www.apache.org/).
src/test/org/apache/commons/codec/language/
DoubleMetaphoneTest.java contains
test data from http://aspell.sourceforge.net/test/batch0.tab.
Copyright (C) 2002 Kevin Atkinson ([email protected]). Verbatim
copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved.

Apache Commons Collections 2.1

Apache Commons Digester 1.5


This product includes software developed by
The Apache Software Foundation (http://www.apache.org/).

Apache Commons Discovery 0.2

Apache Commons File Upload 1


Copyright 2002-2008 The Apache Software Foundation
This product includes software developed by
The Apache Software Foundation (http://www.apache.org/).

Apache Commons Logging 1.0.4


Copyright 2003-2007 The Apache Software Foundation
This product includes software developed by
The Apache Software Foundation (http://www.apache.org/).

Apache Jakarta Commons HttpClient 3.1


Copyright 1999-2007 The Apache Software Foundation
This product includes software developed by
The Apache Software Foundation (http://www.apache.org/).

Apache Log4j 1.2.11, 1.2.12


Copyright 1999-2005 The Apache Software Foundation
This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).

Apache Tomcat 6.0.35


Copyright (C) 1999-2011, Apache Software Foundation

Apache WS Common Utils 1.0.1

341
Apache Software Foundation Licenses

Castor XML 1.2


For a complete list of committers to the Castor project,
please see http://www.castor.org/1.2/contributors.html

JAX-RPC 1.1

OpenCSV 1.8

Shale Remoting 1.1.0


Copyright 2004-2007 The Apache Software Foundation

This product includes software developed by


The Apache Software Foundation (http://www.apache.org/).

This product contains code written by David Geary and Cay


Horstmann
for the first edition of Core JavaServer Faces.

Wiseman 1

The following applies to all products licensed under the Apache 2.0
License:

You may not use the identified files except in compliance with the
Apache License, Version 2.0 (the "License.")

You may obtain a copy of the License at


http://www.apache.org/licenses/LICENSE-2.0. A copy of the license is
also reproduced below.

Unless required by applicable law or agreed to in writing, software


distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied.

See the License for the specific language governing permissions and
limitations under the License.

Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use,


reproduction, and distribution as defined by Sections 1 through
9 of this document.

"Licensor" shall mean the copyright owner or entity authorized


by the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under
common control with that entity. For the purposes of this
definition, "control" means (i) the power, direct or indirect,
to cause the direction or management of such entity, whether by
contract or otherwise, or (ii) ownership of fifty percent (50%)
or more of the outstanding shares, or (iii) beneficial ownership
of such entity.

"You" (or "Your") shall mean an individual or Legal Entity

342
Apache Software Foundation Licenses

exercising permissions granted by this License.

"Source" form shall mean the preferred form for making


modifications, including but not limited to software source code,
documentation source, and configuration files.

"Object" form shall mean any form resulting from mechanical


transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or


Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or


Object form, that is based on (or derived from) the Work and
for which the editorial revisions, annotations, elaborations,
or other modifications represent, as a whole, an original work
of authorship. For the purposes of this License, Derivative
Works shall not include works that remain separable from, or
merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including


the original version of the Work and any modifications or
additions to that Work or Derivative Works thereof, that is
intentionally submitted to Licensor for inclusion in the Work
by the copyright owner or by an individual or Legal Entity
authorized to submit on behalf of the copyright owner.
For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication
sent to the Licensor or its representatives, including but not
limited to communication on electronic mailing lists, source
code control systems, and issue tracking systems that are
managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work,
but excluding communication that is conspicuously marked or
otherwise designated in writing by the copyright owner as
"Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal


Entity on behalf of whom a Contribution has been received by
Licensor and subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions


of this License, each Contributor hereby grants to You a
perpetual, worldwide, non-exclusive, no-charge, royalty-free,
irrevocable copyright license to reproduce, prepare Derivative
Works of, publicly display, publicly perform, sublicense, and
distribute the
Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of


this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have
made, use, offer to sell, sell, import, and otherwise transfer
the Work, where such license applies only to those patent claims
licensable by such Contributor that are necessarily infringed
by their Contribution(s) alone or by combination of their
Contribution(s) with the Work to which such Contribution(s) was
submitted. If You institute patent litigation against any entity
(including a cross-claim or counterclaim in a lawsuit) alleging
that the Work or a Contribution incorporated within the Work
constitutes direct or contributory patent infringement, then any

343
Apache Software Foundation Licenses

patent licenses granted to You under this License for that Work
shall terminate as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the


Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:

(a) You must give any other recipients of the Work or


Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its


distribution, then any Derivative Works that You distribute
must include a readable copy of the attribution notices
contained within such NOTICE file, excluding those notices
that do not pertain to any part of the Derivative Works, in
at least one of the following places: within a NOTICE text
file distributed as part of the Derivative Works; within
the Source form or documentation, if provided along with
the Derivative Works; or, within a display generated by the
Derivative Works, if and wherever such third-party notices
normally appear. The contents of the NOTICE file are for
informational purposes only and do not modify the License.
You may add Your own attribution notices within Derivative
Works that You distribute, alongside or as an addendum to
the NOTICE text from the Work, provided that such additional
attribution notices cannot be construed
as modifying the License.

You may add Your own copyright statement to Your modifications


and may provide additional or different license terms and
conditions for use, reproduction, or distribution of Your
modifications, or for any such Derivative Works as a whole,
provided Your use, reproduction, and distribution of the Work
otherwise complies with the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state


otherwise, any Contribution intentionally submitted for
inclusion in the Work by You to the Licensor shall be under the
terms and conditions of this License, without any additional
terms or conditions. Notwithstanding the above, nothing herein
shall supersede or modify the terms of any separate license
agreement you may have executed with Licensor regarding such
Contributions.

6. Trademarks. This License does not grant permission to use the


trade names, trademarks, service marks, or product names of the
Licensor, except as required for reasonable and customary use in
describing the origin of the Work and reproducing the content of
the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or


agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or
conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or
FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible

344
Bouncy Castle License

for determining the appropriateness of using or redistributing


the Work and assume any risks associated with Your exercise of
permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,


whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and
grossly negligent acts) or agreed to in writing, shall any
Contributor be liable to You for damages, including any direct,
indirect, special, incidental, or consequential damages of any
character arising as a result of this License or out of the use
or inability to use the Work (including but not limited to
damages for loss of goodwill, work stoppage, computer failure
or malfunction, or any and all other commercial damages or
losses), even if such Contributor has been advised of the
possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing


the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty,
indemnity, or other liability obligations and/or rights
consistent with this License. However, in accepting such
obligations, You may act only on Your own behalf and on Your
sole responsibility, not on behalf of any other Contributor,
and only if You agree to indemnify, defend, and hold each
Contributor harmless for any liability incurred by, or claims
asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following


boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License");


you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software


distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied. See the License for the specific language governing
permissions and limitations under the License.

E.2. Bouncy Castle License


The following software may be included in this product:
Bouncy Castle Crypto APIs

Please note: our license is an adaptation of the MIT X11 License and
should be read as such.

License Copyright (c) 2000 - 2009 The Legion Of The Bouncy Castle

345
EclipseLink License

(http://www.bouncycastle.org)
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions: The above copyright notice and this
permission notice shall be included in all copies or substantial
portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,


EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

E.3. EclipseLink License


The following software may be included in this product:
Eclipselink 2.3.2

Eclipse Distribution License - v 1.0


Copyright (c) 2007, Eclipse Foundation, Inc. and its licensors.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
- Neither the name of the Eclipse Foundation, Inc. nor the names of
its contributors may be used to endorse or promote products derived
from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS


"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

E.4. Java Secure Channel (JSCH) for SSH2 License


The following software may be included in this product:
Java Secure Channel (JSCH) for SSH2

JSch 0.0.* was released under the GNU LGPL license. Later, we have
switched over to a BSD-style license.

----------------------------------------------------------------------
Copyright (c) 2002,2003,2004,2005,2006,2007 Atsuhiko Yamanaka,
JCraft,Inc.
All rights reserved.

346
Xerces License

Redistribution and use in source and binary forms, with or without


modification, are permitted provided that the following conditions
are met:

1. Redistributions of source code must retain the above copyright


notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above


copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.

3. The names of the authors may not be used to endorse or promote


products derived from this software without specific prior
written permission.

THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED


WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL JCRAFT, INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

E.5. Xerces License


The following software may be included in this product:
Xerces

This product includes software developed by the Apache Software


Foundation. (http://www.apache.org/).

The Apache Software License, Version 1.1

Copyright (c) 2000 The Apache Software Foundation. All rights


reserved.

Redistribution and use in source and binary forms, with or without


modification, are permitted provided that the following conditions
are met:

1. Redistributions of source code must retain the above copyright


notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright


notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.

4. The end-user documentation included with the redistribution,


if any, must include the following acknowledgment:

"This product includes software developed by the


Apache Software Foundation (http://www.apache.org/)."

Alternately, this acknowledgment may appear in the software


itself, if and wherever such third-party acknowledgments
normally appear.

5. The names "Apache" and "Apache Software Foundation" must not


be used to endorse or promote products derived from this

347
Xerces License

software without prior written permission. For written


permission, please contact [email protected].

5. Products derived from this software may not be called "Apache",


nor may "Apache" appear in their name, without prior written
permission of the Apache Software Foundation.

THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED


WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

This software consists of voluntary contributions made by many


individuals on behalf of the Apache Software Foundation. For more
information on the Apache Software Foundation, please see
<http://www.apache.org/>.

Portions of this software are based upon public domain software


originally written at the National Center for Supercomputing
Applications, University of Illinois, Urbana-Champaign.

348
Glossary
The following is a glossary of terms used for Oracle Virtual Desktop Infrastructure (VDI).

A
agent
A software entity that performs tasks on behalf of another software entity.

ALP
The Appliance Link Protocol is used between Sun Ray Clients and the Sun Ray server.

C
clone
To create a new desktop by copying it from a template and optionally, maintaining a link to the template.

company
A feature to enable multiple user directories to be configured for one Oracle VDI environment. This provides the
ability to provide privacy between multiple groups within the same Oracle VDI environment. Each company has its
own set of desktop pools.

corporation
A setting for the Company feature that enables multiple user directories without the need for privacy. For
example, this is useful for a company with groups in different geographical locations.

custom group
A set of users defined by a filter on the user directory.

D
daemon
Programs that start automatically during system startup and run in the background without user interaction are
usually called services in Windows and daemons in UNIX.

data store
A data store allows configuration settings to be replicated and kept synchronized with other servers automatically.

desktop
A virtual machine containing a desktop instance that is executed and managed within Oracle VDI, and accessed
through RDP.

desktop provider
An entity that provides unified access to the virtualization platforms that include Oracle VM VirtualBox, Microsoft
Hyper-V, VMware vCenter, Microsoft Remote Desktop, Sun Ray Kiosk and Generic.

DTU
Sun Ray Desktop Terminal Units (DTU). Replaced by the term Sun Ray Clients.

E
ESX
Type 1 hypervisor by VMware.

349
F
flexible assignment
Desktops can be temporarily assigned to users as needed from a pool. When a user stops using the assigned
desktop, the desktop can be recycled and made available for other users. Flexible assignment is suitable for
people who typically work in one or a few applications and have fewer requirements for customizing their desktop
environment.

G
Global Oracle VDI Center
A feature that extends the basic "hotdesking" experience known from a single Oracle VDI environment to
encompass multiple Oracle VDI environments. It helps when users travel from one site to another site and need
access to their desktops.

golden image
A desktop template used to create new desktops.
See Also template.

guest operating system


An operating system that runs on a virtual machine.

guest pool
A pool with the "Guest" flag turned on. It provides desktops for users who have no assignments to desktops or
other non-guest pools on the Oracle VDI Center they are currently connecting to. Used by the Global Oracle VDI
Center feature.

GUI
Graphical User Interface. Oracle VDI Manager is a browser-based graphical user interface to configure the Oracle
VDI Center.

H
host
The physical computer on which virtual machines are running.

hotdesking
The ability for a user to remove a smart card, insert it into any other Sun Ray Client, and have the user's session
"follow" the user. This enables a user to have instantaneous access to the user's windowing environment and
currently running applications from multiple Sun Ray Clients. This is useful when employees are not assigned to a
specific workplace.

Hyper-V
Hypervisor by Microsoft. Full name is Microsoft Hyper-V.

hypervisor
A program or specialized operating system to run virtual machines on a host. Type 1 hypervisors are "bare metal",
while type 2 hypervisors need a standard operating system.

K
kiosk mode
Kiosk mode is a facility that enables Sun Ray Software to run desktops and applications in a way that bypasses
the normal authentication methods of the underlying operating system.

350
kiosk session
A user session running in kiosk mode.

kiosk session type


A set of scripts and configuration files that define the kind of user session that runs in kiosk mode.

Oracle VDI comes with a predefined kiosk session type, called Oracle Virtual Desktop Infrastructure. This session
type uses the Sun Ray Windows connector to establish a Remote Desktop Protocol (RDP) connection to a virtual
machine.

In addition to this, the Oracle VDI Sun Ray Kiosk Session desktop provider enables you to use a different Sun
Ray kiosk type instead of a regular Oracle VDI desktop.

L
lifecycle
A desktop is cloned from a template into a pool, used, perhaps reused, recycled, deleted: this is its lifecycle.

M
master revision
The template's revision that will be used by default for desktop cloning in pools. Use the command 'Apply for
Cloning in Pool' to use a specific revision instead.

O
Oracle VDI
Oracle Virtual Desktop Infrastructure provides a complete solution for managing, hosting, and providing access to
virtualized desktop operating systems hosted in the data center.

Oracle VDI Manager


The administration GUI used for management of desktops through Oracle Virtual Desktop Infrastructure.

P
personal assignment
Desktops can be personally assigned to users. When a user stops using a personally assigned desktop, the
desktop will be stored with their desktop settings, and it will not be recycled for other users.

policy
In this context, policies are settings that specify parameters such as timeout intervals, maximum age, and others
that affect the lifecycles of desktops in pools.

pool
A collection of desktops sharing the same characteristics. Pools ordinarily contain desktops that are available for
assignment as well as those that are no longer in active use and are waiting to be recycled or deleted.

R
RDP
Microsoft Remote Desktop Protocol.

351
recycling
When a desktop originating in a pool has not been used for a specified interval or if certain other criteria apply, it
is recycled. Recycling can include being returned to the pool for reassignment, reset to snapshot and reused, or
deleted. In the latter case, a new desktop might by cloned for the pool.

resume
To return a suspended desktop to operation, use the resume feature.
See Also suspend.

revision
Snapshot of a template.

S
service
Programs that start automatically during system startup and run in the background without user interaction are
usually called services in Windows and daemons in UNIX.

SGD
Oracle Secure Global Desktop.

snapshot
A reproduction of the virtual machine at a given point in time, including the state of the data on all the virtual
machine's disks, including whether the virtual machine was powered on, powered off, or suspended.

SSH
Secure Shell, a network protocol that enables exchange of data over a secure channel, using public-key
cryptography for authentication.

SSL
Secure Sockets Layer, a cryptographic protocol used for secure data transfer.

storage
Location for storing configuration settings.
See Also data store.

Sun Ray Software


Sun Ray Software is needed to host Sun Ray sessions for Sun Ray Clients. Sun Ray Software is installed as part
of Oracle VDI.

suspend
To save the current state of a running virtual machine. To return a suspended virtual machine to operation, use
the resume feature.
See Also resume.

system preparation
System preparation refers to modifications made to a Windows guest operating system in a virtual machine,
typically as it is being deployed. Customization options include changing the new virtual machine's identification
and network information.

T
template
A master or golden image of a desktop. Templates are special desktops that are used for cloning new desktops.

352
token
A unique string that identifies a user. Sometimes this is provided by a smart card.

V
vCenter
A tool by VMware to manage an ESX server.

VDA
Virtual Desktop Architecture. Many Oracle VDI components, such as scripts, use vda as a prefix.

VDI
Virtual Desktop Infrastructure.

VDI Center
One or more Oracle VDI hosts working together.
See Also Global Oracle VDI Center.

VDI Manager
See Oracle VDI Manager.

virtual disk
A file or set of files that appears as a physical disk drive to a guest operating system. These files can be on the
host machine or on a remote file system.

virtual display client


A Sun Ray hardware client.

virtual machine
A virtualized x86 PC environment in which a guest operating system and associated application software can run.
Multiple virtual machines can operate on the same host system concurrently.

virtual machine configuration file


A file containing a virtual machine configuration, created when you create the virtual machine. It specifies which
virtual devices, such as disks and memory, are present in a virtual machine and how they are mapped to host
files and devices.

virtual network
A network connecting virtual machines that does not depend on physical hardware connections.

VirtualBox
Type 2 hypervisor. Full name is Oracle VM VirtualBox.

X
X RandR
The X Resize, Rotate and Reflect extension to the X Window System, which enables clients to resize, rotate, and
change screen resolution settings dynamically. For Sun Ray Software and Oracle VDI, this extension is especially
useful when a user hotdesks to Sun Ray Clients that use monitors of different sizes or resolutions than the one
where a given session began.

Xinerama
An extension to the X Window System that enables the use of two or more physical displays as one large virtual
display. Xinerama mode allows the display of a single desktop across multiple monitors.

353
354

You might also like