Managing Sunrays in Technical Environments
Moazam Raja
Systems administrators who manage servers and labs that are used
by programmers/developers have very different jobs from their peers
who deal with just regular users. Developers usually do not need
as much hand holding as typical users, but when they do need help,
they can present very difficult problems and scenarios. Also, developers
in technical markets have strict deadlines, an ever-increasing appetite
for compute power, and the need for regular data backups. The special
breed of systems administrators who serve developers can use all
the help they can get in alleviating maintenance troubles and headaches.
In many developer-based groups, the Sun Ray desktop appliance is
a great fit, and can be just the right answer for both the systems
administrator and the developer. In environments with hundreds of
developers and only a handful of systems administrators, the Sun
Ray model of computing can also be a lifesaver.
The Sun Ray appliance is a zero-administration and zero-maintenance
device, which can be used to replace the traditional desktop workstation.
It is a 100% noise-free device with no fans or disk drives, and
it delivers crisp 24-bit color. The basic ingredients of a Sun Ray
setup are:
- Sun Ray Server hardware with two 100-Mb Ethernet cards
- Sun Ray Server software
- Dedicated network interconnect for Sun Ray appliances
- 100-Mb Ethernet Switch
- Sun Ray appliances
Over the long term, one of the benefits of using Sun Ray appliances
is the upgrade path. As developers' needs increase, the systems
administrator does not need to deploy newer and faster desktop units
to every developer, but can instead simply upgrade the Sun Ray server,
or the compute/application servers that are housed in a lab environment.
This saves time for the administrator, and allows developers to
work in an environment with very little interruption and downtime.
In this article, I will describe the concept of Sun Ray appliances,
and discuss how to plan for them and maintain them in technical
environments. I will also point out the advantages and disadvantages
of Sun Ray appliances, where to use them, and where not to use them.
How Sun Rays Differ from Traditional X Terminals
The major difference between Sun Ray appliances and X terminals
is in how the user's display session is managed. On an X terminal,
a display session is sent directly to the X terminal and is managed
by that X terminal. On a Sun Ray appliance, the display session
is housed on the Sun Ray server and forwarded to the appropriate
Sun Ray appliance. For example, the display setting for a typical
X terminal in a UNIX environment would be:
x415sun01:0.0.
This shows that the primary display on the X terminal named "x415sun01"
will be used for displaying X information, and all display traffic
will be sent directly to the X terminal itself. On the other hand,
a Sun Ray appliances display setting is as follows:
sunraysrv:70.0.
The "sunraysrv" machine is not actually the name of the
Sun Ray appliance, but of the Sun Ray server, where the display session
is hosted. The number after the server name denotes which Sun Ray
display session is in use. Instead of having the display session managed
on the desktop appliance, the session is stored, maintained, and managed
on the Sun Ray server in a virtual frame buffer.
This difference in display methodology gives the Sun Ray appliance
a distinct advantage over traditional X terminals -- mobility.
A Sun Ray user with an active display session in her office can
pull out her Smart Card from the device, walk to the sys admin's
office, insert the Smart Card into the admin's Sun Ray device,
and instantly have her active session transferred. The user's
full desktop, including any customized window manager features,
is displayed on the new Sun Ray appliance. If the user was playing
an audio file at her original location, the audio will also be heard
on the Sun Ray appliance to which she moved. This unique feature,
which is a part of the Hot Desk Architecture, allows developers
to easily share their desktop environment with others, in a one-on-one
environment, or even in a large meeting of many developers.
Another major difference between Sun Ray appliances and X terminals
is the network interconnect used. While X terminals were usually
deployed on the same network as other servers and workstations,
Sun Rays are deployed with a separate and dedicated network interconnect.
The Sun Ray server is required to have at least two network interfaces
-- one for the public network, and one for the Sun Ray interconnect.
This allows for much greater efficiency, as extraneous traffic is
not sent over the Sun Ray network. The Sun Ray network interconnect
does not carry X11-based traffic, and uses its own display protocol
that is much more efficient.
Sizing up Your Sun Ray Environment
A key part of a successful Sun Ray deployment is the design. The
recommended server configuration for an average office with 50 active
Sun Ray appliances is a Sun E250 with dual processors, 1 Gig of
RAM, dual 100-Mbps Fast Ethernet controllers, and two disks to spread
the swap space onto. This configuration is very well suited for
normal users, but it may not work as well for developers who are
known for taxing servers and workstations with their projects.
Many developers are accustomed to using workstations with 128
MB of RAM; for those users, it is beneficial to have a minimum of
100 MB of RAM per user on the Sun Ray server. Systems administrators
and developers both need to understand that the Sun Ray server should
be used only for session display purposes, and not compute-intensive
tasks. Developers will need to use separate application server machines
for compiling, testing, and debugging. These application server
machines should not be connected to the Sun Ray network interconnect,
but to the public network, which is accessed by the public network
interface on the Sun Ray server.
A good solution for a moderate-sized workgroup of 50 developers
is to use a Sun E450 server with two processors, which can be upgraded
later to four processors. Gigabit Ethernet cards are highly recommended
if developers will be connecting via X11 to compute/application
servers. Each development group is different, and while some medium-to-large
groups use moderate CPU power, some small groups of developers may
use an enormous amount of resources. In each case, the systems administrator
must figure out what kind of load is expected. A tool such as perfmeter
can help administrators determine the average CPU and network utilization
over a period of time. Another Solaris utility that can greatly
assist administrators is the /usr/proc/bin/pmap program.
pmap allows administrators to measure the memory footprint of an
application and plan server configurations accordingly.
Where to Compute?
Compute- and application-specific servers are of great benefit
to developers working in a Sun Ray environment. The load is kept
off the Sun Ray server and placed on machines meant to handle compute-intensive
load. For developers who require a dedicated machine for development,
1U rack servers are a great solution. 1U rack servers such as the
Netra X1 are inexpensive enough that individual developers can be
assigned a server to work on. Other developers may require different
types of operating systems and architectures, such as Linux on x86
hardware. Sun Ray users can log directly into any compute/application
servers with X11 via the CDE remote session option. The major disadvantage
to doing so is the adverse effect on the Hot Desk Architecture.
Because the user is logged into an application server, the Sun Ray
server is not able to properly map audio and USB devices. If the
user tries to move to another Sun Ray appliance, the session from
the application server will transfer over, but the aduio and USB
mappings will not.
Shared Compilers
One way to entice developers to use Sun Ray appliances for development
is to install all of the different compilers they use in a centralized
location. For example, I have installed Sun C/C++/Pascal/Fortran
compilers ranging from Sun Workshop 3.0, to Sun Forte Developer
6.2, on a centralized file server, which is available via NFS. I've
also placed many different versions of GNU compilers and tools at
the same NFS location. This alleviates the task from the developers,
and they do not have to worry about installing and maintaining the
various software packages that they need for daily work.
Tips and Tricks
Unlike regular users, developers generally open many terminal
windows. When a large number of developers open 10-15 pseudo-terminals
each, the Solaris pty resource may be overrun, and the maximum amount
of pseudo-terminals will be reached. The solution to this problem
is to edit the /etc/system file on the Sun Ray server and
set the pt_cnt value to a higher number. This solution is
only needed on Solaris 2.6 and 7. In Solaris 8, the pt_cnt
variable is increased dynamically. One formula to figure out a good
value for pt_cnt on your Sun Ray server is:
(number of users) * (average number of windows/user) = number of ptys
For example, if you have 50 developers who open an average of 10 terminal
windows each, you would figure:
(50) * (10) = 500
Hence, the line to edit or add in the /etc/system file would be:
set pt_cnt= 500
Users with knowledge of the Solaris Resource Manager (SRM) software
package may be tempted to use it on a Sun Ray server to control resource
usage by end users. Because of the way the current implementation
works, SRM is not a good fit for Sun Ray server usage. SRM was designed
to manage a small number of resource-intensive tasks on a single server.
SRM is unable to manage a large amount of Sun Ray sessions with many
processes and will actually slow down the Sun Ray server.
A better way to control and limit resources used by individual
Sun Ray users is to use the Solaris limit, ulimit,
and quota commands. The following example script from "Sun
Ray Server Software 1.2 Product Notes" can be used to limit
the resources used by each Sun Ray user. The script limits the value
of the stack, virtual memory, core file size, and soft file size
on the Sun Ray server:
#!/bin/ksh
# Set default limits
#
# Data/stack size in KB (1GB/200)
#
ulimit -d 1000000
ulimit -S -d 500000
ulimit -H -s 1000000
#
# VM
#
ulimit -S -v 1000000
#
# Core file size in blocks
#
ulimit -c 500000
ulimit -S -c 200000
#
# Soft file-size limit 500MB
#
ulimit -S -f 1000000
To put this script into effect, it should be copied to the /etc/dt/config/Xsession.d/
directory and made executable.
Where to Find More Information
A plethora of information is available from Sun Microsystems about
configuring and managing Sun Ray appliances. Here are some of the
URLs that will help administrators in deploying a successful Sun
Ray installation:
- Sizing Sun Ray Enterprise Servers: http://www.sun.com/products/sunray1/whitepapers/sizing.pdf
- Sun Ray Server Software 1.2 Product Notes: http://www.sun.com/products/sunray/docs/1.2/prodnote.pdf
- Sun Ray Enterprise Server Software 1.1 Administrators Guide:
http://www.sun.com/sunray1/docs/adminguide.pdf
An excellent example of a large university that is using Sun Ray
appliances in technical environments is also available at:
http://www.sun.com/products-n-solutions/edu/success/dtu.html
When Not to Use Sun Ray Appliances
Sun Ray appliances are not optimized for enhanced 3D graphics
rendering. The network bandwidth needed by many 3D applications
can pose a huge problem and degrade network/display performance.
Users with high-end 3D graphics needs will be better served by desktop
workstations designed specifically for 3D. Sun Ray appliances also
may not be cost effective in small workgroups of five to ten developers
where the development work is very different for each developer.
In these situations, setting up customized application server environments
for each developer will probably be less cost effective than desktop
workstations.
Conclusion
Although the Sun Ray model of computing is not perfect for all
developer organizations, it is a great alternative for many developers
who primarily develop, test, and deploy on the UNIX platform. The
cost benefit of Sun Ray appliances is not solely in the initial
investment of hardware, but in the overall advantage of zero-administration
on the client side. With the popularity of distributed computing,
and technical compute farms such as Sun TCF, Sun Ray appliances
allow developers to access an enormous amount of compute power that
they could never have had on their desktop workstations alone.
Moazam Raja is a systems administrator at Sun Microsystems,
in the Forte Tools division. He can be contacted at: moazam.raja@sun.com.
|