Run your own instance
Euca2ools currently only works under linux, for windows or mac or other os users, please refer to ElasticFox further.
Run a new virtual machine instance in the ubuntu private cloud
- install euca2ools from your repository or from the original site, for 32bit ubuntu users, you can just run "
sudo apt-get install euca2ools"; or if you decide to download it from the original site, only download the Euca2ools is enough; for just a cloud user, there is no need to install the entire eucalyptus;
Now you can run any commands started with "euca-", though it will fail with "EC2_ACCESS_KEY environment variable must be set."
read Eucalyptus users guide
read the original article, or here simplified steps:
- Sign up an account at flyer-1
- After approval, go back to flyer-1, login, from the "Credentials" page, use "Download Credentials", get a zip file, mkdir ~/.euca/, and unzip into it; optionally keep it private with chmod (chmod 0600 ~/.euca/);
- find eucarc file, and import it to current shell, it is "source ~/.euca/eucarc"
- Run with euca commands:
$ source ~/.euca/eucarc # to import eucarc into current shell $ euca-describe-images # list all availables images, notice lines end with "machine", only those are really available, # find their id, currently only "emi-D1EA1497" and "emi-129415BA", correspond to 32bit or 64bit linux; $ euca-add-keypair mykey >mykey.private # create your own public/private key pair, optionally use any string to replace "mykey"; use "chmod 0600 mykey.private" to keep that file private; $ euca-run-instances -k mykey -n 1 <emi-id> # here use above two emi-id; it will default run a machine with 1 processor, 128M memory, and 2GB disk; # if you need a more powerful machine, try add a parameter "-t <type>", type can be one of the five, "m1.small, c1.medium, m1.large, m1.xlarge, c1.xlarge"; # but please DO NOT WASTE resource, try large only if you really need; $ euca-describe-instances # to watch the output of "euca-describe-instances" every 2s, till your instance state become to "running"; # or use watch euca-describe-instances # usually need a minute or more time, it depends on how many instances are already running; # notice your assigned public IP address, like 10.4.7.201; $ euca-authorize -P tcp -p 22 -s 0.0.0.0/0 default # allow your instance can be connected by ssh; $ ssh -i mykey.private ubuntu@<accessible-instance-ip> # connect to your public address, like 10.4.7.201;
Enjoy your own virtual machine journey ~
create and attach your own volume
With the methods above, you can run your own vm instance now, but there is a defect that when you leave your vm, terminate it; all your modifications are lost; so then the problem is how to keep your own data persistent between rebooting?
euca provide a method to create your own volume, and attach it to your running instance, this volume is persistently allocated to the account your signed up above, in the vm instance there will be a notice of new storage attached, you can create a filesystem and store your own data on it,
$ euca-create-volume -z flyer-1 -s 8 VOLUME vol-43D30586 8 creating 2009-12-09T07:59:24.083Z $ euca-describe-volumes VOLUME vol-43D30586 8 flyer-1 available 2009-12-09T07:59:24.083Z
here you get the volume id "vol-43D30586", and then you can attach your volume to your running vm instance,
$ euca-attach-volume -i i-3AB4068D -d /dev/sdb vol-43D30586 VOLUME vol-43D30586
and in your vm, re-check the storage, you will find a new disk named /dev/sdb, like:
$ sudo fdisk -l Disk /dev/sda: 5416 MB, 5416943616 bytes 4 heads, 32 sectors/track, 82656 cylinders Units = cylinders of 128 * 512 = 65536 bytes Disk identifier: 0x00043e69 Device Boot Start End Blocks Id System /dev/sda1 1 32769 2097152+ 83 Linux /dev/sda2 32769 71910 2505000+ 83 Linux /dev/sda3 71910 82656 687799+ 82 Linux swap / Solaris Disk /dev/sdb: 8589 MB, 8589934592 bytes 64 heads, 32 sectors/track, 8192 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Disk identifier: 0x00000000 Disk /dev/sdb doesn't contain a valid partition table
then the first time you can partition it or directly create a filesystem on it, mount it on somewhere, use it,
$ sudo mkfs.ext4 /dev/sdb $ sudo mkdir /mnt/sdb $ sudo mount /dev/sdb /mnt/sdb $ df [...] /dev/sdb ext4 7.9G 146M 7.4G 2% /mnt/sdb
the last "
df" command shows that there is a new volume mounted under /mnt/sdb, you can use it in anyway you like, it's your own persistent storage. Next time you start another instance or terminate and run new instance, you can still attach this volume to it and mount it directly, and get all data back again.
bundle and register your own vm image
the cloud currently supports 5 different instance types:
|Name||CPUs||Memory (MB)||Disk (GB)|
- after a 6-core amd machine added to this cloud on June 2010, I adjust c1.xlarge to 6 core configuration;
- this information is also in the output of euca-describe-availability-zones, run by admin of the cloud;
$ euca-describe-availability-zones verbose AVAILABILITYZONE flyer-1 10.4.7.200 AVAILABILITYZONE |- vm types free / max cpu ram disk AVAILABILITYZONE |- m1.small 0004 / 0008 1 128 2 AVAILABILITYZONE |- c1.medium 0004 / 0008 1 256 5 AVAILABILITYZONE |- m1.large 0002 / 0004 2 512 10 AVAILABILITYZONE |- m1.xlarge 0002 / 0004 2 1024 20 AVAILABILITYZONE |- c1.xlarge 0000 / 0001 4 2048 20
For any questions further, you can also contact CHENG Renquan, or directly go to cubic 44.