Archive for the ‘Work work’ Category

Amazon EC2 Gentoo AMIs and the Cloud

Lately I have been very much traveling around and visiting different conferences related to cloud computing. I have been discussing a lot the assets and drawbacks for us at work to put some stuff into the cloud. Well, very soon I had to dig into the AWS. I had a look at all the available EC2 AMIs and I asked myself why there is no recent gentoo based x86_64 AMI for Amazons EC2. And in truth I needed a proper gentoo EC2 AMI asap to start testing.

So what’s wrong? Is it too much weird command line kung fu to create such an machine image? Or is there no demand for Gentoo x86_64 images? People don’t use Gentoo anymore since the Gentoo hype was over long before there was AWS? Gentoo people are unaware there is 64bit available and still stick to 32bit? AWS people don’t want Gentoo people to use Gentoo images since the Fedora machine images are much better for everyone? Yeah.

I deceided to roll out my own AMI. I did some research and read lots of articles about the different ways to create those machine images. Twenty minutes later I felt enlightened:

1. You can convert an existing xen image or
2. create your AMI with VMware and convert this or
3. you can use an existing AMI and base your AMI on it and so forth.

Sounds like crap. I like building things by my own and have more control on the inside of the result.
It took some time to figure out how to proceed and how to solve small emerging hurdles.

Working on a good build host it takes maybe twenty to thirty minutes from zero to have a basic AMI ready to go. Basically you need to create the AMI file, format it with some filesystem, mount the file as a loop device, extract an stage3 archive, install some requirements and modify some config files. The most time is wasted waiting for ec2-upload-bundle to complete. It’s enough time to get another cup of coffee, sit on the sofa and read some pages in the newspapers.

I think the result is pretty good already. I have completed different automations and have begun working on the details to create almost autonomous clusters, this is again funny stuff with crons, bash, sed, awk and perl.

EC2 is definitly very interesting. If you need some help with gentoo AMIs you can just sent me an email or put a line in the comments.

All the best, Emil

Debian, Dell servers and the Broadcom NetXtreme II firmware

In case you are running Debian Lenny on one or another Dell PowerEdge server or a bunch of servers from the R series (like the R410), there might occur a problem with the firmware of the Broadcom NetXtreme II network interface cards when your are updating the kernel from the official repositories. The warning message is like:

“W: Possible missing firmware /lib/firmware/bnx2-09-4.0.5.fw for module bnx2”

In that case you can easily fix the problem with adding the non-free repository to your /etc/apt/sources.list

deb https://ftp.de.debian.org/debian/ lenny main non-free contrib

and then run

aptitude update && aptitude install firmware-bnx2

This will install the required firmware and rebuild your kernel initrd and include the firmware at boot time.

Let’s have a party, reached uptime 365+ days

A few minutes ago – while I was dumpster diving the internet visiting that shiny Munin site we have once setup for some eye candy a more complete picture – I discovered the servers have today reached their first year uptime. In general that is nothing special, but well, this is our project. This thrills me and now it’s time for another 365+ days with keeping the engines running…cheers!

one year uptime

SEO fscking

Funny, today I had some interesting hits in my log, someone came from a page with an engine spying for the keywords used on my page. Now I got curious and did some research. I indeed noticed that if someone searches via google for example hp compaq 6715 b, hp compaq 6715b, et cetera I am very close behind top ranking pages of mighty HP itself. I am doing strong promotion for nothing. What a shock. Hey, come on – please give me an hp 6715 b or something comparable, I really enjoyed it a lot! So I already knew that on various topics my page has good ranking on google.com like vm workstation for linux,  vmware linux 2.6.27 or flowplayer and dvgrab. And guess what? I have no clue about SEO. And guess somewhat else. This post is simple SEO done in 5 minutes.

P.S. If anyone at HP Compaq wants his name eternally remembered – you know what do ;P

Debian Lenny and my Sony Vaio VGN-FZ38M Notebook

Since a few weeks now I am in a new employer-employee relationship. I got a brand new Asus notebook. By accident I indeed booted M$ V1sta and cleanly restarted the computer. I then changed the BIOS password and was already happy to reboot, to enter the password and then install Debian GNU/Linux. The password??! It didn’t accept my password! Okay, after a few calls with the Asus customer support I really was very unpleased and we had to send this piece of cake back to the trader. I really can’t recommend the Asus support. That’s my personal experience. It’s now 4 weeks back we sent it in and we still didn’t get something back. So in the short term I got another Notebook, it’s a Sony Vaio VGN-FZ38M. Everything runs fine, the installation was straight forward and I had no glitches yet.

emil@xxx:~$ cat /etc/debian_version
lenny/sid

emil@xxx:~$ uname -a
Linux xxx 2.6.27.7 #1 SMP PREEMPT Wed Dec 3 09:26:13 CET 2008 i686 GNU/Linux

It’s specs are something like Intel Core 2 Duo T8100, 4 GB RAM, 200GB HD, WLAN 802.1 a/b/g/n, 15.4 WXGA – 1280×800 (that’s one obvious minus point), a NVIDIA GeForce 8400M GT GPU, Firewire, USB, Bluetooth and a Blue-ray disc drive.

For your info, here comes the output from lspci:

emil@xxx:~$ lspci
00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub (rev 0c)
00:01.0 PCI bridge: Intel Corporation Mobile PM965/GM965/GL960 PCI Express Root Port (rev 0c)
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 03)
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 03)
00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03)
00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 03)
00:1c.2 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 3 (rev 03)
00:1c.4 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 5 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3)
00:1f.0 ISA bridge: Intel Corporation 82801HEM (ICH8M) LPC Interface Controller (rev 03)
00:1f.1 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) IDE Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA AHCI Controller (rev 03)
00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 03)
01:00.0 VGA compatible controller: nVidia Corporation G86M [GeForce 8400M GT] (rev a1)
06:00.0 Network controller: Intel Corporation PRO/Wireless 4965 AG or AGN [Kedron] Network Connection (rev 61)
08:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8036 PCI-E Fast Ethernet Controller (rev 16)
09:03.0 CardBus bridge: Texas Instruments PCIxx12 Cardbus Controller
09:03.1 FireWire (IEEE 1394): Texas Instruments PCIxx12 OHCI Compliant IEEE 1394 Host Controller
09:03.2 Mass storage controller: Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)

The WLAN device required to fetch the driver from this intel page und to put it in the /var/firmware/ directory.

emil@xxx:~$ ls -l /var/firmware/
total 184
-rw-r–r– 1 root root 187672 2008-12-03 14:56 iwlwifi-4965-2.ucode

My config fle for the network devices looks similar to the lines below, we have of course an encrypted WLAN and so I had to pass some more parameters to the config.

emil@xxx:~$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#allow-hotplug eth0
#iface eth0 inet dhcp

auto wlan0
iface wlan0 inet dhcp
pre-up (echo ‘Modprobing iwl4965’) && /sbin/modprobe iwl4965
post-down (echo ‘Removing iwl4965′) && /sbin/modprobe -r iwl4965
wpa-key_mgmt WPA-PSK
wpa-pairwise TKIP
wpa-group TKIP
wpa-psk your_Pre-Shared-Key
wpa-driver wext
wpa-key-mgmt WPA-PSK
wpa-proto WPA
wpa-ssid your_ESSID

This works for me, the screen resolution is sometimes a handicap and I would like a better battery uptime. But altogether this seems to be a good device without anything really ugly per my definition.

For further information about linux on notebooks etc you might have a look at tuxmobil.org.

HTH, Emil

EDIT: This notebook does not support Intel Vanderpool / VT technology !

This really is a big disappointment !

A NetXMS Howto

Today I decided to do a NetXMS test installation on my root server. Why am I doing this? There’s so much other monitoring software available to perfectly fulfill this purpose. Well, why not – maybe it’s just great.

The install procedure here is done on debian etch. There might be smallish quirks for other distributions. Just ping me for help or whatever.

As ever just grab the current sources and put them somewhere you like. I copied the core files’ source code to my server and I dare say you’ll get more bandwidth here. No offense meant. *scnr*

cd /usr/src/

wget https://uruz.org/files/netxms-0.2.22.tar.gz

Extract the file and change dir to the fresh and virginal source code.

tar xvzf netxms-0.2.22.tar.gz

cd netxms-0.2.22/

Now it’s time to perform a miracle and configure the coming build process. I prefer MySQL for myself while NetXMS should work with PostgreSQL, Oracle etc. And I’d like to have NetXMS resident in /opt/

./configure –with-server –with-agent –with-mysql=/usr –prefix=/opt/netxms

make

Get a cup of tea and maybe tell your girlfriend how much you’d like to _____ her and to _____ with her on the _____ all night long, but in fact you are still too busy and have to solve this first. There’s plenty of time to relax when it’s done.

make install

Lo and behold! The server is installed!

Now copy the default netxms daemon and agent configuration file to /etc/ and edit them afterwards.

cp ./contrib/netxmsd.conf-dist /etc/netxmsd.conf

cp ./contrib/nxagentd.conf-dist /etc/nxagentd.conf

nano /etc/netxmsd.conf && nano /etc/nxagentd.conf

Next simply create the database and initialize it with the sql/dbinit_mysql.sql script.

mysql -u root -h localhost -p

mysql> create database netxms;

mysql> GRANT all ON netxms.* TO ‘netxms’@’localhost’ IDENTIFIED BY ‘password’;

mysql> \q

/opt/netxms/bin/nxdbmgr init sql/dbinit_mysql.sql

The next step is to start the netxmsd and nxagentd.

/opt/netxms/bin/netxmsd -d && /opt/netxms/bin/nxagentd -d

So when that’s done run the admin console and connect to the server to change the default password of the admin user. And if you like you could add another unprivileged user for trivial monitoring. That’s all best described in the console docs. And of course have fun playing with it, it looks promising.

It is late now at my place and I am going to bed to be fit for work tomorrow. I promise to enhance this post asap and maybe going to build a .deb file, don’t expect it to happen until I woke up or so. I’ll sleep soundly knowing NetXMS is watching over my server.

P.S. I really would enjoy a linux console, but that’s not availbile yet. *poke around*

I’m gonna leave you

I’d like you to know I’ve quit my contract with my current employer. I’m gonna leave at the end of this month. I’ve been working there for 3 years now and I’ve been doing all the stuff that matters like server administration and embedded linux development. I guess I was pretty good somehow. No one was really amused when I announced my dismissal. I have had some helluva fun and some nice teammates there and the work was frequently challenging. But no regrets, it’s time to move on. I’d like to hereby thank the staff of Solcon Systemtechnik GmbH for the past 3 years of cooperation.