Difference between revisions of "Agile testbed/Cloud/Installation notes"

From PDP/Grid Wiki
Jump to navigationJump to search
(add links)
m
 
(23 intermediate revisions by the same user not shown)
Line 4: Line 4:
 
* Install CentOS 5 bare-bones
 
* Install CentOS 5 bare-bones
 
* Setup LDAP authentication (see [http://www.linux.com/archive/feature/113643?theme=print this guide])
 
* Setup LDAP authentication (see [http://www.linux.com/archive/feature/113643?theme=print this guide])
** add <tt>ldap</tt> to <tt>/etc/nsswitch.conf</tt>'s <tt>passwd</tt>, <tt>shadow</tt> and <tt>group</tt> entries
 
 
** configure <tt>/etc/ldap.conf</tt> according to [[NDPFDirectoryImplementation#Example_configurations|this]]
 
** 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])
 
** 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])
** add an appropriate <tt>pam_ldap.so</tt> before each <tt>pam_unix</tt> line in <tt>/etc/pam.d/system-auth</tt>
+
** update <tt>/etc/pam.d/system-auth</tt> using command <tt>authconfig --enableldap --enableldapauth --update</tt>
** create homedirs for your users as <tt>/user/<username></tt> with correct owner
+
*** this adds <tt>ldap</tt> to <tt>/etc/nsswitch.conf</tt>'s <tt>passwd</tt>, <tt>shadow</tt> and <tt>group</tt> entries
* Enable Xen (see also [[Xen on CentOS 5]])
+
** create homedirs for your users as <tt>/user/<username></tt> with correct owner, populate authorized_keys
** <tt>yum install xen kernel-xen</tt>
+
** disable ssh PasswordAuthentication
** 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
 
  
 
== Master ==
 
== Master ==
 
* Install and configure OpenNebula
 
* Install and configure OpenNebula
* Setup dynamic DNS
+
** 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
 
** install and configure bind
 
** create OpenNebula hooks with <tt>ddns-update</tt> script
 
** create OpenNebula hooks with <tt>ddns-update</tt> script
 
* Setup image repository
 
* 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]]
+
[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 ==
 
== 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
 
* 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 16: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
    • add EPEL repository
    • install packages: ruby ruby-devel gcc gcc-c++ make openssl-devel scons flex bison
    • enable Karan Extras repository and install xmlrpc-c: yum install --enablerepo=kbs-CentOS-Testing xmlrpc-c-devel
    • download and install OpenNebula
      • either manually from source, installing a recent sqlite first (according to manual)
      • or use the spec file and patch
      • and create startup script
  • 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
  • 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
    • if multiple interfaces: bridge setup notes (with options netloop nloopbacks=0 in modprobe.conf)