1491 - Virtual, Faster, Better! How to Virtualize the Rich Client and Browser Plugin
1. BP1491: Virtual, Faster, Better!
How to Virtualize the Rich Client and
Browser Plugin
Christoph Adler, panagenda Feb-01-2016
2. Introduction
• Christoph Adler – Senior Consultant
15 years of IBM (Lotus) solutions experience
Since 2007 focused on
IBM Notes Client Management
Analysis and Optimization of ICS infrastructures
Lives in Germany / don’t give energy drinks
3. Agenda
• Getting started
What can you expect from this session?
What we typically SEE at customers
What we typically DO at customers
• To roam or not to roam: that is the question
IBM Notes in virtual environments (recommended)
• Best practices
• Installing IBM Notes | ICAA in virtual environments
(recipe)
• Summary
4. Agenda
• Getting started
What can you expect from this session?
What we typically SEE at customers
What we typically DO at customers
• To roam or not to roam: that is the question
IBM Notes in virtual environments (recommended)
• Best practices
• Installing IBM Notes | ICAA in virtual environments
(recipe)
• Summary
5. What can you expect from this session?
• Best Practices for deploying IBM Notes in virtual environments
• Giving an overview on the ideal IBM Notes architecture in virtual
environments
• A recipe to set up and pre-configure the perfect IBM Notes Client | ICAA
installation in a virtual environment
6. What we typically SEE at customers
• Administrators that cannot invest much time in troubleshooting IBM Notes
issues because of
too many responsibilities for other IT systems
steadily increasing complexity of IT systems
missing or unknown knowledge sources
“wrong“ or missing tools/solutions
• Administrators agree to set up IT systems when requested but rarely have
time to adequately maintain them going forward
7. What we typically SEE at customers
• Aged IBM Notes installations in virtual environments that are working
“somehow”
Mostly Notes data directories on network drives which cause
• long startup times of IBM Notes (up to 60 sec)
• hangs and wait times due to interruptions and poor network latency
• high network traffic as IBM Notes is constantly reading / writing data
• frequently corrupted local applications
• permanently occupied disk space on file servers / SAN / NAS
– 120MB on average per user
– often because of old and outdated files, even templates
8. What we typically DO at customers
• Sparking their enthusiasm for IBM Notes
Especially in virtual environments, IBM Notes can be optimized to start up fast,
run smooth and contribute to a positive end user IT experience by
• switching to local Multi-user installations
• frequently maintaining contents of IBM Notes data folders
• relieving network, file servers and / or SAN / NAS systems
• Encouraging administrators to spend a little more time on troubleshooting and
analyzing IBM Notes
Solve root causes, not symptoms!
9. Agenda
• Getting started
What can you expect from this session?
What we typically SEE at customers
What we typically DO at customers
• To roam or not to roam: that is the question
IBM Notes in virtual environments (recommended)
• Best practices
• Installing IBM Notes | ICAA in virtual environments
(recipe)
• Summary
10. To roam or not to roam: that is the question
• Given the previous reasons why IBM Notes in virtual environments should not
have any files in the network, the following logical questions arise
How can personal IBM Notes data folders of end users be maintained locally on
the virtual environment servers?
• Think of having N servers in the farm where personal end user data potentially needs to
be on every single server
How do end users get their most recent IBM Notes configuration no matter on
which server in the farm they log on?
How to ensure that disk space used by IBM Notes data folders is cleared after log
off?
How to avoid transfers of large IBM Notes data folders per user during log on and
log off which increase wait times and cause network traffic?
11. To roam or not to roam: that is the question
• The answer is: Roaming!
To provide end users with their latest IBM Notes configuration, their data needs to
be roamed onto the server they log on to start their session
Roaming can be achieved through own procedures (e. g. logon script),
Domino Roaming or third-party solutions (e. g. MarvelClient)
12. IBM Notes in virtual environments
Log on to
virtual session
Roam
data
Start
IBM Notes
Log on to
IBM Notes
(happens here:
logon script,
3rd-party
solutions)
Roam
data
(or here: 3rd-party,
i. e. panagenda
MarvelClient)
Work with
IBM Notes
Roam
data
(or here:
IBM Roaming)
Shutdown
IBM Notes
Log off from
virtual session
Backup
data
Backup
data
(happens here)(or here)
Clear data
13. Agenda
• Getting started
What can you expect from this session?
What we typically SEE at customers
What we typically DO at customers
• To roam or not to roam: that is the question
IBM Notes in virtual environments (recommended)
• Best practices
• Installing IBM Notes | ICAA in virtual environments
(recipe)
• Summary
14. • Use default setups for
IBM Notes Client 9.0.1 (Standard)
Client Application Access 1.0.0.1 (ICAA)
formerly known as IBM Notes Browser Plugin
• No need to make changes to MSI package (scripts can help here)
• Use default paths for Program, Data and SharedData folders
BP: IBM Notes & ICAA installation
15. BP: IBM Notes & ICAA install command lines
• IBM Notes Client 9.0.1 (Standard) install command line
setup.exe /s /v"SETMULTIUSER=1 MULTIUSERBASEDIR=C:Users!USERNAME!AppDataLocal
MULTIUSERCOMMONDIR=C:ProgramData CITRIX=1 /lime "C:TempNOTES901_msiinst.log" /qn"
• IBM Client Application Access 1.0.0.1 (ICAA) install command line
setup.exe /s /v"SETMULTIUSER=1 MULTIUSERBASEDIR=C:Users!USERNAME!AppDataLocal
MULTIUSERCOMMONDIR=C:ProgramData CITRIX=1 /lime "C:TempICAA1001_msiinst.log" /qn"
16. BP: ODS (templates)
• The ODS of local IBM Notes applications and templates should always be the
native one according to the used IBM Notes release (see next slide)
• Although any IBM Notes version can deal with older ODS versions it causes
the need of internal conversion during usage
• That causes unnecessary file I/O operations on disk
• While most administrators take care of upgrading the ODS of applications,
templates are often not taken into account
However templates are also touched by IBM Notes quite often and should be
optimized as well to gain a performance boost
17. BP: ODS (templates)
ODS = On Disk Structure
• ODS 16 = Notes 2
• ODS 17 = Notes 3
• ODS 20 = Notes 4 (or templates)
• ODS 41 = Notes 5
• ODS 43 = Notes 6 & 7
• ODS 48 = Notes 8.0
• ODS 51 = Notes 8.5 / 9.0
• ODS 52 = Notes 9.0.1
The difference between ODS 43 and 52 = up to 80% LESS FILE I/O; average 50% less.
18. BP: ODS (templates)
• To upgrade the ODS of all shared templates in a virtual IBM Notes Multi-user
installation the administrator can follow these steps
• Add the following line to the shared notes.ini in
%ProgramData%IBMNotesData
CREATE_R9_DATABASES=1
• Make sure that the Administrator account used to log on to the virtual server
does not have a personal IBM Notes Data directory yet (in %LocalAppData%)
• From a command prompt type the following commands
cd “%ProgramData%IBMNotesDataShared”
“%ProgramFiles(x86)%IBMNotesncompact” -ODS -*
• Copy all upgraded templates over to other servers if needed
20. BP: notes.ini
• A properly configured shared notes.ini can be essential for smooth running
virtual IBM Notes environments
• The shared notes.ini is used by every IBM Notes client session for which
there’s no personal IBM Notes data folder yet
• It is located in %ProgramData%IBMNotesData
• It is used as a template notes.ini out of which all parameters are transferred
into a users personal notes.ini upon the very first IBM Notes start
• Find some useful shared notes.ini parameters on the next slide (additionally
to the standard entries)
21. BP: notes.ini
• Ports=TCPIP
• TCPIP=TCP,0,15,0
Note that this sets port compression to OFF, which is appropriate in virtual
environments; Port compression adds 5% CPU overhead and with 60 concurrent
sessions this would result in needing 3 dedicated CPUs for just port compression
• DISABLE_CLIENTRECORD=1
This disables logging of client information back into the public address book as all
virtual environment users share the same servers in the farm anyway
22. BP: notes.ini
• CREATE_R9_DATABASES=1
Enables IBM Notes 9.0.1 to use the latest ODS version for newly created local
applications. Make sure to not use CREATE_R8_DATABASES (Lotus Notes 8.0)
or CREATE_R85_DATABASES (IBM Notes 8.5 / 9.0) to avoid the use of an older
ODS in IBM Notes 9.0.1
• Log=,1,0,7,40000
This disables logging, which is optional but gains a slight performance
improvement
• ConfigFile=H:NotesConfigconfig.txt
For ConfigFile details see next topic
23. BP: notes.ini
• All parameters for copy & paste
Ports=TCPIP
TCPIP=TCP,0,15,0
DISABLE_CLIENTRECORD=1
CREATE_R9_DATABASES=1
Log=,1,0,7,40000
ConfigFile=H:NotesConfigconfig.txt
[always keep a blank line at the bottom!]
24. BP: ConfigFile
• IBM Notes can be set up unattended by using a so called ConfigFile – often
referred to as config.txt or setup.txt
• The ConfigFile needs to be referenced in the shared notes.ini using the
parameter ConfigFile=Drive: or UNCfolderfilename.txt (see previous topic)
• For more details the following IBM technote provides some very good
examples on how to create a ConfigFile as generic as possible
https://www-304.ibm.com/support/docview.wss?uid=swg21112835
25. BP: Frequent maintenance
• IBM Notes data folders need frequent maintenance to reduce the probability
of local database corruption and damage
• At least the following local databases should get periodical treatment
Compact desktop8.ndk
Compact names.nsf
Compact bookmark.nsf
Compact log.nsf
• Quite frankly, this is a challenge (needs scripting / third-party solutions)
26. BP: jvm.shareclasses
• In IBM Notes the jvm.shareclasses file (*xpdplat_.jvm_G11) is stored in each
users Dataworkspace.configorg.eclipse.osgi folder and has a size of 64MB
• To optimize file I/O, speed up the IBM Notes Client start and save storage
(about 900MB per server == 15users), this file can be shared across all users
of the virtual environment server
1. Create the following folder “C:TempNotesShareClasses“ and set folder rights
for “everyone” to read / write access
2. Change the value of this parameter “jvm.shareclasses.loc=“ in
%ProgramFiles(x86)%IBMNotesframeworkrcpdeployjvm.properties
• from “${rcp.data}/.config/org.eclipse.osgi“
• to “C:/Temp/NotesShareClasses“ it’s important to use “/” instead of “”
27. BP: JVM memory allocation
• To speed up the IBM Notes JVM it’s useful to optimize memory settings
• Open %ProgramFiles(x86)%IBMNotesframeworkrcpdeployjvm.properties
Modify vmarg.Xmx from “-Xmx256m” to “-Xmx1024m”
Modify vmarg.Xms from “-Xms64m” to “-Xms256m”
• The implicit rules
Do not change vmarg.Xmx to more than -Xmx1024m regardless of how much
memory you have
vmarg.Xms should always be ¼ of what you changed Xmx to
28. BP: Workspace improvement
• Every IBM Notes Client start in a virtual environment is a first (setup) start and
takes at least 23 sec
• ~65% - 70% of time during first starts is used to build the workspace folder
(at least 15 sec)
• A typical new workspace folder (IBM Notes 9.0.1 FP5 IF3) consists of
>200 files
>150 folders
>85 MB (including 64MB *xpdplat_.jvm_G11 file)
• Building the workspace folder causes lots of file I/O
29. BP: Workspace improvement
• Accelerate the IBM Notes Client start to be >65% faster (with less file I/O)
1. With a non-admin user (Windows + IBM Notes) run an initial setup of IBM Notes
2. Start IBM Notes 2 times and wait for 2-3minutes each
3. Shutdown IBM Notes
4. Create the following folder %ProgramData%IBMNotesDataCommon
5. Copy the workspace folder from %LocalAppData%IBMNotesData to
%ProgramData%IBMNotesDataCommon
30. BP: Workspace improvement
6. Delete the following files / folders out of
%ProgramData%IBMNotesDataCommonworkspace
a. UDM
b. Logs all but .prov2install
c. .metadata.pluginscom.ibm.collaboration.*
d. .metadata.pluginscom.ibm.rcp.personality.framework
e. .metadata.pluginscom.ibm.rcp.security.auth
f. .metadata.pluginscom.ibm.rcp.managedsettings
32. Agenda
• Getting started
What can you expect from this session?
Virtual environments
What we typically SEE at customers
What we typically DO at customers
• To roam or not to roam: that is the question
IBM Notes in virtual environments (recommended)
• Installing IBM Notes | ICAA in virtual environments
(recipe)
• Summary
33. Installing IBM Notes in virtual environments
• A step-by-step recipe for an IBM Notes installation including other
components
34. Installing IBM Notes in virtual environments
• The following components will be considered on the following slides
IBM Notes 9.0.1 English
IBM Notes 9.0.1 MUI Pack for G1 (add only German and French)
IBM Notes 9.0.1 MUI Pack for G2a (add * but set Danish to be default language)
IBM Notes 9.0.1 MUI Pack for G2b (add *)
IBM Notes 9.0.1 MUI Pack for G3 (add *)
IBM Sametime 9.0.0.1 (20150825-0430) embedded
IBM Connections Plugins for Notes 4.5 (20150921-1143)
IBM Notes 9.0.1 Fix Pack 5 Interim Fix 3
35. Installing IBM Notes in virtual environments
1. Install IBM Notes 9.0.1 english
IBMNotes901setup.exe /s /v"SETMULTIUSER=1
MULTIUSERBASEDIR=C:Users!USERNAME!AppDataLocal MULTIUSERCOMMONDIR=C:ProgramData
CITRIX=1 /lime "C:TempNotes901_msiinst.log" /qn"
2. Install IBM Notes 9.0.1 MUI Packs
IBMNotes901MUI_G1setup.exe /s /v“ADDLOCAL=German,French /lime
"C:TempNotes901MUI_G1_msiinst.log" /qn"
IBMNotes901MUI_G2asetup.exe /s /v“INITIALUILANG=da REPLACELOCALDB=1 LOCALDBLANG=da
/lime "C:TempNotes901MUI_G2a_msiinst.log" /qn"
IBMNotes901MUI_G2bsetup.exe /s /v“/lime "C:TempNotes901MUI_G2b_msiinst.log" /qn"
IBMNotes901MUI_G3setup.exe /s /v“/lime "C:TempNotes901MUI_G3_msiinst.log" /qn"
36. Installing IBM Notes in virtual environments
3. Install IBM Sametime 9.0.0.1 (20150825-0430) embedded
Sametime9001embsetup.exe /s /v"/lime "C:TempSametime9001emb_msiinst.log" /qn"
4. Install IBM Connections Plugins for Notes 4.5 (20150921-1143)
IC45Pluginssetup.exe /s /v"/lime "C:TempIC45Plugins_msiinst.log" /qn"
5. Install IBM Notes 9.0.1 Fix Pack 5 Interim Fix 3
Notes901FP5IF3ClientUpdate.exe /s /v"/lime "C:TempNotes901FP5IF3_msiinst.log" /qn"
37. Installing IBM Notes in virtual environments
6. Optimize IBM Notes 9.0.1 Installation with the following best practices of this
presentation
ODS (templates)
notes.ini
ConfigFile
jvm.shareclasses
JVM memory allocation
Workspace improvement
38. • A step-by-step recipe for an IBM Client Application Access (ICAA) installation
including other components
Installing ICAA in virtual environments
39. • The following components will be considered on the next slides:
IBM Client Application Access (ICAA) 1.0.0.1 Multilingual
IBM Client Application Access (ICAA) 1.0.0.1 MUI Pack for G2a
IBM Client Application Access (ICAA) 1.0.0.1 MUI Pack for G2b
IBM Client Application Access (ICAA) 1.0.0.1 MUI Pack for G3
IBM Client Application Access (ICAA) 1.0.0.1 IF2
Installing ICAA in virtual environments
41. Installing IBM Notes in virtual environments
4. Optimize IBM Notes 9.0.1 Installation with the following best practices of this
presentation
ODS (templates)
notes.ini
ConfigFile
42. Agenda
• Getting started
What can you expect from this session?
What we typically SEE at customers
What we typically DO at customers
• To roam or not to roam: that is the question
IBM Notes in virtual environments (recommended)
• Best practices
• Installing IBM Notes | ICAA in virtual environments
(recipe)
• Summary
43. Summary
• It is highly recommendable to run local IBM Notes Multi-user installations in
virtual environments
Users benefit from fast IBM Notes starts, less database corruption, improved
stability
Administrators gain better network quality, free managed storage, less support
incidents, satisfied end users
• Invest a bit more time in maintaining your IBM Notes virtual infrastructure
46. Acknowledgements and Disclaimers
Availability. References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM
operates.
The workshops, sessions and materials have been prepared by IBM or the session speakers and reflect their own views. They are provided for informational
purposes only, and are neither intended to, nor shall have the effect of being, legal or other guidance or advice to any participant. While efforts were made to
verify the completeness and accuracy of the information contained in this presentation, it is provided AS-IS without warranty of any kind, express or implied. IBM
shall not be responsible for any damages arising out of the use of, or otherwise related to, this presentation or any other materials. Nothing contained in this
presentation is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms
and conditions of the applicable license agreement governing the use of IBM software.
All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved.
Actual environmental costs and performance characteristics may vary by customer. Nothing contained in these materials is intended to, nor shall have the effect
of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.