Deletions are marked like this. | Additions are marked like this. |
Line 47: | Line 47: |
== Important note about new Instances == ||<tablestyle="float:left;margin-right:10px">[[attachment:Log.png|{{attachment:Log.png|Your root password will appear in the log. Use the Go button to refresh. Login with the Console button|width=280}}]]<<BR>>Important Locations for Logging in|| <<BR>> <<BR>> <<BR>> <<BR>> On the first boot of an instance based on the image "Debian 7.6": '''Your `root` password will be printed out to the Log Tab'''. <<BR>> '''Change this password by typing: `passwd`''' You can use this to log in from the !OpenStack web UI VNC client, which should be marked "Console". {{{#!html <div style="clear:both"></div> }}} == SSH from outside CCVM == {{{#!highlight bash #First, on the ccvm instance, from the "Console" tab ssh -R 15251:localhost:22 <YourAndrewID>@unix1.andrew.cmu.edu #Then, on unix1.andrew.cmu.edu: ssh localhost -p 15251 }}} |
|
Line 83: | Line 53: |
== Launching an instance == | == Launching an instance if you don't know what to do == |
Line 98: | Line 68: |
11. Check the Log tab for that insance, where a root password will be printed out after the boot finishes. 12. Find and click "Console" for this instance 13. Log in with username "root" and the password you saw earlier. 14. Change your password by typing `passwd` 15. Then, follow [[Projects/ccvms#Port Forwarding]] to get access to your VM. ||<tablestyle="float:right;">[[attachment:Log.png|{{attachment:Log.png|For steps 11, 12, 13, your root password will appear in the log. Use the Go button to refresh. Login with the Console button|width=280}}]]<<BR>>Important Locations for Logging in|| |
This page is about using CCVM as a CMU student. For Computer Club members, see Projects/ccvms/Internal_Use. For information about the OpenStack infastructure, including maintenance and deployment information, see Projects/ccvms/Openstack
CCVM Project |
|
|
|
Type |
Contributed |
Platform |
|
Language |
Python |
Status |
Release Testing |
Launch Status |
Q1 2015 |
Contact |
operations |
Owner |
sbaugh |
|
cpreseau |
|
ssosothi |
Website |
The CCVM project aims to provide easy-to-obtain virtual machines to members of the CMU community. It utilizes the OpenStack framework to allow users to start their own instance, access the console, re-install and boot their system remotely through a web interface. The interface is available to everyone in the community authenticating as a CCVM OpenStack user.
Currently the CCVMs project uses running 4 hosts, with 3 hosts dedicated as Compute Nodes. Each of the Compute node is powered by 8 Core Intel(R) Xeon(R) CPU X5470 @ 3.33GHz with 6144 KB cache, and 32GB 667MHz DDR2 FBDIMM Ram.
Organizations can contact operations@club.cc.cmu.edu to request an organization account with a higher instance and performance quota. We make no guarantee for the recovery of data stored on the instances, please periodically backup your instances to a safe location.
If you have any problems, please talk to a member of Computer Club! There will usually be people who can help in IRC
Getting Access to CCVM
If you are a Computer Club member, see Projects/ccvms/Internal_Use.
Create a personal account
Go to https://my.contrib.andrew.cmu.edu/ccvms/signup.php
After your account is created, you can login at https://openstack.club.cc.cmu.edu
Create an organization project
Organizations can contact operations@club.cc.cmu.edu to request an organization account with a higher instance and performance quota.
Basic CCVM Tasks
OpenStack is fairly intuitive, but web UI, CLI, and API documentation can be found at: http://docs.openstack.org/user-guide/
You can use CCVM instance for anything, as long as you don't violate the CMU computing policy
Launching an instance if you don't know what to do
Here are a step by step guide on how to launch an instance
Goto the Instance page from the sidebar link
Click + Launch Instance to bring up the instance configuration dialog, see Figure
Make sure that the Availability Zone is cclub-east-1
- Type your instance name, and make sure it's correct; your VM's hostname will be set to this.
- Choose your instance flavor. The bars on the right side will show you how close you are to your max quota
In the Instance Boot Source menu, choose Boot from image
In the Image Name menu, choose Debian 7.6
Click on the top Networking * Tab
Click the blue + or Drag ccvm-net into the blue zone
- Click Launch
- Check the Log tab for that insance, where a root password will be printed out after the boot finishes.
- Find and click "Console" for this instance
- Log in with username "root" and the password you saw earlier.
Change your password by typing passwd
Then, follow Projects/ccvms#Port Forwarding to get access to your VM.
Accessing the Log and Console
The Log and the Console allows you to see the detailed status of your instance and perform remote management.
Only when your instance has reached the Active state will the Log and Console will be available.
You can access the console from clicking the instance name in the instance page, and choosing the Log or Console Tab respectively. Your root password will be printed out to the Log on first boot, you can use this password to login in the Console. Note that this log will only be cleared on reboot, and is readable by other members of the organization. So it is important to change your password using the passwd command
Adding Firewall Exceptions
To allow services such as Web and Game servers on your instance to accept connection, you must add an additional rule to the instance firewall
You'll want to open only the ports that you need on the machines that need it, so here's how:
Suppose we are the user demo and want to open port 7777 for the game Terraria for the vm Host-1-Demo:
Click on Access & Security on the sidebar
On the page that is titled Security Group click + Create Security Group a popup should open
On the popup, type the name demo_terraria. It is important to put your name there to prevent conflicts
In the description, type Port 7777 for terraria
Click Create Security Group, you'll be directed back to the Security Group page
Find demo_terraria in the table and click Edit Rules
You'll be directed to a page titled Security Group Rules
Click + Add Rule a popup should open
- You can add the specifics of your firewall exception here (see image)
In our case, we choose Custom TCP Rule as we don't see a premade rule from the list. If we wanted to open HTTP port, we could choose that premade rule from the list
Then we leave Ingress as it is as we need a rule to allow traffic to reach our VM
We choose Port as we only want to open one port. If we wanted to open a range, we could choose Port Range here
Enter 7777 in the port as that's the port we want
Then we leave CIDR selected as it is simpler
And We leave 0.0.0.0/0 as it is as we want everyone to be able to connect to our server
Click Add, You'll be directed back to the Security Group Rules page
- Verify that the new rule has been added in the table
We will now apply this group to a VM. Click Instance on the sidebar
Find your host, and in the last column, click More a dropdown should appear
Click Edit Security Groups A popup should appear
On the left, find your security group and click the blue + button
Click Save
Now that you have the security group, you could also apply this group when you create a new instance though the Access & Security tab
Port Forwarding
Unix machines reboot at 4am, Join Computer Club today to get access to unix machines that do not reboot
You can use ssh to port forward your server's port to one of andrew unix's machine. You can then connect to this port from anywhere in the world.
We'll use port 7777 on our vm Host-1-Demo and port 8000 on unix1.andrew.cmu.edu. Note that because Andrew machines are a shared resource, the port you want may not be available. Simply pick a different port, and tell your client to use the alternate port.
Here's a quick diagram of how a packet will travel
(Internet) --> (unix1.andrew.cmu.edu listening on 8000) --> (unix1.andrew.cmu.edu listening on 7777 allowing only unix1) --> (Host-1-Demo listening on 7777)
On your instance's console, type:
1 ssh -R 7777:localhost:7777 <YourAndrewID>@unix1.andrew.cmu.edu
2 #<YourAndrewID>@unix1.andrew.cmu.edu password: <Your unix password>
3
4 # On unix1 console, (it can be the one you got from the above step)
5
6 ssh -L 0.0.0.0:8000:localhost:7777 localhost
7 #<YourAndrewID>@localhost password: <Your unix password>
8
Organization related CCVM Tasks
Organizations can perform additional tasks in addition to the basic tasks
Switching to the Organization project
If you are a part of an organization, you can switch over to manage the organization's project.
On the top of the blue section of the sidebar, where it says CURRENT PROJECT <Your name> You will now see a dropdown. By clicking on that dropdown, you'll see the organizations that you belong to, and can can switch to their VM group by clicking the organization name.
Note that every VM in the organization project group can be seen and fully edited by other members of your organization.
Allocating a public IP
The cluster only has 23 Public IP address, so please be considerate when using a Public IP address
On the Instance page, on your instance, you can click More and click Associate Floating IP. In the popup you can click the grey + and then the blue Allocate IP. You'll receive an IP address from our pool, please note this IP address down. Then you can click the blue Associate button.
The new IP should start working right away, and will be displayed on your instance screen after a couple of minutes.
Allocations
Once you've created an CCVM OpenStack account, you'll be given the community level of CPU, RAM, and VM allocation. As we move on with this project, we may be able to increase your allocation as demand increases and we acquire more hardware.
We can also make special allocations for anyone who contact us with a legitimate use case. Please contact operations@club.cc.cmu.edu with your request.
Our standard VM Flavors are as follows:
Flavor Name |
VCPUs |
RAM |
Root Disk |
m1.micro |
1 |
512MB |
5GB |
m1.tiny |
1 |
1024MB |
10GB |
m1.small |
2 |
512MB |
10GB |
m1.medium |
2 |
1024MB |
15GB |
m1.large |
4 |
2048MB |
20GB |
Community Account
2 Instances, 2 VCPU, 1 GB Ram
Flavors available:
- m1.micro
- m1.tiny
- m1.small
Organization Account
4 Instances, 4 VCPU, 2 GB Ram, 1 Public IP Address
Flavors available:
- m1.micro
- m1.tiny
- m1.small
- m1.medium
- m1.large
Organizational limits are flexible and we can adjust the limits depending on your requirements