VMware: New VirtualCenter 2-5 Update 4

As many people on the VM-Planet already blogged about this, I ain’t gonna write just about it. Let’s turn the clock back a few months, to January 2008. As the institution I work for, is part of the DFN we took the opportunity to be a part of the " I want you to run our RA"-gang. In January 2008 we thought about changing the vCenter certificate. Now, apparently there’s a slight difference between the DFN-PCA and what VMware considers common practice. ...

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

Xen dom0 failing with kernel panic

I’m building a 6-node cluster, using Xen at the moment. For the last few days, I tried my setup in a virtual machine, simply because VM’s boot much faster than the real hardware. However, certain things you can only replicate on the real hardware (for example, the InfiniBand interfaces, as well as certain nfs-stuff). So I spent most of the day to replicate my configurations onto the hardware. After getting all done, the moment of the first boot … kaput! Doesn’t boot, just keeps hanging before booting the real kernel. Now what ? I removed the Xen vga parameters and rebooted (waited ~2 minutes in the process) until I finally saw the root cause for my trouble: ...

August 8, 2014 · 2 min · 219 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