Red Cloud Linux Instances

From CAC Documentation wiki
Revision as of 13:56, 17 October 2018 by Pzv2 (talk | contribs) (Created page and started with an "under construction" warning and a copy/paste of Linux Instances page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Warning: This page is currently under construction. Information may not be ready for users.

Linux Instances can be created and maintained on Red Cloud using the Eucalyptus Management Console. This documentation assumes a basic understanding of Eucalyptus, so please review that page as needed. If you are new to Linux, you may want to read the Linux Tutorial first. It is also a good idea to be familiar with the Linux Tutorial if you have not previously done Linux system administration, which is an assumed prerequisite to managing Linux Instances.

Creating a New Linux Instance

You can boot an instance with most modern Linux distributions. Currently Red Cloud offers pre-made VM images running the following Linux distributions (including the option for EBS or instance-store root devices):

  • CentOS
  • Ubuntu (including LTS)


  1. Log in to the Eucalyptus User Console (check out how to log in if you need to)
  2. Type "Linux" into filter box, then scroll to the image you want and click Select
  3. Give the instance a name, choose a CPU/RAM size, click Next
  4. If you have not already, create a Key pair and select it
  5. If you have not already, create a Security group and select it. Note that your security group should include the inbound SSH rule so you can connect to it.
  6. Optional: Create and attach a Volume
  7. Launch the Instance

Now that you have created and launched an instance, your next steps will be to connect to it and set up a new user account. See the CentOS steps or Ubuntu steps for more information on how to set up a new user, update, and install software for each distribution.

Accessing Instances

There are a few methods to access Linux Instances, which are detailed on the Connect to Linux page. If you are at all unfamiliar with Linux, we recommend following the Linux Tutorial. Additionally, if you would like to have a desktop environment (not available by default for Linux instances), then you may want to follow the steps for XFCE on CentOS.

Note: Transferring files can also be done over ssh. See the scp and sftp commands, or programs like WinSCP and similar software for Mac OS X.

XFCE Desktop on CentOS

In case one would prefer a desktop environment over a command-line, this section details the steps to setting up an XFCE Desktop Environment on a CentOS 7.4 instance. Other typical Linux desktop environments, such as Gnome, are also available but XFCE is used as an example here. Additionally, setting up a desktop environment may work on Ubuntu instances as well, with some differences. Once the environment is set up, you can run a VNC server and connect to it through an ssh tunnel.

XFCE Setup

  1. Log in as root
  2. Install needed packages:
    • yum groupinstall xfce
    • yum install tigervnc-server
  3. Install some additional software that most users will want. These are only suggestions, and this is not a comprehensive list

VNC User Setup

For each user that will want to use the XFCE Desktop, you will need to set up VNC ability. To do this, follow the directions below. Alternatively, there is also an Easy guide to secure VNC server with TLS encryption.

  1. Open a shell as that user
  2. vncpasswd
    • Sets the user's VNC password
    • This step is not necessary for read-only VNC
    • This creates a ~/.vnc folder
  3. vim ~/.vnc/xstartup
    • Paste this text into the file:
      xrdb $HOME/.Xresources
      startxfce4 &
  4. chmod 775 ~/.vnc/xstartup
  5. mkdir ~/bin
  6. vim ~/bin/
    • Paste this text into the file:
      vncserver -geometry 1680x1050
  7. chmod 775 ~/bin/

Using VNC

A brief overview for users is provided here, and for more information please see the Using VNC section on our Getting Started page.

Manage the VNC Server

Whenever an instance gets rebooted, you can restart the VNC server by doing the following

  1. ssh into the instance
  2. run ~/bin/

You can stop the NVC server by running vncserver -kill :1

To change or reset the VNC password, you can simply run vncpassword

To change the screen resolution:

  • Permanently: edit the script ~/.vnc/xstartup
  • For this session only: use Applications->Display
View the Desktop
  1. Open a local shell and ssh to establish the tunnel (recommended local port 10000):
    • ssh -L 10000:localhost:5901 <remote ip>
    • Note: When this shell is closed, the VNC viewer will have to close, too, though VNC is still running.
  2. In a VNC viewer app, connect to the VNC server localhost:10000 (or whichever port you chose above).
    • This should open a window showing the desktop
    • The first time you do this:
      • For the remote computer, you may have to dismiss a warning dialog
      • You will need to initialize a "panel". Click "Use default config"

Note for Windows users: You can also find useful instructions on the VNC Tunnel Windows page. You may also want to look into OpenSSH or Bash on Ubuntu on Windows.

Initialize and Mount a Volume

The instructions here are for formatting and mounting the ephemeral storage of an instance so it becomes available to you as a temp disk at a typical location. Similar instructions also work for attached volumes, though steps like these can only be performed if you have allocated and attached the volume through Eucalyptus, which can be done while the instance is running.

  1. Format the disk:
    • fdisk /dev/vdb
    • Enter n as a command, then "enter" to accept defaults
    • Enter w to save and quit
  2. Set up file system
    • mkfs.ext4 /dev/vdb1
  3. Make a directory where device will be mounted
    • mkdir /<diskname>
  4. Mount the device
    • mount /dev/vdb1 /scratch
  5. To have the mount automatically renewed after reboot, add an fstab entry (this is a little dangerous)
    • vim /etc/fstab
    • Add a line with tab separations between four fields: disk device, mounted location, "ext4", "defaults":
      • /dev/vdc1 /<diskname> ext4 defaults

Manage Red Cloud via Linux euca2ools CLI command-line tools

You may use euca2ools either locally or from an instance in Red Cloud itself:

  • To install euca2ools locally on your Linux host follow the installation instructions here.
  • As a quicker alternative, use the Eucalyptus User Console to launch a Red Cloud instance using the "centos-7.3-ebs-image" (emi-33f9458b) image and run the euca2ools CLI tools from this virtual machine to manage your Red Cloud instances.

Users wishing to use euca2ools, or other tools that employ euca2ools and the Eucalyptus API, will need to obtain credentials; see How do I download credentials to use with euca2ools/API?.