portmap hanging on shutdown

Here’s yet another post about my compute cluster. It’s (obviously) running NFS and that works quite well. Up till now, I would always have trouble with portmap hanging on shutdown/reboot. After spending some time thinking about the problem, looking at the init script and googling, I stumbled upon this Ubuntu bug on portmap. As noted in the bug, a pmap_dump would hang indefinitely. After taking another look at our nfs-root configuration (in regard to the first comment on the bug), it turns out it’s exactly that. We didn’t setup lo which seems vital for some things. ...

August 8, 2014 · 1 min · 115 words · christian

IBM RSA II adapter and Java RE

Today, after a short break (you can call it break, I think), I sat down and looked at the IBM RSA II adapter’s remote management GUI and it’s trouble with JRE versions. Ever since the last Java updates, I was unable to access the RSA console because Java would throw an error like this: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Initializing RemoteDisk v2.2 MCS v.3.6 initialized Established connection to rsa.home.barfoo.org:1045 Connected via socket: Socket[addr=rsa.home.barfoo.org/10.0.0.150,port=2000,localport=4292] Closing socket java.lang.NullPointerException at mcsClient.Row.isValid(Unknown Source) at java.awt.Component.invalidateIfValid(Unknown Source) at java.awt.Component.setLocale(Unknown Source) at javax.swing.JComponent.(Unknown Source) at javax.swing.JPanel.(Unknown Source) at javax.swing.JPanel.(Unknown Source) at javax.swing.JPanel.(Unknown Source) at mcsClient.Row.(Unknown Source) at mcsClient.Options.(Unknown Source) at mcsClient.McsToolBar.(Unknown Source) at mcsClient.McsClient.begin(Unknown Source) at mcsClient.McsClient.init(Unknown Source) at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Ausnahme: java.lang.NullPointerException In the end, I downloaded every version since JRE 1.5.0.11 (that is 20 different versions ❗), as wittnessed by Michael Ellerbeck that the last working version for him was JRE 1.5.0.11, and gave each one a try (since I want to report the issue to IBM, so that they gonna release a fix sometime soon). ...

August 8, 2014 · 2 min · 366 words · christian

Loooong time

It’s been very quiet around here, I’ve been rather busy with my real life. During that busy time, a lot of things happened. I switched jobs starting on October 1st, I’m now working in Karlsruhe (as compared to the 870km northern Greifswald). It may sound far, but it’s actually quite pleasant. You know, I was born down here (well not exactly here – 70 kilometers afar) and I still had the feeling that this is my home. ...

August 8, 2014 · 2 min · 321 words · christian

SLES11 and AutoYaST

After the first week passed awfully quick, the last week I worked on refining the way on how we are doing openSuSE / SUSE Linux Enterprise Server installations. Up till now, they were done by hand (without a predefined schema) and were getting ugly to maintain. Working my way through the Novell documentation on AutoYaST was pretty straight forward, but the little details were getting hairy. So I decided to write them down, in case someone was gonna end up in the same situation like me. ...

August 8, 2014 · 4 min · 847 words · christian

Run a command on a list of Fibre-Channel switches (fc-switch-commands-pl)

Up till now, we did have a bunch of shell and perl scripts doing this work. Today, as I was looking for some stuff to do, I found them and decided rewriting it, so you wouldn’t need a shell script to call the perl worker script … This is pretty much the result! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 #!/usr/bin/perl # LICENSE: GNU General Public License v2. (see LICENSE.txt) # COPYRIGHT: Copyright 2010 Christian Heim <christian.heim@barfoo.org> # This script runs a batch of commands on a list of FC-switches. For example: # fc-switch-commands.pl statsclear | configupload | supportsave use strict; use warnings; use Net::Telnet; our( @san_fabric1_core, @san_fabric1_edge_1, @san_fabric1_edge_2 ); our( @san_fabric2_core, @san_fabric2_edge_1, @san_fabric2_edge_2 ); our( @switches ); our( $ftp_host, $ftp_username, $ftp_password ); our( $telnet ); our( $i, $version, @debug ); @san_fabric1_core = ( "10.144.20.50", "admin", "JuNxJFSAS!", 'san_fabric1_core' ); @san_fabric1_edge_1 = ( "10.144.20.51", "admin", "JuNxJFSAS!", 'san_fabric1_edge_1' ); @san_fabric1_edge_2 = ( "10.144.20.52", "admin", "JuNxJFSAS!", 'san_fabric1_edge_2' ); @san_fabric2_core = ( "10.144.20.60", "admin", "JuNxJFSAS!", 'san_fabric2_core' ); @san_fabric2_edge_1 = ( "10.144.20.61", "admin", "JuNxJFSAS!", 'san_fabric2_edge_1' ); @san_fabric2_edge_2 = ( "10.144.20.62", "admin", "JuNxJFSAS!", 'san_fabric2_edge_2' ); $ftp_host = '10.144.20.45'; $ftp_username = 'brocade_cfg'; $ftp_password = 'JuNxJPFC!'; @switches = ( @san_fabric1_core, @san_fabric2_core, @san_fabric1_edge_1, @san_fabric1_edge_2, @san_fabric2_edge_1, @san_fabric2_edge_2 ); @debug = ( Dump_Log => 'dump.log', Output_Log => 'out.log', Input_Log => 'in.log' ); $telnet = new Net::Telnet(Timeout=>240, Errmode=>'die', Prompt => '/.*:admin> $/is', @debug); for ($i = 0; $i < $#switches + 1; $i++) { $telnet->open($switches[$i][0]); $telnet->login($switches[$i][1], $switches[$i][2]); if ( $ARGV[0] eq "statsclear" ) { $telnet->cmd("statsclear"); } elsif ( $ARGV[0] eq "configupload" ) { # Check the FabricOS version, as Brocade decided to break compatiblity with # earlier firmware versions w/ v6 (at least configupload) $telnet->cmd("firmwareshow"); $version = $telnet->lastline; $version =~ s/s+|s+$//g; if ( $version =~ "v6" ) { $telnet->cmd("configupload -all -ftp "$ftp_host","$ftp_username","$switches[$i][3].cfg","$ftp_password""); } else { $telnet->cmd("configupload "$ftp_host","$ftp_username","$switches[$i][3].cfg","$ftp_password""); } } elsif ( $ARGV[0] eq "supportsave" ) { $telnet->cmd("supportsave -n -u "$ftp_username" -p "$ftp_password" -h "$ftp_host" -d "supportsave/$switches[$i][3]" -l ftp"); } $telnet->close(); }

August 8, 2014 · 2 min · 375 words · christian

Monitoring Brocade FC switches with SNMP/Nagios

I looked into the mess a bit more, and as it turns out, the weird crap I was talking about only happens if you have a port with LossofSynchronization, LossofSignal or LinkFailures value with the base of ten (i.e. 10, 101 or 10.000). Additionally, the OID’s for those three failure elements seem to be dependent on the firmware version, as with 6.3.x they appear as different OIDs. So I may need to introduce another command-line switch, which selects the firmware version and depending on that, the OID. ...

August 8, 2014 · 1 min · 134 words · christian

Monitoring Brocade FC switches with Nagios

The last four days I spent looking for ways on monitoring a Brocade Fibrechannel switch (in my case IBM 2145 B32/F40). The first thing I came up with, is using SNMP. As it was already configured for the previous monitoring with Munin, getting information should be quite easy. After looking through Google for a bit, there is already one script that worked for me. Only trouble I had with that script, is that it crams every single port into one result. As I wanted something, that a) could watch a single port and b) return performance data, I went ahead an used the script to do a basic rewrite. But after a short while, I grew antsy and started writing a script from scratch, using the OIDs I got from that script and a Cacti template. ...

August 8, 2014 · 3 min · 551 words · christian

Windows Server 2003 SP1, WSUS and Security Updates

Recently, we found some systems (sadly, customer systems) that weren’t getting any Security Updates anymore. Much more sadly, them is running Windows Server 2003, and as you know Security Updates are pretty important for Windows Systems. At the time of finding this, I had no clue as to why the were not getting any updates. At first we thought it had something to do with the WSUS server, so I upgraded the WSUS 3.0 SP1 to SP2. Since that didn’t solve nothing, I went searching for a internal VM, that showed the same symptoms and I quickly found one. ...

August 8, 2014 · 2 min · 372 words · christian

VBscript: Query remote OS and SP info

As I wrote on Thursday, I am battling with Windows Server 2003. Now I got a list out of our change management database, which sadly ain’t that accurate. So in order to get reliable information about the target systems (in order to do some accurate planning), I ended up writing a small vbscript which simply takes the hostname on the command line (cscript //NoLogo win_sp_level.vbs 10.0.0.5) and returns a csv-like element. ...

August 8, 2014 · 1 min · 174 words · christian

Reset Master Boot Record (MBR)

Since I’ve been playing with my AutoYAST setup for the last few days, working out the kinks (for example SLES10 not being able to install into the MBR), I needed a way to zap the MBR (as in remove grub to see whether or not the installation would install a new loader). So after quickly googling, I found this: 1 dd if=/dev/zero of=/dev/hda bs=512 count=1 That actually does the trick. The loader as well as the partition table are gone after wards!

August 8, 2014 · 1 min · 82 words · christian