Difference between revisions of "Agile testbed/Cloud/Installation notes"
From PDP/Grid Wiki
Jump to navigationJump to search (initial version) |
m |
||
(28 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | This page contains notes on the installation of the [[Agile testbed/Cloud|agile | + | This page contains notes on the installation of the [[Agile testbed/Cloud|agile testbed cloud]]. |
+ | |||
+ | == Base install == | ||
+ | * Install CentOS 5 bare-bones | ||
+ | * Setup LDAP authentication (see [http://www.linux.com/archive/feature/113643?theme=print this guide]) | ||
+ | ** configure <tt>/etc/ldap.conf</tt> according to [[NDPFDirectoryImplementation#Example_configurations|this]] | ||
+ | ** symlink <tt>/etc/ldap.conf</tt> to <tt>/etc/openldap/ldap.conf</tt> | ||
+ | ** make sure the DutchGrid CA certificate is in <tt>/etc/openldap/cacerts/16da7552.0</tt> (from rpm or [http://certificate.nikhef.nl/medium/cacert.pem here]) | ||
+ | ** update <tt>/etc/pam.d/system-auth</tt> using command <tt>authconfig --enableldap --enableldapauth --update</tt> | ||
+ | *** this adds <tt>ldap</tt> to <tt>/etc/nsswitch.conf</tt>'s <tt>passwd</tt>, <tt>shadow</tt> and <tt>group</tt> entries | ||
+ | ** create homedirs for your users as <tt>/user/<username></tt> with correct owner, populate authorized_keys | ||
+ | ** disable ssh PasswordAuthentication | ||
+ | |||
+ | == Master == | ||
+ | * Install and configure OpenNebula | ||
+ | ** add [http://fedoraproject.org/wiki/EPEL EPEL] repository | ||
+ | ** install packages: <tt>ruby ruby-devel gcc gcc-c++ make openssl-devel scons flex bison</tt> | ||
+ | ** enable [http://centos.karan.org/ Karan] Extras repository and install xmlrpc-c: <tt>yum install --enablerepo=kbs-CentOS-Testing xmlrpc-c-devel</tt> | ||
+ | ** download and install OpenNebula | ||
+ | *** either manually from source, installing a recent sqlite first (according to manual) | ||
+ | *** or [http://wiki.centos.org/HowTos/SetupRpmBuildEnvironment use] the [http://svn.opennebula.org/components/packages/trunk/redhat/one-1.4.0.spec spec file] and [http://svn.opennebula.org/components/packages/trunk/redhat/one-1.4.0.patch patch] | ||
+ | *** and create startup script | ||
+ | * Setup dynamic DNS (optional but convenient) | ||
+ | ** install and configure bind | ||
+ | ** create OpenNebula hooks with <tt>ddns-update</tt> script | ||
+ | * Setup image repository | ||
+ | * Install <tt>mkisofs</tt> for contextualisation | ||
+ | |||
+ | [http://www.opennebula.org/doku.php?id=documentation OpenNebula documentation] [http://www.slideshare.net/rsmontero/building-clouds-one-14 Building Clouds presentation] [[Virtual Machines working group]] | ||
+ | |||
+ | == Slaves == | ||
+ | * Enable Xen (see also [[Xen on CentOS 5]]) | ||
+ | ** <tt>yum install xen kernel-xen</tt> | ||
+ | ** make grub boot Xen kernel by default (change <tt>default</tt> in <tt>/boot/grub/menu.lst</tt>), add <tt>nosmp</tt> to kernel cmdline and reboot | ||
+ | * Allow <tt>oneadmin</tt> user to execute cloud-related commands using <tt>sudo</tt> | ||
+ | ** Setup <tt>/etc/sudoers</tt> (e.g. using <tt>visudo</tt>) | ||
+ | **: <tt>Cmnd_Alias CLOUD = /usr/sbin/xm, /usr/sbin/xentop, /usr/sbin/lvs, /usr/sbin/lvcreate, /usr/sbin/lvremove, /bin/dd</tt> | ||
+ | **: <tt>oneadmin ALL = NOPASSWD: CLOUD</tt> | ||
+ | ** Disable sudo's <tt>requiretty</tt> option | ||
+ | ** Add <tt>PATH=$PATH:/sbin:/usr/sbin</tt> to <tt>~oneadmin/.bashrc</tt> so that these commands can be found | ||
+ | * Install <tt>ruby</tt> from the [http://rubyworks.rubyforge.org/ RubyWorks] repository (you really need 1.8.6 or higher) | ||
+ | * Enable passwordless ssh login from master for <tt>oneadmin</tt> user | ||
+ | * Add to master using <tt>onehost</tt> there | ||
+ | * Setup networking | ||
+ | ** if multiple interfaces: [http://www.debian-administration.org/articles/470 bridge] [http://wiki.xensource.com/xenwiki/XenNetworking setup] [http://www.novell.com/communities/node/4094/xen-network-bridges-explained-with-troubleshooting-notes notes] (with <tt>options netloop nloopbacks=0</tt> in <tt>modprobe.conf</tt>) |
Latest revision as of 14:28, 23 February 2010
This page contains notes on the installation of the agile testbed cloud.
Base install
- Install CentOS 5 bare-bones
- Setup LDAP authentication (see this guide)
- configure /etc/ldap.conf according to this
- symlink /etc/ldap.conf to /etc/openldap/ldap.conf
- make sure the DutchGrid CA certificate is in /etc/openldap/cacerts/16da7552.0 (from rpm or here)
- update /etc/pam.d/system-auth using command authconfig --enableldap --enableldapauth --update
- this adds ldap to /etc/nsswitch.conf's passwd, shadow and group entries
- create homedirs for your users as /user/<username> with correct owner, populate authorized_keys
- disable ssh PasswordAuthentication
Master
- Install and configure OpenNebula
- Setup dynamic DNS (optional but convenient)
- install and configure bind
- create OpenNebula hooks with ddns-update script
- Setup image repository
- Install mkisofs for contextualisation
OpenNebula documentation Building Clouds presentation Virtual Machines working group
Slaves
- Enable Xen (see also Xen on CentOS 5)
- yum install xen kernel-xen
- make grub boot Xen kernel by default (change default in /boot/grub/menu.lst), add nosmp to kernel cmdline and reboot
- Allow oneadmin user to execute cloud-related commands using sudo
- Setup /etc/sudoers (e.g. using visudo)
- Cmnd_Alias CLOUD = /usr/sbin/xm, /usr/sbin/xentop, /usr/sbin/lvs, /usr/sbin/lvcreate, /usr/sbin/lvremove, /bin/dd
- oneadmin ALL = NOPASSWD: CLOUD
- Disable sudo's requiretty option
- Add PATH=$PATH:/sbin:/usr/sbin to ~oneadmin/.bashrc so that these commands can be found
- Setup /etc/sudoers (e.g. using visudo)
- Install ruby from the RubyWorks repository (you really need 1.8.6 or higher)
- Enable passwordless ssh login from master for oneadmin user
- Add to master using onehost there
- Setup networking