Posts Tagged ‘IBM’

IBM FastT200 serial console wiring diagram

Tuesday, October 3rd, 2006

Well, not exactly a digram, but I will describe the IBM FastT200 RJ25 to DE9 wiring. This inforamtion was given to me by a friend, and I both hope it to be accurate, and hope it would help whoever needs it.

RJ25       DE9

1       8

2       7

3       3

4       2

5       5

Another friend noted that the diagram is upside-down, which might be the case. It might be that you need to reverse either one, or both of the lists. However, even this to begin with might be better than none.

Hot-Adding SAN lun to Linux (RH with Qlogic drivers)

Monday, September 18th, 2006

cat /proc/scsi/qla2xxx/$Z” where Z represents the SCSI interface the Qlogic has taken for itself, you’ll get something like this:

<Snip>

.

.

</Snip>

SCSI LUN Information:
(Id:Lun) * – indicates lun is not registered with the OS.
( 0: 0): Total reqs 63185608, Pending reqs 0, flags 0x2, 0:0:81 00

Assuming you’ve just added the next LUN, in our case, LUN1, after reboot you would get an additional line below such as:

( 0: 1): Total reqs 1923, Pending reqs 0, flags 0x2, 0:0:81 00

However, on a production server we want to add this line without a reboot.

To achieve this goal, we need to run the following command:

“echo “scsi-qlascan” > /proc/scsi/qla2xxx/$Z” where $Z represents, like before, the SCSI interface.

Then you get the additional line(s) in the file. Now you should help your Linux see them (and attach a module to them). You can do it by using the following convention (taken from here): Using “dmesg“.

you can obtain the required details for the next stage: Controller, Channel, Target and LUN. Example:

Host: scsi2 Channel: 00 Id: 00 Lun: 01
Vendor: IBM Model: 1742 Rev: 0520
Type: Direct-Access ANSI SCSI revision: 03

Obtain the following details:

Controller=2 (scsi2)

Channel=0 (Channel: 00)

Target=0 (Id: 00)

LUN=1 (Lun: 01)

We will ask Linux nicely to reattach the device. Replace the descriptors with the numeric values

echo “scsi add-single-device Controller Channel Target LUN” > /proc/scsi/scsi”

In our example: “echo “scsi add-single-device 2 0 0 1” > /proc/scsi/scsi

To remove a device prior to unmapping it from the SAN, replace add-single-device with “remove-single-device”.

This post’s Qlogic discovery was the insight of a friend of mine, and the credit is his 🙂

Setting up an AIX HA-CMP High Availability test Cluster

Tuesday, July 4th, 2006

This post will be divided into this common view part, and (the first in this blog) "click here for more" part.

The main reason I’ve created this blog was to document, both for myself and other technical persons, the acts required to perform set tasks.

My first idea was to document how to install HACMP on AIX. For those of you who do not know what I’m talking about, HACMP is a general-purpose high availability cluster made by IBM, which can work on AIX, and if I’m not mistaken, on other platforms as well. It is based, actually, on a large set of "event" scripts, which run in a predefined order.

Unlike other HA clusters, this is a fixed-order cluster. You can bring your application up after the disk has been up, and after IP has been up. You cannot change this predefined order, and you have no freedom to set this order. Unless.

Unless you create custom scripts, and use them as pre-event and post-event, naming them correctly and putting them in the right directories.

This is not an easy cluster to manage. It has no flashy features, it is not versatile like other HA Clusters are (VCS being the best one, to my opinion, and MSCS, despite its tendency to reach race conditions, is quite versatile itself).

It is a hard HA Cluster, for a hard working people. It is meant for a single method of operation, and for a single track of mind. It is rather stable, if you don’t go around adding volumes to VGs (know what you want before you do it.

Below is a step by step list of actions to do, based on my work experience. I’ve brought up two clusters (four nodes) while actually doing copy-paste into a text document of every action done by me, any package installed, etc.

It is meant for test purposes. It is not as HA as it could be (using the same network infrastructure), it doesn’t employ all heart-bit connections it might have had – it’s meant for lab purposes, and has done quite well there.

It was installed on P5 machines, P510, if I’m not mistaken, using FastT200 (single port) for shared storage (single logical drive, small size – about 10GB), with Storage Manager 8.2 and adequate firmware.

HP ML110 G3 and Linux Centos 4.3 / RHEL 4 Update 3

Tuesday, May 30th, 2006

Using the same installation server as before, my laptop, I was able to install Linux Centos 4.3, with the addition of HP’s drivers for Adaptec SATA raid controller, on my new HP ML110 G3.

Using just the same method as before, when I’ve installed Centos 4.3 on IBM x306, but with HP drivers, I was able to do the job easily.

To remind you the process of preparing the setup:

(A note – When I say "replace it with it" I always recommend you keep the older one aside for rainy days)

1. Obtain the floppy image of the drivers, and put it somewhere accessible, such as some easily accessible NFS share.

2. Obtain the PXE image of the kernel of Centos4.1 or RHEL 4 Update 1, and replace your PXE kernel with it (downgrade it)

3. Prepare the driver’s RPM and Centos 4.1 / RHEL 4 Update 1 kernel RPM handy on your NFS share.

4. Do the same for the PXE initrd.img file.

5. Obtain the /Centos/base/stage2.img file from Centos 4.1 or RHEL 4 Update 1 (depends on the installation distribution, of course), and replace your existing one with it.

6. I assume your installation media is actually NFS, so your boot command should be something like: linux dd=nfs:NAME_OF_SERVER:/path/to/NFS/Directory

Should and would work like charm. Notice you need to use the 64bit kernel with the 64bit driver, and same for the 32bit. Won’t work otherwise, of course.

After you’ve finished the installation, *before the reboot*, press Ctrl+Alt+F2 to switch to text console, and do the following:

1. Copy your kernel RPM to the new system /root directory: cp /mnt/source/prepared_dir/kernel….rpm /mnt/sysimage/root/

2. Do the same for HP drivers RPM

3. Chroot into the new system: chroot /mnt/sysimage

4. Install (with –force if required, but *never* try it first) the RPMs you’ve put in /root. First the kernel and then HP driver.

5. HP Driver RPM will fail the post install. It’s OK. rename /boot/initrd-2.6.9-11.ELsmp (or non SMP, depends on your installed kernel)

6. Verify you have alias for the new storage device in your /etc/modprobe.conf

7. run mkinitrd /boot/initrd-2.6.9-11.ELsmp 2.6.9-11.ELsmp (or non SMP, depending on your kernel)

8. Edit manually your /etc/grub.conf to your needs.

Note – I do not like Grub. Actually, I find it lacking in many ways, so I install Lilo from the i386 (not the 64bit, since it’s not there) version of the distro. Later on, you can rename /etc/lilo.conf.anaconda to /etc/lilo.conf, and work with it. Don’t forget to run /sbin/lilo after changes to this file.

IBM X306 (ServerRaid7e) and Linux Centos 4.3

Sunday, May 14th, 2006

It was no fun, and I hope I will never experiance again such bad setup.

Summery: IBM X306. The X306, X206 and some of the others are equipped with ServerRaid7e Sata controller. These controllers lack Linux drivers, and thus, make me a sad person. Drivers are available from IBM web site to RHEL 3 Update 4 (Similar to Centos 3.4), and on a very rare occasion, for RHEL 4, and RHEL 4 Update 1.

Centos 4.3 is equivalent to RHEL 4 Update 3, so it wasn’t quite that.

Stage zero: Come ready.

I’ve came as ready as one can be. Equipped with a laptop capable of serving bootp requests, NFS images of both the 32bit and the 64bit version of Centos 4.3, I was as ready as I can. Discovered that tfptd alone (Debian version) was not enough (or could not boot IBM’s PXE, in this case), and had to replace it to tftpd-hpa, which worked correctly.

Stage one: Asses the problem. The Problem was assessed, and I’ve understood that no disks were available for installation. The kernel was unable to access local disks. Bad.

Stage two: Find a solution.

With Internet access, I was able to identify drivers in IBM site, but they were for RHEL3 only. Some forum (can’t remember link, sorry) led me to a hidden part of IBM’s web site, which included a driver for RHEL 4 Update 1. I’ve downloaded it.

Stage Three: Work harder.

To load a vendor module available for a specific kernel version, you need to have that specific version. I’ve had Centos 4.3, and required the kernel for Centos 4.1. I’ve visited Centos old download source, and was able to download the kernel version for Centos 4.1 (kernel 2.6.9-11.EL.x86_64.rpm), and the required kernel and initrd image for installation.

I’ve started installation with the following command:

linux dd=nfs:192.168.0.1:/mnt/Source/40k8690.img

After a short boot sequence, an error message appread, claiming I did not install the correct version. Of course I did not, I’ve used an older kernel and initrd!

I’ve downloaded the old stage2.img file from cdroot/Centos/base, and replaced the current one.

There was a problem with IBM’s supplied drivers, or the one obtained from the net, so I’ve looked into IBM’s CDROM, the one supplied with the server, and found the driver there. I will add it here, just in case – both RPM and DriverDisk (dd) image.

Finally I’ve managed to install the server, after rather long time in the server room.

One note – do yourselved a favour and replace the kernel package to the one of Centos 4.1 before you reboot the server at the end of the installation. It can save you both rescue install, and both troubles with RPM.

For some reason, I could not install the alternate (older) kernel. It failed to install because it was older, and failed with error when used with "–force". I’ve had to insert the files manuall. It required some tweeking:

I’ve used "rpm2cpio kernel….rpm | cpio -id" to extract the files, and then moved them to the respective directories. I’ve had to do a similar trick for IBM’s drivers, becuase they failed, for some reason, the post-install script. They have created an entry for the raid controller in /etc/modprobe.conf, and I’ve only had to recreate the initrd file. A command similar to this:

mv /boot/initrd-2.6.9-11.EL.img /boot/initrd-2.6.9-11.EL.img.old

initrd -o /boot/initrd-2.6.9-11.EL.img 2.6.9-11.EL

did the trick. Adding the correct entry to /etc/grub.conf fixed it all up. I was able to boot the newly installed system.

I don’t know what are the implications, but I did not dare letting Kudzu change these settings, when it claimed to have found a raid controller. I just ordered it to ignore it and never ask again.