Tashi Access

After connecting to bigdata.intel-research.net, ssh to tashi. Then run tashi

ryan3@tashi:~$ tashi 
Usage:
	destroyVm --instance <value>
	shutdownVm --instance <value>
	createVm [--userId <value>] --name <value> [--cores <value>] [--memory <value>] ...
	getMyInstances
	pauseVm --instance <value>
	vmmSpecificCall --instance <value> --arg <value>
	getVmLayout
	suspendVm --instance <value> --destination <value>
	unpauseVm --instance <value>
	createMany [--userId <value>] --basename <value> [--cores <value>] ...
	destroyMany --basename <value>
	migrateVm --instance <value> --targetHostId <value>
	getInstances
	getUsers
	resumeVm [--userId <value>] --name <value> [--cores <value>] [--memory <value>] ...
	getNetworks
	getHosts
Additionally, all functions accept --show- and --hide-, which show and hide columns during table generation
Use "--examples" to see examples of all the functions
Then try using some of the functions to test that you are connected properly.
mryan3@tashi:~$ tashi getHosts
 id name    decayed up   state   version                      memory cores
--------------------------------------------------------------------------
 1  r1r4u42 False   True Normal  Tue Mar  3 12:55:02 EST 2009 7994   8    
 2  r1r4u40 False   True Normal  Tue Mar  3 12:55:02 EST 2009 7994   8    
 3  r1r4u38 False   True Normal  Tue Mar  3 12:55:02 EST 2009 7994   8    
 4  r1r4u36 False   True Normal  Tue Mar  3 12:55:02 EST 2009 7994   8    
 5  r1r4u34 False   True Normal  Tue Mar  3 12:55:02 EST 2009 7994   8    
 6  r1r4u32 False   True Normal  Tue Mar  3 12:55:02 EST 2009 7994   8    
 7  r1r4u30 False   True Normal  Tue Mar  3 12:55:02 EST 2009 7994   8    
 8  r1r4u28 False   True Normal  Tue Mar  3 12:55:02 EST 2009 7994   8    
...
You can get a list of machine images by doing:
mryan3@tashi$ ls /mnt/merkabah/tashi/images/
amd64-dpr.qcow2		 i386-dpr-mar.qcow2	  i386-ubuntu.qcow
amd64-esp.qcow2		 i386-hardy-babu.qcow2	  kozuch-hardy.qcow2
amd64-hadoop_maui.qcow2  i386-hardy-bwtest.qcow2  mpi-hardy.qcow2
amd64-hardy.qcow2	 i386-hardy-mirror.qcow2  mryan3-c1.qcow2
amd64-ubuntu.qcow	 i386-hardy-mswang.qcow2  rgass-image1.qcow2
CentOS-5.2-i386.qcow2	 i386-hardy-orig.qcow2	  rhel5.2-server.qcow2
dprsim.qcow2		 i386-hardy.qcow
hercules.qcow		 i386-hardy.qcow2
To create a virtual machine, use the createVm function:
mryan3@tashi:~$ tashi createvm --examples
Usage:
        createVm [--userId <value>] --name <value> [--type <value>] --disks <value> [--n...

                createVm --name foobar --disks i386-hardy.qcow2
                createVm --userId 3 --name foobar --type 9 --disks mpi-hardy.qcow2:True,...

Additionally, all functions accept --show-<name> and --hide-<name>, which show and hide columns during table generation
mryan3@tashi:~$ tashi createVm --name foobar --disks i386-hardy-64kern.qcow2
{
    hostId: None
    name: foobar
    vmId: None
    decayed: False
    disks: [
        {'uri': 'i386-hardy-64kern.qcow2', 'persistent': False}
    ]
    userId: 13090
    nics: [
        {'mac': '52:54:00:12:7a:fe', 'network': 999}
    ]
    state: Pending
    memory: 128
    cores: 1
    id: 3462
    hints: {}
}

You can see when your VM gets scheduled by looking at:

mryan3@tashi:~$ tashi getInstances
...
 1433 30     mashleyr-1233605434-96 mashleyr Running dprsim.qcow2                    512    1
 1434 4      mashleyr-1233605434-97 mashleyr Running dprsim.qcow2                    512    1
 1435 5      mashleyr-1233605434-98 mashleyr Running dprsim.qcow2                    512    1
 1436 12     mashleyr-1233605434-99 mashleyr Running dprsim.qcow2                    512    1
 1444 15     mryan3-c1              mryan3   Running i386-hardy-mryan3-c1.qcow2:True 512    1
 1450 14     swschlos-sprout0       None     Running sprout-swschlos.qcow2           512    1
 1451 15     swschlos-sprout1       None     Running sprout-swschlos.qcow2           512    1
 1452 16     swschlos-sprout2       None     Running sprout-swschlos.qcow2           512    1
 1453 17     swschlos-sprout3       None     Running sprout-swschlos.qcow2           512    1
 1548 13     foobar                 mryan3   Pending i386-hardy.qcow2                512    1

After a few seconds, you should be able to SSH to the new VM:

mryan3@tashi:~$ ssh ubuntu@foobar
ubuntu@foobar's password: 
Linux foobar 2.6.24-19-server #1 SMP Wed Jun 18 15:18:00 UTC 2008 i686

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

To access official Ubuntu documentation, please visit:
http://help.ubuntu.com/
Last login: Wed Feb  4 16:04:25 2009 from tashi.bigdata.research.intel-research.net
ubuntu@foobar:~$

The default password for this image is "changeme"

To shut the VM down, you can either perform a "shutdown -h now" inside the VM, or use the destroyVm function:

mryan3@tashi:~$ tashi destroyVm --instance foobar
At the moment, shutdownVm does not function properly with Qemu/KVM. The VMM does not emulate this operation correctly. destroyVm is the same as unplugging a physical machine and should only be used on non-persistent VMs or when all else fails.

The basic workflow, if you're creating a new VM, is:

  • Copy the old i386-hardy.qcow2 (or amd64-hardy.qcow2) to a new file (i386-hardy-<username>.qcow2, for example).
  • Boot the VM in persistent mode (so writes in the VM are committed -- do this by appending ":true" to the image name)
  • Do any configuration changes and shutdown the VM
  • Boot some number of VMs in non-persistent mode
  • Do you work/computation

Another useful function is getVmLayout:

mryan3@tashi:~$ tashi getVmLayout
 id name    state   instances                      usedMemory memory usedCores cores
------------------------------------------------------------------------------------
 1  r1r4u42 Normal  ['xren5']                      7168       7994   8         8    
 2  r1r4u40 Normal  ['mpa-441']                    7196       7994   8         8    
 3  r1r4u38 Normal  ['esp64', 'bigbdd-vm-14']      7680       7994   7         8    
 4  r1r4u36 Normal  ['monitor-external', 'bigb...  5632       7994   2         8    
 5  r1r4u34 Normal  ['henry-test', 'bigbdd-vm-...  4608       7994   2         8    
 6  r1r4u32 Normal  ['soasta-load-intel-lab-00...  5888       7994   5         8    
 7  r1r4u30 Normal  ['soasta-load-intel-lab-01']   5120       7994   4         8    
 8  r1r4u28 Normal  ['soasta-load-intel-lab-02']   5120       7994   4         8    
...

Details

If you absolutely need the best networking performance, you can create you VM using the hint 'nicModel=virtio'.

We've found that 32-bit Linux kernels have issues with VT. Unless you really need a 32-bit kernel, please use i386-hardy-64kern.qcow2 to get a 32-bit working environment with a 64-bit kernel.