A Raspberry Pi Thin Client Computing Environment

Design, Configuration, Installation, and Testing

About this Guide

This guide was created to organize and simplify information about using the tiny, low-cost, energy-efficient computing platform called the Raspberry Pi or RPi as a thin-client. It provides guidelines for procuring, configuring, testing, and deploying a thin-client network using the RPi.

This guide is intended for computer-literate readers interested in the Raspberry Pi, computer virtualization, or computing energy efficiency. If you're not sure whether this guide is for you, that's OK. Have a look at the at the sidebar first to get an overview of the RPi and the topic of virtualization.

① Planning your Deployment

Before we jump in and start connecting and configuring devices, it's important to take a few minutes to think carefully about our planned setting for this deployment. This section takes you through the process of logically allocating existing resources and augmenting them with additional equipment and software where necessary. Once we are sure we have everything we need, we will make the initial equipment connections.

Assess your Needs

If you are creating a test environment at work and are concerned about appropriate computing resource allocation, you should take care to plan your deployment using this guide. If you are creating your thin-client network at home, this section will be less important.

Calculate Necessary Hardware Specifications

There are two main computing resources that need to be carefully allocated in a virtual environment: RAM and processor performance.

Of the two, RAM is significantly more important, since the amount of available RAM determines the absolute limit of virtual hosts possible. As a general rule, you should acquire and install the most RAM you can afford on your server.

In our lab, we are working with a Thinkserver TS140, which has a maximum RAM capacity of 32GB. If we want each of our thin clients to use 2GB of RAM, and we want to reserve 8GB for the server to use, you can see that we can run a maximum of 4 thin clients. This is a very conservative allocation plan that will ensure that a large amount of overhead is available.

For an initial testing environment, this conservative estimate is fine. As you progress into final testing stages, you will begin optimizing resources and incrementally increasing the number of clients to achieve the best balance of client and server performance.

about RAM and 32-bit processors.

Plan your Network Topography

The minimum hardware requirements for a thin client network:

Acquire your Equipment

You should acquire a server that meets your initial testing needs, with 2GB of available RAM per client. Note that this number is for initial testing purposes and the actual number of supported clients will increase during the final testing phase.

You should acquire the minimum number of RPis you will need for initial testing, with the understanding that the number of RPis in use will increase during final testing.

For our testing environment, we are using a Centos 7/KVM-based Thinkserver TS140 with a quad-core 3.2 GHz Xeon CPU and 16 GB of RAM, accompanied by one RPi.

For instructions on configuring KVM on CentOS 7, follow this guide.

The minimum required equipment list is:

The following utilities are also needed:

Stage your Equipment

Follow these steps:

Do not power on the RPi yet.

② RPiTC Installation

In this section, we cover the process of installing and configuring the RPiTC operating system on the RPi. We conclude by connecting to our hypervisor over the network.

Download

Extract

Install

See this useful information regarding extraction and installation of images to RPis.

Boot

The RPi does not have a power switch and must be powered off and on by attaching and removing the power supply. This does not harm the RPi. Power switches for the RPi are available, but they are unnecessary for testing purposes.

Configure

Once you have booted the RPiTC operating system, you will see the default desktop.

The Raspberry Pi Thin Client Desktop

The RPiTC OS comes prepackaged with all the remote connection utilities and scripts users might need to connect to their hypervisors.

To access configuration settings and automatically start a remotely-hosted virtual desktop on startup:

③ Testing

In order to gauge the performance and reliability of our RPiTC environment under heavy load, this section guides you through the process of testing, adjusting, and retesting your client and server.

Thin Client Testing

Server Testing

On the server side, we are beginning with 8GB of RAM. We want to determine whether heavy client loads will degrade the performance of the server and reduce its ability to operate and allow for human interaction.

To do this, we will simulate several typical administration tasks to run concurrently with the client testing method described above.

If these tasks cannot be carried out efficiently while clients are placing the server under heavy load, we have options for increasing that performance. These options, in increasing order of cost and complexity, are as follows:

It is up to you to determine which of these methods is most suitable for you based on your budget.

④ Next Steps

Virtualization offers several advantages over traditional computing environments. It is inexpensive, power efficient, avoids unnecessary computational redundancy, and is scalable.

The RPiTC project extends this logic, exploiting the availability of very inexpensive hardware and free, open-source software. Installing and configuring RPiTC requires simple, easily-available equipment and provides users with a simple method of connecting to their hypervisors.

This guide has provided the foundation for exploring the Raspberry Pi, RPiTC, and virtualization. Use it as a starting point for exploring your own hypervisor and thin-client solutions.

To hone your skills, try using what you have learned in this guide with a different hypervisor like VSphere.