sixtydoses. where od is harmless.

June 26, 2009

R.I.P. Michael Jackson.

Filed under: Life — Tags: , — od @ 11:15 pm

I woke up early this morning and had my occasional celebrities surfing routine when I saw a headline ‘Michael Jackson is dead’. I am a big fan of Jacko, but I was not even slightly intrigued by the headline. I didn’t even bother to click the link at all. Thought it was just another bullshit rumor and I could care less about it. It was not long after that when my sister text me a message on my cell – ‘Michael Jackson is dead’.

It’s hard to believe that he is dead. He is a music genius. No doubt he is the King of Pop of all time. When I was a small kid I used to watch his clips on the telly, and I think my favourite at the time was ‘Billie Jean’. Last year I had a MJ fever and I spent most of my time listening to his music, dancing and moonwalking and searching for his mail address (yes I thought of writing him a letter but I didn’t write any because I think the letter would’ve not gotten to him anyway). I love him so much that if MJ and Radiohead were to perform in my country on the same day, I would’ve gone to MJ’s concert. Well of course I’m a big fan of Radiohead too, but hell, Michael Jackson is definitely a true performer. He’s a legend.

RIP MJ.

June 22, 2009

Installing Sun VirtualBox on FreeBSD 7.1/amd64.

Filed under: Tech — Tags: , , — od @ 12:41 am

Today I decided to install Sun VirtualBox on my FreeBSD 7.1/amd64. The installation from ports is straightforward as usual.

#csup -g -L2 /etc/ports-supfile
#cd /usr/ports/emulators/virtualbox
#make install clean

I got stuck when it failed to fetch this file Dev86src-0.16.17.tar.gz.

#wget ftp://ftp.freebsd.org/pub/FreeBSD/ports/distfiles/Dev86src-0.16.17.tar.gz
#mv Dev86src-0.16.17.tar.gz /usr/ports/distfiles/
#make install clean
#hash -r ; ldconfig

Mount proc:
#mount -t procfs proc /proc

Load vbox driver module:
#kldload vboxdrv.ko
#kldstat | grep box
13    1 0xffffffffab46a000 3fb0e    vboxdrv.ko

Launch vbox from menu or command:
#VirtualBox

Done.

June 20, 2009

Virtualbox is now available in ports!

Filed under: Tech — Tags: , — od @ 8:40 am

This could be one of the bestest news I’ve heard in months!!

Excerpt from miwi:

“Today Virtualbox was committed to the FreeBSD ports tree. After a lot of work we had a good discussion today about how stable Virtualbox is, and after the CTF with take6 we got a lot of good feedback, so it was time to commit.”

Read it here.

Woohoo!!

May 26, 2009

Quiz tiem!!!!

Filed under: Life — Tags: — od @ 12:44 am

I stumbled this, so I did this, and here’s what I got.

You are HP-UX. You're still strong despite the passage of time.  Though few understand you, those who do love you deeply and appreciate you.
Which OS are You?

May 23, 2009

Edge Load Balancer Network Dispatcher – Double Collocated HA on HP-UX.

Filed under: Tech — Tags: , , , , — od @ 5:01 am

One of my recent project was to configure Edge load balancer on 2 servers in high availability (HA) environment. I rarely do Edge, but the configuration is pretty straightforward. In my past projects, Edge implementation has always been in separate boxes, which is easier compared to collocated setup. In this post I’m going to share my configuration for edge dispatcher (MAC forwarding) that resides together with web server (I’m using IHS) and WebSphere. Each server will use 1 IP address for both web server and dispatcher. The configuration is almost the same, but there were few issues that I encountered and I hope this post will be of help to those who are dealing with Edge dispatcher as well.

For typical setup of Edge load balancer servers that do not reside in the same box with web servers, the general rules are:
- Primary Edge – cluster IP aliased to its NIC.
- Standby Edge – cluster IP aliased to its loopback.
- Web Servers – cluster IP aliased to loopback.

These rules hold the same in collocated environment:
- Primary Edge – cluster IP aliased to its NIC.
- Standby Edge – cluster IP aliased to its loopback.

Collocated Edge.

Double collocated HA edge.

Say I have the following:
Cluster IP – 192.168.10.10
Cluster port – 8080
Primary Edge – 192.168.10.20
Backup Edge – 192.168.10.21


default.cfg for Primary Edge:

dscontrol set loglevel 5
dscontrol set logsize 50000000
dscontrol executor start

dscontrol executor set nfa 192.168.10.20

dscontrol highavailability heartbeat add 192.168.10.20 192.168.10.21
dscontrol highavailability backup add primary auto 8880
dscontrol highavailability reach add 192.168.10.55
dscontrol highavailability reach add 192.168.10.56

dscontrol cluster add 192.168.10.10
dscontrol port add 192.168.10.10:8080

dscontrol server add 192.168.10.10:8080:192.168.10.20
dscontrol server add 192.168.10.10:8080:192.168.10.21

dscontrol manager start manager.log 10004
dscontrol man reach set loglevel 5
dscontrol man reach set logsize 50000000
dscontrol advisor start Http 192.168.10.10:8080 Http_192.168.10.10_8080.log



default.cfg for Standby Edge:

dscontrol set loglevel 5
dscontrol set logsize 50000000

dscontrol executor start

dscontrol executor set nfa 192.168.10.21

dscontrol highavailability heartbeat add 192.168.10.21 192.168.10.20
dscontrol highavailability backup add backup auto 8880
dscontrol highavailability reach add 192.168.10.55
dscontrol highavailability reach add 192.168.10.56

dscontrol cluster add 192.168.10.10
dscontrol port add 192.168.10.10:8080

dscontrol server add 192.168.10.10:8080:192.168.10.21
dscontrol server add 192.168.10.10:8080:192.168.10.20

dscontrol manager start manager.log 10004
dscontrol man reach set loglevel 5
dscontrol man reach set logsize 50000000
dscontrol advisor start Http 192.168.10.10:8080 Http_192.168.10.10_8080.log



goActive script:

This script will remove the cluster IP from loopback and alias it to the NIC.

#!/bin/ksh

CLUSTER=192.168.10.10
LOOPBACK=lo0:1

ifconfig $LOOPBACK 0.0.0.0
dscontrol executor configure $CLUSTER



goStandby script:
This script will remove the cluster IP from NIC and alias it to the loopback.

#!/bin/ksh

LOOPBACK=lo0:1
CLUSTER=192.168.10.10
NETMASK=255.255.255.192

dscontrol executor unconfigure $CLUSTER
ifconfig $LOOPBACK $CLUSTER netmask $NETMASK up



goInOp script:
This script will remove the cluster IP from all devices (loopback and NIC).

#!/bin/ksh

CLUSTER=192.168.10.10
NETMASK=255.255.255.192

dscontrol executor unconfigure $CLUSTER
ifconfig $LOOPBACK $CLUSTER netmask $NETMASK down



The normal method to test if the high availability works smoothly is by plugging out the network cable off the edge server. I would tail the root mail (/var/mail/root) at the same time, so I could see which HA script has been triggered when the network is interrupted. Another method is to bring down the server, by rebooting it or shutting it down. With reboot you’ll only have a short time span to monitor the failover in action, but of course this depends on how long your servers take to start up.

But since this is a collocated environment, if I were to opt for either the described testing methods, I wouldn’t be able to see if the dispatcher balances all requests to both web servers accordingly (in my case I’m using the round robin algorithm). So what I did is, I manually stop the executor so that failover occurs. Note that stopping the dsserver alone won’t trigger the HA scripts. Actually it is not necessary to stop the dsserver. Well to be honest even if it’s not a collocated environment, I normally test the HA failover by stopping the executor, since normally am working remotely and plugging out the cable requires me to get the help of the sys admins. So might as well test if its really working before going through all the hassle.

One of the problem that I encountered was instability. Sometimes the dispatcher will run in the right mode (active | standby), but most of the time both will run as active. It was very unstable, no certain pattern that I could track. Even worse, sometimes when I tried ro run the dispatcher as a standalone lb, all of the incoming requests will be routed directly to the web server, skipping the dispatcher completely. I was stuck with this problem for several days when I finally figured out what the culprit is.

The ibmlb module.

Everytime when the executor is stopped, the ibmlb module will be unloaded. Everytime when the executor starts, the ibmlb module will be loaded to the kernel. I’m lucky that I have dmesg on both servers, so based from dmesg, this is how it should looked like whenever you stop and start the executor:

ibmlb DLKM successfully unloaded
ibmlb DLKM successfully loaded

But what happened was, when I stopped the executor, the ibmlb was not unloaded. The status was busy, and I’ll have to unload the module explicitly.

ibmlb DLKM successfully unloaded
ibmlb DLKM successfully loaded
ibmlb version is 06.01.00.00 – 20060515-232359 [wsbld265]
WARNING: moduload : module is busy, module id = 14, name = ibmlb
WARNING: moduload : module is busy, module id = 14, name = ibmlb
WARNING: moduload : module is busy, module id = 14, name = ibmlb
WARNING: moduload : module is busy, module id = 14, name = ibmlb
WARNING: moduload : module is busy, module id = 14, name = ibmlb

I’ve not seen anything like this before (I used to configure dispatcher on AIX servers). Consider the following test cases (arp table checked from a different server that resides on the same segment):

TEST 1.

1) Primary active, Backup standby. Cluster IP belongs to Primary.
2) Primary down, Backup goes active. Module ibmlb is UNLOADED successfully on Primary. Cluster IP belongs to Backup.
3) Primary up in active mode, Backup goes standby. Cluster IP belongs to Primary.

TEST 2.
1) Primary active, Backup standby. Cluster IP belongs to Primary.
2) Primary down, Backup goes active. Module ibmlb is busy and still LOADED on Primary. Cluster IP belongs to Backup.
3) Primary up in active mode, Backup stays active. Cluster IP belongs to Primary, but all requests will skip dispatcher and go straight to the web server.


TEST 3.

1) Primary active, Backup standby. Cluster IP belongs to Primary.
2) Primary down, Backup goes active. Module ibmlb is UNLOADED successfully on Primary. Cluster IP belongs to Backup.
3) Primary up in active mode, Backup goes standby. Cluster IP belongs to Primary.
4) Backup down. Module ibmlb is UNLOADED successfully.
5) Backup up, running in standby mode.
6) Backup down. Module ibmlb is busy and still LOADED on backup.
7) Backup up, running in active mode (remember that Primary is also in active mode too). Cluster IP belongs to Backup, but all requests will skip the dispatcher and go straight to the web server.
8 ) Backup down. Module ibmlb is busy and still LOADED on backup. Explicitly unload the module using kcmodule command until it gets UNLOADED. Cluster IP belongs to Primary.
9) Backup up, running in standby mode.

Most of the time I won’t be able to unload it right away, until I let the server ‘rest’ for about 15 – 20 minutes, before trying to unload it again. Rebooting the server will always solve this problem (the module next state is unused). Am not sure if there’s a way to force a module to be unloaded though. As far as I know there’s no force flag for kcmodule.

I was fooled several times since I tested the splash page of the web servers from my Opera browser. I was on a different subnet, so I guess there must be a switch/router in between me and the edge servers. At times, even when the cluster IP is aliased to the Primary Edge, my browser will point to the Backup Edge since the ARP cache was not refreshed. It was so annoying since this will affect the cluster report. The rest of the testings were done by running a browser from a different server but belongs to the same subnet. At least I could clear up the ARP cache manually if I have to.

Okay probably this is my browser problem, but testing the splash page with Firefox sucks. It kept on hitting the splash page even after I’ve stopped both web servers, and cleared up the cache. It was alright with Opera though. What gives?

By the way I’m using Edge v6.1. If you check out the Edge Fixpack page here, you’ll notice that there is no patch for HP-UX. Not a single patch. Is IBM trying to say something? Don’t use Edge on HP-UX, perhaps? Lol. Anyway, IBM packed me a patch (6.1.0.35), but still it didn’t address the module issue. Am not sure if I could call it a patch though, it’s more like an installer since I had to reinstall everything.

Thanks to Robert Brown from IBM for assisting me on this ‘false alarm’ panic attack (initially I thought it was a network issue).

April 7, 2009

Things to do today.

Filed under: Life — Tags: — od @ 2:23 pm

1. Get up.
2. Survive.
3. Get back to bed.

March 14, 2009

Fitter happier.

Filed under: Life, Tech — Tags: , , , , , — od @ 11:19 pm

Yea, there has been a lack of update. I was busy with WebLogic, and Devin.. oh well, he only writes material that meets a certain literary and relevancy standard and he is not that prolific. Lol. Guess you’ll never find him writing anything that will be tagged as rant :P

Few things happened last week..

Weblogic completed:
Am done with the project last week, which is cool. Haven’t gone through the UAT session with the users yet, so until they say “All’s good”, guess I’ll have to keep my fingers crossed. Weeee!!!!



I lost my handphone:
Yes, my cheap handphone. I can’t believe someone would want to steal it. I bought the handphone for about 300 – 400 bucks, so am surprised that someone would be so keen to steal it. How much does it worth really? 2 small packets of weed? Am not bothered about the phone. Well alright, I am bothered, because it costs money. But what I care the most is the data inside the phone. My contacts, my messages, heck I even have a few audio clips of my cat purring recorded with that phone. Oh well. Fuck you, thief.



Medical checkups:
I had a couple of medical checkups performed last Tuesday and Thursday. Last Tuesday I got all wired up for the holter monitoring test. It was something like a 24 hours of ECG (electrocardiogram) to monitor the electrical activity of my heart. I couldn’t take showers during the procedure because it’ll damage the device. So yeah, am pretty happy with the fact that I don’t have to shower and not feeling guilty about it. Am just plain lazy sometimes.

And last Thursday, I got up very early in the morning and headed to the General Hospital to get my brain checked. It was a quick EEG (electroencephalography), prolly around 20 minutes where I had to blink my eyes numerous times, with bright light flickered directly on me for a few minutes and inhale/exhale profusely for 5 minutes which was tiring since am asthmatic. And oh my, I looked horrible with my hair glued on with all the wires. And I looked even worse after the guy pulled them out. I looked like a woman who is trying too hard to impress a guy by applying extra hair gel. You know the type of hair gel that will make your hair hard and stiff? Gah. I hate it.

I’ll be getting the results this April. I hope everything will be fine, since am always fine, and anyway I agreed to go through all of these medical procedures because my sister told me to. Nothing serious.



FreeBSD upgrade:
Yeah, finally! Upgraded to 7.1. I did it last Saturday, and I was thinking to update this blog on Sunday, but guess what, the update went fine until suddenly I failed to start the X server. Hmmm.. now that’s weird, because this was not the first time I did a FreeBSD upgrade, plus, this was just a minor version upgrade, so what could go wrong? Building world, kernel and installing them went perfectly well. I didn’t forget to run mergemaster, the machine booted up well. Spent a day changing the theme, and all of the sudden it failed (yeah, ironically it failed after I spent the whole day beautifying my desktop, why didn’t it fail sooner?). I realized that it failed just after I ran portupgrade to upgrade my Opera and Firefox. Probably the modules are not synced, am not sure.

I spent the next 48 hours running portupgrade numerous times, until I finally decided to rebuild perl, xorg and xfce4. But to my surprise it failed. I reinstalled my xfce4 and its gang one by one, so they’ll all run on the same version. Reboot the machine and voila, am back. Still, some of my installed packages are broken, so I had to fix them.

So they say, if it ain’t broken, don’t fix it. I could’ve just stick to FreeBSD 7.0 and save the 48 hours from the agonizing pain of troubleshooting my machine. But seriously, it was worth it. The performance is so much better, XFCE 4.6 is brilliant with more new features and yes fellas.. flash 9 works :)



He got engaged:
Yes, he finally got engaged. AmazingCongratulations.

February 18, 2009

What do WebLogic and someone-who-stole-my-chair-in-the-office have in common?

Filed under: Life — Tags: , , , , , — od @ 9:30 pm

They both suck donkey balls.

February 12, 2009

And we are back as a couple!

Filed under: 1 — Devin @ 11:47 pm

Well, I had intended to write a longer introductory post but I don’t want to keep od waiting until she turns 30. :-P Well, I’m sure it is obvious now that me (Devin) and Od have been a couple since this past January 11th. It was my girlfriend’s idea to have a shared blog so expect to read various blog posts relating to technical issues, politics, economy, and occasionally religion. I just hope Od doesn’t come to regret this decision! Now she will be reminded on a daily basis about the sagging economy and the gold standard! Well not daily since I only want to write material that meets a certain literary and relevancy standard and I am not that prolific. It is my first foray into blogging and the ever powerful WordPress platform! Luckily, technical support from Corey is only a phone call away!

And it has ended.

Filed under: Life — Tags: — od @ 2:55 am

-

Older Posts »

Blog at WordPress.com.