<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-4830409162616322303</atom:id><lastBuildDate>Wed, 25 Apr 2012 15:56:13 +0000</lastBuildDate><category>Setup</category><category>CloudStack 3.0</category><title>Clogeny Technology - Blog</title><description /><link>http://clogeny-technology.blogspot.com/</link><managingEditor>noreply@blogger.com (Clogeny Technology)</managingEditor><generator>Blogger</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/ClogenyTechnology-Blog" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="clogenytechnology-blog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4830409162616322303.post-6961543841946386950</guid><pubDate>Tue, 13 Mar 2012 08:51:00 +0000</pubDate><atom:updated>2012-03-13T01:54:43.565-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">CloudStack 3.0</category><category domain="http://www.blogger.com/atom/ns#">Setup</category><title>Citrix's CloudStack 3.0 (Acton release) - Advanced Zone Setup</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="text-align: justify; font-size:13px;line-height:18px; font-family: verdana;"&gt;CloudStack 3.0, a product by &lt;a href="http://www.cloud.com/" target="_blank" &gt;Cloud.com&lt;/a&gt; (recently acquired by &lt;a href="http://www.citrix.com/lang/English/home.asp" target="_blank" &gt;Citrix&lt;/a&gt;), implements IaaS (Infrastructure as a service) style private clouds. It is an open source product for the deployment and management  of large networks of virtual machines to create a scalable cloud computing platform. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently, in one of our projects we needed a Cloudstack 3.0 setup with advanced mode networking options. Cloudstack has two options of networking setup viz basic and advanced. Setting up Cloudstack in basic mode is pretty simple! But, for setting up Cloudstack with advance mode one needs a clear understanding of internals of networking in advanced mode. This post will cover most of the concepts required along with step by step guide of advanced mode Cloudstack setup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CloudStack 3.0 basic mode does not have VLAN enabled i.e. all instances created under basic mode have a public IP assigned. Users outside the platform can access these instances directly using the public IP associated with those instances. Also, basic mode doesn’t provide flexibility in networking. Setting up advanced mode provides such flexibility. In advanced mode, admins can customize networking options such as VPN access, load balancing, firewall and port forwarding for particular account. Virtual routers (setup using VLANs, refer diagram) in advance mode serves as abstraction for all the instances associated with that account and helps in routing the network traffic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img alt="Network diagram-Cloudstack Advanced zone setup" border="0" src="http://4.bp.blogspot.com/-xtlx7QfpzBY/T12p761ZSKI/AAAAAAAAAAQ/YPQasxTliqA/s1600/network_diagram.png" width="520" /&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Lets first discuss the common terminology used in CloudStack setup -&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;&lt;u&gt;&lt;br /&gt;
Common terminologies:&lt;/u&gt;&lt;/h3&gt;&lt;br /&gt;
&lt;h3&gt;&lt;b&gt;Hosts:&lt;/b&gt;&lt;/h3&gt;Hosts are basic physical blocks of the Cloudstack platform. A host can be single XenServer or ESX server. The number of guest virtual machines that can be hosted on Cloudstack can be determined by number of hosts and capacity of each host. Hosts are not visible to the end user. An end user cannot determine which Host their guest has been assigned to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img alt="CloudStack resource hierarchy" border="0" src="http://2.bp.blogspot.com/-kSyEYJBDrlE/T12sKqkMdeI/AAAAAAAAAAc/87eOytsclbM/s1600/Cloudstack%2Bresource%2Bheirarchy.png" width="520" /&gt;&lt;/div&gt;&lt;br /&gt;
&lt;h3&gt;&lt;b&gt;Clusters:&lt;/b&gt;&lt;/h3&gt;Clusters are second level of physical scaling in Cloudstack platform. Cluster is a group of hosts (for Ex. XenServer or VSphere) that have same hypervisor type and share the primary storage. Size of cluster is limited by underlying hypervisor type. In a particular cluster, instances can migrate from one host to another.&lt;br /&gt;
&lt;br /&gt;
Clusters can be Cloud Managed or Externally Managed. For Ex. ‘Xenserver’ based clusters are ‘Cloudmanaged’ however, for ‘VMWare’ based clusters are managed by vCenter servers.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator"&gt;&lt;/div&gt;&lt;h3&gt;&lt;b&gt;Pods:&lt;/b&gt;&lt;/h3&gt;Pod is a collection of different types of clusters. It is a third level of physical scaling in CloudStack platform. The pod may contain only one cluster or multiple clusters with different base hypervisor type. Each node in pod shares the secondary storage and network. A Pod is frequently mapped to a single rack with a layer-2 switch. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator"&gt;&lt;/div&gt;&lt;h3&gt;&lt;b&gt;Zones:&lt;/b&gt;&lt;/h3&gt;Zones are fourth level of physical scaling in Cloudstack platform. Zones can also provide physical isolation from other zones. Users have option to choose zone while deploying their guest VMs. Admins can setup private zones which is only accessible to specific domain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img alt="CloudStack Availability zones" border="0" src="http://2.bp.blogspot.com/-q0NlD-Laroo/T12s02Ajs-I/AAAAAAAAAAo/HWnSlXcDQag/s1600/Availability%2Bzones.png" width="520" /&gt;&lt;/div&gt;&lt;div class="separator"&gt;&lt;/div&gt;&lt;br /&gt;
&lt;h3&gt;&lt;b&gt;Primary storage:&lt;/b&gt;&lt;/h3&gt;Guest VM’s root disks and other additional data disks are stored on primary storage. Instances in a particular cluster have same primary storage for them. Speed of primary storage directly impact guest VM performance.&lt;br /&gt;
&lt;br /&gt;
Root volumes are created when guest VM is created on Cloudstack platform. Additional data disks can be added later or they can be added while guest VM deployment. Root disks are deleted when guest VM is destroyed. but, data disks are not deleted from primary storage when VM is destroyed which is a main difference between two types.&lt;br /&gt;
&lt;div class="separator"&gt;&lt;/div&gt;&lt;br /&gt;
&lt;h3&gt;&lt;b&gt;Secondary Storage:&lt;/b&gt;&lt;/h3&gt;Secondary storage is used for storing templates, ISO images and snapshots on cloudstack platform. Submissions to secondary storage go through the Secondary Storage VM (System VM). The Secondary Storage VM can retrieve templates and ISO images from URLs.&lt;br /&gt;
&lt;div class="separator"&gt;&lt;/div&gt;Each zone can have multiple secondary storage devices of type NFS added to them. &lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;&lt;u&gt;&lt;br /&gt;
Different types of Networks in CloudStack platform&lt;/u&gt;&lt;/h3&gt;&lt;br /&gt;
Before we start discussing the setup &amp;amp; configurations for advance mode, lets first understand the types of network used in Cloudstack platform. CloudStack has three networks - Public, Private and Link local network. &lt;br /&gt;
&lt;br /&gt;
Every account has a internal network associated with it called a “link local network”. All guest VMs associated with the account communicate on this network and guest VMs on two different clusters (for Ex. XenServer and VSphere) communicate on a private network. Through public network, other users can access the CloudStack resources. &lt;i&gt;[refer diagram below]&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img alt="Network diagram- CloudStack Advanced zone" border="0" src="http://3.bp.blogspot.com/-rZpnne-_ghY/T12tg1tsCnI/AAAAAAAAAA0/Bu5VR1VeDBo/s1600/1.png" width="520" /&gt;&lt;/div&gt;&lt;div class="separator"&gt;&lt;/div&gt;&lt;br /&gt;
&lt;h3&gt;&lt;b&gt;Public network&lt;/b&gt;&lt;/h3&gt;&lt;br /&gt;
Users of Internet can access Cloudstack resources through Public network. For every account source NAT is created and a public IP is allocated to that network. Resources belonging to this account, if public, are accessible through the public IP address. Multiple public IPs can be assigned to single resource.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator"&gt;&lt;/div&gt;&lt;h3&gt;&lt;b&gt;Private network&lt;/b&gt;&lt;/h3&gt;&lt;br /&gt;
Two instances on different hosts communicate with each other using private network. For Ex. The client has instances on two different hypervisors- ‘Xenserver’ and ‘VMWare’ and if these instances want to communicate in between them then they can communicate on private network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator"&gt;&lt;/div&gt;&lt;h3&gt;&lt;b&gt;Link local network&lt;/b&gt;&lt;/h3&gt;&lt;br /&gt;
The Management Server automatically creates a Virtual Router for each guest virtual network. A virtual router is a special virtual machine that runs on the Hosts. This router communicates with other resources of the account on link local network as shown in diagram above. &lt;br /&gt;
&lt;br /&gt;
We will now discuss how to setup Advance zone with VLANs-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator"&gt;&lt;/div&gt;&lt;h3&gt;&lt;u&gt;&lt;br /&gt;
Setting Up Zone in  Advanced mode&lt;/u&gt;&lt;/h3&gt;Advanced mode provides the most flexibility in allowing administrators to provide custom network offerings such as providing Firewall, VPN, or Load Balancer support as well as enabling direct vs virtual networking. Advanced mode of CloudStack setup can be setup in two modes - with VLANs or with Security groups.&lt;br /&gt;
&lt;div class="separator"&gt;&lt;/div&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;Step 1:&lt;/b&gt;&lt;/i&gt; Login to admin console.&lt;br /&gt;
&lt;div class="separator"&gt;&lt;/div&gt;&lt;i&gt;&lt;b&gt;Step 2:&lt;/b&gt;&lt;/i&gt; Navigate to menu: System &amp;gt; Physical Resources from let side bar menues&lt;br /&gt;
&lt;div class="separator"&gt;&lt;/div&gt;&lt;i&gt;&lt;b&gt;Step 3:&lt;/b&gt;&lt;/i&gt; Select Add zone and choose ‘Advanced’ mode. Click next.&lt;br /&gt;
&lt;div class="separator"&gt;&lt;/div&gt;&lt;i&gt;&lt;b&gt;Step 4:&lt;/b&gt;&lt;/i&gt; Enter name and other details provided by your network provider. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="0" height="336" width="400" src="http://3.bp.blogspot.com/-QQyzHz4hGqI/T13bYtZJ9cI/AAAAAAAAABk/tRg56rZvTIk/s400/CloudStack_2.png" alt="CloudStack advanced zone setup" /&gt;&lt;/div&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;Step 5:&lt;/b&gt;&lt;/i&gt;  In CloudStack 3.0, for every NIC present on management server, a separate physical network is should be created. If the management server has only one NIC, click next else add additional physical networks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="0" height="334" width="400" src="http://3.bp.blogspot.com/-tUYCgcOkg-4/T13cC4ZQhrI/AAAAAAAAABw/tAYK3OfZiGo/s400/CloudStack_3.png" alt="CloudStack advanced zone setup" /&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;i&gt;Step 6:&lt;/i&gt;&lt;/b&gt; CloudStack’s resources like virtual machines are accessible to outside world through domain router. Every domain router is associated with a public IP which is picked from pool of IP addresses provided at time of zone setup. Add appropriate public IP range for CloudStack setup. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="0" height="335" width="400" src="http://1.bp.blogspot.com/-HUcLKs5YMSY/T13cSHpJ6bI/AAAAAAAAAB8/Nc5xPuIlnMc/s400/CloudStack_4.png" alt="CloudStack advanced zone setup" /&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;NOTE:&lt;/u&gt; If VLAN ID is specified, all the CloudStack requests will be tagged with that VLAN ID. For communication with CloudStack’s resources, requests should be tagged with VLAN ID specified. If VLAN ID is not specified, outside resources can communicate with CloudStack without any restrictions. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;Step 7:&lt;/b&gt;&lt;/i&gt; The next step is to add pod specific settings. The reserved System IPs are used for creation of private network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;Step 8:&lt;/b&gt;&lt;/i&gt; Enter the VLAN Range which will be used by CloudStack for it’s internal communication. A separate VLAN range should be specified for every physical network created in step 5.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="0" height="337" width="400" src="http://4.bp.blogspot.com/-65G66vw76Dg/T13cnYFzfEI/AAAAAAAAACI/kn0Jo0J_a6E/s400/CloudStack_6.png" alt="CloudStack advanced zone setup" /&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;Step 9:&lt;/b&gt;&lt;/i&gt; Add Cluster, host configurations with primary and secondary storage servers. Click next. CloudStack will create physical network, pods and clusters inside new zone. System VMs will come up after successfully adding host, primary and secondary storage in the zone. Wait for their state to change to ‘Running’ state. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="0" height="339" width="400" src="http://1.bp.blogspot.com/-ODqWv3JPXUw/T13c1NkhzBI/AAAAAAAAACU/7AWrOZNn-xk/s400/CloudStack_10.png" alt="CloudStack advanced zone setup" /&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;Step 10:&lt;/b&gt;&lt;/i&gt; Check status of BUILTIN templates from templates menu. If they are in downloading state, wait till the downloading is complete. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;That’s it! You have setup a Cloudstack 3.0 with advanced networking options and now you can spawn your first VM instance.&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4830409162616322303-6961543841946386950?l=clogeny-technology.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://clogeny-technology.blogspot.com/2012/03/citrixs-cloudstack-30-acton-release.html</link><author>noreply@blogger.com (Clogeny Technology)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-xtlx7QfpzBY/T12p761ZSKI/AAAAAAAAAAQ/YPQasxTliqA/s72-c/network_diagram.png" height="72" width="72" /><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4830409162616322303.post-2799808421550775899</guid><pubDate>Tue, 15 Mar 2011 09:14:00 +0000</pubDate><atom:updated>2011-07-29T04:43:24.819-07:00</atom:updated><title>Clogeny sponsors CloudCamp Pune, India 2011</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;img src="http://www.cloudcamp.org/images/logo_cloudcamp.gif" /&gt;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;&lt;a href="http://www.cloudcamp.org/"&gt;CloudCamp&lt;/a&gt;  is an unconference  where early adopters of Cloud Computing  technologies exchange ideas.  With the rapid change occurring in the  industry,&amp;nbsp;we need a place we can meet to share our experiences, challenges  and  solutions.&amp;nbsp; CloudCamp, encourages End users, IT professionals and   vendors to&amp;nbsp;participate and share their thoughts in several open discussions.   Cloudcamp organizes there premier events in cloud computing across the   world .&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Cloudcamp  now comes to Pune,India !! Yes there is a Cloudcamp  un-conference being  held in Pune on 5th Feb 2011. We highly encourage  everyone&amp;nbsp;even remotely interesting in cloud computing to attend this event.&amp;nbsp; &lt;a href="http://www.cloudcamp.org/pune/2011-02-05" target="_blank"&gt;Register for this event&lt;/a&gt; now as the seats are filling quickly!!!&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;While CloudCamp has been sponsored by the likes &lt;a href="http://aws.amazon.com/"&gt;Amazon&lt;/a&gt;, Google, IBM,&amp;nbsp; &lt;a href="http://salesforce.com/"&gt;salesforce.com&lt;/a&gt; and Microsoft globally, they have found local sponsors like&amp;nbsp;&lt;a href="http://www.persistentsys.com/" target="_blank"&gt;Persistent Systems&lt;/a&gt; and &lt;a href="http://www.trilliontech.com/" target="_blank"&gt;Trillion IT Solutions&lt;/a&gt; as well.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://clogeny.com/"&gt;Clogeny&lt;/a&gt; now joins this elite list by sponsoring the CloudCamp event being held in &lt;i&gt;Pune,India&lt;/i&gt; on &lt;b&gt;&lt;a href="http://www.cloudcamp.org/pune/2011-02-05"&gt;5th Feb 2011&lt;/a&gt; !!!&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4830409162616322303-2799808421550775899?l=clogeny-technology.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://clogeny-technology.blogspot.com/2011/07/clogeny-sponsors-cloudcamp-pune-india_29.html</link><author>noreply@blogger.com (Clogeny Technology)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4830409162616322303.post-352701568066377294</guid><pubDate>Tue, 15 Mar 2011 09:12:00 +0000</pubDate><atom:updated>2011-07-29T04:48:54.592-07:00</atom:updated><title>Booting A Custom Kernel in EC2</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://aws.typepad.com/aws/2010/07/use-your-own-kernel-with-amazon-ec2.html" target="_blank"&gt;Amazon EC2 has recently released PV-GRUB loader supported kernels&lt;/a&gt; that allow one to boot their     &lt;br /&gt;
kernels. This &lt;a href="http://wiki.xensource.com/xenwiki/PvGrub" target="_blank"&gt;PV-GRUB loader&lt;/a&gt; simply chain-boots the kernel provided in the associated AMI&amp;nbsp;(Amazon Machine Image). This results in&amp;nbsp; your instance running the kernel in the AMI instead&amp;nbsp;of the kernel specified in the boot process. This is hugely helpful feature for folks who want&amp;nbsp;load their own customized kernels into EC2's virtual machines. This article talks about we successfully&amp;nbsp;booted a customized(extra patches) RHEL/CENTOS 5.5 kernel on EC2:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pre-requisites:    &lt;br /&gt;
1. Amazon EC2 account (obviously!)     &lt;br /&gt;
2. Knowledge of running EC2 instances/bundling EC2 images&amp;nbsp; using &lt;a href="http://aws.amazon.com/developertools/609?_encoding=UTF8&amp;amp;jiveRedirect=1" target="_blank"&gt;ElasticFox&lt;/a&gt; or &lt;a href="http://aws.amazon.com/developertools/351" target="_blank"&gt;command line ec2 tools&lt;/a&gt;.     &lt;br /&gt;
3. The kernel you want to build.     &lt;br /&gt;
4. The patches you want to apply. &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
NOTE: You'll might think that, wow! with the feature i can boot any damn kernel in the world.     &lt;br /&gt;
Well chances are you can but what Amazon says is that they are 100% sure certain these kernels&amp;nbsp;(mentioned below) definitely boot, rest need to test their luck:&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;• Fedora 8‐9 Xen kernels      &lt;br /&gt;
• Fedora 13 (2.6.33.6‐147 and higher)       &lt;br /&gt;
• SLES/openSUSE 10.x, 11.0, 11.1 Xen       &lt;br /&gt;
• SLES/openSUSE 11.x EC2 Variant       &lt;br /&gt;
• Ubuntu EC2 Variant kernels       &lt;br /&gt;
• RHEL 5.x kernels       &lt;br /&gt;
• RHEL 6.x kernels       &lt;br /&gt;
• CentOS 5.x kernels&lt;/em&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Now we needed to boot a custom RHEL/CENTOS 5.5 (which is supported above).    &lt;br /&gt;
Here are the steps we followed:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;1. Find the right centos 5.5 AMI: That’s easy! We used ami-8737deee.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;2. Choosing the right kernel (AKI):    &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;&lt;em&gt;Now this is a very important step&lt;/em&gt;&lt;/strong&gt;. Choose the right kernel. If you run this AMI with a default&amp;nbsp;settings you get a VM&amp;nbsp; booted with 2.6.21-based kernel.&amp;nbsp; The RHEL5 kernel is 2.6.18-ish based.&amp;nbsp;The problem&amp;nbsp; then is finding the right kernel&amp;nbsp; configuration that ensures that your kernel first&amp;nbsp;compiles and then boots.&amp;nbsp; Since it is highly recommended that you'll choose an kernel (aki-xxxxxx)&amp;nbsp;that is close to the kernel you want to actually boot. In this case we chose,&amp;nbsp; aki-2a42a043&amp;nbsp;&amp;nbsp;which is 2.6.18 based EC2 Kernel&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;3. Run the instance with this AMI/AKI configuration either through ElasticFox or the command line.    &lt;br /&gt;
4. Download your kernel, apply the patches, build the configuration&amp;nbsp; &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div id="codeSnippetWrapper" style="background-color: #f4f4f4; border-color: silver; border-style: solid; border-width: 1px; cursor: text; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; height: 210px; line-height: 12pt; margin: 20px 0px 10px; max-height: 200px; overflow: auto; padding: 4px; text-align: justify; width: 340px;"&gt;&lt;div id="codeSnippet" style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; overflow: visible; padding: 0px; width: 100%;"&gt;&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; width: 100%;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt;   1:&lt;/span&gt; wget linux-2.6.18-194.17.1.el5.tar.bz2 #RHEL5 kernel&lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; width: 100%;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt;   2:&lt;/span&gt; tar -xf linux-2.6.18-194.17.1.el5.tar.bz2 &lt;/pre&gt;&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; width: 100%;"&gt;&lt;span id="lnum3" style="color: #606060;"&gt;   3:&lt;/span&gt; cd linux-2.6.18-194.17.1.el5.tar.bz2 &lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; width: 100%;"&gt;&lt;span id="lnum4" style="color: #606060;"&gt;   4:&lt;/span&gt;  ln -s patches /patches&lt;/pre&gt;&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; width: 100%;"&gt;&lt;span id="lnum5" style="color: #606060;"&gt;   5:&lt;/span&gt; quilt push –a # quilt &lt;span style="color: blue;"&gt;is&lt;/span&gt; useful &lt;span style="color: blue;"&gt;for&lt;/span&gt; pushing a series of patches, &lt;span style="color: blue;"&gt;else&lt;/span&gt; you can use normal patch &lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; width: 100%;"&gt;&lt;span id="lnum6" style="color: #606060;"&gt;   6:&lt;/span&gt; command&lt;/pre&gt;&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; width: 100%;"&gt;&lt;span id="lnum7" style="color: #606060;"&gt;   7:&lt;/span&gt; cp /proc/config.gz .# This ensures the right configuration &lt;span style="color: blue;"&gt;is&lt;/span&gt; used to build the &lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; width: 100%;"&gt;&lt;span id="lnum8" style="color: #606060;"&gt;   8:&lt;/span&gt; kernel&lt;/pre&gt;&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; width: 100%;"&gt;&lt;span id="lnum9" style="color: #606060;"&gt;   9:&lt;/span&gt; gunzip config.gz&lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; width: 100%;"&gt;&lt;span id="lnum10" style="color: #606060;"&gt;  10:&lt;/span&gt; mv config .config&lt;/pre&gt;&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; width: 100%;"&gt;&lt;span id="lnum11" style="color: #606060;"&gt;  11:&lt;/span&gt; make oldconfig&lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; width: 100%;"&gt;&lt;span id="lnum12" style="color: #606060;"&gt;  12:&lt;/span&gt; make -j4 &amp;amp;&amp;amp; make modules &amp;amp;&amp;amp; make install &lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;5. Build your ramdisk&amp;nbsp; &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div id="codeSnippetWrapper" style="background-color: #f4f4f4; border-color: silver; border-style: solid; border-width: 1px; cursor: text; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; height: 106px; line-height: 12pt; margin: 20px 0px 10px; max-height: 200px; overflow: auto; padding: 4px; text-align: justify; width: 54.21%;"&gt;&lt;div id="codeSnippet" style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; overflow: visible; padding: 0px; width: 100%;"&gt;&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; width: 100%;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt;   1:&lt;/span&gt; mkinitrd --builtin=ehci-hcd --builtin=ohci-hcd --builtin=uhci-hcd /boot/initrd- &lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; width: 100%;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt;   2:&lt;/span&gt;   # The builtin option &lt;span style="color: blue;"&gt;is&lt;/span&gt; required to tell mkinitrd that these modules are &lt;/pre&gt;&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; width: 100%;"&gt;&lt;span id="lnum3" style="color: #606060;"&gt;   3:&lt;/span&gt; built-&lt;span style="color: blue;"&gt;in&lt;/span&gt; the kernel itself.&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;6. Create a /boot/grub/menu.lst with the following content:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div id="codeSnippetWrapper" style="background-color: #f4f4f4; border-color: silver; border-style: solid; border-width: 1px; cursor: text; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; height: 142px; line-height: 12pt; margin: 20px 0px 10px; max-height: 200px; overflow: auto; padding: 4px; text-align: justify; width: 53.9%;"&gt;&lt;div id="codeSnippet" style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; overflow: visible; padding: 0px; width: 100%;"&gt;&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; width: 100%;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt;   1:&lt;/span&gt; cat /boot/grub/menu.list&lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; width: 100%;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt;   2:&lt;/span&gt; &lt;span style="color: blue;"&gt;default&lt;/span&gt; 0 &lt;/pre&gt;&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; width: 100%;"&gt;&lt;span id="lnum3" style="color: #606060;"&gt;   3:&lt;/span&gt; timeout 3 &lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; width: 100%;"&gt;&lt;span id="lnum4" style="color: #606060;"&gt;   4:&lt;/span&gt;     title EC2 &lt;/pre&gt;&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; width: 100%;"&gt;&lt;span id="lnum5" style="color: #606060;"&gt;   5:&lt;/span&gt;     root (hd0) &lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; width: 100%;"&gt;&lt;span id="lnum6" style="color: #606060;"&gt;   6:&lt;/span&gt;     kernel /boot/vmlinuz- root=/dev/sda1 &lt;/pre&gt;&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; width: 100%;"&gt;&lt;span id="lnum7" style="color: #606060;"&gt;   7:&lt;/span&gt;     initrd /boot/initrd- &lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;7. Bundle the image, upload and register the image.   &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; While bundling the image, we need to choose the right PV-grub kernel with which we need we want&amp;nbsp;to load the kernel. That information is available&amp;nbsp; &lt;a href="http://developer.amazonwebservices.com/connect/entry.jspa?categoryID=174&amp;amp;externalID=3967" target="_blank"&gt;here&lt;/a&gt; . We choose the aki-4e7d9527 for booting a&amp;nbsp;64-bit non-EBS kernel. You choose what you&amp;nbsp; want as per your need.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div id="codeSnippetWrapper" style="background-color: #f4f4f4; border-color: silver; border-style: solid; border-width: 1px; cursor: text; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; height: 78px; line-height: 12pt; margin: 20px 0px 10px; max-height: 200px; overflow: auto; padding: 4px; text-align: justify; width: 53.82%;"&gt;&lt;div id="codeSnippet" style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; overflow: visible; padding: 0px; width: 100%;"&gt;&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; width: 100%;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt;   1:&lt;/span&gt; ec2-bundle-vol -r x86_64 -d /mnt –e /mnt,/root/.ssh -p  --kernel aki-4e7d9527 &lt;/pre&gt;&lt;pre style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; width: 100%;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt;   2:&lt;/span&gt; ec2-upload-bundle –b  &lt;/pre&gt;&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; width: 100%;"&gt;&lt;span id="lnum3" style="color: #606060;"&gt;   3:&lt;/span&gt; ec2-register /&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;8. Voila! We are done!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ec2-register provides you with the AMI ID. Launch another instance with this AMI and you should see    &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; your new kernel&amp;nbsp; (with your patches/modules) loaded.&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp; &amp;nbsp; Potential problems:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;ol style="text-align: justify;"&gt;&lt;li&gt;ec2-bundle-image complains about lack of loopback devices.      &lt;br /&gt;
&amp;nbsp; &amp;nbsp;Solution: Load a loopback device       &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/li&gt;
&lt;/ol&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div id="codeSnippetWrapper" style="background-color: #f4f4f4; border-color: silver; border-style: solid; border-width: 1px; cursor: text; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; height: 69px; line-height: 12pt; margin: 20px 0px 10px; max-height: 200px; overflow: auto; padding: 4px; text-align: justify; width: 53.91%;"&gt;&lt;div id="codeSnippet" style="background-color: #f4f4f4; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; overflow: visible; padding: 0px; width: 100%;"&gt;&lt;pre style="background-color: white; border-style: none; color: black; direction: ltr; font-family: 'Courier New',courier,monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding: 0px; width: 100%;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt;   1:&lt;/span&gt; insmod /lib/modules/2.6.18-xenU-ec2-v1.0/kernel/drivers/block/loop.ko &lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; 2.&amp;nbsp;&amp;nbsp; The PV-GRUB cannot find the kernel to load.&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Solution: Ensure that in the menu.lst&amp;nbsp;&amp;nbsp; root=/dev/sda1 and root (hd0) is set correctly.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp; 3.&amp;nbsp;&amp;nbsp;&amp;nbsp; Chances are your kernel does not compile at all or fails to boot for mysterious reasons    &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Solution: Well, there isn’t a silver bullet for all such problems. We faced multiple compilation issues     &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; which we fixed&amp;nbsp; on our own. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;strong&gt;&lt;em&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Incase you cannot get through these issues and need help respond to the comment sections of the blog or        &lt;br /&gt;
&amp;nbsp;&amp;nbsp; feel free to mail me&amp;nbsp; at chirag at clogeny dot com         &lt;/em&gt;&lt;/strong&gt;    &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;References:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;ol style="text-align: justify;"&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://aws.amazon.com/articles/3967?_encoding=UTF8&amp;amp;jiveRedirect=1" target="_blank"&gt;Amazon's article on booting custom kernels&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://rich0gentoo.wordpress.com/2010/07/18/ec2-custom-kernels/" target="_blank"&gt;Booting custom kernels (Gentoo)&lt;/a&gt; &lt;/li&gt;
&lt;/ol&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4830409162616322303-352701568066377294?l=clogeny-technology.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://clogeny-technology.blogspot.com/2011/07/clogeny-sponsors-cloudcamp-pune-india.html</link><author>noreply@blogger.com (Clogeny Technology)</author><thr:total>0</thr:total></item></channel></rss>
