Recently, it became possible to create your own cloud service (IaaS) without effort and programming. In the simplest case, you can create a Cloud-In-A-Box using just one computer with a processor that supports virtualization. This cloud has its limitations and, in my opinion, is only suitable for training. If you have two machines with processors that support virtualization, then you can create a complete cloud suitable for testing and developing cloud solutions.
Eucalyptus has recently introduced a new version of its Eucalyptus 3.4 product. Using FastStart, you can create a complete AWS and S3 compatible IaaS system without effort and in-depth product knowledge.
I used two Intel NUC machines to install Eucalyptus. Since the NUC does not have a floppy disk drive, I used the CentOS 6.2 machine to create a bootable USB key. First you need to get FastStart ISO by going to
www.eucalyptus.com/eucalyptus-cloud/get-started/try#faststart . After that create a boot key. I used UNetbootin to create a key. Do not forget to copy FastStart ISO to the key after UNetbootin is finished. On my machine, UNetbootin left the file system on the key in read-only mode after the end of the work and it was necessary to make the umount and mount key to write the file.
Before starting the installation, decide which IPs you assign to the machines and which ones you will use for the virtual machines in your cloud. I decided to assign the 192.168.10.1 Frontend machine, 192.168.10.2 Node Controller (NC) and use 192.168.9.1-192.168.9.100 for the public addresses of the virtual machines. Make sure your network settings allow you to set up static IPs for the machines. If this is impossible, you will have to use DHCP, which is fraught with problems if the servers receive new IPs after installing the system. So I would recommend using static IP.
After creating the key, boot the first machine from USB. First I installed the Node Controller. When installing in addition to several standard CentOS questions, I had to enter the server IP, network mask, Default Gateway and DNS.
')
After creating NC, I loaded the second machine with USB and selected Install CentOS 6 with Eucalyptus Frontend from the menu. During the installation, several additional questions were asked about network settings and public and private addresses for virtual machines. For public, I chose the above range, and for closed ones, the 172.31.X.X range offered by the system. After, when the system offered to register NC, I indicated the address of the first machine created 192.168.10.2. And it's all. After the reboot, I got a working cloud system.
To work with it, you can use both the UI and the command line. After installation, the system reports all the parameters for working with the cloud. If you forgot something, just go to the Frontend machine via ssh and you will receive a reminder like this:
[vasya @ localhost ~] $ ssh root@192.168.10.1
root@192.168.10.1's password:
Last login: Wed Oct 30 14:45:12 2013 from 192.168.1.183
User Console URL (for managing instances, volumes, etc.):
https://192.168.10.1:8888/
User Credentials:
* Account: demo
* Username: admin
* Password: password
Admin Console URL (for managing user accounts, VM types, etc.):
https://192.168.10.1:8443
Admin Credentials:
* Account: eucalyptus
* Username: admin
* Password: admin
To work through the UI, go to the address above
https://192.168.10.1:8888/

Enter your data for the demo user and you can start working. By default, the system already has one image based on CentOS 6.4 and several keys have been created. So you can immediately start the virtual machine.

To work with the command line, log in via ssh on the Frontend machine. And load the environment variables for one of the two default users. For example:
. ~ / credentials / admin / eucarc
After that, you can start using the command line to work with the system. For example, display all system resources available for running virtual machines:
[root @ Box1 ~] # euca-describe-availability-zones verbose
AVAILABILITYZONE CLUSTER01 192.168.10.1 arn: euca: eucalyptus: CLUSTER01: cluster: cc_01 /
AVAILABILITYZONE | - vm types free / max cpu ram disk
AVAILABILITYZONE | - m1.small 0005/0008 1,256 5
AVAILABILITYZONE | - t1.micro 0005/0008 1,256 5
AVAILABILITYZONE | - m1.medium 0005/0006 1 512 10
AVAILABILITYZONE | - c1.medium 0002/0004 2,512 10
AVAILABILITYZONE | - m1.large 0002/0004 2,512 10
AVAILABILITYZONE | - m1.xlarge 0002/0004 2 1024 10
AVAILABILITYZONE | - c1.xlarge 0002/0004 2 2048 10
AVAILABILITYZONE | - m2.xlarge 0002/0004 2 2048 10
AVAILABILITYZONE | - m3.xlarge 0001/0002 4 2048 15
AVAILABILITYZONE | - m2.2xlarge 0001/0002 2 4096 30
AVAILABILITYZONE | - m3.2xlarge 0001/0002 4 4096 30
AVAILABILITYZONE | - cc1.4xlarge 0000/0001 8 3072 60
AVAILABILITYZONE | - m2.4xlarge 0000/0001 8 4096 60
AVAILABILITYZONE | - hi1.4xlarge 0000/0000 8 6144 120
AVAILABILITYZONE | - cc2.8xlarge 0000/0000 16 6144 120
AVAILABILITYZONE | - cg1.4xlarge 0000/0000 16 12288 200
AVAILABILITYZONE | - cr1.8xlarge 0000/0000 16 16384 240
AVAILABILITYZONE | - hs1.8xlarge 0000/0000 48 119808 24000
On my NC machine there is a 4-core processor and a 128 GB drive. By default, after installation, I could run up to 4 virtual machines. But as you can see, the system offers to run up to 8 virtual machines. To achieve this, log in via ssh to the NC machine and edit several variables in the /etc/eucalyptus/eucalyptus.conf file. I set:
MAX_CORES = "8"
NC_WORK_SIZE = 70000
After that, you need to restart the NC process /etc/init.d/eucalyptus-nc restart and I have two more resources at my disposal. I would not abuse the change in the number of processors, but I think it’s safe to double them if virtual machines do not use 100% of their processor capacity.
If you are used to using the Russian interface in the UI, then you can change the language settings of the UI. To do this, log in via ssh to the Frontend machine and edit the /etc/eucalyptus-console/console.ini file. It is necessary to change the locale
language=ru_RU
After that, restart the eucalyptus-console process /etc/init.d/eucalyptus-console restart
Going back to the UI, you will see that the menu and many messages are translated into Russian.

I spent less than an hour on the entire installation of two machines and settings.