remove jave from mac osx lion

sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin

install URL of CentOS 6.2 x86_64
http://mirror.centos.org/centos/6.2/os/x86_64/

howto Cron job
Lock file with cron job
http://stackoverflow.com/questions/9390134/rsync-cronjob-that-will-only-run-if-rsync-isnt-already-running

introduction to cron command
http://troy.jdmz.net/cron/

make centos repository
http://www.centos.org/modules/tinycontent/index.php?id=22

document page
http://opennebula.org/documentation:rel3.4:ignc#centos_platform_notes

Install OpenNebula and Sunstone server on Xen over Xen hypervisor

Step 1) Get EPEL repository

webpage explaining this repository: http://fedoraproject.org/wiki/EPEL#How_can_I_use_these_extra_packages.3F

Download page http://dl.fedoraproject.org/pub/epel/6/x86_64/repoview/epel-release.html

Wget the file and yum install on the machine

wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-6.noarch.rpm
yum install epel-release-6-6.noarch.rpm

Step 2) Download and install the package

download from the site http://downloads.opennebula.org/

install with yum

yum install CentOS-6.0-opennebula-3.4.1-2.x86_64.rpm

Usually, it installs without any problem.

This will have the Cloud platform installed, but of less use without a proper configuration and a GUI. Next steps are about installing those.

Step 3) install gem and other required packages

OpenNebula comes with a script to install ruby gems, it will prompt if ruby or other requests are not met.

yum install rubygems
yum install ruby-devel
/usr/share/one/install_gems

on computer node, the hypervisor should be properly installed and configured first of all. And Ruby should be installed, sshd should be installed.

apt-get install ruby openssh-server

Step 4) setup oneadmin user on both control and compute node

get the information of created oneadmin user information on control node

[oneadmin@centos121 ~]$ id oneadmin
uid=497(oneadmin) gid=495(oneadmin) groups=495(oneadmin)

Add this user on all the compute node with same group id and uid add a group with specific id

groupadd --gid 495 oneadmin

add a user in specific group and specific id and specific home path

useradd --uid 497 -g oneadmin -d /var/lib/one oneadmin

Step 5) setup ssh access from control node to compute node

switch to oneadmin and generate ssh key. Press enter when prompted for a phrasepass

sudo su oneadmin
ssh-keygen

Append the public key to the allowed access

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

change the permission of the files otherwise the system will not run due to protection policy

chmod 700 ~/.ssh/
chmod 600 ~/.ssh/id_rsa.pub
chmod 600 ~/.ssh/id_rsa
chmod 600 ~/.ssh/authorized_keys

create the configure file for ssh not to ask for permission to access unknown machine

vim ~/.ssh/config

############### content of the file ###########
Host *
    StrictHostKeyChecking no

change also the permission of this file

chmod 600 ~/.ssh/config

copy the whole folder to the compute node

scp -r ~/.ssh root@192.168.2.12:/var/lib/one/

check and correct the permission on compute node

ls -la /var/lib/one/.ssh

In case of success, oneadmin should be able to ssh compute node without password

Now we can test if everything works

[oneadmin@centos121 ~]$ onevm list
Connection refused - connect(2)

This means that the oned is not running, start it by (always run one as oneadmin):

one start
[oneadmin@centos121 ~]$ onevm list
    ID USER     GROUP    NAME         STAT CPU     MEM        HOSTNAME        TIME

Step 6) Setup Sunstone GUI server

The server should come with the opennebula installation. If not yet installed, install it

[root@centos121 ~]# /usr/share/one/install_gems sunstone
Gems already installed

Install the noVNC, so that user can access the VNC through web

cd /usr/share/one
./install_novnc.sh

let the webserver listen to every address

vim /etc/one/sunstone-server.conf

########## content of the file ###########
# Server Configuration
:host: 192.168.2.121
:port: 9869

And now the server is listening on port 9869

Start the monitoring daemon and sunstone server as oneadmin

oneacctd start
sunstone-server start

The GUI is only accessible on the local machine for now. To be able to access is, a SSH channel can be used

Configure netowrk, cluster, host

network

http://opennebula.org/documentation:rel3.4:nm

  • dummy: Default driver that doesn't perform any network operation. Firewalling rules are also ignored.
  • fw: Firewall rules are applied, but networking isolation is ignored.
  • 802.1Q: restrict network access through VLAN tagging, which also requires support from the hardware switches.
  • ebtables: restrict network access through Ebtables rules. No special hardware configuration required.
  • ovswitch: restrict network access with Open vSwitch Virtual Switch.
  • VMware: uses the VMware networking infrastructure to provide an isolated and 802.1Q compatible network for VMs launched with the VMware hypervisor.

Use dummy for now

cluster

add cluster

onecluster create cluster01
host

add host

onehost create test2 --im im_xen --vm vmm_xen --net dummy
error

The monitor cannot start

[oneadmin@centos121 one]$ onehost list
  ID NAME         CLUSTER     RVM   TCPU   FCPU   ACPU   TMEM   FMEM   AMEM STAT
   4 test2        -             0      0      0    100     0K     0K     0K  err

tail /var/log/one/oned.log
 sudo: no tty present and no askpass program specified

The reason is one is trying to execute sudo xen.rb on the compute node, but sudo is not installed and oneadmin is not in the sudoer.

apt-get install sudo
vim /etc/sudoers

#### content ####
oneadmin ALL=NOPASSWD: ALL
# This will allow script to run without interactive TTY

After changing this everthing runs smoothly

[oneadmin@centos121 one]$ onehost list
  ID NAME         CLUSTER     RVM   TCPU   FCPU   ACPU   TMEM   FMEM   AMEM STAT
   5 test2        -             0    200    170    200   7.7G     4M   7.7G   on