Our virtual machines provide resources similar to those provided by commercial hosting companies. Because our users are both sophisticated and trusted, we allow them almost full control over these machines.
Using their LDAP login credentials, users can access the Webmin management interface. This interface provides a GUI administration console, providing the ability to administer most aspects of the machine and software configurations. Should they prefer to admin their machine in the traditional way, they can use their AD credentials to ssh into the machine. By default, the admin account has almost full sudo permissions.
Tstaff provides an initial machine install and will perform a nightly security update of packages installed through the apt package management system. The virtual machine admin is responsible for ensuring the security of any software or packages installed outside the package management system. Every virtual machine must have a qualified admin associated with it. Should this admin change, please email problem with updated contact information. Tstaff will make a good faith effort to answer questions emailed to problem. However, we can not provide the same level of support on virtual machines as we do for standard desktop and departmental servers.
Requesting a Hosted Machine
If you or your research group is in need of a virtualized resources, please email problem@cs.brown.edu with your hosting request. Virtual machines can be used for CS course or research related purposes.
Please include the following in your request:
- Hostname
- A list of CS account names that should be given sudo privileges, other than you
- A list of resources (cpu cores/ram)
- How long you will need the VM
- A plan for VM maintenance for the intended duration
It might also be good to include a plan for ownership/maintenance, if you think you might need to hand over the VM to someone else or there is potential that the VM may need to live on beyond it's intend duration and you will not be here to maintain it. This seems unlikely, but all too often great projects are created and put to good use, but their lack of maintenance forces them to be shutdown because they are outdated and insecure.
By default, all hosted machines are created in our VMWare Stack. If you need physical hardware, i.e. your computational needs are such that a shared virtual environment will not be enough, please provide a description of your desired hardware in your request to problem@cs.brown.edu.
Default Configuration Details
Accounts Administrators:
Each hosting machine must have at least one administrator known to Tstaff. This way, there is someone to contact in case of issues. By default, only administrators are allowed to log into the machine. Each administrator will have a home directory created for them on the virtual machine NFS share. If you want to add additional adminstrators please email problem@cs.brown.edu with the user/s Brown University usernames.
Normal Users:
Should an administrator wish to grant a non-admin user access to the machine, they can do so by adding their Brown University username to the local users group on the machine as root:
usermod -a -G users <username>
After they have been added to this group, they will automatically be permitted to use kerberized ssh to log in. By default, this new user will not have a home directory and will get a warning when they log in. This is not a problem, we leave it up to the administrator to create a home directory.
Logging In:
All registered administrators should be able to ssh into the machine using their Brown University username. You can optionally add an ssh keypair at a later time, should you wish to authenticate using this mechanism as well.
Virtual Machine Management
Depending on what your needs and abilities are, there are multiple ways to administer your hosted machine:
Webmin Management Console:
The simplest, but also least flexible way, is through webmin. This is an opensource, web browser based machine management suite. We have pared down the console to only reflect those functions requested by our users. From within the CS department or through the CS VPN connection, you can access webmin interface on your virtual host by pointing a browser at:
https://<your virtual host name>:10000.
NOTE: you will be prompted to accept a self-signed security certificate when you navigate to this site.
SSH access:
By default, we also allow full root access to the machine via sudo to all registered administrators. Users should authenticate with their AD credentials.
Services
File Systems:
Each virtual machine is hosted on the CIS VMware infrastructure. The actual virtual machine disk images are stored on the CIS VMWare vSphere servers and managed by the CIS VMWare team. The virtual machine mounts an NFS share on /vol and anything placed in this NFS share is backed up weekly. It is recommended that any user data, web pages, etc. are stored on this NFS share.
All user data, including: web roots, home directories, etc., should be put onto the /vol partition. This partition is mounted off a departmental NFS server, which has full snapshot capabilities and incremental backups.
Backups:
The virtual machine is configured to perform a nightly backup of its local disk image to /vol/backup/snapshots. The machine disk, all directories other than /vol, are backed up via a daily and weekly rsnapshot cronjob onto /vol/backup/snapshots/<daily>.[0-6]/<machine name> and /vol/backup/snapshots/<weekly>.[0-3]/<machine name>, respectively.
Email:
The virtual machine can send email to @cs.brown.edu addresses. Should you require the ability to send to outside email addresses or receive incoming email, please contact problem via problem@cs.brown.edu.
Databases:
The virtual machine is running a mysql database. You can configure the database using webmin interface. The actual database resides in the directory /var/lib/mysql.
Web:
The virtual machine has apache2 configured to serve static and php generated webpages from /vol/web/html, execute cgi-bin scripts from /vol/web/cgi-bin, and log traffic and errors to /var/log/apache2. You can use webmin to manage your apache server.
Docker:
If you would like your new or existing virtual machine to have Docker installed please email problem@cs.brown.edu. Tstaff will update and maintain the software installed on the virtual machine in line with the rest of the department. Patches and ugrades will be applied regularly, leaving the maintenance of the Docker images and containers up to the owner(s). A self-supporting community of CS Docker users can be found at https://lists.cs.brown.edu/sympa/info/docker.