Ubuntu 12.04 HA infrastructure

April 27th, 2012 Ante Karamatić

Ready for high availability in Ubuntu 12.04?! :)

High availability in Linux has seen lots of changes in recent years. This is a result of an effort to merge most relevant HA stacks in Linux world – RedHat Cluster Suite and Linux-HA. Work upstream did on this is tremendous and one can only congratulate on that. Unfortunately, for us following this development, that meant we had to keep track with all those changes in the code and configuration. That’s why, for 10.04, we had official packages in the distribution and backported and supported packages in ubuntu-ha-maintainers PPA. We hope that for 12.04 PPA will not be required any more :)

HA in Ubuntu is based on Pacemaker 1.1.6. One can use both GFS2 and/or OCFS2 shared filesystems on top of shared storage (DRBD or any other type of shared hardware storage).

To make deploying HA easier for users and system administrators, we’ve started a WIKI explaining most common setups. At the moment, this wiki covers only how to initially setup GFS2 and OCFS2 shared filesystems on a shared storage. In few days, we’ll add guides for DRBD, cLVM and guides for some migration scenarios – 10.04 -> 12.04; 10.04 +  PPA -> 12.04, etc.

Important: We’ve encountered couple of bugs that are in the queue for fixing. If you are using or have a desire of using cLVM, please do not use 12.04 yet. Once these fixes land into archives, we’ll send an email to ubuntu-ha mailing list and add cLVM howto to the wiki.

Ubuntu 12.04 Cloud Live

April 27th, 2012 Ante Karamatić

With the release of Ubuntu 12.04, it’s time to release Cloud Live image too! Cloud Live is a live CD/USB image that allows you to get a glimpse of Ubuntu Cloud Infrastructure. Project’s web site is located at Launchpad – https://launchpad.net/cloud-live. Procedure is very simple; download an image, burn it on CD or dd it on the USB key and boot of that device. System will boot in Unity or Unity2D and present you with at Getting Started document. Notice that we do not include full Ubuntu desktop experience – we’ve removed all components that aren’t necessary for this project, to make image as small as possible.

Once you finish with Getting Started document, you’ll be able to log into the dashboard and start instances. All of this without installing anything on your computer! For the purpose of demo, we’ve provided a small CirrOS image which you can run and log in to. Since everything is running in RAM, you will have better experience if your system has 4 or more gigabytes of memory. 2GB is enough to get system booted, but you won’t be able to do much more after that.

For a little extra, we’ve configured Ubuntu Cloud Live with support for Nova Volume. All you have to do is plug in additional disk, create a PV volume on it (pvcreate /dev/xyz), create nova-volumes VG (vgcreate nova-volumes /dev/xyz) and restart nova volume (service nova-volume restart).

Image is built with live-build and the source is available on Launchpad. Build process pulls in one package that’s also available on Launchpad. Procedure for building your own Cloud Live is very simple:

  1. Install Ubuntu 12.04, 64bit
  2. Install live-build package
  3. Create working directory – mkdir ~/cloud-live ; cd ~/cloud-live
  4. Branch bzr code – bzr branch lp:cloud-live config
  5. [OPTIONAL] Customize config/* files
  6. Build an image – sudo lb build
  7. Burn or dd resulting image – binary-hybrid.iso

Or, if you just want default, official, Ubuntu Cloud Live image, go to cdimage.ubuntu.com and grab it!

No to 16:9 laptops

December 8th, 2011 Ante Karamatić

Dear laptop manufacturers, I will not buy your laptop if it’s screen display ratio is 16:9.

I have no words for a person that came up with an idea of 12.*” 16:9 display.

1%?

September 9th, 2010 Ante Karamatić

There have been many people claiming Linux didn’t pass 1% market share. There have been many people claiming Linux users are geeks that don’t go out.

prikaz_zaslonaThat green over there is – Linux.

Website is about – adventure sports.

time: 00:07.37

February 26th, 2010 Ante Karamatić

Bootchart.

Video.

Pacemaker/Corosync/OpenAIS/OCFS2/GFS2 for Ubuntu 10.04

February 10th, 2010 Ante Karamatić

Couple of days/weeks ago I’ve issued call for testing of new cluster stack for Ubuntu 10.04. At that time, most of the stack was finished, but we lacked proper support for clustered file system. Now, I’ve modified ocfs2-tools package so that it compiles with support for libdlm (provided by redhat-cluster) and pacemaker. I’ve also modified redhat-cluster package so that it builds with support for pacemaker.

As a result, there is now a new test case which needs testing – cluster with drbd for underlying device and ocfs2 as a filesystem. So, please visit - https://wiki.ubuntu.com/ClusterStack/LucidTesting#Pacemaker, drbd8 and OCFS2 and give it a go.

After completing this milestone, only thing left for proper cluster stack in Ubuntu 10.04 is submitting MIRs (Main Inclusion Requests) for packages that are still in universe and demoting cman (and others) to universe.

For those that would like to test their own setups and are familiar with corosync/pacemaker/drbd8/ocfs2, ubuntu-ha’s PPA is located here: https://edge.launchpad.net/~ubuntu-ha/+archive/lucid-cluster/.

UPDATE: We now support both OCFS2 and GFS2! How to: https://wiki.ubuntu.com/ClusterStack/LucidTesting#Pacemaker, drbd8 and OCFS2 or GFS2

Is this for real?

January 12th, 2010 Ante Karamatić

When I was in high school, during IT classes we worked with DOS, WordPerfect for DOS and BASIC. When my sister showed me her school textbook ‘Information technologies for gymnasium’, I was expecting tons of Windows screenshots. But, I was surprised. Look at those:

Wow! Not only there are Ubuntu screenshots and big Wilber, no… The textbook explains what is Open Source, what are proprietary operating systems. You can even find words like FreeBSD, NetBSD, EXT2, EXT3, UFS :) They equally provide space for Microsoft Windows Vista, XP and Ubuntu Linux (no MacOSX). Granted, in the office section, they explain how to work with MS Office tools, but they acknowledge existence of OpenOffice.org, quoting ‘We were attracted by Microsoft Office 2007 and OpenOffice.org.’, providing links to OpenOffice.org (on each chapter about office tools) and manuals.

And that big Wilber isn’t just to fill in space – they actually have 10 pages long ‘manual’ on how to use basic GiMP tools! There’s no Photoshop section in the book. Only GiMP for bitmap editing – and it’s even provided on the DVD shipped with the book.

Gvozadnović, Ikica, Kos, Miljaš, Srnec, Sekulić-Štivčević, Zvonarek (authors of the textbook) – you really surprised me and kudos for this great textbook. If you can read Croatian, take a look at http://www.propyx.com/udzbenik/izbornik.

Call for testing: Cluster components of Ubuntu 10.04

January 11th, 2010 Ante Karamatić

There was a discussion, at the last UDS, about cluster stack in Ubuntu 10.04 and later. Blueprint is located here. According to that spec, I’ve created packages for cluster-glue, cluster-agents, heartbeat, corosync, openais, pacemaker, keepalived, drbd and redhat-cluster.

Some of these packages are based on stuff Martin Loschwitz did and some are merged from Debian. Most of them have serious changes in packaging, but all of them are latest upstream version (except keepalived).

Now that those are packaged, we need help with testing. So, please, help us test those components. Choose redhat-cluster or pacemaker as a cluster stack. Combine with DRBD, KVM or Xen and try to break them. In a day or two, I’ll set up a wiki page with configuration instructions for these tools, so anybody could test it. Input from upstream is also welcome.

Packages are located at ubuntu-ha PPA: https://edge.launchpad.net/~ubuntu-ha/+archive/ppa/+packages

Packages are created only for 10.04, Ubuntu Lucid Lynx.

UTF8 collation support for Croatian, Bosnian and Serbian (latin) in MariaDB/MySQL

November 29th, 2009 Ante Karamatić

There has been a long lasting problem of collation in MySQL for Croatian language – it was impossible. When, at that time, Yugoslavian keyboard layout was invented, it was designed to cover all the languages from all republics. It covered all Slovenian characters (plus couple of characters that they don’t have), but not all Croatian (it missed ‘nj’, ‘lj’ and ‘dž’). When Yugoslavia fall apart, all the republics just took already wide spread Yugoslav layout. For Slovenian layout, that was great, with exception of including characters they didn’t have. For Croatian and Serbian latin, well, not that great…

You see, now we type letter ‘nj’ as a combination of ‘n’ and ‘j’. Same thing with ‘lj’ and ‘dž’. That wouldn’t be that bad if every word, containing ‘l’ or ‘n’ and ‘j’ together would be pronounced as ‘lj’ or ‘nj’. For example, we have two words that we write the same (injekcija), but pronounce different. In one case with say it with ‘nj’, and in the other as ‘n’ and ‘j’. Talking about the bad choice of deciding to use ‘nj’ as a character for that letter. There are also examples of ‘dž’.

As you can see, until we put ‘lj’ and ‘nj’ characters on the keyboard, we will never have correct sorting in any database. Good news is that those characters exists in Unicode and that’s why we have ‘hr unicode’ layout in Xorg. Too bad nobody uses it.

Until that’s sorted out, I’m happy to announce that MariaDB/MySQL just accepted a patch that makes possible contracting non-ascii characters, meaning that we can now have sorting rules for ‘dž’ (more about that at http://www.collation-charts.org/articles/croatian.htm). As a result, utf8_croatian_ci and ucs2_croatian_ci collations were created and added to MariaDB 5.1 and MySQL 5.6. Since Alexander Barkov was so kind and provided a patch for MySQL 5.1, I’ve created packages for Ubuntu. I’ve also modified that patch so that it works with MySQL 5.0. If you need this feature, go add my PPA to your sources.list:

https://edge.launchpad.net/~ivoks/+archive/mysql-hr/

It’s important to realize that this patch contains very intrusive change in collation mechanism, so it’s not just a patch for Croatian collation. People from Bosnia and Herzegovina, Monte Negro and Serbia (latin) can also use this collation for their languages. It does not cover all problems (‘injekcija’ and ‘injekcija’ for example), but at least words starting with dž won’t be at the end of the sort :)

Big thanks to MariaDB community!

10 seconds boot is already here!

June 3rd, 2009 Ante Karamatić

Hardware: Lenovo X200s with Mushkin Europe 2 120GB SSD instead of default Seagate 5000rpm disk. Boot to fully functional (default) Jaunty desktop from cold start (powered off) is less than 30 seconds. If BIOS, grub and kernel/initrd loading are excluded, boot time is less than 10 seconds.

Video:

http://www.init.hr/dev/fast-boot.mp4

Except the automatic login in gdm there were *no* other changes in Ubuntu.