Archive for October, 2007

Network performance within Amazon EC2 and to Amazon S3

What is the expected network performance between Amazon EC2 instances? What is the available bandwidth between Amazon EC2 and Amazon S3? How about in and out of EC2?…These are common questions that we get very regularly. While we more or less know the answers to them, out of our own experience in the past 15 months, we haven’t really conducted a clean experiment to put some more precise numbers behind them. Since it’s about time, I’ve decided to do some ‘informal’ experiments to measure some of the available network performance around EC2.

Before we start, though, a few warnings (disclaimer): Like in the drug commercials…Results may vary! :) . The results presented here use a couple of EC2 instances and therefore should only be interpreted as “typical/possible” results. The only claim that we make here is that, these are the results we got, and therefore we expect that perhaps this is an indication of available performance at this point. Amazon can make significant hardware and architectural changes which could greatly alter the results (hopefully only making them better ;) )

Let’s start with some experiments to measure the performance from EC2 instance to instance.

Performance between Amazon EC2 instances

In this first experiment I boot a couple of EC2 large instances. I make one of them a ’server’ by setting up apache and copying some large files into it, and use the other instance as a client by issuing http requests with curl. All file transfers are made out of memory cached blocks, so there’s virtually no disk I/O involved in them.

So, this experimental setup consists of 2 Large EC2 instances:

  • Server: Apache (non-SSL) serving 1-2GB files (cached in memory)
  • Client: curl retrieving the large files from the server

These two instances seem to be actually separated by an intermediate router…so they don’t seem to be on the same host. This is the traceroute across them:


traceroute to 10.254.39.48 (10.254.39.48), 30 hops max, 40 byte packets
1  dom0-10-254-40-170.compute-1.internal (10.254.40.170)  0.123 ms  0.102 ms  0.075 ms
2  10.254.40.2 (10.254.40.2)  0.380 ms  0.255 ms  0.246 ms
3  dom0-10-254-36-166.compute-1.internal (10.254.36.166)  0.278 ms  0.257 ms  0.231 ms
4  domU-12-31-39-00-20-C2.compute-1.internal (10.254.39.48)  0.356 ms  0.331 ms  0.319 ms

So what are the results we got?
Well, using 1 single curl file retrieval, we were able to get around 75MB/s consistently. And adding additional curls uncovered even more network bandwidth, reaching close to 100MB/s. Here are the results:

  • 1 curl -> 75MB/s (cached, i.e., no I/O on the apache server)
  • 2 curls -> 88MB/s (2×44MB/s) (cached)
  • 3 curls -> 96MB/s (33+35+28 MB/s) (cached)

I did not repeat the experiments using SSL. However, I did some additional tests transferring files using ’scp’ across the same instances . Those tests seem to max out at around 30-40MB/s regardless of the amount of parallelism as the CPU becomes the bottleneck.

This is really nice: basically we’re getting a full gigabit between the instances! Now, let’s take a look at what we get when EC2 instances talk to S3.

Performance between Amazon EC2 and Amazon S3

This experiment is similar to the previous one in the sense that I use curl to download or upload files from the server. The server, however, is s3.amazonaws.com. (Still using HTTP and HTTPS since S3 is a REST service).

So, this experimental setup consists of 1 Large EC2 instance:

  • curl to retrieve or upload S3 objects to/from S3
  • Amazon S3: i.e., s3.amazonaws.com
  • serving (or storing) 1GB files

The trace to the selected s3 server looks like:


traceroute to s3.amazonaws.com (72.21.206.171), 30 hops max, 40 byte packets

1  dom0-10-252-24-163.compute-1.internal (10.252.24.163)  0.122 ms  0.150 ms  0.209 ms

2  10.252.24.2 (10.252.24.2)  0.458 ms  0.348 ms  0.409 ms

3  othr-216-182-224-9.usma1.compute.amazonaws.com (216.182.224.9)  0.384 ms  0.400 ms  0.440 ms

4  othr-216-182-224-15.usma1.compute.amazonaws.com (216.182.224.15)  0.990 ms  1.115 ms  1.070 ms

5  othr-216-182-224-90.usma1.compute.amazonaws.com (216.182.224.90)  0.807 ms  0.928 ms  0.902 ms

6  othr-216-182-224-94.usma1.compute.amazonaws.com (216.182.224.94)  151.979 ms  152.001 ms  152.021 ms

7  72.21.199.32 (72.21.199.32)  2.050 ms  2.029 ms  2.087 ms

8  72.21.205.24 (72.21.205.24)  2.654 ms  2.629 ms  2.597 ms

9  * * *

So, although the server itself doesn’t respond to ICMPs, the trace tells that there’s a significant path to be traversed.

Let’s start with downloads, more specifically with HTTPS downloads. The first thing that I noticed is that the performance of a single download stream is quite good (i.e., around 12.6MB/s). What is also interesting to note is that while download performance doesn’t scale linearly with the number of concurrent curls, it is possible for a large instance to reach higher download speeds when downloading several objects in parallel. The maximum performance seems to flatten out around 50MB/s. At that point the large instance is operating at a CPU usage of around 22% user plus 20% system, which given the SSL encryption going on is nice!

Here are the raw HTTPS numbers:

  • 1 curl -> 12.6MB/s
  • 2 curls -> 21.0MB/s (10.5+10.5 MB/s)
  • 3 curls -> 31.3MB/s (10.2+10.0+11.1 MB/s)
  • 4 curls -> 37.5MB/s (9.0+9.1+9.8+9.6 MB/s)
  • 6 curls -> 46.6MB/s (8.0+7.8+7.6+7.9+7.8+7.5 MB/s)
  • 8 curls -> 49.8MB/s (6.0+6.3+7.0+6.1+6.0+5.9+6.2+6.3 MB/s)

The SSL encryption uses RC4-MD4, so there is a fair amount of work for both S3 and the instance to do. So the next natural question is to find out if there’s more to gain when talking to S3 without SSL. Unfortunately, the answer is no. While the load in the client reduces significantly (from 22% to 5% user and from 20-14% system when using 8 curls), the available bandwidth using non-SSL is basically the same (i.e., the differences fall within the margin of error). Which leads me to believe that in either case the instance is not the bottleneck.

Here are the same data points for non-SSL (HTTP) downloads:

  • 1 curl -> 10.2 MB/s
  • 2 curls -> 20.0 MB/s (10.1+9.9 MB/s)
  • 3 curls -> 29.6 MB/s (10.0+9.7+9.9 MB/s)
  • 4 curls -> 37.6MB/s (9.1+9.4+9.4+9.7MB/s)
  • 6 curls -> 46.5 MB/s (7.8+7.8+7.6+7.9+7.8+7.6 MB/s)
  • 8 curls -> 51.5 MB/s (6.6+6.4+6.6+6.3+6.2+6.2+6.7+6.3 MB/s)

Interestingly enough, a single non-SSL stream, seems to get less performance than an SSL one (10.2MB/s vs 12.6MB/s). I didn’t check whether the SSL stream uses compression, that may be one reason this is occurring.

So how about uploads? I’ll use the same setup but using curl to upload a 1GB file using a signed S3 URL.
The first interesting thing to notice from the results is that 1 single upload stream gets half the bandwidth that the downloads get (i.e., 6.9MB/s vs. 12.6MB/s). However, the good news is that the upload bandwidth still scales when using multiple streams.

Here are the raw numbers for SSL uploads:

  • 1 curl -> 6.9MB/s
  • 2 curls -> 14.2MB/s
  • 4 curls -> 23.6MB/s
  • 6 curls -> 37.6MB/s
  • 8 curls -> 48.0MB/s
  • 12 curls -> 53.8MB/s

In other words: give me some data and I’ll fill-up S3 in a hurry :-). So what about using non-SSL uploads? Well, that turned out to be an interesting one… I’ve seen a single curl upload achieve the same performance as download (that is: 1 curl upload with no SSL, can achieve 12.6MB/s). But over quite a number of experiments I’ve seen non-SSL uploads exhibit a weird behavior where some of them mysteriously slow down and linger for a while almost idle (i.e., at a very low bandwidth). The end result is that the average bandwidth at the end of the run varies by a factor of almost 2x. I’m still investigating to see what happens.

Summary

The bottom line from these experiments is that Amazon is providing very high throughput around EC2 and S3. Results were readily reproducible (except for the problem described with the non-SSL uploads) and definitely support high bandwidth high volume operation. Clearly if you put together a custom cluster in your own datacenter you can wire things up with more bandwidth, but for a general purpose system, this is a ton of bandwidth all around.


Archived Comments

myke
Do you have any numbers of traffic outside the amazon network?

blanquer
Do you mean from/to EC2? As far as we know, there’s no explicit throttling going in and out of EC2 from/to the Internet. So I would assume that most likely the bottleneck is your Internet connection (i.e., there are not many people that have GigaBit ethernet pipes to the Internet…:-) ).

But as far as numbers to back that up…no. I don’t have them.

Josep M.

Roberto
Great analysis ! I always to know these numbers. Thanks for sharing.

Thorsten
Myke, it’s pretty clear that Amazon’s “internet connection” is not a bottleneck. Your connection is the most likely bottleneck, second would come TCP window size bottlenecks, and third probably contention inside Amazon’s fabric. I don’t have any knowledge of Amazon’s fabric, but if you stick 40 servers into a rack it’s kind’a tough to have 40GB+ of bandwidth into that rack. Actually, not tough but quickly bloody expensive… So if the other 39 guys are not pumping a GB at the same time as you are, everything is fine, but if they are then, well, everyone suffers…

Al
This is great info, thanks for doing the tests gives us a real feel for the internal Amazon network performance, which appears excellent overall given its scale!

On the differences EC2 – EC2 vs EC2 – S3, the hops between EC2 and S3 traverse more than one network, they could even be in different data centers. Also your caching between EC2 and EC2 instances is likely to be different to S3 caching so S3 disk/chunk storage may start playing a role.

But this illustrates one thing, don’t bother using the EC2 disks architect using RAM, sockets and S3..

PS have you done any disk performance tests on EC2 instances?

regards Al

abhik
Am I correct in assuming that Amazon is not throttling/QoSing the connections between EC2 instances or between EC2 and S3? If so, then the throughput could be much less if there are more instances running on the physical boxes once EC2 becomes more popular?

Greg
How about a bisection bandwidth measurement with many instances? A 2 instance cluster isn’t what most people use EC2 for.

Thorsten
Al: you are correct that S3 has “a bit” more work to do with the data than Apache in our tests. We didn’t intend these as apples-to-apples comparison, although the way we wrote this up in one blog entry may have make it look like that. Disk measurements sound like a good idea!

Abhik: Amazon is pretty clearly limiting the throughput you get on a small instance, and they officially state 256kbps. They don’t say much on a large instance and evidently the Gbps is not throttled. We don’t know how many large fit onto a physical box, but it wouldn’t be entirely unreasonable to assume that each instance could get its own physical network interface.

Greg: a 2 instance cluster is very interesting, for example for MySQL master/slave replication, so a lot of people actually do use EC2 for that. But I also understand what you’re talking about. We haven’t experimented in that space, maybe some of the hadoop users on EC2 can provide you with this type of info. I suspect that larger cluster tests become a lot more dependent on the actual instance to host allocation.

Comments (4)

64-bit CentOS5 Amazon EC2 image release

A 64-bit version of our CentOS5 image is now available for general consumption! The image is called `RightImage CentOS5 x86_64 V1_12` with AMI ID ami-31c72258 and location `rightscale_images/CentOS5_X86_64_V1_12`. See the changelog for info on past images.

This is our first public image for the large instance types and we hope we covered all bases, but we’re eager to hear whether everything works as expected. As promised the script (download) to create the image is also available.
To run the script, launch Amazon’s 64-bit FC6 image and run through the steps…

A little background on RightImages for those of you not familiar with what we’re doing: to configure servers we use a base image and install software at boot time using our server templates and RightScripts. This is way more modular and maintainable than baking entire servers into AMIs. Please see our blog post on the rationale behind this. As a result, we produce base images that are small yet have all the software utilities one just needs in EC2 already installed, from the Amazon EC2 tools to traceroute, curl, wget, etc. The second innovation we made with our images is that they are fully scripted and we publish the script. You can launch Amazon’s FC4 or FC6 image, run our script, and out pops a clone of our RightImage. So if you want to see what we install or make some changes you can go right ahead.


Archived Comments

steve
I receive msg: “Error: InvalidParameterValue: The requested instance type does not agree with the architecture specified in the AMI manifest.” when trying to launch it from the dashboard.

Morgan Tocker
Is there any interest in creating a CentOS 4 server template? There are a number of isolated incidents where MySQL does not play nice with NPTL, and LinuxThreads support has been removed from CentOS 5.

Thorsten
Steve: are you sure you are launching the image on a “m1.large” or “m1.xlarge” instance? Sounds like you’re trying to run it on a small instance.

Morgan: to tell you the truth, we don’t have the resources to pursue CentOS4. The script we use to generate our CentOS5 image is public (see the link in the blog entry), so it should be a “simple matter” for someone else to create a CentOS4 version…

Todd
I’m with Steve. Maybe I’m missing something obvious, but in the dashboard,when I’m trying to launch an image, I don’t have an option to select the type of instance (large or x-large). As a result, I get the same error as Steve.

blanquer
Todd and Steve,

You are right, a presentation bug slipped through that causes the instance type drop-down box to not appear in the page (in some situations)…sorry about that. We’ll deploy the new code very shortly.

Thanks for the feedback!

blanquer
FYI, the presentation bug was fixed the next day or so, and it’s been operational for about a week now.

Comments (5)

New Right_aws Ruby gem released

We just released a new version of our Right_aws ruby gem on RubyForge. This gem provides Ruby interfaces for Amazon EC2, S3, and SQS using Amazon’s REST and query interfaces to provide full programmatic control of the three services. An optional robust HTTP layer retries and clears transient errors. New in this release is support for the large EC2 instances and improvements in the automatic error retries, specifically in promptly re-resolving the *.amazonaws.com hostnames on error. The documentation for the gems is online at RubyForge.

We have been using the right_aws gems in production since February and are continuously improving and updating them with any new features offered by Amazon. The original goal for the gems was to produce a robust production quality interface to AWS with full error handling, persistent connections, automatic retries, and high performance. We’re glad to finally be able to make them available to the Ruby community at large!

If you are finding bugs or have suggestions for improvement please email support@rightscale.com. We will do our best to respond to bug reports quickly, of course we always appreciate patches! (Someone recently asked us to support the S3 usage logging features, we hope to have this soon.)

Comments (1)

RightScale supports Amazon’s new machine types

Amazon just introduced new types of servers, larger ones! Until now it was a “one size fits all” model where you got 1/2 an Opteron CPU, 1.75GB of memory, and 160GB disk. Now you can get a server with two full Opteron cores, 7.5Gb memory, and two 420GB spindles; or a server with four cores, 15GB memory and 4x 420GB spindles. the new instances cost 4x and 8x the original ones ($0.40/hr and $0.80/hr).

Of course RightScale supports the new instance types! When you launch an image, you can now select which type of instance you’d like to launch. Couldn’t be easier! Well actually, you’ll quickly discover that it’s not quite this easy because the new machines run a 64-bit architecture and thus require a 64-bit Linux installation, meaning that none of the old machine images work on the new instances. RightScale to the rescue: we have a 64-bit CentOS image in beta, it’s called “Centos 5 64 V1_11_3″ (ami-fbf31692). You can use it interchangeably with the 32-bit one. (We’re producing a more final RightImage today.)

With the advent of the new instance types I sincerely hope you’ve been building your servers using our server templates, because, guess what, all you have to do is change the base image of your templates and voila! it probably runs fine without any further changes. You don’t have to rebuild all your images for 64-bits. The only gotchas are packages that you require that don’t exist for X86_64 in the repositories, or binaries you may have attached to your RightScripts. We’ve had to tweak a few RightScripts to get our MySQL master and slave set-up to run, but it was pretty painless and customers of ours have been really happy with the larger instances.

If you’re reading this I’m sure you’re dying to see your own web site backed by two screaming MySQL servers on the “x-large” instances: drop us a line at sales@rightscale.com ;-)


Archived Comments

anourkey
Just wondering if you guys will be providing the install script to create this image on the fly soon? Great work and keep it up!
Thanks!

Thorsten
We’re working on it! We hit a snag (not at all uncommon when preparing an image, unfortunately) and so it’s taking a day more than hoped. Thanks for asking!

Comments

More Rails on Amazon EC2 with RightScale

We’ve had a number of users getting going with our Rails-all-in-one server template and from the questions we’ve received it’s clearly time to cover some more advanced topics.

Database backups

The template does include automatic database backups but you need to provide the necessary information to enable them. Edit the template before launching the server and fill in the `DB_MYSQLDUMP_BUCKET`, `DB_MYSQLDUMP_PREFIX`, and `DB_SCHEMA_NAME` variables as shown in the screen shot below (ignore the `DB_NAME` and `DB_PASSWORD`).

Database backup settings

The mysql dumps will be stored in the bucket you name with a filename consisting of the prefix and the date/time. In my example, it would be something like `test-dump-200710081047.gz` in the `tve-backup` bucket.

Additions to the server template

If you want to add additional functionality to the template, such as installing a cron job that does some daily back-end processing, you can clone the server template and add your own RightScript that installs and configures that functionality. If you parametrize your RightScript you can plug it into other server templates in the future. Let’s walk through an example. First let’s create a RightScript: go to the _Design > RightScripts_ menu entry, hit the _New RightScript_ button and enter something like this:

Demo Script

Note that I used an all-caps variable `APPLICATION_LOG_DIR` in the script and hit the _Identify_ button to locate such all-caps variables and flag them as input parameters to the script. This will allow me to set the parameter when I launch the server. The way these parameters work is that the value is passed into an environment variable when the script is run. (This example script is not tested and I just notice that a `chmod +x` of the script is needed for sure…)

Now we can insert this RightScript into the server template, but first we need to clone the server template so we can modify our copy (note that the security group and ssh keys have to be entered into the template before it can be cloned, see step 2):

Clone Template

Now add the script to the template’s boot sequence:

Add Script

ImageScience

Many folks are starting to use ImageScience to resize uploaded images and that requires FreeImage. How do you install all that? You can download FreeImage, compile it, create an RPM, and then write a RightScript that installs the RPM, or you could just ask us… Go to the server template that needs ImageScience, clone it if you haven’t done so already, and then add our FreeImage installation RightScript to the boot sequence as follows:

Add Free Image

You should then move the script into the middle of the boot sequence:

Move Free Image

You also need to install the ImageScience gem:

Add the “RB custom gems install v1″ RightScript after the FreeImage RightScript and put “image_science” into the resulting OPT_GEMS_LIST variable in the server template (this RightScript might already be in your server template).

How to make DNS work

Now that you have customized your server template you can launch your server, but for people to find your site you obviously need to point DNS at it. The short answer is that you can do this manually or automatically. To do it manually, once your server is operational, you need to find out what it’s IP address is. You can locate the public hostname on the RightScale web site and enter it into your favorite DNS service. To automate this, we wrote a RightScript that does a wget or curl request to the DNS service we use (DNSmadeeasy.com) to set the IP address. To implement something similar you can locate the public IP address in `/var/spool/ec2/meta-data.sh`, the easiest is to simply source that file in a shell RightScript. To make all this a bit easier we’ll publish our DNS RightScript for DNSmadeeasy.com shortly.

More questions? Please don’t hesitate to post a comment here or to send us email at support@rightscale.com

Comments

Deploying many Rails sites onto Amazon EC2

One of our customers is deploying many Rails sites onto EC2, more precisely, many instances of virtually the same site. Basically they have a Rails application and they tweak it for each individual site they set-up. EC2 is a wonderful deployment platform for this type of business because there is very little friction in adding customers since it takes just one button press to get more servers.

The overall architecture concept we’re using for this customer is to build a number of app+database clusters and to load multiple sites onto each one. The number of sites per cluster can be adjusted such that the database portion of each cluster is loaded up optimally, and it’s designed such that sites can be moved around easily, for example to offload a cluster that may have become too heavily loaded as some of the sites on it have grown.

In the end, the architecture boils down to having two instances running a mysql master/slave set-up managed by our Manager for MySQL plus two instances running load balancers and Rails/Mongrel as redundant app servers. This makes for a fully redundant cluster on which a number of sites can be hosted. It is also easy to add a few more EC2 instances running Rails depending on the Rails vs. MySQL workload balance.

Each site on a cluster has its own logical database (i.e. what MySQL calls a “database”), this makes it easy to backup and restore a site individually, and most importantly, to move a site to another cluster in order to free up resources on the original one. The sites on a cluster can also share the app servers as long as there is no HTTPS involved. The reason for this caveat is that each Amazon EC2 instance has only a single IP address and it is not possible to do “virtual hosting” with HTTPS sites. With HTTP all the www.site1.com, www.site2.com, etc. DNS entries point to the same two load balancing instances (using what’s called “round-robin DNS” for fail-over purposes) and the load balancer (or front-end Apache, if used) figures out which site the user is visiting based on the “host” header included in every HTTP 1.1 request.

What’s really nice about these 4-6 machine clusters is that they’re very powerful yet so simple. There’s no “infinitely scalable” magic under the hood that breaks at the worst moments. No, it’s a plain set-up that anyone with a bit of experience can fully understand. The magic is that it’s so easy to set these clusters up with Amazon EC2 plus RightScale so you can really take advantage of the same “horizontal scaling” as the big guys (Google, Yahoo!, etc.).

One of the interesting design decisions with all this is how to set-up DNS. For example, the app for site1 needs to locate the IP address of the database it’s supposed to talk to. We use DNS as follows:

  • the app connects to db-master.site1.com
  • db-master.site1.com resolves to a CNAME for db-master-cluster3.company.com
  • db-master-cluster3.company.com resolves to the IP address of the instance that currently hosts the master
  • DNS for db-master-cluster3.company.com is set-up with a low TTL (we use 75 secs) and supports dynamic updates
  • if the DB master crashes or is otherwise replaced the db-master-cluster3.company.com DNS entry is automatically updated by the RightScale MySQL manager, which switches all the sites hosted by that cluster over with one stroke
  • if site1 is moved to different cluster, then the CNAME has to be updated to point to the correct cluster DB

For the web sites themselves its also nice to use CNAMEs:

  • www.site1.com points to www-cluster3.company.com
  • www-cluster3.company.com resolves to the IP addresses of all the load balancer instances
  • if a load balancer instance is restarted, the www-cluster3.company.com entry is dynamically updated
  • if the site is moved to different cluster, the CNAME needs to be updated

Wow, it’s amazing all this is actually possible and not just a dream! Amazon EC2 enables it and RightScale makes it possible to manage without an army of sysadmins running around and tweaking servers all the time.


Archived Comments

Dan Croak
Do you have one of your pretty graphics to go along with this setup? For all us visual learners out there… :)

Sushi
A script/tutorial/template like “rails-on-ec2-standard” post will be of great help.

Thorsten
Dan – good suggestion, I’ll pull out my brushes and paints…

Sushi – I fear this is all still a little too new to condense into a tutorial. It’s one thing to set everything up for one site, but another story altogether to figure out a solution that covers many different sites. What is needed is a design pattern that can be used in many slightly different situations and so it needs to be adaptable while also keeping the core that makes it tick constant. We’re not quite there yet.

Comments (1)

New CentOS5 RightImage V1_10 published

A new RightScale CentOS5 base image (RightImage) is available: RightImage CentOS V1_10 ami-08f41161, please see the changelog for the details of what has changed. We also try to keep the Public AMI listing on Amazon’s site up-to-date.

A little background on RightImages: to configure servers we use a base image and install software at boot time using our server templates and RightScripts. This is way more modular and maintainable than baking entire servers into AMIs. Please see our blog post on the rationale behind this. As a result, we produce base images that are small yet have all the software utilities one just needs in EC2 already installed, from the Amazon EC2 tools to traceroute, curl, wget, etc. The second innovation we made with our images is that they are fully scripted and we publish the script. You can launch Amazon’s FC4 image, run our script, and out pops a clone of our RightImage. So if you want to see what we install or make some changes you can go right ahead.

Note that an Ubuntu 7.04 RightImage should be available soon. We’re not sure how much support for Ubuntu we can realistically provide, but we’ll at least have a base image and be able to run RightScripts.


Archived Comments

Jon
Great! Keep them coming. Even if I don’t wind up using the image itself, the ideas from the rightscripts are valuable of their own accord.
Thanks! Jon

Thorsten
Thanks for the encouragement Jon! Let us know what prevents you from using the images themselves :-)

Jean-Marc
It’s good to hear about an Ubuntu RightImage but why not a Debian one instead ?

Thorsten
Debian vs. ubuntu… We had to pick one, somehow… But don’t worry, we will publish the script to generate the image so you should be able to easily modify it to generate a Debian image.

kogent
fyi – keep in mind that ubuntu 7.10 is due out in about 2 weeks.

Thorsten
Kogent – Fortunately it will be easy to re-run the script that creates the image for 7.10. I’m sure there will be some tweaks necessary, but the hard work is getting any Ubuntu installed properly.

Jon
“Thanks for the encouragement Jon! Let us know what prevents you from using the images themselves :-)”
On second thought, maybe I will try the CentOS5 image. I’ll let you know how it goes.
-Jon

Comments