OpenNebula: Difference between revisions
Jump to navigation
Jump to search
| Line 155: | Line 155: | ||
TYPE = OS | TYPE = OS | ||
DESCRIPTION = "Debian 6 (Squeeze) x86_64 with standard system utilities" | DESCRIPTION = "Debian 6 (Squeeze) x86_64 with standard system utilities" | ||
* oneimage create debian.one -d | * oneimage create debian.one -d 103 | ||
Revision as of 20:33, 15 April 2013
Pre-Installation Tasks
- groupadd --gid 2001 oneadmin
- useradd --uid 201 -g oneadmin -d /var/lib/one -m oneadmin
- elinks http://downloads.opennebula.org/
- Copy /home/marc/git/xen/dist/install/usr/local/lib/xen/boot/pv-grub* on Flibble to /usr/lib/xen-4.1/boot/
Install
- dpkg --install *.deb
- apt-get -f install (to get dependencies)
- /usr/share/opennebula/install_gems
- cd /usr/share/opennebula
- ./install_novnc.sh
Configure
Host configuration
- Ensure that /etc/xen/xend-config.sxp has the vnc-listen directive set to 0.0.0.0
- Add opennebula to /etc/hosts
- apt-get install ruby sshfs
- Copy key to /root/.ssh/authorized_keys
- groupadd and useradd commands as above
- usermod -a -G disk oneadmin
- mkdir /etc/xen/auto
- mkdir /etc/xen/vm
- ssh-keygen for oneadmin and add to authorized_keys on opennebula controller
- Add to /etc/sudoers:
oneadmin ALL=(ALL) NOPASSWD: /usr/sbin/xm * oneadmin ALL=(ALL) NOPASSWD: /usr/sbin/xentop * oneadmin ALL=(ALL) NOPASSWD: /sbin/lvs * oneadmin ALL=(ALL) NOPASSWD: /sbin/lvcreate * oneadmin ALL=(ALL) NOPASSWD: /sbin/lvremove * oneadmin ALL=(ALL) NOPASSWD: /bin/dd *
- Mount the datastore by adding to /etc/fstab
sshfs#oneadmin@opennebula:/var/lib/one/datastores/1 /var/lib/one/datastores/1 fuse defaults,allow_other,reconnect 0 0
Front end
- mkdir ~/.one
- echo "oneadmin:password" > ~/.one/one_auth
- chmod 600 ~/.one/one_auth
- Change :host: to 0.0.0.0 and :port: to 80 in /etc/one/sunstone-server.conf
- echo "Host *" >> ~/.ssh/config
- echo " StrictHostKeyChecking no" >> ~/.ssh/config
- Authorise self to SSH: cat /var/lib/one/.ssh/id_rsa.pub /var/lib/one/.ssh/authorized_keys
CXM
- cd ~
- git clone git://github.com/nagius/cxm
- cd git/cxm/miscl
- cp -r opennebula/tm opennebula/vmm /var/lib/one/remotes
- cp cxm.conf /etc/
- Change XPATH directive in cxm.conf to read "xpath -e"
- N.B. Not sure what this does. Ignore for now:
Change the post-migration hook in the cxm configuration to use one-migrate script. In /etc/xen/cxm.conf, change:e in /etc/xen/cxm.conf : POST_MIGRATION_HOOK="/usr/local/sbin/one-migrate" And update this script to fill the variable ONE_HOST with the hostname of your OpenNebula frontend.
Root OpenNebula Configuration
- Go to /var/lib/one/remotes/vmm/xen/xenrc and uncomment the line:
export XM_CREDITS="sudo $XM_PATH sched-credit"
- Change /etc/one/one.conf to uncomment the following (commenting the KVM lines):
IM_MAD = [
name = "im_xen",
executable = "one_im_ssh",
arguments = "xen" ]
VM_MAD = [
name = "vmm_xen",
executable = "one_vmm_exec",
arguments = "xen",
default = "vmm_exec/vmm_exec_xen.conf",
type = "xen" ]
- Also add cxm to the TM_MAD directive so it reads:
TM_MAD = [ executable = "one_tm", arguments = "-t 15 -d dummy,lvm,shared,qcow2,ssh,vmware,iscsi,cxm" ]
- Add the cxm driver:
VM_MAD = [ name = "vmm_cxm", executable = "one_vmm_exec", arguments = "-t 15 -r 0 cxm", default = "vmm_exec/vmm_exec_xen.conf", type = "xen" ]
- Change the default disk driver for phy: in /etc/one/vmm_exec/vmm_exec_xen.conf :
DISK = [ driver = "phy:" ]
- Change the default device prefix
DEFAULT_DEVICE_PREFIX = "xvd"
Hosts
- onehost create cloud1 --im im_xen --vm vmm_cxm --net dummy
- onehost create cloud2 --im im_xen --vm vmm_cxm --net dummy
- onehost enable cloud1
- onehost enable cloud2
Datastores
- Change the default datastore to use cxm by typing onedatastore update 1
TM_MAD="cxm"
- onedatastore create
NAME="london1cxm" DS_MAD="fs" TM_MAD="cxm" NO_DECOMPRESS="yes" SYSTEM="yes"
- onecluster adddatastore London1 london1cxm
Clusters
- onecluster create London1
- onecluster addhost London1 cloud1
- onecluster addhost London1 cloud2
- onecluster update 102
SYSTEM_DS="X" where X is the cxm datastore
Templates
- onetemplate create
CPU="1" DISK=[ FORMAT="ext3", IMAGE_ID="XX" SIZE="1024", TYPE="fs" ] DISK=[ SIZE="128", TYPE="swap" ] GRAPHICS=[ TYPE="vnc" ] MEMORY="128" NAME="Whatever" OS=[ BOOTLOADER="/usr/lib/xen-4.1/bin/pygrub" ] RAW=[ TYPE="xen" ] TEMPLATE_ID="X" VCPU="1"
Images
- Create debian.one in /images with the following
NAME = "Deb 6 x86 Std" PATH = "/images/debian-opennebula.tar.gz" TYPE = OS DESCRIPTION = "Debian 6 (Squeeze) x86_64 with standard system utilities"
- oneimage create debian.one -d 103