Windows Cluster Service (continued)
Posted on June 1st, 2008 by Christian in Life
Well, guess my “solution” didn’t work sooo good. Lemme tell you what’s happening. I successfully added the node to the cluster group, but I can’t get *any* resources online.
The node tries bringing it online, then shows a failure and immidiately moves them over to the next node. There the resource is being successfully moved online .. So again, I’m out of ideas ..
Already tried reinstalling the box, after that I could get the third node successfully into the cluster, without the “Advanced (minimum)” trick … *shrug* still ain’t bringing any resources online.
Retiring people
Posted on May 28th, 2008 by Christian in Gentoo
I’m not sure whether or not I blogged about this before, but here it is just for me to actually remember what, in which order I need to do. If you got the list in form of a csv file, simply do the following:
$ wget -q http://tinyurl.com/4atkz7 -O - | grep "(" | cut -d'(' -f2 | \ cut -d')' -f1 | awk '{ print tolower($1) }' > retirements $ for developer in $( < retirements ) do retire.py --metadata $developer /cvs/gentoo-x86/ | \ diffstat > ~/metadata.$developer done
That’ll give you a detailed list of which metadata.xml need to be changed.
IBM RDAC and Windows Cluster Service
Posted on May 28th, 2008 by Christian in Life
Okay, so we received a brand new x3650 the other day entitled to replace one (or better two) of our NAS frontend servers. We installed Windows on it the other day (had to create a custom Windows Server 2003 CD first, since the default one doesn’t recognize the integrated ServeRAID), and we prepped the box during the week with the usual things.
On Monday I started installing the “IBM StorageManager RDAC” MultiPath driver (since the box got two single port PCIe FC-HBA’s) and figured I’d be nice if we had this. I asked a IBM Systems Engineer of one of our partners, which told me generally there wouldn’t be a problem with Microsoft Cluster Services (MSCS) and the IBM MPIO driver. Only requirement would be that I’d install the new storport.sys driver (version 5.2.3790.4021) first (as in Microsoft KB932755).
Now, yesterday I finished the zoning, did the mappings on the storage arrays and then figured the box should see the hard disks. So I started adding another node to our existing Microsoft Cluster.
Result: Zip (as in MSCS telling me not all nodes could see the quorum disk)
Reason: a combination of two things. First, said IBM Storage Manager RDAC. The first time I installed it, I forgot about the storage mappings, thus the box seeing zero disks. After uninstalling it, I was seeing 121 (that’s right, one hundred and twenty one) new devices.
That is basically a result of the zoning I did for this particular device, which has *all* controllers present in a single SAN zone, thus the HBA’s seeing devices eight (or nine) times .. Update: yes, I’m missing one controller …It’s Microsoft and it doesn’t. Now why doesn’t it work ? ‘Cause the Cluster Setup Wizard is getting confused in Typical mode, as it’s creating a “local quorum disk” which naturally isn’t present in the cluster it’s joining. Now, switching the wizard to “Advanced (minimum) configuration” as suggested in Q331801, just works … *shrug*
Windows XP Embedded and GPO settings (continued)
Posted on May 26th, 2008 by Christian in Life
Well, as I said in my previous post, I do have some weird things happening. Apparently adding the domain user to the local group “Administrators” makes everything just works fine, yet he can’t do administrator like stuff (like turning off the write protection, changing local user accounts, …).
Also, if you’re looking for a smart way of how to add a certain global group (as in Active Directory group) to a local group, try this:
NET LOCALGROUP Administrators /ADD DOMAIN\GROUPNAME
That simple, doesn’t even need the usual credentials to lookup the object, it apparently bypassed that step *shrug*.
And yet another weird thing is: if I run a certain command from a deployment script, it gives me different result as a manual execution of said script would give me .. *shrug*
NETDOM JOIN %COMPUTERNAME% /domain:barfoo.org \ /OU:"OU=Thinclients,OU=Computers,DC=barfoo,DC=org" \ /UserD:%ADMIN% /PasswordD:somepass \ /User0: Administrator /Password0:Administrator NET LOCALGROUP Administrators /ADD BARFOO\Domain-Users
If I put that into a rsp (that is Wyse Device Manager script), it ain’t working. Would I be executing it myself without the WDM, everything works like a charm … *yuck*
Rescuing a rebooting machine that’s hanging
Posted on May 24th, 2008 by Christian in Life
One of my co-worker approached me today with a weird problem. Yesterday he had a disk in a 900GiB array failing which he replaced. After that, he run a rebuild/verification, fsck’ed the file system and tried to mount the volume again.
Apparently the mount produced a kernel oops (guess what, the 900GiB is running reiserfs), thus leaving the kernel tainted (or what do they call it ?). So he tried to reboot the box but it didn’t reboot. It started rebooting but then hung (as in not continuing the reboot). He tried to ssh back to the box, and it worked just fine.
This is where sysrq comes in handy.
# This is gonna activate the sysrq echo 1 > /proc/sys/kernel/sysrq # Now, since we ain't at a console, we can't use the sysrq keys # ("b" for reboot, "o" for shutdown) echo b > /proc/sysrq-trigger
That’ll restart the box, and cha-ching .. ![]()
IBM (Tivoli) Integrated Solutions Console
Posted on May 23rd, 2008 by Christian in Life
Here I am, preparing our environment for the first (of hopefully many) tester for our upcoming VTL project. So I ended up installing the ISC and Administration Center for Tivoli Storage Manager on a 64bit guest (that is SLES10 for AMD64), just because I forgot to include support for later versions with our current running one. Guess what, na-na na na na. Exactly, didn’t work, the same errors I got while trying it before in a virtual environment. “Portlet is not available.”
So I ended up redoing the whole thing on a 32bit guest and guess what … bada-bing. works … *shrug* I don’t know whether or not that’s a surprising thing .. but what surprises me, is that I do have a working 64bit Integrated Solutions Console and Administration Center running, only difference is that one is running on real hardware.
Anyway, after looking on how the Integrated Solutions Console (that is the Websphere environment - yes *yuck*) did it’s own start up after boot (you know, I’d like to restart an application if it’s hanging without the need to reboot the whole box), I found this particular line of code:
isc6:23:boot:/opt/tivoli/isc/PortalServer/bin/startISC.sh ISC_Portal
And since I was lazy (and it was already Friday afternoon), I ended up writing a small init script which rids you of the need of such a ugly way to start a service.
#! /bin/sh # # /etc/init.d/isc # ### BEGIN INIT INFO # Provides: isc # Required-Start: network # Should-Start: # Required-Stop: network # Default-Start: 2 3 5 # Default-Stop: # Description: Start the Tivoli Integrated Solutions console ### END INIT INFO . /etc/sysconfig/isc BINDIR=/sbin . /etc/rc.status rc_reset case "$1" in start) echo -n "Starting Tivoli Integrated Solutions Console server" startproc -p /var/run/tivoli-isc.pid \ $ISC_INSTALL/PortalServer/bin/startISC.sh \ ISC_Portal 2>&1 >/var/log/tivoli-isc.log # I know, this is *real* ugly PID=$( tail -n 1 /var/log/tivoli-isc.log | cut -d\ -f10 ) echo $PID >/var/run/tivoli-isc.pid rc_status -v ;; stop) echo -n "Stopping Tivoli Integrated Solutions Console server" $ISC_INSTALL/PortalServer/bin/stopISC.sh \ ISC_Portal $ISC_ADMIN $ISC_PASSWORD \ 2>&1 >/var/log/tivoli-isc.log rc_status -v ;; restart) $0 stop $0 start rc_status ;; status) echo -n "Tivoli Integrated Solutions Console server:" checkproc -p /var/run/tivoli-isc.pid \ $ISC_INSTALL/AppServer/java/bin/java rc_status -v ;; *) echo "Usage: $0 {start|stop|status|restart}" exit 1 ;; esac rc_exit
And the corresponding sysconfig file:
## Type: string ## Default: iscadmin ## Config: "" ## ServiceRestart: isc # # Adminstration user for the Portal ISC_ADMIN="iscadmin" ## Type: string ## Default: iscadmin ## Config: "" ## ServiceRestart: isc # # Adminstration user password for the Portal ISC_PASSWORD="iscadmin" ## Type: string ## Default: /opt/ISC/601 ## Config: "" ## ServiceRestart: isc # # Full path to the ISC Portal installation root directory ISC_INSTALL="/opt/tivoli/isc"
Et voilá, it’s done. Now just a `chkconfig -a isc‘ and it’s gonna startup nice and easy (when it really should) via the normal service startup and not get spawned from the inittab.
Windows XP Embedded and GPO settings
Posted on May 19th, 2008 by Christian in Life
We’re currently having a weird issue (which we had before); the Windows XP Embedded powering our Wyse V90’s isn’t applying any GPO settings if you log on with a user that has a configured profile.
Googling (is that a valid word yet ?!) for it, only resulted in one useful link, which is apparently a guy with the exact same problem … *shrug* I’m completely out of ideas by now, as I don’t even have a place to start (as in where the reason might be located).
Well, I do have a place to start with (that’s the local Events Viewer), which indeed lists some errors, but only such errors which ain’t making any sense. For example I see this:
- Userenv:1086 - “Windows cannot do loopback processing for downlevel or local users. Loopback processing will be disabled.“
- SceCli:1704 - “Security policy in the Group policy objects has been applied successfully.“
- Userenv:1085 - “The Group Policy client-side extension Folder Redirection failed to execute. Please look for any errors reported earlier by that extension.“
Getting a FC HBA to rescan it’s attached devices
Posted on May 19th, 2008 by Christian in Life
If you’re using a 2.6 based distribution, the FC HBA (or more correctly the corresponding driver) should create entries in /sys/class/scsi_host. Now you only need to get the host-number (basically the # of the host bus adapter) and you can get started ..
Simply doing this, is going to tell the FC HBA “rescan” and discover new devices ..
$ echo "1" > /sys/class/fc_host/host/issue_lip
That should do the trick, and you should be able to get udev to recognize the new devices attached via FibreChannel without the need to reboot the whole box (which might be a bit tricky).
patch2mail for SLES10
Posted on April 21st, 2008 by Christian in Life
Well, there is this “nifty” tool called patch2mail, which basically converts the XML for the updates to a more readable format. But you’re screwed if you want to do the same on SLES10. Since it ain’t shipping with the zypper xml wrapper thing, you need to do it a bit different.
So I ended up writing a small (and yet, ugly) shell script to generate me a mail of my liking ..
#!/bin/bash # Checks the output of `zypper pch` for security/recommended/optional # updates and prepares a detailed report to be mailed to the # administrators TO="admin-addr@localhost" CLASSES="security recommended optional" # Temporary files ZYPP_LIST="$( mktemp /tmp/zypper-list.XXXXXX )" ZYPP_DETAILS="$( mktemp /tmp/zypper-details.XXXXXX )" TMP="$( mktemp /tmp/zypper-report.XXXXXX )" zypper pch 2>/dev/null > $ZYPP_LIST # Figure out how much updates are still pending PENDING="$( cat $ZYPP_LIST | grep "| Needed" | wc -l )" if [ $PENDING -eq 0 ] ; then exit 0 fi echo > $TMP echo " Pending updates for $( domainname -f ) on $( date )" >> $TMP for severity in $CLASSES; do PACKAGES="$( cat $ZYPP_LIST | egrep "${severity}(.*)\| Needed" | \ cut -d\| -f2 | sed "s,^ ,," )" echo echo " Category: $severity" for package in $PACKAGES; do zypper patch-info $package 2>/dev/null > $ZYPP_DETAILS echo " * $package ($( cat $ZYPP_DETAILS | grep "Version: " | \ sed "s,Version,version," ))" echo " $( cat $ZYPP_DETAILS | grep "Summary: ")" echo " $( cat $ZYPP_DETAILS | grep "Reboot Required:" )" echo done echo done >> $TMP cat $TMP | \ mail -s "[$( date +%F )] Update report for $( domainname -f )" $TO trap 'rm -f "$TMP" "$ZYPP_LIST" "$ZYPP_DETAILS" >/dev/null 2>&1' 0 trap "exit 2" 1 2 3 15 # vim: set tw=80
April 19th
Posted on April 20th, 2008 by Christian in Life
Well, as some people already figured out; yesterday was my birthday. Chrissy noted it on my blog, as well as about every channel we’re together in (so did Chris); so thanks a lot for that
Anyway, Saturday morning as I was forced to head downstairs due to my aunt calling (that was at 9am), my brother managed to take a shot at the presents as well as something else:
Well, ain’t he cute ? He’s always been particularly fond of lying around on paper. Well, anyway I had a lil’ birthday party planned in combination of myself and a friend of mine, so I invited some of my friends from work over to our place. Turns out, it was quite a nice gathering. I had lots of fun that evening (well, my birthday is the only day in the year I allow myself to get drunk!) apparently, so did all the others.