Automating HP Server Startup
It may not be much, but I stuck together a small article about how to remotely automate the startup of HP servers. We did this ages, and only now have I gotten around to tidying up the notes!
The life and times of a saggy cloth cat
Archive for the ‘Technology’ Category.
It may not be much, but I stuck together a small article about how to remotely automate the startup of HP servers. We did this ages, and only now have I gotten around to tidying up the notes!
Recently we were in the unfortunate position of running out of IP address in our DHCP pool. The Novell DNS/DHCP Management Console will give you a handy utilization % for your subnet, but will not tell you how much of your allocatable pool is in use. As a result, machines were timing out whilst waiting for an IP.
To diagnose this, we loaded dhcpsrvr.nlm with the -d3 option, and checked sys:/etc/dhcp/dhcpsrvr.log. The tell-tale sign is copied below.
67 : Get type:2, IPAddr:10.240.64.119, LeaseTime:0, MacIndx:774, pIP:B23F2540
AMAGet() exit err:0, subnet:10.240.64.0, addr:10.240.64.119
2010/05/21 10:15:56 <DHCPINFORM> packet received from client <0:13:72:9D:1C:E6>, IP Address <10.240.64.119>.
2010/05/21 10:15:56 Sending BOOTP/DHCP reply <DHCPACK> to <0:13:72:9D:1C:E6> as <10.240.64.119>.
Get type:4, IPAddr:10.240.64.106, LeaseTime:0, MacIndx:1042, pIP:0
Fill pool returned error 1
Error 5 adding new ip
AMAGet() exit err:5, subnet:0.0.0.0, addr:10.240.64.106
Ultimately, we needed more addresses in the pool. It would appear that in order to change your pool range in OES, you export the pool, edit it, and reimport the pool.
This seemed like far too much of a faff for me, so it was time for some rummaging. Normally the eDirectory enabled DHCP server stores lease data in eDirectory. First port of call was the WM_Subnet container that we use for those objects. In there, there’s an object called WM_Range. This contains details of the IP range available for DHCP use.
First off, unload the dhcpsrvr.nlm module, and then open the object up in ConsoleOne, and click on the “Other” tab. The attributes “DNIP:Start Address Number” and “DNIP:End Address Number” are decimal representations of the start and end IPs respectively, and can be expanded out to edit each attribute individually. Simply overwrite the current entry with the new decimal address that you want to use, click ok, and load dhcpsrvr.nlm back up.
Figuring out a decimal address is fairly easy, and is described in this Technet article. You can also convert a quad octet (IP address) to decimal notation with an online calculator.
Recently we’ve obtained a bunch of 3Com 4500G 48 port switches, and we’d like to be able to manage them slightly more effectively instead of leaving them as dumb switches. However, rather than giving each switch an IP address, 3Com allows you to use HGMPv2 to cluster them all under one IP address.
Now, this may seem fairly trivial to those with separate management networks, but sadly we’re not in that position (yet) to have a separate management network. Even if we were to set up a new VLAN for management purposes, it wouldn’t be accessible to the rest of the network staff external to our office. So, as it stands, the cluster management switch still has to use VLAN 1 for the admin and management stuff. It can still use (and has to use) a different RFC1918 address for the internal clustering network, but that’s all transparent to us.
Below is a short detail of what needs done in order to build a cluster of 4500G switches…
Enabling the electrical (Cat5) Dual combo port
As the dual combo SFP port is shared with ports 23, 24, 47 and 48 (49, 50, 51, and 52 respectively), the relevant port must be brought up (or ‘undo shutdown’ on its counterpart), in order to enable it.
[WMSWC1_0.WMSW001]system-view
System View: return to User View with Ctrl+Z.
[WMSWC1_0.WMSW001]interface GigabitEthernet 1/0/51
[WMSWC1_0.WMSW001-GigabitEthernet1/0/51]undo shutdown
[WMSWC1_0.WMSW001-GigabitEthernet1/0/51]interface GigabitEthernet 1/0/52
[WMSWC1_0.WMSW001-GigabitEthernet1/0/52]undo shutdown
[WMSWC1_0.WMSW001-GigabitEthernet1/0/52]quit
[WMSWC1_0.WMSW001]
This will enable combo ports 51 and 52, and leave 47 and 48 shut down.
Initial setup
This is done on the switch that you want to be the management switch.
Globally enable Neighbour Discovery Protocol. This allows the switches to discover information about connected neighbours, such as firmware versions, mac addresses, link states, etc.
ndp enable
Globall enable Neighbour Topology Discovery Protocol. This allows the switches to collect information regarding the topology of the network, connected devices, etc
ntdp enable
All NDP packets have a holdtime variable set. This is how long the recieving device will store the information for. The next setting defines how long that should be.
ndp timer aging 200
Next, set how often the ndp packets should be transmitted.
ndp timer hello 70
The number of hops in which to collect topology information. I’ve set this to 10, as we had 9 switches that were daisy chained for a while. Far from optimal, and now in a more star like topology anyway.
ntdp hop 10
Set the delays for each device, and port, respectively
ntdp timer hop-delay 150
ntdp timer port-delay 15
Define the period, in minutes, between topology information collections.
ntdp timer 3
Enable cluster mode.
cluster enable
…and switch into cluster view
cluster
The cluster requires an independant RFC1918 address range to work with. This is for internal management purposes and never seen by the outside world. Apparently.
ip-pool 172.16.0.1 255.255.255.0
Tell the system to build the cluster
build WMSWC1
Configure the length of time to hold member information for, before deciding that the member is gone, and define how long between handshake packets
holdtime 100
timer 10
Adding a cluster member
Just enable the following options on member devices
ndp enable
ntdp enable
cluster enable
On management device
Switch into cluster view again, and add the remote device.
cluster
add-member 3 mac-address 0022-5726-d080
Repeat the above add-member command for each member number (the first parameter) with the MAC address of each switch. After you’re done, all the switches except for the cluster commander should display ‘S’ for ‘Slave’ on their LCD display. The Cluster Commander displays a ‘C’ instead.
Once everything is up and running, you can then use topology accept all and topology save-to local-flash to accept and save the current topology layout.
It should also be noted that there is a cluster autobuild feature, but it’s always best to at least have a rough idea of how it works
I was in a sticky situation this weekend. I had casually set up one of our APC UPS RT 5000 units to use DHCP to get a statically assigned address. However, I hadn’t implemented Option 43 on the DHCP server and the APC management card had fallen off the network.
Unable to find a serial cable of the right type, and unable to get the card onto the subnet, I was faced with resetting the firmware. That was until I read the manual!
With the APC9619 card, at least, if you know the MAC address (I did, it was in our DHCP server config), you can prod the card with an ICMP packet to assign the desired address.
Simply do this…
Assign an IP address to the MAC address in your local ARP table
sudo arp -s 10.240.64.32 00:C0:B7:CA:D8:9B
Ping the address with a 113 byte ICMP packet.
ping 10.240.64.32 -s 113
This causes the management card to accept the address as its own, and at that point you can now telnet to the card and enter the administration console (unless you like clicky pointy things, in which case you can use your web browser)
It seems to time out rather quickly, so don’t mess about in the admin console. Jump in, remove the DHCP Vendor cookie requirement (2, 1, 1, 1, 2, 8, 1, 9) and reboot the management card.
All done! No cables, no firmware, no massive reconfiguration.
This a real brush…
It’s rated at 8500 RPM, but the grinder runs at 10,000RPM. Frighteningly fast, and slightly unwieldy due to the gyroscopic effect present.
On a related note, due to such machinery, the replacement bulkhead is almost clean now. A touch more here and there, and it will be painted with red oxide tomorrow. The spraypaint system will be here in a couple of days, so hopefully we can get the bulkhead painted and refitted before the Land Rover has to go away for the new chassis at the end of February.
The other evening I busied myself with tweaking Asterisk to do some more geeky things. One such item was where I configured it to send a message to my Jabber account every time there was a call to a particular extension. Great for call logging, integration, and general user friendliness. If I was so inclined, it could message a Yahoo, MSN, ICQ, or AOL account through the Jabber platform to inform me of a new call. How rather flexible.
Sadly we’re having to migrate to Track-It at work, and muggins here has been tasked with ensuring the agent can deploy nicely. After some initial crazyness with manual installs, or login script launched installs, I managed to wrap it into an MSI. Details can be found over here.
As Steve points out, Ofcom have recently released their study on the potential future of the UK broadband network using the existing copper telephone network.
There’s two main methods of DSL delivery to end users. One is to have the DSL modems hiding in the local exchange, and the other is to have the modems stashed inside the cabinets on the streets. The latter is similar to the cable network, and hence why Virgin are touting their ‘fibre’ network. It’s really just fibre to the cabinet, and then coax to the home.
A while back I mentioned Hadoop as The Next Big Thing. Looks like demand has been high in the intervening months, and the Yahoo Developer Network has recently announced a new blog all about Hadoop. An open source Mapreduce implementation with a scalable, clustered and highly redundant storage system? Yes please… Now you can keep up to date with your favourite RSS reader.